From defe73be7a574946113cf0ba72ce24a87de51d94 Mon Sep 17 00:00:00 2001
From: Jonathan Mak
Date: Tue, 30 Oct 2018 15:47:22 -0700
Subject: [PATCH] AUI-3160 - Build
---
.../aui-ace-autocomplete-base-coverage.js | 6 +
.../aui-ace-autocomplete-base-debug.js | 705 ++
.../aui-ace-autocomplete-base-min.js | 1 +
.../aui-ace-autocomplete-base.js | 705 ++
...ui-ace-autocomplete-freemarker-coverage.js | 6 +
.../aui-ace-autocomplete-freemarker-debug.js | 229 +
.../aui-ace-autocomplete-freemarker-min.js | 1 +
.../aui-ace-autocomplete-freemarker.js | 229 +
.../assets/aui-ace-autocomplete-list-core.css | 36 +
.../sam/aui-ace-autocomplete-list-skin.css | 23 +
.../skins/sam/aui-ace-autocomplete-list.css | 1 +
.../aui-ace-autocomplete-list-coverage.js | 6 +
.../aui-ace-autocomplete-list-debug.js | 757 ++
.../aui-ace-autocomplete-list-min.js | 1 +
.../aui-ace-autocomplete-list.js | 757 ++
.../aui-ace-autocomplete-plugin-coverage.js | 6 +
.../aui-ace-autocomplete-plugin-debug.js | 33 +
.../aui-ace-autocomplete-plugin-min.js | 1 +
.../aui-ace-autocomplete-plugin.js | 33 +
...autocomplete-templateprocessor-coverage.js | 6 +
...ce-autocomplete-templateprocessor-debug.js | 404 ++
...-ace-autocomplete-templateprocessor-min.js | 1 +
.../aui-ace-autocomplete-templateprocessor.js | 404 ++
.../aui-ace-autocomplete-velocity-coverage.js | 6 +
.../aui-ace-autocomplete-velocity-debug.js | 179 +
.../aui-ace-autocomplete-velocity-min.js | 1 +
.../aui-ace-autocomplete-velocity.js | 179 +
build/aui-affix/aui-affix-coverage.js | 6 +
build/aui-affix/aui-affix-debug.js | 269 +
build/aui-affix/aui-affix-min.js | 1 +
build/aui-affix/aui-affix.js | 269 +
build/aui-alert/assets/aui-alert-core.css | 3 +
.../assets/skins/sam/aui-alert-skin.css | 0
.../aui-alert/assets/skins/sam/aui-alert.css | 1 +
build/aui-alert/aui-alert-coverage.js | 6 +
build/aui-alert/aui-alert-debug.js | 234 +
build/aui-alert/aui-alert-min.js | 1 +
build/aui-alert/aui-alert.js | 234 +
.../aui-aria-table-sortable-coverage.js | 6 +
.../aui-aria-table-sortable-debug.js | 267 +
.../aui-aria-table-sortable-min.js | 1 +
.../aui-aria-table-sortable.js | 267 +
build/aui-aria/aui-aria-coverage.js | 6 +
build/aui-aria/aui-aria-debug.js | 557 ++
build/aui-aria/aui-aria-min.js | 1 +
build/aui-aria/aui-aria.js | 557 ++
build/aui-arraysort/aui-arraysort-coverage.js | 6 +
build/aui-arraysort/aui-arraysort-debug.js | 86 +
build/aui-arraysort/aui-arraysort-min.js | 1 +
build/aui-arraysort/aui-arraysort.js | 86 +
build/aui-audio/assets/aui-audio-core.css | 4 +
build/aui-audio/assets/player.swf | Bin 0 -> 9847 bytes
.../assets/skins/sam/aui-audio-skin.css | 0
.../aui-audio/assets/skins/sam/aui-audio.css | 1 +
build/aui-audio/aui-audio-coverage.js | 6 +
build/aui-audio/aui-audio-debug.js | 429 ++
build/aui-audio/aui-audio-min.js | 1 +
build/aui-audio/aui-audio.js | 429 ++
.../aui-autocomplete-deprecated-core.css | 24 +
.../sam/aui-autocomplete-deprecated-skin.css | 0
.../skins/sam/aui-autocomplete-deprecated.css | 1 +
.../aui-autocomplete-deprecated-coverage.js | 6 +
.../aui-autocomplete-deprecated-debug.js | 2062 ++++++
.../aui-autocomplete-deprecated-min.js | 3 +
.../aui-autocomplete-deprecated.js | 2062 ++++++
.../assets/aui-autosize-deprecated-core.css | 16 +
.../sam/aui-autosize-deprecated-skin.css | 0
.../skins/sam/aui-autosize-deprecated.css | 1 +
.../aui-autosize-deprecated-coverage.js | 6 +
.../aui-autosize-deprecated-debug.js | 234 +
.../aui-autosize-deprecated-min.js | 1 +
.../aui-autosize-deprecated.js | 234 +
.../assets/aui-autosize-iframe-core.css | 3 +
.../skins/sam/aui-autosize-iframe-skin.css | 0
.../aui-autosize-iframe-coverage.js | 6 +
.../aui-autosize-iframe-debug.js | 486 ++
.../aui-autosize-iframe-min.js | 1 +
.../aui-autosize-iframe.js | 486 ++
build/aui-base-core/aui-base-core-coverage.js | 6 +
build/aui-base-core/aui-base-core-debug.js | 2251 ++++++
build/aui-base-core/aui-base-core-min.js | 6 +
build/aui-base-core/aui-base-core.js | 2251 ++++++
.../aui-base-html5-shiv-coverage.js | 6 +
.../aui-base-html5-shiv-debug.js | 46 +
.../aui-base-html5-shiv-min.js | 1 +
.../aui-base-html5-shiv.js | 46 +
build/aui-base-lang/aui-base-lang-coverage.js | 6 +
build/aui-base-lang/aui-base-lang-debug.js | 468 ++
build/aui-base-lang/aui-base-lang-min.js | 1 +
build/aui-base-lang/aui-base-lang.js | 468 ++
.../aui-boolean-data-editor-coverage.js | 6 +
.../aui-boolean-data-editor-debug.js | 271 +
.../aui-boolean-data-editor-min.js | 1 +
.../aui-boolean-data-editor.js | 271 +
.../assets/aui-button-core-core.css | 7 +
.../assets/aui-button-switch-core.css | 48 +
.../assets/skins/sam/aui-button-core-skin.css | 0
.../assets/skins/sam/aui-button-core.css | 1 +
.../skins/sam/aui-button-switch-skin.css | 0
.../aui-button-core-coverage.js | 6 +
.../aui-button-core/aui-button-core-debug.js | 586 ++
build/aui-button-core/aui-button-core-min.js | 1 +
build/aui-button-core/aui-button-core.js | 586 ++
.../aui-button-item-deprecated-core.css | 50 +
.../sam/aui-button-item-deprecated-skin.css | 0
.../skins/sam/aui-button-item-deprecated.css | 1 +
.../aui-button-item-deprecated-coverage.js | 6 +
.../aui-button-item-deprecated-debug.js | 641 ++
.../aui-button-item-deprecated-min.js | 1 +
.../aui-button-item-deprecated.js | 641 ++
.../aui-button-search-cancel-coverage.js | 6 +
.../aui-button-search-cancel-debug.js | 362 +
.../aui-button-search-cancel-min.js | 1 +
.../aui-button-search-cancel.js | 362 +
.../assets/aui-button-core-core.css | 7 +
.../assets/aui-button-switch-core.css | 48 +
.../assets/skins/sam/aui-button-core-skin.css | 0
.../skins/sam/aui-button-switch-skin.css | 0
.../assets/skins/sam/aui-button-switch.css | 1 +
.../aui-button-switch-coverage.js | 6 +
.../aui-button-switch-debug.js | 288 +
.../aui-button-switch-min.js | 1 +
build/aui-button-switch/aui-button-switch.js | 288 +
.../aui-carousel-mobile-touch-coverage.js | 6 +
.../aui-carousel-mobile-touch-debug.js | 34 +
.../aui-carousel-mobile-touch-min.js | 1 +
.../aui-carousel-mobile-touch.js | 34 +
.../assets/aui-carousel-core.css | 124 +
.../assets/aui-carousel-swipe-core.css | 11 +
.../assets/skins/sam/aui-carousel-skin.css | 11 +
.../skins/sam/aui-carousel-swipe-skin.css | 0
.../assets/skins/sam/aui-carousel-swipe.css | 1 +
.../assets/skins/sam/next.png | Bin 0 -> 244 bytes
.../assets/skins/sam/pause.png | Bin 0 -> 219 bytes
.../assets/skins/sam/play.png | Bin 0 -> 241 bytes
.../assets/skins/sam/prev.png | Bin 0 -> 243 bytes
.../aui-carousel-swipe-coverage.js | 6 +
.../aui-carousel-swipe-debug.js | 59 +
.../aui-carousel-swipe-min.js | 1 +
.../aui-carousel-swipe/aui-carousel-swipe.js | 59 +
.../aui-carousel/assets/aui-carousel-core.css | 124 +
.../assets/aui-carousel-swipe-core.css | 11 +
.../assets/skins/sam/aui-carousel-skin.css | 11 +
.../skins/sam/aui-carousel-swipe-skin.css | 0
.../assets/skins/sam/aui-carousel.css | 1 +
build/aui-carousel/assets/skins/sam/next.png | Bin 0 -> 244 bytes
build/aui-carousel/assets/skins/sam/pause.png | Bin 0 -> 219 bytes
build/aui-carousel/assets/skins/sam/play.png | Bin 0 -> 241 bytes
build/aui-carousel/assets/skins/sam/prev.png | Bin 0 -> 243 bytes
build/aui-carousel/aui-carousel-coverage.js | 6 +
build/aui-carousel/aui-carousel-debug.js | 835 +++
build/aui-carousel/aui-carousel-min.js | 2 +
build/aui-carousel/aui-carousel.js | 835 +++
.../aui-char-counter-coverage.js | 6 +
.../aui-char-counter-debug.js | 433 ++
.../aui-char-counter/aui-char-counter-min.js | 1 +
build/aui-char-counter/aui-char-counter.js | 433 ++
build/aui-chart-deprecated/assets/chart.swf | Bin 0 -> 81321 bytes
.../aui-chart-deprecated-coverage.js | 6 +
.../aui-chart-deprecated-debug.js | 1097 +++
.../aui-chart-deprecated-min.js | 2 +
.../aui-chart-deprecated.js | 1097 +++
.../aui-classnamemanager-coverage.js | 6 +
.../aui-classnamemanager-debug.js | 17 +
.../aui-classnamemanager-min.js | 1 +
.../aui-classnamemanager.js | 17 +
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../assets/skins/sam/aui-color-palette.css | 1 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-color-palette-coverage.js | 6 +
.../aui-color-palette-debug.js | 167 +
.../aui-color-palette-min.js | 1 +
build/aui-color-palette/aui-color-palette.js | 167 +
.../aui-color-picker-base-deprecated-core.css | 102 +
...lor-picker-grid-plugin-deprecated-core.css | 20 +
.../aui-color-picker-base-deprecated-skin.css | 0
.../sam/aui-color-picker-base-deprecated.css | 1 +
...lor-picker-grid-plugin-deprecated-skin.css | 9 +
.../assets/skins/sam/color_indic.png | Bin 0 -> 948 bytes
.../assets/skins/sam/hue.png | Bin 0 -> 3672 bytes
.../assets/skins/sam/picker_bg.png | Bin 0 -> 12995 bytes
.../assets/skins/sam/select.png | Bin 0 -> 956 bytes
...i-color-picker-base-deprecated-coverage.js | 6 +
.../aui-color-picker-base-deprecated-debug.js | 837 +++
.../aui-color-picker-base-deprecated-min.js | 2 +
.../aui-color-picker-base-deprecated.js | 837 +++
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../skins/sam/aui-color-picker-base.css | 1 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-color-picker-base-coverage.js | 6 +
.../aui-color-picker-base-debug.js | 1054 +++
.../aui-color-picker-base-min.js | 2 +
.../aui-color-picker-base.js | 1054 +++
.../aui-color-picker-base-deprecated-core.css | 102 +
...lor-picker-grid-plugin-deprecated-core.css | 20 +
.../aui-color-picker-base-deprecated-skin.css | 0
...lor-picker-grid-plugin-deprecated-skin.css | 9 +
...ui-color-picker-grid-plugin-deprecated.css | 1 +
.../assets/skins/sam/color_indic.png | Bin 0 -> 948 bytes
.../assets/skins/sam/hue.png | Bin 0 -> 3672 bytes
.../assets/skins/sam/picker_bg.png | Bin 0 -> 12995 bytes
.../assets/skins/sam/select.png | Bin 0 -> 956 bytes
...-picker-grid-plugin-deprecated-coverage.js | 6 +
...lor-picker-grid-plugin-deprecated-debug.js | 195 +
...color-picker-grid-plugin-deprecated-min.js | 1 +
...aui-color-picker-grid-plugin-deprecated.js | 195 +
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-popover.css | 1 +
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-color-picker-popover-coverage.js | 6 +
.../aui-color-picker-popover-debug.js | 96 +
.../aui-color-picker-popover-min.js | 1 +
.../aui-color-picker-popover.js | 96 +
.../aui-color-util-deprecated-coverage.js | 6 +
.../aui-color-util-deprecated-debug.js | 573 ++
.../aui-color-util-deprecated-min.js | 1 +
.../aui-color-util-deprecated.js | 573 ++
build/aui-component/aui-component-coverage.js | 6 +
build/aui-component/aui-component-debug.js | 412 ++
build/aui-component/aui-component-min.js | 1 +
build/aui-component/aui-component.js | 412 ++
build/aui-css/css/bootstrap.css | 6203 +++++++++++++++++
build/aui-css/css/bootstrap.min.css | 5 +
.../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes
.../fonts/glyphicons-halflings-regular.svg | 229 +
.../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes
.../assets/aui-data-editor-core.css | 17 +
.../assets/aui-options-data-editor-core.css | 27 +
.../aui-radio-group-data-editor-core.css | 18 +
.../assets/aui-text-data-editor-core.css | 4 +
.../assets/skins/sam/aui-data-editor-skin.css | 0
.../assets/skins/sam/aui-data-editor.css | 1 +
.../sam/aui-options-data-editor-skin.css | 0
.../sam/aui-radio-group-data-editor-skin.css | 0
.../skins/sam/aui-text-data-editor-skin.css | 0
.../aui-data-editor-coverage.js | 6 +
.../aui-data-editor/aui-data-editor-debug.js | 265 +
build/aui-data-editor/aui-data-editor-min.js | 1 +
build/aui-data-editor/aui-data-editor.js | 265 +
.../aui-data-set-deprecated-coverage.js | 6 +
.../aui-data-set-deprecated-debug.js | 696 ++
.../aui-data-set-deprecated-min.js | 1 +
.../aui-data-set-deprecated.js | 696 ++
...source-control-base-deprecated-coverage.js | 6 +
...atasource-control-base-deprecated-debug.js | 208 +
...-datasource-control-base-deprecated-min.js | 1 +
.../aui-datasource-control-base-deprecated.js | 208 +
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
.../sam/aui-datatable-base-cell-editor.css | 1 +
...atatable-base-options-cell-editor-skin.css | 0
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../sam/aui-datatable-selection-skin.css | 0
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
...aui-datatable-base-cell-editor-coverage.js | 6 +
.../aui-datatable-base-cell-editor-debug.js | 860 +++
.../aui-datatable-base-cell-editor-min.js | 1 +
.../aui-datatable-base-cell-editor.js | 860 +++
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
...atatable-base-options-cell-editor-skin.css | 0
...aui-datatable-base-options-cell-editor.css | 1 +
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../sam/aui-datatable-selection-skin.css | 0
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
...table-base-options-cell-editor-coverage.js | 6 +
...atatable-base-options-cell-editor-debug.js | 689 ++
...-datatable-base-options-cell-editor-min.js | 2 +
.../aui-datatable-base-options-cell-editor.js | 689 ++
.../aui-datatable-body-coverage.js | 6 +
.../aui-datatable-body-debug.js | 73 +
.../aui-datatable-body-min.js | 1 +
.../aui-datatable-body/aui-datatable-body.js | 73 +
...-datatable-cell-editor-support-coverage.js | 6 +
...aui-datatable-cell-editor-support-debug.js | 304 +
.../aui-datatable-cell-editor-support-min.js | 1 +
.../aui-datatable-cell-editor-support.js | 304 +
...datatable-checkbox-cell-editor-coverage.js | 6 +
...ui-datatable-checkbox-cell-editor-debug.js | 111 +
.../aui-datatable-checkbox-cell-editor-min.js | 1 +
.../aui-datatable-checkbox-cell-editor.js | 111 +
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
...atatable-base-options-cell-editor-skin.css | 0
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../assets/skins/sam/aui-datatable-core.css | 1 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../sam/aui-datatable-selection-skin.css | 0
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
.../aui-datatable-core-coverage.js | 6 +
.../aui-datatable-core-debug.js | 7 +
.../aui-datatable-core-min.js | 1 +
.../aui-datatable-core/aui-datatable-core.js | 7 +
...aui-datatable-date-cell-editor-coverage.js | 6 +
.../aui-datatable-date-cell-editor-debug.js | 284 +
.../aui-datatable-date-cell-editor-min.js | 1 +
.../aui-datatable-date-cell-editor.js | 284 +
...datatable-dropdown-cell-editor-coverage.js | 6 +
...ui-datatable-dropdown-cell-editor-debug.js | 125 +
.../aui-datatable-dropdown-cell-editor-min.js | 1 +
.../aui-datatable-dropdown-cell-editor.js | 125 +
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
...atatable-base-options-cell-editor-skin.css | 0
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../skins/sam/aui-datatable-highlight.css | 1 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../sam/aui-datatable-selection-skin.css | 0
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
.../aui-datatable-highlight-coverage.js | 6 +
.../aui-datatable-highlight-debug.js | 483 ++
.../aui-datatable-highlight-min.js | 1 +
.../aui-datatable-highlight.js | 483 ++
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
...atatable-base-options-cell-editor-skin.css | 0
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../skins/sam/aui-datatable-property-list.css | 1 +
.../sam/aui-datatable-selection-skin.css | 0
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
.../aui-datatable-property-list-coverage.js | 6 +
.../aui-datatable-property-list-debug.js | 299 +
.../aui-datatable-property-list-min.js | 1 +
.../aui-datatable-property-list.js | 299 +
...ui-datatable-radio-cell-editor-coverage.js | 6 +
.../aui-datatable-radio-cell-editor-debug.js | 53 +
.../aui-datatable-radio-cell-editor-min.js | 1 +
.../aui-datatable-radio-cell-editor.js | 53 +
.../aui-datatable-base-cell-editor-core.css | 45 +
...atatable-base-options-cell-editor-core.css | 25 +
.../assets/aui-datatable-core-core.css | 108 +
.../assets/aui-datatable-highlight-core.css | 16 +
.../aui-datatable-property-list-core.css | 0
.../assets/aui-datatable-selection-core.css | 0
.../aui-datatable-base-cell-editor-skin.css | 10 +
...atatable-base-options-cell-editor-skin.css | 0
.../skins/sam/aui-datatable-body-skin.css | 0
.../skins/sam/aui-datatable-core-skin.css | 32 +
.../skins/sam/aui-datatable-edit-skin.css | 0
.../sam/aui-datatable-highlight-skin.css | 14 +
.../sam/aui-datatable-property-list-skin.css | 5 +
.../sam/aui-datatable-selection-skin.css | 0
.../skins/sam/aui-datatable-selection.css | 1 +
.../assets/skins/sam/sort-arrow-sprite-ie.png | Bin 0 -> 149 bytes
.../assets/skins/sam/sort-arrow-sprite.png | Bin 0 -> 156 bytes
.../aui-datatable-selection-coverage.js | 6 +
.../aui-datatable-selection-debug.js | 619 ++
.../aui-datatable-selection-min.js | 1 +
.../aui-datatable-selection.js | 619 ++
...atatable-text-area-cell-editor-coverage.js | 6 +
...i-datatable-text-area-cell-editor-debug.js | 44 +
...aui-datatable-text-area-cell-editor-min.js | 1 +
.../aui-datatable-text-area-cell-editor.js | 44 +
...aui-datatable-text-cell-editor-coverage.js | 6 +
.../aui-datatable-text-cell-editor-debug.js | 44 +
.../aui-datatable-text-cell-editor-min.js | 1 +
.../aui-datatable-text-cell-editor.js | 44 +
.../aui-datatype-date-parse-coverage.js | 6 +
.../aui-datatype-date-parse-debug.js | 972 +++
.../aui-datatype-date-parse-min.js | 1 +
.../aui-datatype-date-parse.js | 972 +++
build/aui-datatype/aui-datatype-coverage.js | 6 +
build/aui-datatype/aui-datatype-debug.js | 1049 +++
build/aui-datatype/aui-datatype-min.js | 2 +
build/aui-datatype/aui-datatype.js | 1049 +++
.../aui-datepicker-base-deprecated-core.css | 0
.../aui-datepicker-select-deprecated-core.css | 12 +
.../aui-datepicker-base-deprecated-skin.css | 0
.../sam/aui-datepicker-base-deprecated.css | 1 +
.../aui-datepicker-select-deprecated-skin.css | 0
...aui-datepicker-base-deprecated-coverage.js | 6 +
.../aui-datepicker-base-deprecated-debug.js | 396 ++
.../aui-datepicker-base-deprecated-min.js | 1 +
.../aui-datepicker-base-deprecated.js | 396 ++
.../aui-datepicker-delegate-coverage.js | 6 +
.../aui-datepicker-delegate-debug.js | 511 ++
.../aui-datepicker-delegate-min.js | 1 +
.../aui-datepicker-delegate.js | 511 ++
.../aui-datepicker-native-coverage.js | 6 +
.../aui-datepicker-native-debug.js | 319 +
.../aui-datepicker-native-min.js | 1 +
.../aui-datepicker-native.js | 319 +
.../aui-datepicker-popover-coverage.js | 6 +
.../aui-datepicker-popover-debug.js | 216 +
.../aui-datepicker-popover-min.js | 1 +
.../aui-datepicker-popover.js | 216 +
.../aui-datepicker-base-deprecated-core.css | 0
.../aui-datepicker-select-deprecated-core.css | 12 +
.../aui-datepicker-base-deprecated-skin.css | 0
.../aui-datepicker-select-deprecated-skin.css | 0
.../sam/aui-datepicker-select-deprecated.css | 1 +
...i-datepicker-select-deprecated-coverage.js | 6 +
.../aui-datepicker-select-deprecated-debug.js | 1052 +++
.../aui-datepicker-select-deprecated-min.js | 2 +
.../aui-datepicker-select-deprecated.js | 1052 +++
.../assets/aui-datepicker-core.css | 9 +
.../assets/skins/sam/aui-datepicker-skin.css | 0
.../assets/skins/sam/aui-datepicker.css | 1 +
.../aui-datepicker/aui-datepicker-coverage.js | 6 +
build/aui-datepicker/aui-datepicker-debug.js | 446 ++
build/aui-datepicker/aui-datepicker-min.js | 1 +
build/aui-datepicker/aui-datepicker.js | 446 ++
build/aui-debounce/aui-debounce-coverage.js | 6 +
build/aui-debounce/aui-debounce-debug.js | 89 +
build/aui-debounce/aui-debounce-min.js | 1 +
build/aui-debounce/aui-debounce.js | 89 +
.../assets/aui-delayed-task-core.css | 2 +
.../aui-delayed-task-deprecated-coverage.js | 6 +
.../aui-delayed-task-deprecated-debug.js | 192 +
.../aui-delayed-task-deprecated-min.js | 1 +
.../aui-delayed-task-deprecated.js | 192 +
.../aui-diagram-builder-connector-core.css | 69 +
.../assets/aui-diagram-builder-core.css | 76 +
.../assets/skins/sam/anchor-default.png | Bin 0 -> 174 bytes
.../assets/skins/sam/anchor-drop-active.png | Bin 0 -> 849 bytes
.../assets/skins/sam/anchor-valid.png | Bin 0 -> 204 bytes
.../aui-diagram-builder-connector-skin.css | 0
.../sam/aui-diagram-builder-connector.css | 1 +
.../skins/sam/aui-diagram-builder-skin.css | 0
.../assets/skins/sam/condition.png | Bin 0 -> 509 bytes
.../assets/skins/sam/end.png | Bin 0 -> 304 bytes
.../assets/skins/sam/fork.png | Bin 0 -> 824 bytes
.../assets/skins/sam/join.png | Bin 0 -> 782 bytes
.../assets/skins/sam/menu-condition.png | Bin 0 -> 288 bytes
.../assets/skins/sam/menu-end.png | Bin 0 -> 346 bytes
.../assets/skins/sam/menu-fork.png | Bin 0 -> 444 bytes
.../assets/skins/sam/menu-join.png | Bin 0 -> 434 bytes
.../assets/skins/sam/menu-start.png | Bin 0 -> 324 bytes
.../assets/skins/sam/menu-state.png | Bin 0 -> 305 bytes
.../assets/skins/sam/menu-task.png | Bin 0 -> 338 bytes
.../assets/skins/sam/start.png | Bin 0 -> 295 bytes
.../assets/skins/sam/state.png | Bin 0 -> 245 bytes
.../assets/skins/sam/task.png | Bin 0 -> 627 bytes
.../aui-diagram-builder-connector-coverage.js | 6 +
.../aui-diagram-builder-connector-debug.js | 1002 +++
.../aui-diagram-builder-connector-min.js | 2 +
.../aui-diagram-builder-connector.js | 1002 +++
.../aui-diagram-builder-connector-core.css | 69 +
.../assets/aui-diagram-builder-core.css | 76 +
.../assets/skins/sam/anchor-default.png | Bin 0 -> 174 bytes
.../assets/skins/sam/anchor-drop-active.png | Bin 0 -> 849 bytes
.../assets/skins/sam/anchor-valid.png | Bin 0 -> 204 bytes
.../aui-diagram-builder-connector-skin.css | 0
.../skins/sam/aui-diagram-builder-skin.css | 0
.../assets/skins/sam/aui-diagram-builder.css | 1 +
.../assets/skins/sam/condition.png | Bin 0 -> 509 bytes
.../assets/skins/sam/end.png | Bin 0 -> 304 bytes
.../assets/skins/sam/fork.png | Bin 0 -> 824 bytes
.../assets/skins/sam/join.png | Bin 0 -> 782 bytes
.../assets/skins/sam/menu-condition.png | Bin 0 -> 288 bytes
.../assets/skins/sam/menu-end.png | Bin 0 -> 346 bytes
.../assets/skins/sam/menu-fork.png | Bin 0 -> 444 bytes
.../assets/skins/sam/menu-join.png | Bin 0 -> 434 bytes
.../assets/skins/sam/menu-start.png | Bin 0 -> 324 bytes
.../assets/skins/sam/menu-state.png | Bin 0 -> 305 bytes
.../assets/skins/sam/menu-task.png | Bin 0 -> 338 bytes
.../assets/skins/sam/start.png | Bin 0 -> 295 bytes
.../assets/skins/sam/state.png | Bin 0 -> 245 bytes
.../assets/skins/sam/task.png | Bin 0 -> 627 bytes
.../aui-diagram-builder-coverage.js | 6 +
.../aui-diagram-builder-debug.js | 1327 ++++
.../aui-diagram-builder-min.js | 2 +
.../aui-diagram-builder.js | 1327 ++++
.../aui-diagram-node-condition-coverage.js | 6 +
.../aui-diagram-node-condition-debug.js | 104 +
.../aui-diagram-node-condition-min.js | 1 +
.../aui-diagram-node-condition.js | 104 +
.../aui-diagram-node-end-coverage.js | 6 +
.../aui-diagram-node-end-debug.js | 58 +
.../aui-diagram-node-end-min.js | 1 +
.../aui-diagram-node-end.js | 58 +
.../aui-diagram-node-fork-coverage.js | 6 +
.../aui-diagram-node-fork-debug.js | 88 +
.../aui-diagram-node-fork-min.js | 1 +
.../aui-diagram-node-fork.js | 88 +
.../aui-diagram-node-join-coverage.js | 6 +
.../aui-diagram-node-join-debug.js | 88 +
.../aui-diagram-node-join-min.js | 1 +
.../aui-diagram-node-join.js | 88 +
.../aui-diagram-node-manager-base-coverage.js | 6 +
.../aui-diagram-node-manager-base-debug.js | 36 +
.../aui-diagram-node-manager-base-min.js | 1 +
.../aui-diagram-node-manager-base.js | 36 +
.../aui-diagram-node-start-coverage.js | 6 +
.../aui-diagram-node-start-debug.js | 58 +
.../aui-diagram-node-start-min.js | 1 +
.../aui-diagram-node-start.js | 58 +
.../aui-diagram-node-state-coverage.js | 6 +
.../aui-diagram-node-state-debug.js | 119 +
.../aui-diagram-node-state-min.js | 1 +
.../aui-diagram-node-state.js | 119 +
.../aui-diagram-node-task-coverage.js | 6 +
.../aui-diagram-node-task-debug.js | 121 +
.../aui-diagram-node-task-min.js | 1 +
.../aui-diagram-node-task.js | 121 +
.../aui-diagram-node-coverage.js | 6 +
.../aui-diagram-node-debug.js | 1589 +++++
.../aui-diagram-node/aui-diagram-node-min.js | 3 +
build/aui-diagram-node/aui-diagram-node.js | 1589 +++++
.../aui-dialog-iframe-deprecated-core.css | 15 +
.../sam/aui-dialog-iframe-deprecated-skin.css | 0
.../sam/aui-dialog-iframe-deprecated.css | 1 +
.../aui-dialog-iframe-deprecated-coverage.js | 6 +
.../aui-dialog-iframe-deprecated-debug.js | 395 ++
.../aui-dialog-iframe-deprecated-min.js | 1 +
.../aui-dialog-iframe-deprecated.js | 395 ++
.../aui-dropdown/assets/aui-dropdown-core.css | 3 +
.../assets/skins/sam/aui-dropdown-skin.css | 0
.../assets/skins/sam/aui-dropdown.css | 1 +
build/aui-dropdown/aui-dropdown-coverage.js | 6 +
build/aui-dropdown/aui-dropdown-debug.js | 410 ++
build/aui-dropdown/aui-dropdown-min.js | 1 +
build/aui-dropdown/aui-dropdown.js | 410 ++
.../assets/aui-editable-deprecated-core.css | 29 +
.../sam/aui-editable-deprecated-skin.css | 0
.../skins/sam/aui-editable-deprecated.css | 1 +
.../aui-editable-deprecated-coverage.js | 6 +
.../aui-editable-deprecated-debug.js | 780 +++
.../aui-editable-deprecated-min.js | 1 +
.../aui-editable-deprecated.js | 780 +++
.../aui-event-base/aui-event-base-coverage.js | 6 +
build/aui-event-base/aui-event-base-debug.js | 343 +
build/aui-event-base/aui-event-base-min.js | 1 +
build/aui-event-base/aui-event-base.js | 343 +
.../aui-event-delegate-change-coverage.js | 6 +
.../aui-event-delegate-change-debug.js | 228 +
.../aui-event-delegate-change-min.js | 1 +
.../aui-event-delegate-change.js | 228 +
.../aui-event-delegate-submit-coverage.js | 6 +
.../aui-event-delegate-submit-debug.js | 330 +
.../aui-event-delegate-submit-min.js | 1 +
.../aui-event-delegate-submit.js | 330 +
.../aui-event-input-coverage.js | 6 +
.../aui-event-input/aui-event-input-debug.js | 176 +
build/aui-event-input/aui-event-input-min.js | 1 +
build/aui-event-input/aui-event-input.js | 176 +
.../aui-form-base-deprecated-coverage.js | 6 +
.../aui-form-base-deprecated-debug.js | 535 ++
.../aui-form-base-deprecated-min.js | 1 +
.../aui-form-base-deprecated.js | 535 ++
...der-available-field-deprecated-coverage.js | 6 +
...uilder-available-field-deprecated-debug.js | 128 +
...-builder-available-field-deprecated-min.js | 1 +
...form-builder-available-field-deprecated.js | 128 +
.../aui-form-builder-deprecated-core.css | 36 +
...aui-form-builder-field-deprecated-core.css | 10 +
.../sam/aui-form-builder-deprecated-skin.css | 4 +
.../skins/sam/aui-form-builder-deprecated.css | 1 +
...aui-form-builder-field-deprecated-skin.css | 108 +
.../assets/skins/sam/form_builder_bg.png | Bin 0 -> 70 bytes
.../assets/skins/sam/icon-button.png | Bin 0 -> 318 bytes
.../assets/skins/sam/icon-checkbox.png | Bin 0 -> 536 bytes
.../assets/skins/sam/icon-date.png | Bin 0 -> 280 bytes
.../assets/skins/sam/icon-decimal.png | Bin 0 -> 210 bytes
.../assets/skins/sam/icon-default.png | Bin 0 -> 215 bytes
.../assets/skins/sam/icon-document.png | Bin 0 -> 372 bytes
.../assets/skins/sam/icon-fieldset.png | Bin 0 -> 319 bytes
.../assets/skins/sam/icon-fileupload.png | Bin 0 -> 555 bytes
.../assets/skins/sam/icon-integer.png | Bin 0 -> 226 bytes
.../assets/skins/sam/icon-number.png | Bin 0 -> 173 bytes
.../assets/skins/sam/icon-paragraph.png | Bin 0 -> 210 bytes
.../assets/skins/sam/icon-password.png | Bin 0 -> 263 bytes
.../assets/skins/sam/icon-radio.png | Bin 0 -> 735 bytes
.../assets/skins/sam/icon-select.png | Bin 0 -> 396 bytes
.../assets/skins/sam/icon-separator.png | Bin 0 -> 195 bytes
.../assets/skins/sam/icon-text.png | Bin 0 -> 204 bytes
.../assets/skins/sam/icon-textarea.png | Bin 0 -> 216 bytes
.../aui-form-builder-deprecated-coverage.js | 6 +
.../aui-form-builder-deprecated-debug.js | 1029 +++
.../aui-form-builder-deprecated-min.js | 2 +
.../aui-form-builder-deprecated.js | 1029 +++
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../skins/sam/aui-form-builder-field-base.css | 1 +
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../aui-form-builder-field-base-coverage.js | 6 +
.../aui-form-builder-field-base-debug.js | 414 ++
.../aui-form-builder-field-base-min.js | 1 +
.../aui-form-builder-field-base.js | 414 ++
...uilder-field-button-deprecated-coverage.js | 6 +
...m-builder-field-button-deprecated-debug.js | 234 +
...orm-builder-field-button-deprecated-min.js | 1 +
...ui-form-builder-field-button-deprecated.js | 234 +
...lder-field-checkbox-deprecated-coverage.js | 6 +
...builder-field-checkbox-deprecated-debug.js | 246 +
...m-builder-field-checkbox-deprecated-min.js | 1 +
...-form-builder-field-checkbox-deprecated.js | 246 +
.../aui-form-builder-field-choice-coverage.js | 6 +
.../aui-form-builder-field-choice-debug.js | 100 +
.../aui-form-builder-field-choice-min.js | 1 +
.../aui-form-builder-field-choice.js | 100 +
.../aui-form-builder-deprecated-core.css | 36 +
...aui-form-builder-field-deprecated-core.css | 10 +
.../sam/aui-form-builder-deprecated-skin.css | 4 +
...aui-form-builder-field-deprecated-skin.css | 108 +
.../sam/aui-form-builder-field-deprecated.css | 1 +
.../assets/skins/sam/form_builder_bg.png | Bin 0 -> 70 bytes
.../assets/skins/sam/icon-button.png | Bin 0 -> 318 bytes
.../assets/skins/sam/icon-checkbox.png | Bin 0 -> 536 bytes
.../assets/skins/sam/icon-date.png | Bin 0 -> 280 bytes
.../assets/skins/sam/icon-decimal.png | Bin 0 -> 210 bytes
.../assets/skins/sam/icon-default.png | Bin 0 -> 215 bytes
.../assets/skins/sam/icon-document.png | Bin 0 -> 372 bytes
.../assets/skins/sam/icon-fieldset.png | Bin 0 -> 319 bytes
.../assets/skins/sam/icon-fileupload.png | Bin 0 -> 555 bytes
.../assets/skins/sam/icon-integer.png | Bin 0 -> 226 bytes
.../assets/skins/sam/icon-number.png | Bin 0 -> 173 bytes
.../assets/skins/sam/icon-paragraph.png | Bin 0 -> 210 bytes
.../assets/skins/sam/icon-password.png | Bin 0 -> 263 bytes
.../assets/skins/sam/icon-radio.png | Bin 0 -> 735 bytes
.../assets/skins/sam/icon-select.png | Bin 0 -> 396 bytes
.../assets/skins/sam/icon-separator.png | Bin 0 -> 195 bytes
.../assets/skins/sam/icon-text.png | Bin 0 -> 204 bytes
.../assets/skins/sam/icon-textarea.png | Bin 0 -> 216 bytes
...-form-builder-field-deprecated-coverage.js | 6 +
...aui-form-builder-field-deprecated-debug.js | 1090 +++
.../aui-form-builder-field-deprecated-min.js | 2 +
.../aui-form-builder-field-deprecated.js | 1090 +++
...lder-field-fieldset-deprecated-coverage.js | 6 +
...builder-field-fieldset-deprecated-debug.js | 213 +
...m-builder-field-fieldset-deprecated-min.js | 1 +
...-form-builder-field-fieldset-deprecated.js | 213 +
...r-field-file-upload-deprecated-coverage.js | 6 +
...lder-field-file-upload-deprecated-debug.js | 113 +
...uilder-field-file-upload-deprecated-min.js | 1 +
...rm-builder-field-file-upload-deprecated.js | 113 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../skins/sam/aui-form-builder-field-list.css | 1 +
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../aui-form-builder-field-list-coverage.js | 6 +
.../aui-form-builder-field-list-debug.js | 380 +
.../aui-form-builder-field-list-min.js | 1 +
.../aui-form-builder-field-list.js | 380 +
...eld-multiple-choice-deprecated-coverage.js | 6 +
...-field-multiple-choice-deprecated-debug.js | 453 ++
...er-field-multiple-choice-deprecated-min.js | 1 +
...uilder-field-multiple-choice-deprecated.js | 453 ++
...builder-field-radio-deprecated-coverage.js | 6 +
...rm-builder-field-radio-deprecated-debug.js | 188 +
...form-builder-field-radio-deprecated-min.js | 1 +
...aui-form-builder-field-radio-deprecated.js | 188 +
...uilder-field-select-deprecated-coverage.js | 6 +
...m-builder-field-select-deprecated-debug.js | 184 +
...orm-builder-field-select-deprecated-min.js | 1 +
...ui-form-builder-field-select-deprecated.js | 184 +
...ui-form-builder-field-sentence-coverage.js | 6 +
.../aui-form-builder-field-sentence-debug.js | 23 +
.../aui-form-builder-field-sentence-min.js | 1 +
.../aui-form-builder-field-sentence.js | 23 +
...-builder-field-text-deprecated-coverage.js | 6 +
...orm-builder-field-text-deprecated-debug.js | 185 +
...-form-builder-field-text-deprecated-min.js | 1 +
.../aui-form-builder-field-text-deprecated.js | 185 +
.../aui-form-builder-field-text-coverage.js | 6 +
.../aui-form-builder-field-text-debug.js | 81 +
.../aui-form-builder-field-text-min.js | 1 +
.../aui-form-builder-field-text.js | 81 +
...lder-field-textarea-deprecated-coverage.js | 6 +
...builder-field-textarea-deprecated-debug.js | 120 +
...m-builder-field-textarea-deprecated-min.js | 1 +
...-form-builder-field-textarea-deprecated.js | 120 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-toolbar.css | 1 +
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
...aui-form-builder-field-toolbar-coverage.js | 6 +
.../aui-form-builder-field-toolbar-debug.js | 368 +
.../aui-form-builder-field-toolbar-min.js | 1 +
.../aui-form-builder-field-toolbar.js | 368 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
.../skins/sam/aui-form-builder-field-type.css | 1 +
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../aui-form-builder-field-type-coverage.js | 6 +
.../aui-form-builder-field-type-debug.js | 238 +
.../aui-form-builder-field-type-min.js | 1 +
.../aui-form-builder-field-type.js | 238 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../aui-form-builder-field-types-modal.css | 1 +
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
...form-builder-field-types-modal-coverage.js | 6 +
...ui-form-builder-field-types-modal-debug.js | 223 +
.../aui-form-builder-field-types-modal-min.js | 1 +
.../aui-form-builder-field-types-modal.js | 223 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../sam/aui-form-builder-field-types.css | 1 +
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../aui-form-builder-field-types-coverage.js | 6 +
.../aui-form-builder-field-types-debug.js | 397 ++
.../aui-form-builder-field-types-min.js | 1 +
.../aui-form-builder-field-types.js | 397 ++
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../sam/aui-form-builder-layout-builder.css | 1 +
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
...ui-form-builder-layout-builder-coverage.js | 6 +
.../aui-form-builder-layout-builder-debug.js | 627 ++
.../aui-form-builder-layout-builder-min.js | 2 +
.../aui-form-builder-layout-builder.js | 627 ++
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../sam/aui-form-builder-page-manager.css | 1 +
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../aui-form-builder-page-manager-coverage.js | 6 +
.../aui-form-builder-page-manager-debug.js | 885 +++
.../aui-form-builder-page-manager-min.js | 2 +
.../aui-form-builder-page-manager.js | 885 +++
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../sam/aui-form-builder-settings-modal.css | 1 +
.../skins/sam/aui-form-builder-skin.css | 0
...ui-form-builder-settings-modal-coverage.js | 6 +
.../aui-form-builder-settings-modal-debug.js | 189 +
.../aui-form-builder-settings-modal-min.js | 1 +
.../aui-form-builder-settings-modal.js | 189 +
.../assets/aui-form-builder-core.css | 225 +
.../aui-form-builder-field-base-core.css | 52 +
.../aui-form-builder-field-list-core.css | 86 +
.../aui-form-builder-field-toolbar-core.css | 25 +
.../aui-form-builder-field-type-core.css | 33 +
.../aui-form-builder-field-types-core.css | 6 +
...ui-form-builder-field-types-modal-core.css | 3 +
.../aui-form-builder-layout-builder-core.css | 79 +
.../aui-form-builder-page-manager-core.css | 45 +
.../aui-form-builder-settings-modal-core.css | 64 +
.../sam/aui-form-builder-field-base-skin.css | 0
.../sam/aui-form-builder-field-list-skin.css | 0
.../aui-form-builder-field-toolbar-skin.css | 0
.../sam/aui-form-builder-field-type-skin.css | 0
...ui-form-builder-field-types-modal-skin.css | 0
.../sam/aui-form-builder-field-types-skin.css | 0
.../aui-form-builder-layout-builder-skin.css | 0
.../aui-form-builder-page-manager-skin.css | 0
.../aui-form-builder-settings-modal-skin.css | 0
.../skins/sam/aui-form-builder-skin.css | 0
.../assets/skins/sam/aui-form-builder.css | 1 +
.../aui-form-builder-coverage.js | 6 +
.../aui-form-builder-debug.js | 799 +++
.../aui-form-builder/aui-form-builder-min.js | 2 +
build/aui-form-builder/aui-form-builder.js | 799 +++
.../aui-form-combobox-deprecated-core.css | 20 +
.../aui-form-textarea-deprecated-core.css | 2 +
.../sam/aui-form-combobox-deprecated-skin.css | 0
.../sam/aui-form-combobox-deprecated.css | 1 +
.../sam/aui-form-textarea-deprecated-skin.css | 0
.../aui-form-combobox-deprecated-coverage.js | 6 +
.../aui-form-combobox-deprecated-debug.js | 84 +
.../aui-form-combobox-deprecated-min.js | 1 +
.../aui-form-combobox-deprecated.js | 84 +
.../assets/aui-form-field-choice-core.css | 10 +
.../assets/aui-form-field-core.css | 46 +
.../assets/aui-form-field-text-core.css | 6 +
.../skins/sam/aui-form-field-choice-skin.css | 0
.../skins/sam/aui-form-field-choice.css | 1 +
.../assets/skins/sam/aui-form-field-skin.css | 0
.../skins/sam/aui-form-field-text-skin.css | 0
.../aui-form-field-choice-coverage.js | 6 +
.../aui-form-field-choice-debug.js | 341 +
.../aui-form-field-choice-min.js | 1 +
.../aui-form-field-choice.js | 341 +
.../aui-form-field-deprecated-coverage.js | 6 +
.../aui-form-field-deprecated-debug.js | 584 ++
.../aui-form-field-deprecated-min.js | 1 +
.../aui-form-field-deprecated.js | 584 ++
.../aui-form-field-required-coverage.js | 6 +
.../aui-form-field-required-debug.js | 93 +
.../aui-form-field-required-min.js | 1 +
.../aui-form-field-required.js | 93 +
.../assets/aui-form-field-choice-core.css | 10 +
.../assets/aui-form-field-core.css | 46 +
.../assets/aui-form-field-text-core.css | 6 +
.../skins/sam/aui-form-field-choice-skin.css | 0
.../assets/skins/sam/aui-form-field-skin.css | 0
.../skins/sam/aui-form-field-text-skin.css | 0
.../assets/skins/sam/aui-form-field-text.css | 1 +
.../aui-form-field-text-coverage.js | 6 +
.../aui-form-field-text-debug.js | 164 +
.../aui-form-field-text-min.js | 1 +
.../aui-form-field-text.js | 164 +
.../assets/aui-form-field-choice-core.css | 10 +
.../assets/aui-form-field-core.css | 46 +
.../assets/aui-form-field-text-core.css | 6 +
.../skins/sam/aui-form-field-choice-skin.css | 0
.../assets/skins/sam/aui-form-field-skin.css | 0
.../skins/sam/aui-form-field-text-skin.css | 0
.../assets/skins/sam/aui-form-field.css | 1 +
.../aui-form-field/aui-form-field-coverage.js | 6 +
build/aui-form-field/aui-form-field-debug.js | 284 +
build/aui-form-field/aui-form-field-min.js | 1 +
build/aui-form-field/aui-form-field.js | 284 +
.../aui-form-select-deprecated-coverage.js | 6 +
.../aui-form-select-deprecated-debug.js | 105 +
.../aui-form-select-deprecated-min.js | 1 +
.../aui-form-select-deprecated.js | 105 +
.../aui-form-textarea-deprecated-coverage.js | 6 +
.../aui-form-textarea-deprecated-debug.js | 134 +
.../aui-form-textarea-deprecated-min.js | 1 +
.../aui-form-textarea-deprecated.js | 134 +
.../aui-form-textfield-deprecated-coverage.js | 6 +
.../aui-form-textfield-deprecated-debug.js | 124 +
.../aui-form-textfield-deprecated-min.js | 1 +
.../aui-form-textfield-deprecated.js | 124 +
.../aui-form-validator-coverage.js | 6 +
.../aui-form-validator-debug.js | 1496 ++++
.../aui-form-validator-min.js | 3 +
.../aui-form-validator/aui-form-validator.js | 1496 ++++
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../assets/skins/sam/aui-hsv-palette.css | 1 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-hsv-palette-coverage.js | 6 +
.../aui-hsv-palette/aui-hsv-palette-debug.js | 1680 +++++
build/aui-hsv-palette/aui-hsv-palette-min.js | 3 +
build/aui-hsv-palette/aui-hsv-palette.js | 1680 +++++
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-modal.css | 1 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-hsva-palette-modal-coverage.js | 6 +
.../aui-hsva-palette-modal-debug.js | 186 +
.../aui-hsva-palette-modal-min.js | 1 +
.../aui-hsva-palette-modal.js | 186 +
.../assets/aui-color-palette-core.css | 0
.../assets/aui-color-picker-base-core.css | 25 +
.../assets/aui-color-picker-core.css | 0
.../assets/aui-color-picker-popover-core.css | 7 +
.../assets/aui-hsv-palette-core.css | 145 +
.../assets/aui-hsva-palette-core.css | 0
.../assets/aui-hsva-palette-modal-core.css | 7 +
.../skins/sam/aui-color-palette-skin.css | 4 +
.../skins/sam/aui-color-picker-base-skin.css | 3 +
.../sam/aui-color-picker-popover-skin.css | 0
.../skins/sam/aui-color-picker-skin.css | 0
.../assets/skins/sam/aui-hsv-palette-skin.css | 42 +
.../skins/sam/aui-hsva-palette-modal-skin.css | 3 +
.../skins/sam/aui-hsva-palette-skin.css | 0
.../assets/skins/sam/aui-hsva-palette.css | 1 +
.../assets/skins/sam/sprite.png | Bin 0 -> 57154 bytes
.../aui-hsva-palette-coverage.js | 6 +
.../aui-hsva-palette-debug.js | 511 ++
.../aui-hsva-palette/aui-hsva-palette-min.js | 1 +
build/aui-hsva-palette/aui-hsva-palette.js | 511 ++
.../assets/aui-image-cropper-core.css | 130 +
.../skins/sam/aui-image-cropper-skin.css | 11 +
.../assets/skins/sam/aui-image-cropper.css | 1 +
.../assets/skins/sam/resize-handle.png | Bin 0 -> 148 bytes
.../aui-image-cropper-coverage.js | 6 +
.../aui-image-cropper-debug.js | 908 +++
.../aui-image-cropper-min.js | 2 +
build/aui-image-cropper/aui-image-cropper.js | 908 +++
.../assets/aui-image-viewer-base-core.css | 81 +
.../assets/aui-image-viewer-core.css | 118 +
.../assets/aui-image-viewer-multiple-core.css | 37 +
.../skins/sam/aui-image-viewer-base-skin.css | 0
.../skins/sam/aui-image-viewer-base.css | 1 +
.../sam/aui-image-viewer-multiple-skin.css | 0
.../skins/sam/aui-image-viewer-skin.css | 0
.../aui-image-viewer-base-coverage.js | 6 +
.../aui-image-viewer-base-debug.js | 928 +++
.../aui-image-viewer-base-min.js | 2 +
.../aui-image-viewer-base.js | 928 +++
.../aui-image-viewer-media-coverage.js | 6 +
.../aui-image-viewer-media-debug.js | 298 +
.../aui-image-viewer-media-min.js | 1 +
.../aui-image-viewer-media.js | 298 +
...ui-image-viewer-multiple-swipe-coverage.js | 6 +
.../aui-image-viewer-multiple-swipe-debug.js | 121 +
.../aui-image-viewer-multiple-swipe-min.js | 1 +
.../aui-image-viewer-multiple-swipe.js | 121 +
.../assets/aui-image-viewer-base-core.css | 81 +
.../assets/aui-image-viewer-core.css | 118 +
.../assets/aui-image-viewer-multiple-core.css | 37 +
.../skins/sam/aui-image-viewer-base-skin.css | 0
.../sam/aui-image-viewer-multiple-skin.css | 0
.../skins/sam/aui-image-viewer-multiple.css | 1 +
.../skins/sam/aui-image-viewer-skin.css | 0
.../aui-image-viewer-multiple-coverage.js | 6 +
.../aui-image-viewer-multiple-debug.js | 227 +
.../aui-image-viewer-multiple-min.js | 1 +
.../aui-image-viewer-multiple.js | 227 +
.../aui-image-viewer-slideshow-coverage.js | 6 +
.../aui-image-viewer-slideshow-debug.js | 314 +
.../aui-image-viewer-slideshow-min.js | 1 +
.../aui-image-viewer-slideshow.js | 314 +
.../aui-image-viewer-swipe-coverage.js | 6 +
.../aui-image-viewer-swipe-debug.js | 37 +
.../aui-image-viewer-swipe-min.js | 1 +
.../aui-image-viewer-swipe.js | 37 +
.../assets/aui-image-viewer-base-core.css | 81 +
.../assets/aui-image-viewer-core.css | 118 +
.../assets/aui-image-viewer-multiple-core.css | 37 +
.../skins/sam/aui-image-viewer-base-skin.css | 0
.../sam/aui-image-viewer-multiple-skin.css | 0
.../skins/sam/aui-image-viewer-skin.css | 0
.../assets/skins/sam/aui-image-viewer.css | 1 +
.../aui-image-viewer-coverage.js | 6 +
.../aui-image-viewer-debug.js | 755 ++
.../aui-image-viewer/aui-image-viewer-min.js | 2 +
build/aui-image-viewer/aui-image-viewer.js | 755 ++
...-input-text-control-deprecated-coverage.js | 6 +
...aui-input-text-control-deprecated-debug.js | 940 +++
.../aui-input-text-control-deprecated-min.js | 1 +
.../aui-input-text-control-deprecated.js | 940 +++
.../assets/aui-io-deprecated-core.css | 2 +
.../aui-io-plugin-deprecated-coverage.js | 6 +
.../aui-io-plugin-deprecated-debug.js | 560 ++
.../aui-io-plugin-deprecated-min.js | 1 +
.../aui-io-plugin-deprecated.js | 560 ++
.../assets/aui-io-deprecated-core.css | 2 +
.../aui-io-request-deprecated-coverage.js | 6 +
.../aui-io-request-deprecated-debug.js | 660 ++
.../aui-io-request-deprecated-min.js | 1 +
.../aui-io-request-deprecated.js | 660 ++
.../aui-io-request/aui-io-request-coverage.js | 6 +
build/aui-io-request/aui-io-request-debug.js | 641 ++
build/aui-io-request/aui-io-request-min.js | 1 +
build/aui-io-request/aui-io-request.js | 641 ++
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../skins/sam/aui-layout-builder-add-col.css | 1 +
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-builder-add-col-coverage.js | 6 +
.../aui-layout-builder-add-col-debug.js | 231 +
.../aui-layout-builder-add-col-min.js | 1 +
.../aui-layout-builder-add-col.js | 231 +
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../skins/sam/aui-layout-builder-add-row.css | 1 +
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-builder-add-row-coverage.js | 6 +
.../aui-layout-builder-add-row-debug.js | 338 +
.../aui-layout-builder-add-row-min.js | 1 +
.../aui-layout-builder-add-row.js | 338 +
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../skins/sam/aui-layout-builder-move.css | 1 +
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-builder-move-coverage.js | 6 +
.../aui-layout-builder-move-debug.js | 884 +++
.../aui-layout-builder-move-min.js | 2 +
.../aui-layout-builder-move.js | 884 +++
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../sam/aui-layout-builder-remove-row.css | 1 +
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-builder-remove-row-coverage.js | 6 +
.../aui-layout-builder-remove-row-debug.js | 265 +
.../aui-layout-builder-remove-row-min.js | 1 +
.../aui-layout-builder-remove-row.js | 265 +
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../sam/aui-layout-builder-resize-col.css | 1 +
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-builder-resize-col-coverage.js | 6 +
.../aui-layout-builder-resize-col-debug.js | 796 +++
.../aui-layout-builder-resize-col-min.js | 2 +
.../aui-layout-builder-resize-col.js | 796 +++
.../aui-layout-builder-coverage.js | 6 +
.../aui-layout-builder-debug.js | 231 +
.../aui-layout-builder-min.js | 1 +
.../aui-layout-builder/aui-layout-builder.js | 231 +
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-col.css | 1 +
.../assets/skins/sam/aui-layout-row-skin.css | 0
build/aui-layout-col/assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-col/aui-layout-col-coverage.js | 6 +
build/aui-layout-col/aui-layout-col-debug.js | 233 +
build/aui-layout-col/aui-layout-col-min.js | 1 +
build/aui-layout-col/aui-layout-col.js | 233 +
.../aui-layout-builder-add-col-core.css | 7 +
.../aui-layout-builder-add-row-core.css | 49 +
.../assets/aui-layout-builder-move-core.css | 26 +
.../aui-layout-builder-remove-row-core.css | 14 +
.../aui-layout-builder-resize-col-core.css | 98 +
.../assets/aui-layout-col-core.css | 10 +
.../assets/aui-layout-row-core.css | 3 +
.../sam/aui-layout-builder-add-col-skin.css | 0
.../sam/aui-layout-builder-add-row-skin.css | 0
.../sam/aui-layout-builder-move-skin.css | 0
.../aui-layout-builder-remove-row-skin.css | 0
.../aui-layout-builder-resize-col-skin.css | 0
.../assets/skins/sam/aui-layout-col-skin.css | 0
.../assets/skins/sam/aui-layout-row-skin.css | 0
.../assets/skins/sam/aui-layout-row.css | 1 +
build/aui-layout-row/assets/skins/sam/cut.png | Bin 0 -> 4009 bytes
.../aui-layout-row/aui-layout-row-coverage.js | 6 +
build/aui-layout-row/aui-layout-row-debug.js | 474 ++
build/aui-layout-row/aui-layout-row-min.js | 1 +
build/aui-layout-row/aui-layout-row.js | 474 ++
build/aui-layout/aui-layout-coverage.js | 6 +
build/aui-layout/aui-layout-debug.js | 470 ++
build/aui-layout/aui-layout-min.js | 1 +
build/aui-layout/aui-layout.js | 470 ++
build/aui-linkedset/aui-linkedset-coverage.js | 6 +
build/aui-linkedset/aui-linkedset-debug.js | 128 +
build/aui-linkedset/aui-linkedset-min.js | 1 +
build/aui-linkedset/aui-linkedset.js | 128 +
.../aui-live-search-deprecated-core.css | 2 +
.../aui-live-search-deprecated-coverage.js | 6 +
.../aui-live-search-deprecated-debug.js | 549 ++
.../aui-live-search-deprecated-min.js | 1 +
.../aui-live-search-deprecated.js | 549 ++
.../aui-loading-mask-deprecated-core.css | 30 +
.../sam/aui-loading-mask-deprecated-skin.css | 5 +
.../skins/sam/aui-loading-mask-deprecated.css | 1 +
.../aui-loading-mask-deprecated-coverage.js | 6 +
.../aui-loading-mask-deprecated-debug.js | 354 +
.../aui-loading-mask-deprecated-min.js | 1 +
.../aui-loading-mask-deprecated.js | 354 +
build/aui-map/aui-map-coverage.js | 6 +
build/aui-map/aui-map-debug.js | 373 +
build/aui-map/aui-map-min.js | 1 +
build/aui-map/aui-map.js | 373 +
build/aui-menu-item/aui-menu-item-coverage.js | 6 +
build/aui-menu-item/aui-menu-item-debug.js | 519 ++
build/aui-menu-item/aui-menu-item-min.js | 1 +
build/aui-menu-item/aui-menu-item.js | 519 ++
build/aui-menu/assets/aui-menu-core.css | 124 +
.../assets/skins/sam/aui-menu-skin.css | 0
build/aui-menu/assets/skins/sam/aui-menu.css | 1 +
build/aui-menu/aui-menu-coverage.js | 6 +
build/aui-menu/aui-menu-debug.js | 533 ++
build/aui-menu/aui-menu-min.js | 1 +
build/aui-menu/aui-menu.js | 533 ++
build/aui-messaging/aui-messaging-coverage.js | 6 +
build/aui-messaging/aui-messaging-debug.js | 181 +
build/aui-messaging/aui-messaging-min.js | 1 +
build/aui-messaging/aui-messaging.js | 181 +
.../aui-modal-resize-coverage.js | 6 +
.../aui-modal-resize-debug.js | 125 +
.../aui-modal-resize/aui-modal-resize-min.js | 1 +
build/aui-modal-resize/aui-modal-resize.js | 125 +
build/aui-modal/assets/aui-modal-core.css | 25 +
.../assets/skins/sam/aui-modal-skin.css | 0
.../aui-modal/assets/skins/sam/aui-modal.css | 1 +
build/aui-modal/aui-modal-coverage.js | 6 +
build/aui-modal/aui-modal-debug.js | 408 ++
build/aui-modal/aui-modal-min.js | 1 +
build/aui-modal/aui-modal.js | 408 ++
.../aui-node-accessible-coverage.js | 6 +
.../aui-node-accessible-debug.js | 56 +
.../aui-node-accessible-min.js | 1 +
.../aui-node-accessible.js | 56 +
build/aui-node-base/aui-node-base-coverage.js | 6 +
build/aui-node-base/aui-node-base-debug.js | 1548 ++++
build/aui-node-base/aui-node-base-min.js | 2 +
build/aui-node-base/aui-node-base.js | 1548 ++++
.../aui-node-html5/aui-node-html5-coverage.js | 6 +
build/aui-node-html5/aui-node-html5-debug.js | 652 ++
build/aui-node-html5/aui-node-html5-min.js | 1 +
build/aui-node-html5/aui-node-html5.js | 652 ++
.../assets/aui-data-editor-core.css | 17 +
.../assets/aui-options-data-editor-core.css | 27 +
.../aui-radio-group-data-editor-core.css | 18 +
.../assets/aui-text-data-editor-core.css | 4 +
.../assets/skins/sam/aui-data-editor-skin.css | 0
.../sam/aui-options-data-editor-skin.css | 0
.../skins/sam/aui-options-data-editor.css | 1 +
.../sam/aui-radio-group-data-editor-skin.css | 0
.../skins/sam/aui-text-data-editor-skin.css | 0
.../aui-options-data-editor-coverage.js | 6 +
.../aui-options-data-editor-debug.js | 368 +
.../aui-options-data-editor-min.js | 1 +
.../aui-options-data-editor.js | 368 +
.../aui-overlay-base-deprecated-coverage.js | 6 +
.../aui-overlay-base-deprecated-debug.js | 47 +
.../aui-overlay-base-deprecated-min.js | 1 +
.../aui-overlay-base-deprecated.js | 47 +
...aui-overlay-context-deprecated-coverage.js | 6 +
.../aui-overlay-context-deprecated-debug.js | 816 +++
.../aui-overlay-context-deprecated-min.js | 1 +
.../aui-overlay-context-deprecated.js | 816 +++
...-overlay-context-panel-deprecated-core.css | 200 +
.../aui-overlay-mask-deprecated-core.css | 3 +
...-overlay-context-panel-deprecated-skin.css | 0
.../aui-overlay-context-panel-deprecated.css | 2 +
.../sam/aui-overlay-mask-deprecated-skin.css | 0
...erlay-context-panel-deprecated-coverage.js | 6 +
...-overlay-context-panel-deprecated-debug.js | 550 ++
...ui-overlay-context-panel-deprecated-min.js | 1 +
.../aui-overlay-context-panel-deprecated.js | 550 ++
...aui-overlay-manager-deprecated-coverage.js | 6 +
.../aui-overlay-manager-deprecated-debug.js | 331 +
.../aui-overlay-manager-deprecated-min.js | 1 +
.../aui-overlay-manager-deprecated.js | 331 +
...-overlay-context-panel-deprecated-core.css | 200 +
.../aui-overlay-mask-deprecated-core.css | 3 +
...-overlay-context-panel-deprecated-skin.css | 0
.../sam/aui-overlay-mask-deprecated-skin.css | 0
.../skins/sam/aui-overlay-mask-deprecated.css | 1 +
.../aui-overlay-mask-deprecated-coverage.js | 6 +
.../aui-overlay-mask-deprecated-debug.js | 395 ++
.../aui-overlay-mask-deprecated-min.js | 1 +
.../aui-overlay-mask-deprecated.js | 395 ++
.../assets/aui-pagination-core.css | 3 +
.../assets/skins/sam/aui-pagination-skin.css | 0
.../assets/skins/sam/aui-pagination.css | 1 +
.../aui-pagination/aui-pagination-coverage.js | 6 +
build/aui-pagination/aui-pagination-debug.js | 642 ++
build/aui-pagination/aui-pagination-min.js | 1 +
build/aui-pagination/aui-pagination.js | 642 ++
build/aui-palette/assets/aui-palette-core.css | 20 +
.../assets/skins/sam/aui-palette-skin.css | 11 +
.../assets/skins/sam/aui-palette.css | 1 +
build/aui-palette/aui-palette-coverage.js | 6 +
build/aui-palette/aui-palette-debug.js | 652 ++
build/aui-palette/aui-palette-min.js | 1 +
build/aui-palette/aui-palette.js | 652 ++
.../aui-parse-content-coverage.js | 6 +
.../aui-parse-content-debug.js | 350 +
.../aui-parse-content-min.js | 1 +
build/aui-parse-content/aui-parse-content.js | 350 +
build/aui-popover/assets/aui-popover-core.css | 3 +
.../assets/skins/sam/aui-popover-skin.css | 0
.../assets/skins/sam/aui-popover.css | 1 +
build/aui-popover/aui-popover-coverage.js | 6 +
build/aui-popover/aui-popover-debug.js | 216 +
build/aui-popover/aui-popover-min.js | 1 +
build/aui-popover/aui-popover.js | 216 +
.../assets/aui-progressbar-core.css | 12 +
.../assets/skins/sam/aui-progressbar-skin.css | 0
.../assets/skins/sam/aui-progressbar.css | 1 +
.../aui-progressbar-coverage.js | 6 +
.../aui-progressbar/aui-progressbar-debug.js | 410 ++
build/aui-progressbar/aui-progressbar-min.js | 1 +
build/aui-progressbar/aui-progressbar.js | 410 ++
build/aui-promise/aui-promise-coverage.js | 6 +
build/aui-promise/aui-promise-debug.js | 258 +
build/aui-promise/aui-promise-min.js | 1 +
build/aui-promise/aui-promise.js | 258 +
...operty-builder-available-field-coverage.js | 6 +
...-property-builder-available-field-debug.js | 314 +
...ui-property-builder-available-field-min.js | 1 +
.../aui-property-builder-available-field.js | 314 +
...property-builder-field-support-coverage.js | 6 +
...ui-property-builder-field-support-debug.js | 160 +
.../aui-property-builder-field-support-min.js | 1 +
.../aui-property-builder-field-support.js | 160 +
.../aui-property-builder-settings-coverage.js | 6 +
.../aui-property-builder-settings-debug.js | 348 +
.../aui-property-builder-settings-min.js | 1 +
.../aui-property-builder-settings.js | 348 +
.../assets/aui-property-builder-core.css | 73 +
.../skins/sam/aui-property-builder-skin.css | 21 +
.../assets/skins/sam/aui-property-builder.css | 1 +
.../assets/skins/sam/checker-bg.png | Bin 0 -> 95 bytes
.../aui-property-builder-coverage.js | 6 +
.../aui-property-builder-debug.js | 481 ++
.../aui-property-builder-min.js | 1 +
.../aui-property-builder.js | 481 ++
.../assets/aui-data-editor-core.css | 17 +
.../assets/aui-options-data-editor-core.css | 27 +
.../aui-radio-group-data-editor-core.css | 18 +
.../assets/aui-text-data-editor-core.css | 4 +
.../assets/skins/sam/aui-data-editor-skin.css | 0
.../sam/aui-options-data-editor-skin.css | 0
.../sam/aui-radio-group-data-editor-skin.css | 0
.../skins/sam/aui-radio-group-data-editor.css | 1 +
.../skins/sam/aui-text-data-editor-skin.css | 0
.../aui-radio-group-data-editor-coverage.js | 6 +
.../aui-radio-group-data-editor-debug.js | 229 +
.../aui-radio-group-data-editor-min.js | 1 +
.../aui-radio-group-data-editor.js | 229 +
.../assets/aui-rating-base-core.css | 24 +
.../assets/skins/sam/aui-rating-base-skin.css | 0
.../assets/skins/sam/aui-rating-base.css | 1 +
.../aui-rating-base-coverage.js | 6 +
.../aui-rating-base/aui-rating-base-debug.js | 854 +++
build/aui-rating-base/aui-rating-base-min.js | 1 +
build/aui-rating-base/aui-rating-base.js | 854 +++
.../aui-rating-thumb-coverage.js | 6 +
.../aui-rating-thumb-debug.js | 148 +
.../aui-rating-thumb/aui-rating-thumb-min.js | 1 +
build/aui-rating-thumb/aui-rating-thumb.js | 148 +
.../aui-resize-base-deprecated-core.css | 96 +
.../sam/aui-resize-base-deprecated-skin.css | 0
.../skins/sam/aui-resize-base-deprecated.css | 1 +
.../aui-resize-base-deprecated-coverage.js | 6 +
.../aui-resize-base-deprecated-debug.js | 1428 ++++
.../aui-resize-base-deprecated-min.js | 2 +
.../aui-resize-base-deprecated.js | 1428 ++++
...ui-resize-constrain-deprecated-coverage.js | 6 +
.../aui-resize-constrain-deprecated-debug.js | 460 ++
.../aui-resize-constrain-deprecated-min.js | 1 +
.../aui-resize-constrain-deprecated.js | 460 ++
.../aui-scale-data-editor-coverage.js | 6 +
.../aui-scale-data-editor-debug.js | 190 +
.../aui-scale-data-editor-min.js | 1 +
.../aui-scale-data-editor.js | 190 +
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../assets/skins/sam/aui-scheduler-base.css | 1 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-base-coverage.js | 6 +
.../aui-scheduler-base-debug.js | 3428 +++++++++
.../aui-scheduler-base-min.js | 5 +
.../aui-scheduler-base/aui-scheduler-base.js | 3428 +++++++++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../sam/aui-scheduler-event-recorder.css | 1 +
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-event-recorder-coverage.js | 6 +
.../aui-scheduler-event-recorder-debug.js | 748 ++
.../aui-scheduler-event-recorder-min.js | 1 +
.../aui-scheduler-event-recorder.js | 748 ++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../assets/skins/sam/aui-scheduler-touch.css | 1 +
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-touch-coverage.js | 6 +
.../aui-scheduler-touch-debug.js | 150 +
.../aui-scheduler-touch-min.js | 1 +
.../aui-scheduler-touch.js | 150 +
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-agenda.css | 1 +
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-view-agenda-coverage.js | 6 +
.../aui-scheduler-view-agenda-debug.js | 611 ++
.../aui-scheduler-view-agenda-min.js | 1 +
.../aui-scheduler-view-agenda.js | 611 ++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../skins/sam/aui-scheduler-view-day.css | 1 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-view-day-coverage.js | 6 +
.../aui-scheduler-view-day-debug.js | 1781 +++++
.../aui-scheduler-view-day-min.js | 3 +
.../aui-scheduler-view-day.js | 1781 +++++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../skins/sam/aui-scheduler-view-month.css | 1 +
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-view-month-coverage.js | 6 +
.../aui-scheduler-view-month-debug.js | 220 +
.../aui-scheduler-view-month-min.js | 1 +
.../aui-scheduler-view-month.js | 220 +
.../aui-scheduler-view-table-dd-coverage.js | 6 +
.../aui-scheduler-view-table-dd-debug.js | 612 ++
.../aui-scheduler-view-table-dd-min.js | 1 +
.../aui-scheduler-view-table-dd.js | 612 ++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../skins/sam/aui-scheduler-view-table.css | 1 +
.../sam/aui-scheduler-view-week-skin.css | 0
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-view-table-coverage.js | 6 +
.../aui-scheduler-view-table-debug.js | 1375 ++++
.../aui-scheduler-view-table-min.js | 3 +
.../aui-scheduler-view-table.js | 1375 ++++
.../assets/aui-scheduler-base-core.css | 183 +
.../aui-scheduler-event-recorder-core.css | 14 +
.../assets/aui-scheduler-touch-core.css | 21 +
.../assets/aui-scheduler-view-agenda-core.css | 135 +
.../assets/aui-scheduler-view-day-core.css | 211 +
.../assets/aui-scheduler-view-month-core.css | 39 +
.../assets/aui-scheduler-view-table-core.css | 212 +
.../assets/aui-scheduler-view-week-core.css | 28 +
.../skins/sam/aui-scheduler-base-skin.css | 59 +
.../sam/aui-scheduler-event-recorder-skin.css | 0
.../skins/sam/aui-scheduler-touch-skin.css | 0
.../sam/aui-scheduler-view-agenda-skin.css | 0
.../skins/sam/aui-scheduler-view-day-skin.css | 3 +
.../sam/aui-scheduler-view-month-skin.css | 0
.../sam/aui-scheduler-view-table-skin.css | 0
.../sam/aui-scheduler-view-week-skin.css | 0
.../skins/sam/aui-scheduler-view-week.css | 1 +
.../assets/skins/sam/icon-grip-horizontal.png | Bin 0 -> 95 bytes
.../assets/skins/sam/scheduler-arrows.png | Bin 0 -> 136 bytes
.../sam/scheduler-background-striped.png | Bin 0 -> 219 bytes
.../skins/sam/scheduler-notification.png | Bin 0 -> 208 bytes
.../aui-scheduler-view-week-coverage.js | 6 +
.../aui-scheduler-view-week-debug.js | 230 +
.../aui-scheduler-view-week-min.js | 1 +
.../aui-scheduler-view-week.js | 230 +
.../assets/aui-scroller-deprecated-core.css | 23 +
.../sam/aui-scroller-deprecated-skin.css | 0
.../skins/sam/aui-scroller-deprecated.css | 1 +
.../aui-scroller-deprecated-coverage.js | 6 +
.../aui-scroller-deprecated-debug.js | 340 +
.../aui-scroller-deprecated-min.js | 1 +
.../aui-scroller-deprecated.js | 340 +
build/aui-scrollspy/aui-scrollspy-coverage.js | 6 +
build/aui-scrollspy/aui-scrollspy-debug.js | 275 +
build/aui-scrollspy/aui-scrollspy-min.js | 1 +
build/aui-scrollspy/aui-scrollspy.js | 275 +
.../aui-search-tst/aui-search-tst-coverage.js | 6 +
build/aui-search-tst/aui-search-tst-debug.js | 432 ++
build/aui-search-tst/aui-search-tst-min.js | 1 +
build/aui-search-tst/aui-search-tst.js | 432 ++
build/aui-selector/aui-selector-coverage.js | 6 +
build/aui-selector/aui-selector-debug.js | 246 +
build/aui-selector/aui-selector-min.js | 1 +
build/aui-selector/aui-selector.js | 246 +
build/aui-set/aui-set-coverage.js | 6 +
build/aui-set/aui-set-debug.js | 166 +
build/aui-set/aui-set-min.js | 1 +
build/aui-set/aui-set.js | 166 +
.../aui-simple-anim-deprecated-coverage.js | 6 +
.../aui-simple-anim-deprecated-debug.js | 145 +
.../aui-simple-anim-deprecated-min.js | 1 +
.../aui-simple-anim-deprecated.js | 145 +
.../css/aui-skin-deprecated.css | 554 ++
.../images/common/state_active_bg.png | Bin 0 -> 131 bytes
.../images/common/state_default_bg.png | Bin 0 -> 129 bytes
.../images/common/state_hover_bg.png | Bin 0 -> 144 bytes
.../images/common/state_selected_hover.png | Bin 0 -> 155 bytes
.../images/icon_sprite.png | Bin 0 -> 39352 bytes
.../images/loading_indicator.gif | Bin 0 -> 1553 bytes
build/aui-skin-deprecated/images/menu/bg.png | Bin 0 -> 181 bytes
.../images/panel/header_bg.png | Bin 0 -> 152 bytes
.../assets/aui-sortable-layout-core.css | 19 +
.../skins/sam/aui-sortable-layout-skin.css | 3 +
.../assets/skins/sam/aui-sortable-layout.css | 1 +
.../aui-sortable-layout-coverage.js | 6 +
.../aui-sortable-layout-debug.js | 937 +++
.../aui-sortable-layout-min.js | 2 +
.../aui-sortable-layout.js | 937 +++
.../aui-sortable-list-coverage.js | 6 +
.../aui-sortable-list-debug.js | 524 ++
.../aui-sortable-list-min.js | 1 +
build/aui-sortable-list/aui-sortable-list.js | 524 ++
...i-state-interaction-deprecated-coverage.js | 6 +
.../aui-state-interaction-deprecated-debug.js | 197 +
.../aui-state-interaction-deprecated-min.js | 1 +
.../aui-state-interaction-deprecated.js | 197 +
.../aui-surface-app-coverage.js | 6 +
.../aui-surface-app/aui-surface-app-debug.js | 806 +++
build/aui-surface-app/aui-surface-app-min.js | 2 +
build/aui-surface-app/aui-surface-app.js | 806 +++
.../aui-surface-base-coverage.js | 6 +
.../aui-surface-base-debug.js | 272 +
.../aui-surface-base/aui-surface-base-min.js | 1 +
build/aui-surface-base/aui-surface-base.js | 272 +
.../aui-surface-screen-html-coverage.js | 6 +
.../aui-surface-screen-html-debug.js | 233 +
.../aui-surface-screen-html-min.js | 1 +
.../aui-surface-screen-html.js | 233 +
.../aui-surface-screen-route-coverage.js | 6 +
.../aui-surface-screen-route-debug.js | 83 +
.../aui-surface-screen-route-min.js | 1 +
.../aui-surface-screen-route.js | 83 +
.../aui-surface-screen-coverage.js | 6 +
.../aui-surface-screen-debug.js | 258 +
.../aui-surface-screen-min.js | 1 +
.../aui-surface-screen/aui-surface-screen.js | 258 +
.../aui-swf-deprecated-coverage.js | 6 +
.../aui-swf-deprecated-debug.js | 270 +
.../aui-swf-deprecated-min.js | 1 +
.../aui-swf-deprecated/aui-swf-deprecated.js | 270 +
.../aui-tabs-data-editor-coverage.js | 6 +
.../aui-tabs-data-editor-debug.js | 192 +
.../aui-tabs-data-editor-min.js | 1 +
.../aui-tabs-data-editor.js | 192 +
build/aui-tabview/assets/aui-tabview-core.css | 7 +
.../assets/skins/sam/aui-tabview-skin.css | 0
.../assets/skins/sam/aui-tabview.css | 1 +
build/aui-tabview/aui-tabview-coverage.js | 6 +
build/aui-tabview/aui-tabview-debug.js | 454 ++
build/aui-tabview/aui-tabview-min.js | 1 +
build/aui-tabview/aui-tabview.js | 454 ++
.../aui-template-deprecated-coverage.js | 6 +
.../aui-template-deprecated-debug.js | 619 ++
.../aui-template-deprecated-min.js | 2 +
.../aui-template-deprecated.js | 619 ++
.../assets/aui-data-editor-core.css | 17 +
.../assets/aui-options-data-editor-core.css | 27 +
.../aui-radio-group-data-editor-core.css | 18 +
.../assets/aui-text-data-editor-core.css | 4 +
.../assets/skins/sam/aui-data-editor-skin.css | 0
.../sam/aui-options-data-editor-skin.css | 0
.../sam/aui-radio-group-data-editor-skin.css | 0
.../skins/sam/aui-text-data-editor-skin.css | 0
.../assets/skins/sam/aui-text-data-editor.css | 1 +
.../aui-text-data-editor-coverage.js | 6 +
.../aui-text-data-editor-debug.js | 169 +
.../aui-text-data-editor-min.js | 1 +
.../aui-text-data-editor.js | 169 +
.../aui-text-data-unicode-coverage.js | 6 +
.../aui-text-data-unicode-debug.js | 313 +
.../aui-text-data-unicode-min.js | 8 +
.../aui-text-data-unicode.js | 313 +
.../aui-text-unicode-coverage.js | 6 +
.../aui-text-unicode-debug.js | 58 +
.../aui-text-unicode/aui-text-unicode-min.js | 1 +
build/aui-text-unicode/aui-text-unicode.js | 58 +
.../aui-textboxlist-deprecated-core.css | 58 +
.../sam/aui-textboxlist-deprecated-skin.css | 0
.../skins/sam/aui-textboxlist-deprecated.css | 1 +
.../aui-textboxlist-deprecated-coverage.js | 6 +
.../aui-textboxlist-deprecated-debug.js | 535 ++
.../aui-textboxlist-deprecated-min.js | 1 +
.../aui-textboxlist-deprecated.js | 535 ++
.../aui-timepicker-native-coverage.js | 6 +
.../aui-timepicker-native-debug.js | 24 +
.../aui-timepicker-native-min.js | 1 +
.../aui-timepicker-native.js | 24 +
.../assets/aui-timepicker-core.css | 23 +
.../assets/skins/sam/aui-timepicker-skin.css | 12 +
.../assets/skins/sam/aui-timepicker.css | 1 +
.../aui-timepicker/aui-timepicker-coverage.js | 6 +
build/aui-timepicker/aui-timepicker-debug.js | 435 ++
build/aui-timepicker/aui-timepicker-min.js | 1 +
build/aui-timepicker/aui-timepicker.js | 435 ++
build/aui-timer/aui-timer-coverage.js | 6 +
build/aui-timer/aui-timer-debug.js | 391 ++
build/aui-timer/aui-timer-min.js | 1 +
build/aui-timer/aui-timer.js | 391 ++
.../aui-toggler-accessibility-coverage.js | 6 +
.../aui-toggler-accessibility-debug.js | 67 +
.../aui-toggler-accessibility-min.js | 1 +
.../aui-toggler-accessibility.js | 67 +
.../assets/aui-toggler-base-core.css | 8 +
.../skins/sam/aui-toggler-base-skin.css | 0
.../assets/skins/sam/aui-toggler-base.css | 1 +
.../aui-toggler-base-coverage.js | 6 +
.../aui-toggler-base-debug.js | 497 ++
.../aui-toggler-base/aui-toggler-base-min.js | 1 +
build/aui-toggler-base/aui-toggler-base.js | 497 ++
.../aui-toggler-delegate-coverage.js | 6 +
.../aui-toggler-delegate-debug.js | 392 ++
.../aui-toggler-delegate-min.js | 1 +
.../aui-toggler-delegate.js | 392 ++
build/aui-toolbar/aui-toolbar-coverage.js | 6 +
build/aui-toolbar/aui-toolbar-debug.js | 567 ++
build/aui-toolbar/aui-toolbar-min.js | 1 +
build/aui-toolbar/aui-toolbar.js | 567 ++
.../assets/aui-tooltip-base-core.css | 8 +
.../skins/sam/aui-tooltip-base-skin.css | 0
.../assets/skins/sam/aui-tooltip-base.css | 1 +
.../aui-tooltip-base-coverage.js | 6 +
.../aui-tooltip-base-debug.js | 461 ++
.../aui-tooltip-base/aui-tooltip-base-min.js | 1 +
build/aui-tooltip-base/aui-tooltip-base.js | 461 ++
.../aui-tooltip-delegate-coverage.js | 6 +
.../aui-tooltip-delegate-debug.js | 304 +
.../aui-tooltip-delegate-min.js | 1 +
.../aui-tooltip-delegate.js | 304 +
.../assets/aui-tooltip-deprecated-core.css | 8 +
.../skins/sam/aui-tooltip-deprecated-skin.css | 0
.../skins/sam/aui-tooltip-deprecated.css | 1 +
.../aui-tooltip-deprecated-coverage.js | 6 +
.../aui-tooltip-deprecated-debug.js | 235 +
.../aui-tooltip-deprecated-min.js | 1 +
.../aui-tooltip-deprecated.js | 235 +
...i-tpl-snippets-base-deprecated-coverage.js | 6 +
.../aui-tpl-snippets-base-deprecated-debug.js | 20 +
.../aui-tpl-snippets-base-deprecated-min.js | 1 +
.../aui-tpl-snippets-base-deprecated.js | 20 +
...l-snippets-checkbox-deprecated-coverage.js | 6 +
...-tpl-snippets-checkbox-deprecated-debug.js | 13 +
...ui-tpl-snippets-checkbox-deprecated-min.js | 1 +
.../aui-tpl-snippets-checkbox-deprecated.js | 13 +
...-tpl-snippets-input-deprecated-coverage.js | 6 +
...aui-tpl-snippets-input-deprecated-debug.js | 13 +
.../aui-tpl-snippets-input-deprecated-min.js | 1 +
.../aui-tpl-snippets-input-deprecated.js | 13 +
...tpl-snippets-select-deprecated-coverage.js | 6 +
...ui-tpl-snippets-select-deprecated-debug.js | 17 +
.../aui-tpl-snippets-select-deprecated-min.js | 1 +
.../aui-tpl-snippets-select-deprecated.js | 17 +
...l-snippets-textarea-deprecated-coverage.js | 6 +
...-tpl-snippets-textarea-deprecated-debug.js | 13 +
...ui-tpl-snippets-textarea-deprecated-min.js | 1 +
.../aui-tpl-snippets-textarea-deprecated.js | 13 +
build/aui-tree-data/aui-tree-data-coverage.js | 6 +
build/aui-tree-data/aui-tree-data-debug.js | 869 +++
build/aui-tree-data/aui-tree-data-min.js | 1 +
build/aui-tree-data/aui-tree-data.js | 869 +++
build/aui-tree-io/aui-tree-io-coverage.js | 6 +
build/aui-tree-io/aui-tree-io-debug.js | 296 +
build/aui-tree-io/aui-tree-io-min.js | 1 +
build/aui-tree-io/aui-tree-io.js | 296 +
build/aui-tree-node/aui-tree-node-coverage.js | 6 +
build/aui-tree-node/aui-tree-node-debug.js | 1847 +++++
build/aui-tree-node/aui-tree-node-min.js | 3 +
build/aui-tree-node/aui-tree-node.js | 1847 +++++
.../aui-tree-paginator-coverage.js | 6 +
.../aui-tree-paginator-debug.js | 223 +
.../aui-tree-paginator-min.js | 1 +
.../aui-tree-paginator/aui-tree-paginator.js | 223 +
.../assets/aui-tree-view-core.css | 115 +
.../assets/skins/sam/aui-tree-view-skin.css | 0
.../assets/skins/sam/aui-tree-view.css | 1 +
build/aui-tree-view/aui-tree-view-coverage.js | 6 +
build/aui-tree-view/aui-tree-view-debug.js | 985 +++
build/aui-tree-view/aui-tree-view-min.js | 2 +
build/aui-tree-view/aui-tree-view.js | 985 +++
build/aui-undo-redo/aui-undo-redo-coverage.js | 6 +
build/aui-undo-redo/aui-undo-redo-debug.js | 443 ++
build/aui-undo-redo/aui-undo-redo-min.js | 1 +
build/aui-undo-redo/aui-undo-redo.js | 443 ++
build/aui-url/aui-url-coverage.js | 6 +
build/aui-url/aui-url-debug.js | 617 ++
build/aui-url/aui-url-min.js | 1 +
build/aui-url/aui-url.js | 617 ++
build/aui-video/assets/aui-video-core.css | 4 +
.../assets/skins/sam/aui-video-skin.css | 0
.../aui-video/assets/skins/sam/aui-video.css | 1 +
build/aui-video/aui-video-coverage.js | 6 +
build/aui-video/aui-video-debug.js | 549 ++
build/aui-video/aui-video-min.js | 1 +
build/aui-video/aui-video.js | 549 ++
build/aui-viewport/aui-viewport-coverage.js | 6 +
build/aui-viewport/aui-viewport-debug.js | 74 +
build/aui-viewport/aui-viewport-min.js | 1 +
build/aui-viewport/aui-viewport.js | 74 +
.../aui-widget-cssclass-coverage.js | 6 +
.../aui-widget-cssclass-debug.js | 107 +
.../aui-widget-cssclass-min.js | 1 +
.../aui-widget-cssclass.js | 107 +
...dget-position-align-suggestion-coverage.js | 6 +
...-widget-position-align-suggestion-debug.js | 330 +
...ui-widget-position-align-suggestion-min.js | 1 +
.../aui-widget-position-align-suggestion.js | 330 +
.../aui-widget-responsive-coverage.js | 6 +
.../aui-widget-responsive-debug.js | 270 +
.../aui-widget-responsive-min.js | 1 +
.../aui-widget-responsive.js | 270 +
.../aui-widget-shortcut-coverage.js | 6 +
.../aui-widget-shortcut-debug.js | 219 +
.../aui-widget-shortcut-min.js | 1 +
.../aui-widget-shortcut.js | 219 +
.../aui-widget-swipe-coverage.js | 6 +
.../aui-widget-swipe-debug.js | 332 +
.../aui-widget-swipe/aui-widget-swipe-min.js | 1 +
build/aui-widget-swipe/aui-widget-swipe.js | 332 +
.../aui-widget-toggle-coverage.js | 6 +
.../aui-widget-toggle-debug.js | 41 +
.../aui-widget-toggle-min.js | 1 +
build/aui-widget-toggle/aui-widget-toggle.js | 41 +
.../aui-widget-toolbars-coverage.js | 6 +
.../aui-widget-toolbars-debug.js | 211 +
.../aui-widget-toolbars-min.js | 1 +
.../aui-widget-toolbars.js | 211 +
.../aui-widget-transition-coverage.js | 6 +
.../aui-widget-transition-debug.js | 293 +
.../aui-widget-transition-min.js | 1 +
.../aui-widget-transition.js | 293 +
.../aui-widget-trigger-coverage.js | 6 +
.../aui-widget-trigger-debug.js | 198 +
.../aui-widget-trigger-min.js | 1 +
.../aui-widget-trigger/aui-widget-trigger.js | 198 +
2001 files changed, 238517 insertions(+)
create mode 100644 build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-coverage.js
create mode 100644 build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-debug.js
create mode 100644 build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-min.js
create mode 100644 build/aui-ace-autocomplete-base/aui-ace-autocomplete-base.js
create mode 100644 build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-coverage.js
create mode 100644 build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-debug.js
create mode 100644 build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-min.js
create mode 100644 build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker.js
create mode 100644 build/aui-ace-autocomplete-list/assets/aui-ace-autocomplete-list-core.css
create mode 100644 build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list-skin.css
create mode 100644 build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list.css
create mode 100644 build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-coverage.js
create mode 100644 build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-debug.js
create mode 100644 build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-min.js
create mode 100644 build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js
create mode 100644 build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-coverage.js
create mode 100644 build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-debug.js
create mode 100644 build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-min.js
create mode 100644 build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js
create mode 100644 build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-coverage.js
create mode 100644 build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-debug.js
create mode 100644 build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-min.js
create mode 100644 build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor.js
create mode 100644 build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-coverage.js
create mode 100644 build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-debug.js
create mode 100644 build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-min.js
create mode 100644 build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity.js
create mode 100644 build/aui-affix/aui-affix-coverage.js
create mode 100644 build/aui-affix/aui-affix-debug.js
create mode 100644 build/aui-affix/aui-affix-min.js
create mode 100644 build/aui-affix/aui-affix.js
create mode 100644 build/aui-alert/assets/aui-alert-core.css
create mode 100644 build/aui-alert/assets/skins/sam/aui-alert-skin.css
create mode 100644 build/aui-alert/assets/skins/sam/aui-alert.css
create mode 100644 build/aui-alert/aui-alert-coverage.js
create mode 100644 build/aui-alert/aui-alert-debug.js
create mode 100644 build/aui-alert/aui-alert-min.js
create mode 100644 build/aui-alert/aui-alert.js
create mode 100644 build/aui-aria-table-sortable/aui-aria-table-sortable-coverage.js
create mode 100644 build/aui-aria-table-sortable/aui-aria-table-sortable-debug.js
create mode 100644 build/aui-aria-table-sortable/aui-aria-table-sortable-min.js
create mode 100644 build/aui-aria-table-sortable/aui-aria-table-sortable.js
create mode 100644 build/aui-aria/aui-aria-coverage.js
create mode 100644 build/aui-aria/aui-aria-debug.js
create mode 100644 build/aui-aria/aui-aria-min.js
create mode 100644 build/aui-aria/aui-aria.js
create mode 100644 build/aui-arraysort/aui-arraysort-coverage.js
create mode 100644 build/aui-arraysort/aui-arraysort-debug.js
create mode 100644 build/aui-arraysort/aui-arraysort-min.js
create mode 100644 build/aui-arraysort/aui-arraysort.js
create mode 100644 build/aui-audio/assets/aui-audio-core.css
create mode 100644 build/aui-audio/assets/player.swf
create mode 100644 build/aui-audio/assets/skins/sam/aui-audio-skin.css
create mode 100644 build/aui-audio/assets/skins/sam/aui-audio.css
create mode 100644 build/aui-audio/aui-audio-coverage.js
create mode 100644 build/aui-audio/aui-audio-debug.js
create mode 100644 build/aui-audio/aui-audio-min.js
create mode 100644 build/aui-audio/aui-audio.js
create mode 100644 build/aui-autocomplete-deprecated/assets/aui-autocomplete-deprecated-core.css
create mode 100644 build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated-skin.css
create mode 100644 build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated.css
create mode 100644 build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-coverage.js
create mode 100644 build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-debug.js
create mode 100644 build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-min.js
create mode 100644 build/aui-autocomplete-deprecated/aui-autocomplete-deprecated.js
create mode 100644 build/aui-autosize-deprecated/assets/aui-autosize-deprecated-core.css
create mode 100644 build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated-skin.css
create mode 100644 build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated.css
create mode 100644 build/aui-autosize-deprecated/aui-autosize-deprecated-coverage.js
create mode 100644 build/aui-autosize-deprecated/aui-autosize-deprecated-debug.js
create mode 100644 build/aui-autosize-deprecated/aui-autosize-deprecated-min.js
create mode 100644 build/aui-autosize-deprecated/aui-autosize-deprecated.js
create mode 100644 build/aui-autosize-iframe/assets/aui-autosize-iframe-core.css
create mode 100644 build/aui-autosize-iframe/assets/skins/sam/aui-autosize-iframe-skin.css
create mode 100644 build/aui-autosize-iframe/aui-autosize-iframe-coverage.js
create mode 100644 build/aui-autosize-iframe/aui-autosize-iframe-debug.js
create mode 100644 build/aui-autosize-iframe/aui-autosize-iframe-min.js
create mode 100644 build/aui-autosize-iframe/aui-autosize-iframe.js
create mode 100644 build/aui-base-core/aui-base-core-coverage.js
create mode 100644 build/aui-base-core/aui-base-core-debug.js
create mode 100644 build/aui-base-core/aui-base-core-min.js
create mode 100644 build/aui-base-core/aui-base-core.js
create mode 100644 build/aui-base-html5-shiv/aui-base-html5-shiv-coverage.js
create mode 100644 build/aui-base-html5-shiv/aui-base-html5-shiv-debug.js
create mode 100644 build/aui-base-html5-shiv/aui-base-html5-shiv-min.js
create mode 100644 build/aui-base-html5-shiv/aui-base-html5-shiv.js
create mode 100644 build/aui-base-lang/aui-base-lang-coverage.js
create mode 100644 build/aui-base-lang/aui-base-lang-debug.js
create mode 100644 build/aui-base-lang/aui-base-lang-min.js
create mode 100644 build/aui-base-lang/aui-base-lang.js
create mode 100644 build/aui-boolean-data-editor/aui-boolean-data-editor-coverage.js
create mode 100644 build/aui-boolean-data-editor/aui-boolean-data-editor-debug.js
create mode 100644 build/aui-boolean-data-editor/aui-boolean-data-editor-min.js
create mode 100644 build/aui-boolean-data-editor/aui-boolean-data-editor.js
create mode 100644 build/aui-button-core/assets/aui-button-core-core.css
create mode 100644 build/aui-button-core/assets/aui-button-switch-core.css
create mode 100644 build/aui-button-core/assets/skins/sam/aui-button-core-skin.css
create mode 100644 build/aui-button-core/assets/skins/sam/aui-button-core.css
create mode 100644 build/aui-button-core/assets/skins/sam/aui-button-switch-skin.css
create mode 100644 build/aui-button-core/aui-button-core-coverage.js
create mode 100644 build/aui-button-core/aui-button-core-debug.js
create mode 100644 build/aui-button-core/aui-button-core-min.js
create mode 100644 build/aui-button-core/aui-button-core.js
create mode 100644 build/aui-button-item-deprecated/assets/aui-button-item-deprecated-core.css
create mode 100644 build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated-skin.css
create mode 100644 build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated.css
create mode 100644 build/aui-button-item-deprecated/aui-button-item-deprecated-coverage.js
create mode 100644 build/aui-button-item-deprecated/aui-button-item-deprecated-debug.js
create mode 100644 build/aui-button-item-deprecated/aui-button-item-deprecated-min.js
create mode 100644 build/aui-button-item-deprecated/aui-button-item-deprecated.js
create mode 100644 build/aui-button-search-cancel/aui-button-search-cancel-coverage.js
create mode 100644 build/aui-button-search-cancel/aui-button-search-cancel-debug.js
create mode 100644 build/aui-button-search-cancel/aui-button-search-cancel-min.js
create mode 100644 build/aui-button-search-cancel/aui-button-search-cancel.js
create mode 100644 build/aui-button-switch/assets/aui-button-core-core.css
create mode 100644 build/aui-button-switch/assets/aui-button-switch-core.css
create mode 100644 build/aui-button-switch/assets/skins/sam/aui-button-core-skin.css
create mode 100644 build/aui-button-switch/assets/skins/sam/aui-button-switch-skin.css
create mode 100644 build/aui-button-switch/assets/skins/sam/aui-button-switch.css
create mode 100644 build/aui-button-switch/aui-button-switch-coverage.js
create mode 100644 build/aui-button-switch/aui-button-switch-debug.js
create mode 100644 build/aui-button-switch/aui-button-switch-min.js
create mode 100644 build/aui-button-switch/aui-button-switch.js
create mode 100644 build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-coverage.js
create mode 100644 build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-debug.js
create mode 100644 build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-min.js
create mode 100644 build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js
create mode 100644 build/aui-carousel-swipe/assets/aui-carousel-core.css
create mode 100644 build/aui-carousel-swipe/assets/aui-carousel-swipe-core.css
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/aui-carousel-skin.css
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe-skin.css
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe.css
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/next.png
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/pause.png
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/play.png
create mode 100644 build/aui-carousel-swipe/assets/skins/sam/prev.png
create mode 100644 build/aui-carousel-swipe/aui-carousel-swipe-coverage.js
create mode 100644 build/aui-carousel-swipe/aui-carousel-swipe-debug.js
create mode 100644 build/aui-carousel-swipe/aui-carousel-swipe-min.js
create mode 100644 build/aui-carousel-swipe/aui-carousel-swipe.js
create mode 100644 build/aui-carousel/assets/aui-carousel-core.css
create mode 100644 build/aui-carousel/assets/aui-carousel-swipe-core.css
create mode 100644 build/aui-carousel/assets/skins/sam/aui-carousel-skin.css
create mode 100644 build/aui-carousel/assets/skins/sam/aui-carousel-swipe-skin.css
create mode 100644 build/aui-carousel/assets/skins/sam/aui-carousel.css
create mode 100644 build/aui-carousel/assets/skins/sam/next.png
create mode 100644 build/aui-carousel/assets/skins/sam/pause.png
create mode 100644 build/aui-carousel/assets/skins/sam/play.png
create mode 100644 build/aui-carousel/assets/skins/sam/prev.png
create mode 100644 build/aui-carousel/aui-carousel-coverage.js
create mode 100644 build/aui-carousel/aui-carousel-debug.js
create mode 100644 build/aui-carousel/aui-carousel-min.js
create mode 100644 build/aui-carousel/aui-carousel.js
create mode 100644 build/aui-char-counter/aui-char-counter-coverage.js
create mode 100644 build/aui-char-counter/aui-char-counter-debug.js
create mode 100644 build/aui-char-counter/aui-char-counter-min.js
create mode 100644 build/aui-char-counter/aui-char-counter.js
create mode 100644 build/aui-chart-deprecated/assets/chart.swf
create mode 100644 build/aui-chart-deprecated/aui-chart-deprecated-coverage.js
create mode 100644 build/aui-chart-deprecated/aui-chart-deprecated-debug.js
create mode 100644 build/aui-chart-deprecated/aui-chart-deprecated-min.js
create mode 100644 build/aui-chart-deprecated/aui-chart-deprecated.js
create mode 100644 build/aui-classnamemanager/aui-classnamemanager-coverage.js
create mode 100644 build/aui-classnamemanager/aui-classnamemanager-debug.js
create mode 100644 build/aui-classnamemanager/aui-classnamemanager-min.js
create mode 100644 build/aui-classnamemanager/aui-classnamemanager.js
create mode 100644 build/aui-color-palette/assets/aui-color-palette-core.css
create mode 100644 build/aui-color-palette/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-color-palette/assets/aui-color-picker-core.css
create mode 100644 build/aui-color-palette/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-color-palette/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-color-palette/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-color-palette/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-color-palette.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-color-palette/assets/skins/sam/sprite.png
create mode 100644 build/aui-color-palette/aui-color-palette-coverage.js
create mode 100644 build/aui-color-palette/aui-color-palette-debug.js
create mode 100644 build/aui-color-palette/aui-color-palette-min.js
create mode 100644 build/aui-color-palette/aui-color-palette.js
create mode 100644 build/aui-color-picker-base-deprecated/assets/aui-color-picker-base-deprecated-core.css
create mode 100644 build/aui-color-picker-base-deprecated/assets/aui-color-picker-grid-plugin-deprecated-core.css
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/aui-color-picker-base-deprecated-skin.css
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/aui-color-picker-base-deprecated.css
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/aui-color-picker-grid-plugin-deprecated-skin.css
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/color_indic.png
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/hue.png
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/picker_bg.png
create mode 100644 build/aui-color-picker-base-deprecated/assets/skins/sam/select.png
create mode 100644 build/aui-color-picker-base-deprecated/aui-color-picker-base-deprecated-coverage.js
create mode 100644 build/aui-color-picker-base-deprecated/aui-color-picker-base-deprecated-debug.js
create mode 100644 build/aui-color-picker-base-deprecated/aui-color-picker-base-deprecated-min.js
create mode 100644 build/aui-color-picker-base-deprecated/aui-color-picker-base-deprecated.js
create mode 100644 build/aui-color-picker-base/assets/aui-color-palette-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-color-picker-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-color-picker-base/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-color-picker-base.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-color-picker-base/assets/skins/sam/sprite.png
create mode 100644 build/aui-color-picker-base/aui-color-picker-base-coverage.js
create mode 100644 build/aui-color-picker-base/aui-color-picker-base-debug.js
create mode 100644 build/aui-color-picker-base/aui-color-picker-base-min.js
create mode 100644 build/aui-color-picker-base/aui-color-picker-base.js
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/aui-color-picker-base-deprecated-core.css
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/aui-color-picker-grid-plugin-deprecated-core.css
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/aui-color-picker-base-deprecated-skin.css
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/aui-color-picker-grid-plugin-deprecated-skin.css
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/aui-color-picker-grid-plugin-deprecated.css
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/color_indic.png
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/hue.png
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/picker_bg.png
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/assets/skins/sam/select.png
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/aui-color-picker-grid-plugin-deprecated-coverage.js
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/aui-color-picker-grid-plugin-deprecated-debug.js
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/aui-color-picker-grid-plugin-deprecated-min.js
create mode 100644 build/aui-color-picker-grid-plugin-deprecated/aui-color-picker-grid-plugin-deprecated.js
create mode 100644 build/aui-color-picker-popover/assets/aui-color-palette-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-color-picker-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-color-picker-popover/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-color-picker-popover.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-color-picker-popover/assets/skins/sam/sprite.png
create mode 100644 build/aui-color-picker-popover/aui-color-picker-popover-coverage.js
create mode 100644 build/aui-color-picker-popover/aui-color-picker-popover-debug.js
create mode 100644 build/aui-color-picker-popover/aui-color-picker-popover-min.js
create mode 100644 build/aui-color-picker-popover/aui-color-picker-popover.js
create mode 100644 build/aui-color-util-deprecated/aui-color-util-deprecated-coverage.js
create mode 100644 build/aui-color-util-deprecated/aui-color-util-deprecated-debug.js
create mode 100644 build/aui-color-util-deprecated/aui-color-util-deprecated-min.js
create mode 100644 build/aui-color-util-deprecated/aui-color-util-deprecated.js
create mode 100644 build/aui-component/aui-component-coverage.js
create mode 100644 build/aui-component/aui-component-debug.js
create mode 100644 build/aui-component/aui-component-min.js
create mode 100644 build/aui-component/aui-component.js
create mode 100644 build/aui-css/css/bootstrap.css
create mode 100644 build/aui-css/css/bootstrap.min.css
create mode 100644 build/aui-css/fonts/glyphicons-halflings-regular.eot
create mode 100644 build/aui-css/fonts/glyphicons-halflings-regular.svg
create mode 100644 build/aui-css/fonts/glyphicons-halflings-regular.ttf
create mode 100644 build/aui-css/fonts/glyphicons-halflings-regular.woff
create mode 100644 build/aui-data-editor/assets/aui-data-editor-core.css
create mode 100644 build/aui-data-editor/assets/aui-options-data-editor-core.css
create mode 100644 build/aui-data-editor/assets/aui-radio-group-data-editor-core.css
create mode 100644 build/aui-data-editor/assets/aui-text-data-editor-core.css
create mode 100644 build/aui-data-editor/assets/skins/sam/aui-data-editor-skin.css
create mode 100644 build/aui-data-editor/assets/skins/sam/aui-data-editor.css
create mode 100644 build/aui-data-editor/assets/skins/sam/aui-options-data-editor-skin.css
create mode 100644 build/aui-data-editor/assets/skins/sam/aui-radio-group-data-editor-skin.css
create mode 100644 build/aui-data-editor/assets/skins/sam/aui-text-data-editor-skin.css
create mode 100644 build/aui-data-editor/aui-data-editor-coverage.js
create mode 100644 build/aui-data-editor/aui-data-editor-debug.js
create mode 100644 build/aui-data-editor/aui-data-editor-min.js
create mode 100644 build/aui-data-editor/aui-data-editor.js
create mode 100644 build/aui-data-set-deprecated/aui-data-set-deprecated-coverage.js
create mode 100644 build/aui-data-set-deprecated/aui-data-set-deprecated-debug.js
create mode 100644 build/aui-data-set-deprecated/aui-data-set-deprecated-min.js
create mode 100644 build/aui-data-set-deprecated/aui-data-set-deprecated.js
create mode 100644 build/aui-datasource-control-base-deprecated/aui-datasource-control-base-deprecated-coverage.js
create mode 100644 build/aui-datasource-control-base-deprecated/aui-datasource-control-base-deprecated-debug.js
create mode 100644 build/aui-datasource-control-base-deprecated/aui-datasource-control-base-deprecated-min.js
create mode 100644 build/aui-datasource-control-base-deprecated/aui-datasource-control-base-deprecated.js
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-base-cell-editor.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-base-cell-editor/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-base-cell-editor/aui-datatable-base-cell-editor-coverage.js
create mode 100644 build/aui-datatable-base-cell-editor/aui-datatable-base-cell-editor-debug.js
create mode 100644 build/aui-datatable-base-cell-editor/aui-datatable-base-cell-editor-min.js
create mode 100644 build/aui-datatable-base-cell-editor/aui-datatable-base-cell-editor.js
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-base-options-cell-editor.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-base-options-cell-editor/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-base-options-cell-editor/aui-datatable-base-options-cell-editor-coverage.js
create mode 100644 build/aui-datatable-base-options-cell-editor/aui-datatable-base-options-cell-editor-debug.js
create mode 100644 build/aui-datatable-base-options-cell-editor/aui-datatable-base-options-cell-editor-min.js
create mode 100644 build/aui-datatable-base-options-cell-editor/aui-datatable-base-options-cell-editor.js
create mode 100644 build/aui-datatable-body/aui-datatable-body-coverage.js
create mode 100644 build/aui-datatable-body/aui-datatable-body-debug.js
create mode 100644 build/aui-datatable-body/aui-datatable-body-min.js
create mode 100644 build/aui-datatable-body/aui-datatable-body.js
create mode 100644 build/aui-datatable-cell-editor-support/aui-datatable-cell-editor-support-coverage.js
create mode 100644 build/aui-datatable-cell-editor-support/aui-datatable-cell-editor-support-debug.js
create mode 100644 build/aui-datatable-cell-editor-support/aui-datatable-cell-editor-support-min.js
create mode 100644 build/aui-datatable-cell-editor-support/aui-datatable-cell-editor-support.js
create mode 100644 build/aui-datatable-checkbox-cell-editor/aui-datatable-checkbox-cell-editor-coverage.js
create mode 100644 build/aui-datatable-checkbox-cell-editor/aui-datatable-checkbox-cell-editor-debug.js
create mode 100644 build/aui-datatable-checkbox-cell-editor/aui-datatable-checkbox-cell-editor-min.js
create mode 100644 build/aui-datatable-checkbox-cell-editor/aui-datatable-checkbox-cell-editor.js
create mode 100644 build/aui-datatable-core/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-core/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-core/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-core/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-core/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-core/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-core.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-core/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-core/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-core/aui-datatable-core-coverage.js
create mode 100644 build/aui-datatable-core/aui-datatable-core-debug.js
create mode 100644 build/aui-datatable-core/aui-datatable-core-min.js
create mode 100644 build/aui-datatable-core/aui-datatable-core.js
create mode 100644 build/aui-datatable-date-cell-editor/aui-datatable-date-cell-editor-coverage.js
create mode 100644 build/aui-datatable-date-cell-editor/aui-datatable-date-cell-editor-debug.js
create mode 100644 build/aui-datatable-date-cell-editor/aui-datatable-date-cell-editor-min.js
create mode 100644 build/aui-datatable-date-cell-editor/aui-datatable-date-cell-editor.js
create mode 100644 build/aui-datatable-dropdown-cell-editor/aui-datatable-dropdown-cell-editor-coverage.js
create mode 100644 build/aui-datatable-dropdown-cell-editor/aui-datatable-dropdown-cell-editor-debug.js
create mode 100644 build/aui-datatable-dropdown-cell-editor/aui-datatable-dropdown-cell-editor-min.js
create mode 100644 build/aui-datatable-dropdown-cell-editor/aui-datatable-dropdown-cell-editor.js
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-highlight/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-highlight.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-highlight/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-highlight/aui-datatable-highlight-coverage.js
create mode 100644 build/aui-datatable-highlight/aui-datatable-highlight-debug.js
create mode 100644 build/aui-datatable-highlight/aui-datatable-highlight-min.js
create mode 100644 build/aui-datatable-highlight/aui-datatable-highlight.js
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-property-list/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-property-list.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-property-list/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-property-list/aui-datatable-property-list-coverage.js
create mode 100644 build/aui-datatable-property-list/aui-datatable-property-list-debug.js
create mode 100644 build/aui-datatable-property-list/aui-datatable-property-list-min.js
create mode 100644 build/aui-datatable-property-list/aui-datatable-property-list.js
create mode 100644 build/aui-datatable-radio-cell-editor/aui-datatable-radio-cell-editor-coverage.js
create mode 100644 build/aui-datatable-radio-cell-editor/aui-datatable-radio-cell-editor-debug.js
create mode 100644 build/aui-datatable-radio-cell-editor/aui-datatable-radio-cell-editor-min.js
create mode 100644 build/aui-datatable-radio-cell-editor/aui-datatable-radio-cell-editor.js
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-base-cell-editor-core.css
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-base-options-cell-editor-core.css
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-core-core.css
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-highlight-core.css
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-property-list-core.css
create mode 100644 build/aui-datatable-selection/assets/aui-datatable-selection-core.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-base-cell-editor-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-base-options-cell-editor-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-body-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-core-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-edit-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-highlight-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-property-list-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-selection-skin.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/aui-datatable-selection.css
create mode 100644 build/aui-datatable-selection/assets/skins/sam/sort-arrow-sprite-ie.png
create mode 100644 build/aui-datatable-selection/assets/skins/sam/sort-arrow-sprite.png
create mode 100644 build/aui-datatable-selection/aui-datatable-selection-coverage.js
create mode 100644 build/aui-datatable-selection/aui-datatable-selection-debug.js
create mode 100644 build/aui-datatable-selection/aui-datatable-selection-min.js
create mode 100644 build/aui-datatable-selection/aui-datatable-selection.js
create mode 100644 build/aui-datatable-text-area-cell-editor/aui-datatable-text-area-cell-editor-coverage.js
create mode 100644 build/aui-datatable-text-area-cell-editor/aui-datatable-text-area-cell-editor-debug.js
create mode 100644 build/aui-datatable-text-area-cell-editor/aui-datatable-text-area-cell-editor-min.js
create mode 100644 build/aui-datatable-text-area-cell-editor/aui-datatable-text-area-cell-editor.js
create mode 100644 build/aui-datatable-text-cell-editor/aui-datatable-text-cell-editor-coverage.js
create mode 100644 build/aui-datatable-text-cell-editor/aui-datatable-text-cell-editor-debug.js
create mode 100644 build/aui-datatable-text-cell-editor/aui-datatable-text-cell-editor-min.js
create mode 100644 build/aui-datatable-text-cell-editor/aui-datatable-text-cell-editor.js
create mode 100644 build/aui-datatype-date-parse/aui-datatype-date-parse-coverage.js
create mode 100644 build/aui-datatype-date-parse/aui-datatype-date-parse-debug.js
create mode 100644 build/aui-datatype-date-parse/aui-datatype-date-parse-min.js
create mode 100644 build/aui-datatype-date-parse/aui-datatype-date-parse.js
create mode 100644 build/aui-datatype/aui-datatype-coverage.js
create mode 100644 build/aui-datatype/aui-datatype-debug.js
create mode 100644 build/aui-datatype/aui-datatype-min.js
create mode 100644 build/aui-datatype/aui-datatype.js
create mode 100644 build/aui-datepicker-base-deprecated/assets/aui-datepicker-base-deprecated-core.css
create mode 100644 build/aui-datepicker-base-deprecated/assets/aui-datepicker-select-deprecated-core.css
create mode 100644 build/aui-datepicker-base-deprecated/assets/skins/sam/aui-datepicker-base-deprecated-skin.css
create mode 100644 build/aui-datepicker-base-deprecated/assets/skins/sam/aui-datepicker-base-deprecated.css
create mode 100644 build/aui-datepicker-base-deprecated/assets/skins/sam/aui-datepicker-select-deprecated-skin.css
create mode 100644 build/aui-datepicker-base-deprecated/aui-datepicker-base-deprecated-coverage.js
create mode 100644 build/aui-datepicker-base-deprecated/aui-datepicker-base-deprecated-debug.js
create mode 100644 build/aui-datepicker-base-deprecated/aui-datepicker-base-deprecated-min.js
create mode 100644 build/aui-datepicker-base-deprecated/aui-datepicker-base-deprecated.js
create mode 100644 build/aui-datepicker-delegate/aui-datepicker-delegate-coverage.js
create mode 100644 build/aui-datepicker-delegate/aui-datepicker-delegate-debug.js
create mode 100644 build/aui-datepicker-delegate/aui-datepicker-delegate-min.js
create mode 100644 build/aui-datepicker-delegate/aui-datepicker-delegate.js
create mode 100644 build/aui-datepicker-native/aui-datepicker-native-coverage.js
create mode 100644 build/aui-datepicker-native/aui-datepicker-native-debug.js
create mode 100644 build/aui-datepicker-native/aui-datepicker-native-min.js
create mode 100644 build/aui-datepicker-native/aui-datepicker-native.js
create mode 100644 build/aui-datepicker-popover/aui-datepicker-popover-coverage.js
create mode 100644 build/aui-datepicker-popover/aui-datepicker-popover-debug.js
create mode 100644 build/aui-datepicker-popover/aui-datepicker-popover-min.js
create mode 100644 build/aui-datepicker-popover/aui-datepicker-popover.js
create mode 100644 build/aui-datepicker-select-deprecated/assets/aui-datepicker-base-deprecated-core.css
create mode 100644 build/aui-datepicker-select-deprecated/assets/aui-datepicker-select-deprecated-core.css
create mode 100644 build/aui-datepicker-select-deprecated/assets/skins/sam/aui-datepicker-base-deprecated-skin.css
create mode 100644 build/aui-datepicker-select-deprecated/assets/skins/sam/aui-datepicker-select-deprecated-skin.css
create mode 100644 build/aui-datepicker-select-deprecated/assets/skins/sam/aui-datepicker-select-deprecated.css
create mode 100644 build/aui-datepicker-select-deprecated/aui-datepicker-select-deprecated-coverage.js
create mode 100644 build/aui-datepicker-select-deprecated/aui-datepicker-select-deprecated-debug.js
create mode 100644 build/aui-datepicker-select-deprecated/aui-datepicker-select-deprecated-min.js
create mode 100644 build/aui-datepicker-select-deprecated/aui-datepicker-select-deprecated.js
create mode 100644 build/aui-datepicker/assets/aui-datepicker-core.css
create mode 100644 build/aui-datepicker/assets/skins/sam/aui-datepicker-skin.css
create mode 100644 build/aui-datepicker/assets/skins/sam/aui-datepicker.css
create mode 100644 build/aui-datepicker/aui-datepicker-coverage.js
create mode 100644 build/aui-datepicker/aui-datepicker-debug.js
create mode 100644 build/aui-datepicker/aui-datepicker-min.js
create mode 100644 build/aui-datepicker/aui-datepicker.js
create mode 100644 build/aui-debounce/aui-debounce-coverage.js
create mode 100644 build/aui-debounce/aui-debounce-debug.js
create mode 100644 build/aui-debounce/aui-debounce-min.js
create mode 100644 build/aui-debounce/aui-debounce.js
create mode 100644 build/aui-delayed-task-deprecated/assets/aui-delayed-task-core.css
create mode 100644 build/aui-delayed-task-deprecated/aui-delayed-task-deprecated-coverage.js
create mode 100644 build/aui-delayed-task-deprecated/aui-delayed-task-deprecated-debug.js
create mode 100644 build/aui-delayed-task-deprecated/aui-delayed-task-deprecated-min.js
create mode 100644 build/aui-delayed-task-deprecated/aui-delayed-task-deprecated.js
create mode 100644 build/aui-diagram-builder-connector/assets/aui-diagram-builder-connector-core.css
create mode 100644 build/aui-diagram-builder-connector/assets/aui-diagram-builder-core.css
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/anchor-default.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/anchor-drop-active.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/anchor-valid.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/aui-diagram-builder-connector-skin.css
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/aui-diagram-builder-connector.css
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/aui-diagram-builder-skin.css
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/condition.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/end.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/fork.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/join.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-condition.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-end.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-fork.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-join.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-start.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-state.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/menu-task.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/start.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/state.png
create mode 100644 build/aui-diagram-builder-connector/assets/skins/sam/task.png
create mode 100644 build/aui-diagram-builder-connector/aui-diagram-builder-connector-coverage.js
create mode 100644 build/aui-diagram-builder-connector/aui-diagram-builder-connector-debug.js
create mode 100644 build/aui-diagram-builder-connector/aui-diagram-builder-connector-min.js
create mode 100644 build/aui-diagram-builder-connector/aui-diagram-builder-connector.js
create mode 100644 build/aui-diagram-builder/assets/aui-diagram-builder-connector-core.css
create mode 100644 build/aui-diagram-builder/assets/aui-diagram-builder-core.css
create mode 100644 build/aui-diagram-builder/assets/skins/sam/anchor-default.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/anchor-drop-active.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/anchor-valid.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/aui-diagram-builder-connector-skin.css
create mode 100644 build/aui-diagram-builder/assets/skins/sam/aui-diagram-builder-skin.css
create mode 100644 build/aui-diagram-builder/assets/skins/sam/aui-diagram-builder.css
create mode 100644 build/aui-diagram-builder/assets/skins/sam/condition.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/end.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/fork.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/join.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-condition.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-end.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-fork.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-join.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-start.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-state.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/menu-task.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/start.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/state.png
create mode 100644 build/aui-diagram-builder/assets/skins/sam/task.png
create mode 100644 build/aui-diagram-builder/aui-diagram-builder-coverage.js
create mode 100644 build/aui-diagram-builder/aui-diagram-builder-debug.js
create mode 100644 build/aui-diagram-builder/aui-diagram-builder-min.js
create mode 100644 build/aui-diagram-builder/aui-diagram-builder.js
create mode 100644 build/aui-diagram-node-condition/aui-diagram-node-condition-coverage.js
create mode 100644 build/aui-diagram-node-condition/aui-diagram-node-condition-debug.js
create mode 100644 build/aui-diagram-node-condition/aui-diagram-node-condition-min.js
create mode 100644 build/aui-diagram-node-condition/aui-diagram-node-condition.js
create mode 100644 build/aui-diagram-node-end/aui-diagram-node-end-coverage.js
create mode 100644 build/aui-diagram-node-end/aui-diagram-node-end-debug.js
create mode 100644 build/aui-diagram-node-end/aui-diagram-node-end-min.js
create mode 100644 build/aui-diagram-node-end/aui-diagram-node-end.js
create mode 100644 build/aui-diagram-node-fork/aui-diagram-node-fork-coverage.js
create mode 100644 build/aui-diagram-node-fork/aui-diagram-node-fork-debug.js
create mode 100644 build/aui-diagram-node-fork/aui-diagram-node-fork-min.js
create mode 100644 build/aui-diagram-node-fork/aui-diagram-node-fork.js
create mode 100644 build/aui-diagram-node-join/aui-diagram-node-join-coverage.js
create mode 100644 build/aui-diagram-node-join/aui-diagram-node-join-debug.js
create mode 100644 build/aui-diagram-node-join/aui-diagram-node-join-min.js
create mode 100644 build/aui-diagram-node-join/aui-diagram-node-join.js
create mode 100644 build/aui-diagram-node-manager-base/aui-diagram-node-manager-base-coverage.js
create mode 100644 build/aui-diagram-node-manager-base/aui-diagram-node-manager-base-debug.js
create mode 100644 build/aui-diagram-node-manager-base/aui-diagram-node-manager-base-min.js
create mode 100644 build/aui-diagram-node-manager-base/aui-diagram-node-manager-base.js
create mode 100644 build/aui-diagram-node-start/aui-diagram-node-start-coverage.js
create mode 100644 build/aui-diagram-node-start/aui-diagram-node-start-debug.js
create mode 100644 build/aui-diagram-node-start/aui-diagram-node-start-min.js
create mode 100644 build/aui-diagram-node-start/aui-diagram-node-start.js
create mode 100644 build/aui-diagram-node-state/aui-diagram-node-state-coverage.js
create mode 100644 build/aui-diagram-node-state/aui-diagram-node-state-debug.js
create mode 100644 build/aui-diagram-node-state/aui-diagram-node-state-min.js
create mode 100644 build/aui-diagram-node-state/aui-diagram-node-state.js
create mode 100644 build/aui-diagram-node-task/aui-diagram-node-task-coverage.js
create mode 100644 build/aui-diagram-node-task/aui-diagram-node-task-debug.js
create mode 100644 build/aui-diagram-node-task/aui-diagram-node-task-min.js
create mode 100644 build/aui-diagram-node-task/aui-diagram-node-task.js
create mode 100644 build/aui-diagram-node/aui-diagram-node-coverage.js
create mode 100644 build/aui-diagram-node/aui-diagram-node-debug.js
create mode 100644 build/aui-diagram-node/aui-diagram-node-min.js
create mode 100644 build/aui-diagram-node/aui-diagram-node.js
create mode 100644 build/aui-dialog-iframe-deprecated/assets/aui-dialog-iframe-deprecated-core.css
create mode 100644 build/aui-dialog-iframe-deprecated/assets/skins/sam/aui-dialog-iframe-deprecated-skin.css
create mode 100644 build/aui-dialog-iframe-deprecated/assets/skins/sam/aui-dialog-iframe-deprecated.css
create mode 100644 build/aui-dialog-iframe-deprecated/aui-dialog-iframe-deprecated-coverage.js
create mode 100644 build/aui-dialog-iframe-deprecated/aui-dialog-iframe-deprecated-debug.js
create mode 100644 build/aui-dialog-iframe-deprecated/aui-dialog-iframe-deprecated-min.js
create mode 100644 build/aui-dialog-iframe-deprecated/aui-dialog-iframe-deprecated.js
create mode 100644 build/aui-dropdown/assets/aui-dropdown-core.css
create mode 100644 build/aui-dropdown/assets/skins/sam/aui-dropdown-skin.css
create mode 100644 build/aui-dropdown/assets/skins/sam/aui-dropdown.css
create mode 100644 build/aui-dropdown/aui-dropdown-coverage.js
create mode 100644 build/aui-dropdown/aui-dropdown-debug.js
create mode 100644 build/aui-dropdown/aui-dropdown-min.js
create mode 100644 build/aui-dropdown/aui-dropdown.js
create mode 100644 build/aui-editable-deprecated/assets/aui-editable-deprecated-core.css
create mode 100644 build/aui-editable-deprecated/assets/skins/sam/aui-editable-deprecated-skin.css
create mode 100644 build/aui-editable-deprecated/assets/skins/sam/aui-editable-deprecated.css
create mode 100644 build/aui-editable-deprecated/aui-editable-deprecated-coverage.js
create mode 100644 build/aui-editable-deprecated/aui-editable-deprecated-debug.js
create mode 100644 build/aui-editable-deprecated/aui-editable-deprecated-min.js
create mode 100644 build/aui-editable-deprecated/aui-editable-deprecated.js
create mode 100644 build/aui-event-base/aui-event-base-coverage.js
create mode 100644 build/aui-event-base/aui-event-base-debug.js
create mode 100644 build/aui-event-base/aui-event-base-min.js
create mode 100644 build/aui-event-base/aui-event-base.js
create mode 100644 build/aui-event-delegate-change/aui-event-delegate-change-coverage.js
create mode 100644 build/aui-event-delegate-change/aui-event-delegate-change-debug.js
create mode 100644 build/aui-event-delegate-change/aui-event-delegate-change-min.js
create mode 100644 build/aui-event-delegate-change/aui-event-delegate-change.js
create mode 100644 build/aui-event-delegate-submit/aui-event-delegate-submit-coverage.js
create mode 100644 build/aui-event-delegate-submit/aui-event-delegate-submit-debug.js
create mode 100644 build/aui-event-delegate-submit/aui-event-delegate-submit-min.js
create mode 100644 build/aui-event-delegate-submit/aui-event-delegate-submit.js
create mode 100644 build/aui-event-input/aui-event-input-coverage.js
create mode 100644 build/aui-event-input/aui-event-input-debug.js
create mode 100644 build/aui-event-input/aui-event-input-min.js
create mode 100644 build/aui-event-input/aui-event-input.js
create mode 100644 build/aui-form-base-deprecated/aui-form-base-deprecated-coverage.js
create mode 100644 build/aui-form-base-deprecated/aui-form-base-deprecated-debug.js
create mode 100644 build/aui-form-base-deprecated/aui-form-base-deprecated-min.js
create mode 100644 build/aui-form-base-deprecated/aui-form-base-deprecated.js
create mode 100644 build/aui-form-builder-available-field-deprecated/aui-form-builder-available-field-deprecated-coverage.js
create mode 100644 build/aui-form-builder-available-field-deprecated/aui-form-builder-available-field-deprecated-debug.js
create mode 100644 build/aui-form-builder-available-field-deprecated/aui-form-builder-available-field-deprecated-min.js
create mode 100644 build/aui-form-builder-available-field-deprecated/aui-form-builder-available-field-deprecated.js
create mode 100644 build/aui-form-builder-deprecated/assets/aui-form-builder-deprecated-core.css
create mode 100644 build/aui-form-builder-deprecated/assets/aui-form-builder-field-deprecated-core.css
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/aui-form-builder-deprecated-skin.css
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/aui-form-builder-deprecated.css
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/aui-form-builder-field-deprecated-skin.css
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/form_builder_bg.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-button.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-checkbox.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-date.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-decimal.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-default.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-document.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-fieldset.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-fileupload.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-integer.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-number.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-paragraph.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-password.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-radio.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-select.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-separator.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-text.png
create mode 100644 build/aui-form-builder-deprecated/assets/skins/sam/icon-textarea.png
create mode 100644 build/aui-form-builder-deprecated/aui-form-builder-deprecated-coverage.js
create mode 100644 build/aui-form-builder-deprecated/aui-form-builder-deprecated-debug.js
create mode 100644 build/aui-form-builder-deprecated/aui-form-builder-deprecated-min.js
create mode 100644 build/aui-form-builder-deprecated/aui-form-builder-deprecated.js
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-base/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-base.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-base/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-base/aui-form-builder-field-base-coverage.js
create mode 100644 build/aui-form-builder-field-base/aui-form-builder-field-base-debug.js
create mode 100644 build/aui-form-builder-field-base/aui-form-builder-field-base-min.js
create mode 100644 build/aui-form-builder-field-base/aui-form-builder-field-base.js
create mode 100644 build/aui-form-builder-field-button-deprecated/aui-form-builder-field-button-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-button-deprecated/aui-form-builder-field-button-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-button-deprecated/aui-form-builder-field-button-deprecated-min.js
create mode 100644 build/aui-form-builder-field-button-deprecated/aui-form-builder-field-button-deprecated.js
create mode 100644 build/aui-form-builder-field-checkbox-deprecated/aui-form-builder-field-checkbox-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-checkbox-deprecated/aui-form-builder-field-checkbox-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-checkbox-deprecated/aui-form-builder-field-checkbox-deprecated-min.js
create mode 100644 build/aui-form-builder-field-checkbox-deprecated/aui-form-builder-field-checkbox-deprecated.js
create mode 100644 build/aui-form-builder-field-choice/aui-form-builder-field-choice-coverage.js
create mode 100644 build/aui-form-builder-field-choice/aui-form-builder-field-choice-debug.js
create mode 100644 build/aui-form-builder-field-choice/aui-form-builder-field-choice-min.js
create mode 100644 build/aui-form-builder-field-choice/aui-form-builder-field-choice.js
create mode 100644 build/aui-form-builder-field-deprecated/assets/aui-form-builder-deprecated-core.css
create mode 100644 build/aui-form-builder-field-deprecated/assets/aui-form-builder-field-deprecated-core.css
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/aui-form-builder-deprecated-skin.css
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/aui-form-builder-field-deprecated-skin.css
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/aui-form-builder-field-deprecated.css
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/form_builder_bg.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-button.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-checkbox.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-date.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-decimal.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-default.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-document.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-fieldset.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-fileupload.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-integer.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-number.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-paragraph.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-password.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-radio.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-select.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-separator.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-text.png
create mode 100644 build/aui-form-builder-field-deprecated/assets/skins/sam/icon-textarea.png
create mode 100644 build/aui-form-builder-field-deprecated/aui-form-builder-field-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-deprecated/aui-form-builder-field-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-deprecated/aui-form-builder-field-deprecated-min.js
create mode 100644 build/aui-form-builder-field-deprecated/aui-form-builder-field-deprecated.js
create mode 100644 build/aui-form-builder-field-fieldset-deprecated/aui-form-builder-field-fieldset-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-fieldset-deprecated/aui-form-builder-field-fieldset-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-fieldset-deprecated/aui-form-builder-field-fieldset-deprecated-min.js
create mode 100644 build/aui-form-builder-field-fieldset-deprecated/aui-form-builder-field-fieldset-deprecated.js
create mode 100644 build/aui-form-builder-field-file-upload-deprecated/aui-form-builder-field-file-upload-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-file-upload-deprecated/aui-form-builder-field-file-upload-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-file-upload-deprecated/aui-form-builder-field-file-upload-deprecated-min.js
create mode 100644 build/aui-form-builder-field-file-upload-deprecated/aui-form-builder-field-file-upload-deprecated.js
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-list/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-list.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-list/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-list/aui-form-builder-field-list-coverage.js
create mode 100644 build/aui-form-builder-field-list/aui-form-builder-field-list-debug.js
create mode 100644 build/aui-form-builder-field-list/aui-form-builder-field-list-min.js
create mode 100644 build/aui-form-builder-field-list/aui-form-builder-field-list.js
create mode 100644 build/aui-form-builder-field-multiple-choice-deprecated/aui-form-builder-field-multiple-choice-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-multiple-choice-deprecated/aui-form-builder-field-multiple-choice-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-multiple-choice-deprecated/aui-form-builder-field-multiple-choice-deprecated-min.js
create mode 100644 build/aui-form-builder-field-multiple-choice-deprecated/aui-form-builder-field-multiple-choice-deprecated.js
create mode 100644 build/aui-form-builder-field-radio-deprecated/aui-form-builder-field-radio-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-radio-deprecated/aui-form-builder-field-radio-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-radio-deprecated/aui-form-builder-field-radio-deprecated-min.js
create mode 100644 build/aui-form-builder-field-radio-deprecated/aui-form-builder-field-radio-deprecated.js
create mode 100644 build/aui-form-builder-field-select-deprecated/aui-form-builder-field-select-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-select-deprecated/aui-form-builder-field-select-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-select-deprecated/aui-form-builder-field-select-deprecated-min.js
create mode 100644 build/aui-form-builder-field-select-deprecated/aui-form-builder-field-select-deprecated.js
create mode 100644 build/aui-form-builder-field-sentence/aui-form-builder-field-sentence-coverage.js
create mode 100644 build/aui-form-builder-field-sentence/aui-form-builder-field-sentence-debug.js
create mode 100644 build/aui-form-builder-field-sentence/aui-form-builder-field-sentence-min.js
create mode 100644 build/aui-form-builder-field-sentence/aui-form-builder-field-sentence.js
create mode 100644 build/aui-form-builder-field-text-deprecated/aui-form-builder-field-text-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-text-deprecated/aui-form-builder-field-text-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-text-deprecated/aui-form-builder-field-text-deprecated-min.js
create mode 100644 build/aui-form-builder-field-text-deprecated/aui-form-builder-field-text-deprecated.js
create mode 100644 build/aui-form-builder-field-text/aui-form-builder-field-text-coverage.js
create mode 100644 build/aui-form-builder-field-text/aui-form-builder-field-text-debug.js
create mode 100644 build/aui-form-builder-field-text/aui-form-builder-field-text-min.js
create mode 100644 build/aui-form-builder-field-text/aui-form-builder-field-text.js
create mode 100644 build/aui-form-builder-field-textarea-deprecated/aui-form-builder-field-textarea-deprecated-coverage.js
create mode 100644 build/aui-form-builder-field-textarea-deprecated/aui-form-builder-field-textarea-deprecated-debug.js
create mode 100644 build/aui-form-builder-field-textarea-deprecated/aui-form-builder-field-textarea-deprecated-min.js
create mode 100644 build/aui-form-builder-field-textarea-deprecated/aui-form-builder-field-textarea-deprecated.js
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-toolbar.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-toolbar/aui-form-builder-field-toolbar-coverage.js
create mode 100644 build/aui-form-builder-field-toolbar/aui-form-builder-field-toolbar-debug.js
create mode 100644 build/aui-form-builder-field-toolbar/aui-form-builder-field-toolbar-min.js
create mode 100644 build/aui-form-builder-field-toolbar/aui-form-builder-field-toolbar.js
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-type/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-type.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-type/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-type/aui-form-builder-field-type-coverage.js
create mode 100644 build/aui-form-builder-field-type/aui-form-builder-field-type-debug.js
create mode 100644 build/aui-form-builder-field-type/aui-form-builder-field-type-min.js
create mode 100644 build/aui-form-builder-field-type/aui-form-builder-field-type.js
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-types-modal.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-types-modal/aui-form-builder-field-types-modal-coverage.js
create mode 100644 build/aui-form-builder-field-types-modal/aui-form-builder-field-types-modal-debug.js
create mode 100644 build/aui-form-builder-field-types-modal/aui-form-builder-field-types-modal-min.js
create mode 100644 build/aui-form-builder-field-types-modal/aui-form-builder-field-types-modal.js
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-field-types/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-field-types.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-field-types/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-field-types/aui-form-builder-field-types-coverage.js
create mode 100644 build/aui-form-builder-field-types/aui-form-builder-field-types-debug.js
create mode 100644 build/aui-form-builder-field-types/aui-form-builder-field-types-min.js
create mode 100644 build/aui-form-builder-field-types/aui-form-builder-field-types.js
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-layout-builder.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-layout-builder/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-layout-builder/aui-form-builder-layout-builder-coverage.js
create mode 100644 build/aui-form-builder-layout-builder/aui-form-builder-layout-builder-debug.js
create mode 100644 build/aui-form-builder-layout-builder/aui-form-builder-layout-builder-min.js
create mode 100644 build/aui-form-builder-layout-builder/aui-form-builder-layout-builder.js
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-page-manager.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-page-manager/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-page-manager/aui-form-builder-page-manager-coverage.js
create mode 100644 build/aui-form-builder-page-manager/aui-form-builder-page-manager-debug.js
create mode 100644 build/aui-form-builder-page-manager/aui-form-builder-page-manager-min.js
create mode 100644 build/aui-form-builder-page-manager/aui-form-builder-page-manager.js
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-settings-modal.css
create mode 100644 build/aui-form-builder-settings-modal/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder-settings-modal/aui-form-builder-settings-modal-coverage.js
create mode 100644 build/aui-form-builder-settings-modal/aui-form-builder-settings-modal-debug.js
create mode 100644 build/aui-form-builder-settings-modal/aui-form-builder-settings-modal-min.js
create mode 100644 build/aui-form-builder-settings-modal/aui-form-builder-settings-modal.js
create mode 100644 build/aui-form-builder/assets/aui-form-builder-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-base-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-list-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-toolbar-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-type-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-types-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-field-types-modal-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-layout-builder-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-page-manager-core.css
create mode 100644 build/aui-form-builder/assets/aui-form-builder-settings-modal-core.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-base-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-list-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-toolbar-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-type-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-types-modal-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-field-types-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-layout-builder-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-page-manager-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-settings-modal-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder-skin.css
create mode 100644 build/aui-form-builder/assets/skins/sam/aui-form-builder.css
create mode 100644 build/aui-form-builder/aui-form-builder-coverage.js
create mode 100644 build/aui-form-builder/aui-form-builder-debug.js
create mode 100644 build/aui-form-builder/aui-form-builder-min.js
create mode 100644 build/aui-form-builder/aui-form-builder.js
create mode 100644 build/aui-form-combobox-deprecated/assets/aui-form-combobox-deprecated-core.css
create mode 100644 build/aui-form-combobox-deprecated/assets/aui-form-textarea-deprecated-core.css
create mode 100644 build/aui-form-combobox-deprecated/assets/skins/sam/aui-form-combobox-deprecated-skin.css
create mode 100644 build/aui-form-combobox-deprecated/assets/skins/sam/aui-form-combobox-deprecated.css
create mode 100644 build/aui-form-combobox-deprecated/assets/skins/sam/aui-form-textarea-deprecated-skin.css
create mode 100644 build/aui-form-combobox-deprecated/aui-form-combobox-deprecated-coverage.js
create mode 100644 build/aui-form-combobox-deprecated/aui-form-combobox-deprecated-debug.js
create mode 100644 build/aui-form-combobox-deprecated/aui-form-combobox-deprecated-min.js
create mode 100644 build/aui-form-combobox-deprecated/aui-form-combobox-deprecated.js
create mode 100644 build/aui-form-field-choice/assets/aui-form-field-choice-core.css
create mode 100644 build/aui-form-field-choice/assets/aui-form-field-core.css
create mode 100644 build/aui-form-field-choice/assets/aui-form-field-text-core.css
create mode 100644 build/aui-form-field-choice/assets/skins/sam/aui-form-field-choice-skin.css
create mode 100644 build/aui-form-field-choice/assets/skins/sam/aui-form-field-choice.css
create mode 100644 build/aui-form-field-choice/assets/skins/sam/aui-form-field-skin.css
create mode 100644 build/aui-form-field-choice/assets/skins/sam/aui-form-field-text-skin.css
create mode 100644 build/aui-form-field-choice/aui-form-field-choice-coverage.js
create mode 100644 build/aui-form-field-choice/aui-form-field-choice-debug.js
create mode 100644 build/aui-form-field-choice/aui-form-field-choice-min.js
create mode 100644 build/aui-form-field-choice/aui-form-field-choice.js
create mode 100644 build/aui-form-field-deprecated/aui-form-field-deprecated-coverage.js
create mode 100644 build/aui-form-field-deprecated/aui-form-field-deprecated-debug.js
create mode 100644 build/aui-form-field-deprecated/aui-form-field-deprecated-min.js
create mode 100644 build/aui-form-field-deprecated/aui-form-field-deprecated.js
create mode 100644 build/aui-form-field-required/aui-form-field-required-coverage.js
create mode 100644 build/aui-form-field-required/aui-form-field-required-debug.js
create mode 100644 build/aui-form-field-required/aui-form-field-required-min.js
create mode 100644 build/aui-form-field-required/aui-form-field-required.js
create mode 100644 build/aui-form-field-text/assets/aui-form-field-choice-core.css
create mode 100644 build/aui-form-field-text/assets/aui-form-field-core.css
create mode 100644 build/aui-form-field-text/assets/aui-form-field-text-core.css
create mode 100644 build/aui-form-field-text/assets/skins/sam/aui-form-field-choice-skin.css
create mode 100644 build/aui-form-field-text/assets/skins/sam/aui-form-field-skin.css
create mode 100644 build/aui-form-field-text/assets/skins/sam/aui-form-field-text-skin.css
create mode 100644 build/aui-form-field-text/assets/skins/sam/aui-form-field-text.css
create mode 100644 build/aui-form-field-text/aui-form-field-text-coverage.js
create mode 100644 build/aui-form-field-text/aui-form-field-text-debug.js
create mode 100644 build/aui-form-field-text/aui-form-field-text-min.js
create mode 100644 build/aui-form-field-text/aui-form-field-text.js
create mode 100644 build/aui-form-field/assets/aui-form-field-choice-core.css
create mode 100644 build/aui-form-field/assets/aui-form-field-core.css
create mode 100644 build/aui-form-field/assets/aui-form-field-text-core.css
create mode 100644 build/aui-form-field/assets/skins/sam/aui-form-field-choice-skin.css
create mode 100644 build/aui-form-field/assets/skins/sam/aui-form-field-skin.css
create mode 100644 build/aui-form-field/assets/skins/sam/aui-form-field-text-skin.css
create mode 100644 build/aui-form-field/assets/skins/sam/aui-form-field.css
create mode 100644 build/aui-form-field/aui-form-field-coverage.js
create mode 100644 build/aui-form-field/aui-form-field-debug.js
create mode 100644 build/aui-form-field/aui-form-field-min.js
create mode 100644 build/aui-form-field/aui-form-field.js
create mode 100644 build/aui-form-select-deprecated/aui-form-select-deprecated-coverage.js
create mode 100644 build/aui-form-select-deprecated/aui-form-select-deprecated-debug.js
create mode 100644 build/aui-form-select-deprecated/aui-form-select-deprecated-min.js
create mode 100644 build/aui-form-select-deprecated/aui-form-select-deprecated.js
create mode 100644 build/aui-form-textarea-deprecated/aui-form-textarea-deprecated-coverage.js
create mode 100644 build/aui-form-textarea-deprecated/aui-form-textarea-deprecated-debug.js
create mode 100644 build/aui-form-textarea-deprecated/aui-form-textarea-deprecated-min.js
create mode 100644 build/aui-form-textarea-deprecated/aui-form-textarea-deprecated.js
create mode 100644 build/aui-form-textfield-deprecated/aui-form-textfield-deprecated-coverage.js
create mode 100644 build/aui-form-textfield-deprecated/aui-form-textfield-deprecated-debug.js
create mode 100644 build/aui-form-textfield-deprecated/aui-form-textfield-deprecated-min.js
create mode 100644 build/aui-form-textfield-deprecated/aui-form-textfield-deprecated.js
create mode 100644 build/aui-form-validator/aui-form-validator-coverage.js
create mode 100644 build/aui-form-validator/aui-form-validator-debug.js
create mode 100644 build/aui-form-validator/aui-form-validator-min.js
create mode 100644 build/aui-form-validator/aui-form-validator.js
create mode 100644 build/aui-hsv-palette/assets/aui-color-palette-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-color-picker-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-hsv-palette/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-hsv-palette.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-hsv-palette/assets/skins/sam/sprite.png
create mode 100644 build/aui-hsv-palette/aui-hsv-palette-coverage.js
create mode 100644 build/aui-hsv-palette/aui-hsv-palette-debug.js
create mode 100644 build/aui-hsv-palette/aui-hsv-palette-min.js
create mode 100644 build/aui-hsv-palette/aui-hsv-palette.js
create mode 100644 build/aui-hsva-palette-modal/assets/aui-color-palette-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-color-picker-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-hsva-palette-modal.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-hsva-palette-modal/assets/skins/sam/sprite.png
create mode 100644 build/aui-hsva-palette-modal/aui-hsva-palette-modal-coverage.js
create mode 100644 build/aui-hsva-palette-modal/aui-hsva-palette-modal-debug.js
create mode 100644 build/aui-hsva-palette-modal/aui-hsva-palette-modal-min.js
create mode 100644 build/aui-hsva-palette-modal/aui-hsva-palette-modal.js
create mode 100644 build/aui-hsva-palette/assets/aui-color-palette-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-color-picker-base-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-color-picker-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-color-picker-popover-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-hsv-palette-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-hsva-palette-core.css
create mode 100644 build/aui-hsva-palette/assets/aui-hsva-palette-modal-core.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-color-palette-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-color-picker-base-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-color-picker-popover-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-color-picker-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-hsv-palette-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-hsva-palette-modal-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-hsva-palette-skin.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/aui-hsva-palette.css
create mode 100644 build/aui-hsva-palette/assets/skins/sam/sprite.png
create mode 100644 build/aui-hsva-palette/aui-hsva-palette-coverage.js
create mode 100644 build/aui-hsva-palette/aui-hsva-palette-debug.js
create mode 100644 build/aui-hsva-palette/aui-hsva-palette-min.js
create mode 100644 build/aui-hsva-palette/aui-hsva-palette.js
create mode 100644 build/aui-image-cropper/assets/aui-image-cropper-core.css
create mode 100644 build/aui-image-cropper/assets/skins/sam/aui-image-cropper-skin.css
create mode 100644 build/aui-image-cropper/assets/skins/sam/aui-image-cropper.css
create mode 100644 build/aui-image-cropper/assets/skins/sam/resize-handle.png
create mode 100644 build/aui-image-cropper/aui-image-cropper-coverage.js
create mode 100644 build/aui-image-cropper/aui-image-cropper-debug.js
create mode 100644 build/aui-image-cropper/aui-image-cropper-min.js
create mode 100644 build/aui-image-cropper/aui-image-cropper.js
create mode 100644 build/aui-image-viewer-base/assets/aui-image-viewer-base-core.css
create mode 100644 build/aui-image-viewer-base/assets/aui-image-viewer-core.css
create mode 100644 build/aui-image-viewer-base/assets/aui-image-viewer-multiple-core.css
create mode 100644 build/aui-image-viewer-base/assets/skins/sam/aui-image-viewer-base-skin.css
create mode 100644 build/aui-image-viewer-base/assets/skins/sam/aui-image-viewer-base.css
create mode 100644 build/aui-image-viewer-base/assets/skins/sam/aui-image-viewer-multiple-skin.css
create mode 100644 build/aui-image-viewer-base/assets/skins/sam/aui-image-viewer-skin.css
create mode 100644 build/aui-image-viewer-base/aui-image-viewer-base-coverage.js
create mode 100644 build/aui-image-viewer-base/aui-image-viewer-base-debug.js
create mode 100644 build/aui-image-viewer-base/aui-image-viewer-base-min.js
create mode 100644 build/aui-image-viewer-base/aui-image-viewer-base.js
create mode 100644 build/aui-image-viewer-media/aui-image-viewer-media-coverage.js
create mode 100644 build/aui-image-viewer-media/aui-image-viewer-media-debug.js
create mode 100644 build/aui-image-viewer-media/aui-image-viewer-media-min.js
create mode 100644 build/aui-image-viewer-media/aui-image-viewer-media.js
create mode 100644 build/aui-image-viewer-multiple-swipe/aui-image-viewer-multiple-swipe-coverage.js
create mode 100644 build/aui-image-viewer-multiple-swipe/aui-image-viewer-multiple-swipe-debug.js
create mode 100644 build/aui-image-viewer-multiple-swipe/aui-image-viewer-multiple-swipe-min.js
create mode 100644 build/aui-image-viewer-multiple-swipe/aui-image-viewer-multiple-swipe.js
create mode 100644 build/aui-image-viewer-multiple/assets/aui-image-viewer-base-core.css
create mode 100644 build/aui-image-viewer-multiple/assets/aui-image-viewer-core.css
create mode 100644 build/aui-image-viewer-multiple/assets/aui-image-viewer-multiple-core.css
create mode 100644 build/aui-image-viewer-multiple/assets/skins/sam/aui-image-viewer-base-skin.css
create mode 100644 build/aui-image-viewer-multiple/assets/skins/sam/aui-image-viewer-multiple-skin.css
create mode 100644 build/aui-image-viewer-multiple/assets/skins/sam/aui-image-viewer-multiple.css
create mode 100644 build/aui-image-viewer-multiple/assets/skins/sam/aui-image-viewer-skin.css
create mode 100644 build/aui-image-viewer-multiple/aui-image-viewer-multiple-coverage.js
create mode 100644 build/aui-image-viewer-multiple/aui-image-viewer-multiple-debug.js
create mode 100644 build/aui-image-viewer-multiple/aui-image-viewer-multiple-min.js
create mode 100644 build/aui-image-viewer-multiple/aui-image-viewer-multiple.js
create mode 100644 build/aui-image-viewer-slideshow/aui-image-viewer-slideshow-coverage.js
create mode 100644 build/aui-image-viewer-slideshow/aui-image-viewer-slideshow-debug.js
create mode 100644 build/aui-image-viewer-slideshow/aui-image-viewer-slideshow-min.js
create mode 100644 build/aui-image-viewer-slideshow/aui-image-viewer-slideshow.js
create mode 100644 build/aui-image-viewer-swipe/aui-image-viewer-swipe-coverage.js
create mode 100644 build/aui-image-viewer-swipe/aui-image-viewer-swipe-debug.js
create mode 100644 build/aui-image-viewer-swipe/aui-image-viewer-swipe-min.js
create mode 100644 build/aui-image-viewer-swipe/aui-image-viewer-swipe.js
create mode 100644 build/aui-image-viewer/assets/aui-image-viewer-base-core.css
create mode 100644 build/aui-image-viewer/assets/aui-image-viewer-core.css
create mode 100644 build/aui-image-viewer/assets/aui-image-viewer-multiple-core.css
create mode 100644 build/aui-image-viewer/assets/skins/sam/aui-image-viewer-base-skin.css
create mode 100644 build/aui-image-viewer/assets/skins/sam/aui-image-viewer-multiple-skin.css
create mode 100644 build/aui-image-viewer/assets/skins/sam/aui-image-viewer-skin.css
create mode 100644 build/aui-image-viewer/assets/skins/sam/aui-image-viewer.css
create mode 100644 build/aui-image-viewer/aui-image-viewer-coverage.js
create mode 100644 build/aui-image-viewer/aui-image-viewer-debug.js
create mode 100644 build/aui-image-viewer/aui-image-viewer-min.js
create mode 100644 build/aui-image-viewer/aui-image-viewer.js
create mode 100644 build/aui-input-text-control-deprecated/aui-input-text-control-deprecated-coverage.js
create mode 100644 build/aui-input-text-control-deprecated/aui-input-text-control-deprecated-debug.js
create mode 100644 build/aui-input-text-control-deprecated/aui-input-text-control-deprecated-min.js
create mode 100644 build/aui-input-text-control-deprecated/aui-input-text-control-deprecated.js
create mode 100644 build/aui-io-plugin-deprecated/assets/aui-io-deprecated-core.css
create mode 100644 build/aui-io-plugin-deprecated/aui-io-plugin-deprecated-coverage.js
create mode 100644 build/aui-io-plugin-deprecated/aui-io-plugin-deprecated-debug.js
create mode 100644 build/aui-io-plugin-deprecated/aui-io-plugin-deprecated-min.js
create mode 100644 build/aui-io-plugin-deprecated/aui-io-plugin-deprecated.js
create mode 100644 build/aui-io-request-deprecated/assets/aui-io-deprecated-core.css
create mode 100644 build/aui-io-request-deprecated/aui-io-request-deprecated-coverage.js
create mode 100644 build/aui-io-request-deprecated/aui-io-request-deprecated-debug.js
create mode 100644 build/aui-io-request-deprecated/aui-io-request-deprecated-min.js
create mode 100644 build/aui-io-request-deprecated/aui-io-request-deprecated.js
create mode 100644 build/aui-io-request/aui-io-request-coverage.js
create mode 100644 build/aui-io-request/aui-io-request-debug.js
create mode 100644 build/aui-io-request/aui-io-request-min.js
create mode 100644 build/aui-io-request/aui-io-request.js
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-add-col.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-builder-add-col/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-builder-add-col/aui-layout-builder-add-col-coverage.js
create mode 100644 build/aui-layout-builder-add-col/aui-layout-builder-add-col-debug.js
create mode 100644 build/aui-layout-builder-add-col/aui-layout-builder-add-col-min.js
create mode 100644 build/aui-layout-builder-add-col/aui-layout-builder-add-col.js
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-add-row.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-builder-add-row/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-builder-add-row/aui-layout-builder-add-row-coverage.js
create mode 100644 build/aui-layout-builder-add-row/aui-layout-builder-add-row-debug.js
create mode 100644 build/aui-layout-builder-add-row/aui-layout-builder-add-row-min.js
create mode 100644 build/aui-layout-builder-add-row/aui-layout-builder-add-row.js
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-builder-move/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-move.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-builder-move/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-builder-move/aui-layout-builder-move-coverage.js
create mode 100644 build/aui-layout-builder-move/aui-layout-builder-move-debug.js
create mode 100644 build/aui-layout-builder-move/aui-layout-builder-move-min.js
create mode 100644 build/aui-layout-builder-move/aui-layout-builder-move.js
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-remove-row.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-builder-remove-row/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-builder-remove-row/aui-layout-builder-remove-row-coverage.js
create mode 100644 build/aui-layout-builder-remove-row/aui-layout-builder-remove-row-debug.js
create mode 100644 build/aui-layout-builder-remove-row/aui-layout-builder-remove-row-min.js
create mode 100644 build/aui-layout-builder-remove-row/aui-layout-builder-remove-row.js
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-builder-resize-col.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-builder-resize-col/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-builder-resize-col/aui-layout-builder-resize-col-coverage.js
create mode 100644 build/aui-layout-builder-resize-col/aui-layout-builder-resize-col-debug.js
create mode 100644 build/aui-layout-builder-resize-col/aui-layout-builder-resize-col-min.js
create mode 100644 build/aui-layout-builder-resize-col/aui-layout-builder-resize-col.js
create mode 100644 build/aui-layout-builder/aui-layout-builder-coverage.js
create mode 100644 build/aui-layout-builder/aui-layout-builder-debug.js
create mode 100644 build/aui-layout-builder/aui-layout-builder-min.js
create mode 100644 build/aui-layout-builder/aui-layout-builder.js
create mode 100644 build/aui-layout-col/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-col/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-col.css
create mode 100644 build/aui-layout-col/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-col/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-col/aui-layout-col-coverage.js
create mode 100644 build/aui-layout-col/aui-layout-col-debug.js
create mode 100644 build/aui-layout-col/aui-layout-col-min.js
create mode 100644 build/aui-layout-col/aui-layout-col.js
create mode 100644 build/aui-layout-row/assets/aui-layout-builder-add-col-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-builder-add-row-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-builder-move-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-builder-remove-row-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-builder-resize-col-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-col-core.css
create mode 100644 build/aui-layout-row/assets/aui-layout-row-core.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-builder-add-col-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-builder-add-row-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-builder-move-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-builder-remove-row-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-builder-resize-col-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-col-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-row-skin.css
create mode 100644 build/aui-layout-row/assets/skins/sam/aui-layout-row.css
create mode 100644 build/aui-layout-row/assets/skins/sam/cut.png
create mode 100644 build/aui-layout-row/aui-layout-row-coverage.js
create mode 100644 build/aui-layout-row/aui-layout-row-debug.js
create mode 100644 build/aui-layout-row/aui-layout-row-min.js
create mode 100644 build/aui-layout-row/aui-layout-row.js
create mode 100644 build/aui-layout/aui-layout-coverage.js
create mode 100644 build/aui-layout/aui-layout-debug.js
create mode 100644 build/aui-layout/aui-layout-min.js
create mode 100644 build/aui-layout/aui-layout.js
create mode 100644 build/aui-linkedset/aui-linkedset-coverage.js
create mode 100644 build/aui-linkedset/aui-linkedset-debug.js
create mode 100644 build/aui-linkedset/aui-linkedset-min.js
create mode 100644 build/aui-linkedset/aui-linkedset.js
create mode 100644 build/aui-live-search-deprecated/assets/aui-live-search-deprecated-core.css
create mode 100644 build/aui-live-search-deprecated/aui-live-search-deprecated-coverage.js
create mode 100644 build/aui-live-search-deprecated/aui-live-search-deprecated-debug.js
create mode 100644 build/aui-live-search-deprecated/aui-live-search-deprecated-min.js
create mode 100644 build/aui-live-search-deprecated/aui-live-search-deprecated.js
create mode 100644 build/aui-loading-mask-deprecated/assets/aui-loading-mask-deprecated-core.css
create mode 100644 build/aui-loading-mask-deprecated/assets/skins/sam/aui-loading-mask-deprecated-skin.css
create mode 100644 build/aui-loading-mask-deprecated/assets/skins/sam/aui-loading-mask-deprecated.css
create mode 100644 build/aui-loading-mask-deprecated/aui-loading-mask-deprecated-coverage.js
create mode 100644 build/aui-loading-mask-deprecated/aui-loading-mask-deprecated-debug.js
create mode 100644 build/aui-loading-mask-deprecated/aui-loading-mask-deprecated-min.js
create mode 100644 build/aui-loading-mask-deprecated/aui-loading-mask-deprecated.js
create mode 100644 build/aui-map/aui-map-coverage.js
create mode 100644 build/aui-map/aui-map-debug.js
create mode 100644 build/aui-map/aui-map-min.js
create mode 100644 build/aui-map/aui-map.js
create mode 100644 build/aui-menu-item/aui-menu-item-coverage.js
create mode 100644 build/aui-menu-item/aui-menu-item-debug.js
create mode 100644 build/aui-menu-item/aui-menu-item-min.js
create mode 100644 build/aui-menu-item/aui-menu-item.js
create mode 100644 build/aui-menu/assets/aui-menu-core.css
create mode 100644 build/aui-menu/assets/skins/sam/aui-menu-skin.css
create mode 100644 build/aui-menu/assets/skins/sam/aui-menu.css
create mode 100644 build/aui-menu/aui-menu-coverage.js
create mode 100644 build/aui-menu/aui-menu-debug.js
create mode 100644 build/aui-menu/aui-menu-min.js
create mode 100644 build/aui-menu/aui-menu.js
create mode 100644 build/aui-messaging/aui-messaging-coverage.js
create mode 100644 build/aui-messaging/aui-messaging-debug.js
create mode 100644 build/aui-messaging/aui-messaging-min.js
create mode 100644 build/aui-messaging/aui-messaging.js
create mode 100644 build/aui-modal-resize/aui-modal-resize-coverage.js
create mode 100644 build/aui-modal-resize/aui-modal-resize-debug.js
create mode 100644 build/aui-modal-resize/aui-modal-resize-min.js
create mode 100644 build/aui-modal-resize/aui-modal-resize.js
create mode 100644 build/aui-modal/assets/aui-modal-core.css
create mode 100644 build/aui-modal/assets/skins/sam/aui-modal-skin.css
create mode 100644 build/aui-modal/assets/skins/sam/aui-modal.css
create mode 100644 build/aui-modal/aui-modal-coverage.js
create mode 100644 build/aui-modal/aui-modal-debug.js
create mode 100644 build/aui-modal/aui-modal-min.js
create mode 100644 build/aui-modal/aui-modal.js
create mode 100644 build/aui-node-accessible/aui-node-accessible-coverage.js
create mode 100644 build/aui-node-accessible/aui-node-accessible-debug.js
create mode 100644 build/aui-node-accessible/aui-node-accessible-min.js
create mode 100644 build/aui-node-accessible/aui-node-accessible.js
create mode 100644 build/aui-node-base/aui-node-base-coverage.js
create mode 100644 build/aui-node-base/aui-node-base-debug.js
create mode 100644 build/aui-node-base/aui-node-base-min.js
create mode 100644 build/aui-node-base/aui-node-base.js
create mode 100644 build/aui-node-html5/aui-node-html5-coverage.js
create mode 100644 build/aui-node-html5/aui-node-html5-debug.js
create mode 100644 build/aui-node-html5/aui-node-html5-min.js
create mode 100644 build/aui-node-html5/aui-node-html5.js
create mode 100644 build/aui-options-data-editor/assets/aui-data-editor-core.css
create mode 100644 build/aui-options-data-editor/assets/aui-options-data-editor-core.css
create mode 100644 build/aui-options-data-editor/assets/aui-radio-group-data-editor-core.css
create mode 100644 build/aui-options-data-editor/assets/aui-text-data-editor-core.css
create mode 100644 build/aui-options-data-editor/assets/skins/sam/aui-data-editor-skin.css
create mode 100644 build/aui-options-data-editor/assets/skins/sam/aui-options-data-editor-skin.css
create mode 100644 build/aui-options-data-editor/assets/skins/sam/aui-options-data-editor.css
create mode 100644 build/aui-options-data-editor/assets/skins/sam/aui-radio-group-data-editor-skin.css
create mode 100644 build/aui-options-data-editor/assets/skins/sam/aui-text-data-editor-skin.css
create mode 100644 build/aui-options-data-editor/aui-options-data-editor-coverage.js
create mode 100644 build/aui-options-data-editor/aui-options-data-editor-debug.js
create mode 100644 build/aui-options-data-editor/aui-options-data-editor-min.js
create mode 100644 build/aui-options-data-editor/aui-options-data-editor.js
create mode 100644 build/aui-overlay-base-deprecated/aui-overlay-base-deprecated-coverage.js
create mode 100644 build/aui-overlay-base-deprecated/aui-overlay-base-deprecated-debug.js
create mode 100644 build/aui-overlay-base-deprecated/aui-overlay-base-deprecated-min.js
create mode 100644 build/aui-overlay-base-deprecated/aui-overlay-base-deprecated.js
create mode 100644 build/aui-overlay-context-deprecated/aui-overlay-context-deprecated-coverage.js
create mode 100644 build/aui-overlay-context-deprecated/aui-overlay-context-deprecated-debug.js
create mode 100644 build/aui-overlay-context-deprecated/aui-overlay-context-deprecated-min.js
create mode 100644 build/aui-overlay-context-deprecated/aui-overlay-context-deprecated.js
create mode 100644 build/aui-overlay-context-panel-deprecated/assets/aui-overlay-context-panel-deprecated-core.css
create mode 100644 build/aui-overlay-context-panel-deprecated/assets/aui-overlay-mask-deprecated-core.css
create mode 100644 build/aui-overlay-context-panel-deprecated/assets/skins/sam/aui-overlay-context-panel-deprecated-skin.css
create mode 100644 build/aui-overlay-context-panel-deprecated/assets/skins/sam/aui-overlay-context-panel-deprecated.css
create mode 100644 build/aui-overlay-context-panel-deprecated/assets/skins/sam/aui-overlay-mask-deprecated-skin.css
create mode 100644 build/aui-overlay-context-panel-deprecated/aui-overlay-context-panel-deprecated-coverage.js
create mode 100644 build/aui-overlay-context-panel-deprecated/aui-overlay-context-panel-deprecated-debug.js
create mode 100644 build/aui-overlay-context-panel-deprecated/aui-overlay-context-panel-deprecated-min.js
create mode 100644 build/aui-overlay-context-panel-deprecated/aui-overlay-context-panel-deprecated.js
create mode 100644 build/aui-overlay-manager-deprecated/aui-overlay-manager-deprecated-coverage.js
create mode 100644 build/aui-overlay-manager-deprecated/aui-overlay-manager-deprecated-debug.js
create mode 100644 build/aui-overlay-manager-deprecated/aui-overlay-manager-deprecated-min.js
create mode 100644 build/aui-overlay-manager-deprecated/aui-overlay-manager-deprecated.js
create mode 100644 build/aui-overlay-mask-deprecated/assets/aui-overlay-context-panel-deprecated-core.css
create mode 100644 build/aui-overlay-mask-deprecated/assets/aui-overlay-mask-deprecated-core.css
create mode 100644 build/aui-overlay-mask-deprecated/assets/skins/sam/aui-overlay-context-panel-deprecated-skin.css
create mode 100644 build/aui-overlay-mask-deprecated/assets/skins/sam/aui-overlay-mask-deprecated-skin.css
create mode 100644 build/aui-overlay-mask-deprecated/assets/skins/sam/aui-overlay-mask-deprecated.css
create mode 100644 build/aui-overlay-mask-deprecated/aui-overlay-mask-deprecated-coverage.js
create mode 100644 build/aui-overlay-mask-deprecated/aui-overlay-mask-deprecated-debug.js
create mode 100644 build/aui-overlay-mask-deprecated/aui-overlay-mask-deprecated-min.js
create mode 100644 build/aui-overlay-mask-deprecated/aui-overlay-mask-deprecated.js
create mode 100644 build/aui-pagination/assets/aui-pagination-core.css
create mode 100644 build/aui-pagination/assets/skins/sam/aui-pagination-skin.css
create mode 100644 build/aui-pagination/assets/skins/sam/aui-pagination.css
create mode 100644 build/aui-pagination/aui-pagination-coverage.js
create mode 100644 build/aui-pagination/aui-pagination-debug.js
create mode 100644 build/aui-pagination/aui-pagination-min.js
create mode 100644 build/aui-pagination/aui-pagination.js
create mode 100644 build/aui-palette/assets/aui-palette-core.css
create mode 100644 build/aui-palette/assets/skins/sam/aui-palette-skin.css
create mode 100644 build/aui-palette/assets/skins/sam/aui-palette.css
create mode 100644 build/aui-palette/aui-palette-coverage.js
create mode 100644 build/aui-palette/aui-palette-debug.js
create mode 100644 build/aui-palette/aui-palette-min.js
create mode 100644 build/aui-palette/aui-palette.js
create mode 100644 build/aui-parse-content/aui-parse-content-coverage.js
create mode 100644 build/aui-parse-content/aui-parse-content-debug.js
create mode 100644 build/aui-parse-content/aui-parse-content-min.js
create mode 100644 build/aui-parse-content/aui-parse-content.js
create mode 100644 build/aui-popover/assets/aui-popover-core.css
create mode 100644 build/aui-popover/assets/skins/sam/aui-popover-skin.css
create mode 100644 build/aui-popover/assets/skins/sam/aui-popover.css
create mode 100644 build/aui-popover/aui-popover-coverage.js
create mode 100644 build/aui-popover/aui-popover-debug.js
create mode 100644 build/aui-popover/aui-popover-min.js
create mode 100644 build/aui-popover/aui-popover.js
create mode 100644 build/aui-progressbar/assets/aui-progressbar-core.css
create mode 100644 build/aui-progressbar/assets/skins/sam/aui-progressbar-skin.css
create mode 100644 build/aui-progressbar/assets/skins/sam/aui-progressbar.css
create mode 100644 build/aui-progressbar/aui-progressbar-coverage.js
create mode 100644 build/aui-progressbar/aui-progressbar-debug.js
create mode 100644 build/aui-progressbar/aui-progressbar-min.js
create mode 100644 build/aui-progressbar/aui-progressbar.js
create mode 100644 build/aui-promise/aui-promise-coverage.js
create mode 100644 build/aui-promise/aui-promise-debug.js
create mode 100644 build/aui-promise/aui-promise-min.js
create mode 100644 build/aui-promise/aui-promise.js
create mode 100644 build/aui-property-builder-available-field/aui-property-builder-available-field-coverage.js
create mode 100644 build/aui-property-builder-available-field/aui-property-builder-available-field-debug.js
create mode 100644 build/aui-property-builder-available-field/aui-property-builder-available-field-min.js
create mode 100644 build/aui-property-builder-available-field/aui-property-builder-available-field.js
create mode 100644 build/aui-property-builder-field-support/aui-property-builder-field-support-coverage.js
create mode 100644 build/aui-property-builder-field-support/aui-property-builder-field-support-debug.js
create mode 100644 build/aui-property-builder-field-support/aui-property-builder-field-support-min.js
create mode 100644 build/aui-property-builder-field-support/aui-property-builder-field-support.js
create mode 100644 build/aui-property-builder-settings/aui-property-builder-settings-coverage.js
create mode 100644 build/aui-property-builder-settings/aui-property-builder-settings-debug.js
create mode 100644 build/aui-property-builder-settings/aui-property-builder-settings-min.js
create mode 100644 build/aui-property-builder-settings/aui-property-builder-settings.js
create mode 100644 build/aui-property-builder/assets/aui-property-builder-core.css
create mode 100644 build/aui-property-builder/assets/skins/sam/aui-property-builder-skin.css
create mode 100644 build/aui-property-builder/assets/skins/sam/aui-property-builder.css
create mode 100644 build/aui-property-builder/assets/skins/sam/checker-bg.png
create mode 100644 build/aui-property-builder/aui-property-builder-coverage.js
create mode 100644 build/aui-property-builder/aui-property-builder-debug.js
create mode 100644 build/aui-property-builder/aui-property-builder-min.js
create mode 100644 build/aui-property-builder/aui-property-builder.js
create mode 100644 build/aui-radio-group-data-editor/assets/aui-data-editor-core.css
create mode 100644 build/aui-radio-group-data-editor/assets/aui-options-data-editor-core.css
create mode 100644 build/aui-radio-group-data-editor/assets/aui-radio-group-data-editor-core.css
create mode 100644 build/aui-radio-group-data-editor/assets/aui-text-data-editor-core.css
create mode 100644 build/aui-radio-group-data-editor/assets/skins/sam/aui-data-editor-skin.css
create mode 100644 build/aui-radio-group-data-editor/assets/skins/sam/aui-options-data-editor-skin.css
create mode 100644 build/aui-radio-group-data-editor/assets/skins/sam/aui-radio-group-data-editor-skin.css
create mode 100644 build/aui-radio-group-data-editor/assets/skins/sam/aui-radio-group-data-editor.css
create mode 100644 build/aui-radio-group-data-editor/assets/skins/sam/aui-text-data-editor-skin.css
create mode 100644 build/aui-radio-group-data-editor/aui-radio-group-data-editor-coverage.js
create mode 100644 build/aui-radio-group-data-editor/aui-radio-group-data-editor-debug.js
create mode 100644 build/aui-radio-group-data-editor/aui-radio-group-data-editor-min.js
create mode 100644 build/aui-radio-group-data-editor/aui-radio-group-data-editor.js
create mode 100644 build/aui-rating-base/assets/aui-rating-base-core.css
create mode 100644 build/aui-rating-base/assets/skins/sam/aui-rating-base-skin.css
create mode 100644 build/aui-rating-base/assets/skins/sam/aui-rating-base.css
create mode 100644 build/aui-rating-base/aui-rating-base-coverage.js
create mode 100644 build/aui-rating-base/aui-rating-base-debug.js
create mode 100644 build/aui-rating-base/aui-rating-base-min.js
create mode 100644 build/aui-rating-base/aui-rating-base.js
create mode 100644 build/aui-rating-thumb/aui-rating-thumb-coverage.js
create mode 100644 build/aui-rating-thumb/aui-rating-thumb-debug.js
create mode 100644 build/aui-rating-thumb/aui-rating-thumb-min.js
create mode 100644 build/aui-rating-thumb/aui-rating-thumb.js
create mode 100644 build/aui-resize-base-deprecated/assets/aui-resize-base-deprecated-core.css
create mode 100644 build/aui-resize-base-deprecated/assets/skins/sam/aui-resize-base-deprecated-skin.css
create mode 100644 build/aui-resize-base-deprecated/assets/skins/sam/aui-resize-base-deprecated.css
create mode 100644 build/aui-resize-base-deprecated/aui-resize-base-deprecated-coverage.js
create mode 100644 build/aui-resize-base-deprecated/aui-resize-base-deprecated-debug.js
create mode 100644 build/aui-resize-base-deprecated/aui-resize-base-deprecated-min.js
create mode 100644 build/aui-resize-base-deprecated/aui-resize-base-deprecated.js
create mode 100644 build/aui-resize-constrain-deprecated/aui-resize-constrain-deprecated-coverage.js
create mode 100644 build/aui-resize-constrain-deprecated/aui-resize-constrain-deprecated-debug.js
create mode 100644 build/aui-resize-constrain-deprecated/aui-resize-constrain-deprecated-min.js
create mode 100644 build/aui-resize-constrain-deprecated/aui-resize-constrain-deprecated.js
create mode 100644 build/aui-scale-data-editor/aui-scale-data-editor-coverage.js
create mode 100644 build/aui-scale-data-editor/aui-scale-data-editor-debug.js
create mode 100644 build/aui-scale-data-editor/aui-scale-data-editor-min.js
create mode 100644 build/aui-scale-data-editor/aui-scale-data-editor.js
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-base/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-base.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-base/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-base/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-base/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-base/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-base/aui-scheduler-base-coverage.js
create mode 100644 build/aui-scheduler-base/aui-scheduler-base-debug.js
create mode 100644 build/aui-scheduler-base/aui-scheduler-base-min.js
create mode 100644 build/aui-scheduler-base/aui-scheduler-base.js
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-event-recorder.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-event-recorder/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-event-recorder/aui-scheduler-event-recorder-coverage.js
create mode 100644 build/aui-scheduler-event-recorder/aui-scheduler-event-recorder-debug.js
create mode 100644 build/aui-scheduler-event-recorder/aui-scheduler-event-recorder-min.js
create mode 100644 build/aui-scheduler-event-recorder/aui-scheduler-event-recorder.js
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-touch/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-touch.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-touch/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-touch/aui-scheduler-touch-coverage.js
create mode 100644 build/aui-scheduler-touch/aui-scheduler-touch-debug.js
create mode 100644 build/aui-scheduler-touch/aui-scheduler-touch-min.js
create mode 100644 build/aui-scheduler-touch/aui-scheduler-touch.js
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-agenda.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-view-agenda/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-view-agenda/aui-scheduler-view-agenda-coverage.js
create mode 100644 build/aui-scheduler-view-agenda/aui-scheduler-view-agenda-debug.js
create mode 100644 build/aui-scheduler-view-agenda/aui-scheduler-view-agenda-min.js
create mode 100644 build/aui-scheduler-view-agenda/aui-scheduler-view-agenda.js
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-view-day/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-day.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-view-day/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-view-day/aui-scheduler-view-day-coverage.js
create mode 100644 build/aui-scheduler-view-day/aui-scheduler-view-day-debug.js
create mode 100644 build/aui-scheduler-view-day/aui-scheduler-view-day-min.js
create mode 100644 build/aui-scheduler-view-day/aui-scheduler-view-day.js
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-view-month/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-month.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-view-month/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-view-month/aui-scheduler-view-month-coverage.js
create mode 100644 build/aui-scheduler-view-month/aui-scheduler-view-month-debug.js
create mode 100644 build/aui-scheduler-view-month/aui-scheduler-view-month-min.js
create mode 100644 build/aui-scheduler-view-month/aui-scheduler-view-month.js
create mode 100644 build/aui-scheduler-view-table-dd/aui-scheduler-view-table-dd-coverage.js
create mode 100644 build/aui-scheduler-view-table-dd/aui-scheduler-view-table-dd-debug.js
create mode 100644 build/aui-scheduler-view-table-dd/aui-scheduler-view-table-dd-min.js
create mode 100644 build/aui-scheduler-view-table-dd/aui-scheduler-view-table-dd.js
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-view-table/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-table.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-view-table/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-view-table/aui-scheduler-view-table-coverage.js
create mode 100644 build/aui-scheduler-view-table/aui-scheduler-view-table-debug.js
create mode 100644 build/aui-scheduler-view-table/aui-scheduler-view-table-min.js
create mode 100644 build/aui-scheduler-view-table/aui-scheduler-view-table.js
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-base-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-event-recorder-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-touch-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-view-agenda-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-view-day-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-view-month-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-view-table-core.css
create mode 100644 build/aui-scheduler-view-week/assets/aui-scheduler-view-week-core.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-base-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-event-recorder-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-touch-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-agenda-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-day-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-month-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-table-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-week-skin.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/aui-scheduler-view-week.css
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/icon-grip-horizontal.png
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/scheduler-arrows.png
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/scheduler-background-striped.png
create mode 100644 build/aui-scheduler-view-week/assets/skins/sam/scheduler-notification.png
create mode 100644 build/aui-scheduler-view-week/aui-scheduler-view-week-coverage.js
create mode 100644 build/aui-scheduler-view-week/aui-scheduler-view-week-debug.js
create mode 100644 build/aui-scheduler-view-week/aui-scheduler-view-week-min.js
create mode 100644 build/aui-scheduler-view-week/aui-scheduler-view-week.js
create mode 100644 build/aui-scroller-deprecated/assets/aui-scroller-deprecated-core.css
create mode 100644 build/aui-scroller-deprecated/assets/skins/sam/aui-scroller-deprecated-skin.css
create mode 100644 build/aui-scroller-deprecated/assets/skins/sam/aui-scroller-deprecated.css
create mode 100644 build/aui-scroller-deprecated/aui-scroller-deprecated-coverage.js
create mode 100644 build/aui-scroller-deprecated/aui-scroller-deprecated-debug.js
create mode 100644 build/aui-scroller-deprecated/aui-scroller-deprecated-min.js
create mode 100644 build/aui-scroller-deprecated/aui-scroller-deprecated.js
create mode 100644 build/aui-scrollspy/aui-scrollspy-coverage.js
create mode 100644 build/aui-scrollspy/aui-scrollspy-debug.js
create mode 100644 build/aui-scrollspy/aui-scrollspy-min.js
create mode 100644 build/aui-scrollspy/aui-scrollspy.js
create mode 100644 build/aui-search-tst/aui-search-tst-coverage.js
create mode 100644 build/aui-search-tst/aui-search-tst-debug.js
create mode 100644 build/aui-search-tst/aui-search-tst-min.js
create mode 100644 build/aui-search-tst/aui-search-tst.js
create mode 100644 build/aui-selector/aui-selector-coverage.js
create mode 100644 build/aui-selector/aui-selector-debug.js
create mode 100644 build/aui-selector/aui-selector-min.js
create mode 100644 build/aui-selector/aui-selector.js
create mode 100644 build/aui-set/aui-set-coverage.js
create mode 100644 build/aui-set/aui-set-debug.js
create mode 100644 build/aui-set/aui-set-min.js
create mode 100644 build/aui-set/aui-set.js
create mode 100644 build/aui-simple-anim-deprecated/aui-simple-anim-deprecated-coverage.js
create mode 100644 build/aui-simple-anim-deprecated/aui-simple-anim-deprecated-debug.js
create mode 100644 build/aui-simple-anim-deprecated/aui-simple-anim-deprecated-min.js
create mode 100644 build/aui-simple-anim-deprecated/aui-simple-anim-deprecated.js
create mode 100644 build/aui-skin-deprecated/css/aui-skin-deprecated.css
create mode 100644 build/aui-skin-deprecated/images/common/state_active_bg.png
create mode 100644 build/aui-skin-deprecated/images/common/state_default_bg.png
create mode 100644 build/aui-skin-deprecated/images/common/state_hover_bg.png
create mode 100644 build/aui-skin-deprecated/images/common/state_selected_hover.png
create mode 100644 build/aui-skin-deprecated/images/icon_sprite.png
create mode 100644 build/aui-skin-deprecated/images/loading_indicator.gif
create mode 100644 build/aui-skin-deprecated/images/menu/bg.png
create mode 100644 build/aui-skin-deprecated/images/panel/header_bg.png
create mode 100644 build/aui-sortable-layout/assets/aui-sortable-layout-core.css
create mode 100644 build/aui-sortable-layout/assets/skins/sam/aui-sortable-layout-skin.css
create mode 100644 build/aui-sortable-layout/assets/skins/sam/aui-sortable-layout.css
create mode 100644 build/aui-sortable-layout/aui-sortable-layout-coverage.js
create mode 100644 build/aui-sortable-layout/aui-sortable-layout-debug.js
create mode 100644 build/aui-sortable-layout/aui-sortable-layout-min.js
create mode 100644 build/aui-sortable-layout/aui-sortable-layout.js
create mode 100644 build/aui-sortable-list/aui-sortable-list-coverage.js
create mode 100644 build/aui-sortable-list/aui-sortable-list-debug.js
create mode 100644 build/aui-sortable-list/aui-sortable-list-min.js
create mode 100644 build/aui-sortable-list/aui-sortable-list.js
create mode 100644 build/aui-state-interaction-deprecated/aui-state-interaction-deprecated-coverage.js
create mode 100644 build/aui-state-interaction-deprecated/aui-state-interaction-deprecated-debug.js
create mode 100644 build/aui-state-interaction-deprecated/aui-state-interaction-deprecated-min.js
create mode 100644 build/aui-state-interaction-deprecated/aui-state-interaction-deprecated.js
create mode 100644 build/aui-surface-app/aui-surface-app-coverage.js
create mode 100644 build/aui-surface-app/aui-surface-app-debug.js
create mode 100644 build/aui-surface-app/aui-surface-app-min.js
create mode 100644 build/aui-surface-app/aui-surface-app.js
create mode 100644 build/aui-surface-base/aui-surface-base-coverage.js
create mode 100644 build/aui-surface-base/aui-surface-base-debug.js
create mode 100644 build/aui-surface-base/aui-surface-base-min.js
create mode 100644 build/aui-surface-base/aui-surface-base.js
create mode 100644 build/aui-surface-screen-html/aui-surface-screen-html-coverage.js
create mode 100644 build/aui-surface-screen-html/aui-surface-screen-html-debug.js
create mode 100644 build/aui-surface-screen-html/aui-surface-screen-html-min.js
create mode 100644 build/aui-surface-screen-html/aui-surface-screen-html.js
create mode 100644 build/aui-surface-screen-route/aui-surface-screen-route-coverage.js
create mode 100644 build/aui-surface-screen-route/aui-surface-screen-route-debug.js
create mode 100644 build/aui-surface-screen-route/aui-surface-screen-route-min.js
create mode 100644 build/aui-surface-screen-route/aui-surface-screen-route.js
create mode 100644 build/aui-surface-screen/aui-surface-screen-coverage.js
create mode 100644 build/aui-surface-screen/aui-surface-screen-debug.js
create mode 100644 build/aui-surface-screen/aui-surface-screen-min.js
create mode 100644 build/aui-surface-screen/aui-surface-screen.js
create mode 100644 build/aui-swf-deprecated/aui-swf-deprecated-coverage.js
create mode 100644 build/aui-swf-deprecated/aui-swf-deprecated-debug.js
create mode 100644 build/aui-swf-deprecated/aui-swf-deprecated-min.js
create mode 100644 build/aui-swf-deprecated/aui-swf-deprecated.js
create mode 100644 build/aui-tabs-data-editor/aui-tabs-data-editor-coverage.js
create mode 100644 build/aui-tabs-data-editor/aui-tabs-data-editor-debug.js
create mode 100644 build/aui-tabs-data-editor/aui-tabs-data-editor-min.js
create mode 100644 build/aui-tabs-data-editor/aui-tabs-data-editor.js
create mode 100644 build/aui-tabview/assets/aui-tabview-core.css
create mode 100644 build/aui-tabview/assets/skins/sam/aui-tabview-skin.css
create mode 100644 build/aui-tabview/assets/skins/sam/aui-tabview.css
create mode 100644 build/aui-tabview/aui-tabview-coverage.js
create mode 100644 build/aui-tabview/aui-tabview-debug.js
create mode 100644 build/aui-tabview/aui-tabview-min.js
create mode 100644 build/aui-tabview/aui-tabview.js
create mode 100644 build/aui-template-deprecated/aui-template-deprecated-coverage.js
create mode 100644 build/aui-template-deprecated/aui-template-deprecated-debug.js
create mode 100644 build/aui-template-deprecated/aui-template-deprecated-min.js
create mode 100644 build/aui-template-deprecated/aui-template-deprecated.js
create mode 100644 build/aui-text-data-editor/assets/aui-data-editor-core.css
create mode 100644 build/aui-text-data-editor/assets/aui-options-data-editor-core.css
create mode 100644 build/aui-text-data-editor/assets/aui-radio-group-data-editor-core.css
create mode 100644 build/aui-text-data-editor/assets/aui-text-data-editor-core.css
create mode 100644 build/aui-text-data-editor/assets/skins/sam/aui-data-editor-skin.css
create mode 100644 build/aui-text-data-editor/assets/skins/sam/aui-options-data-editor-skin.css
create mode 100644 build/aui-text-data-editor/assets/skins/sam/aui-radio-group-data-editor-skin.css
create mode 100644 build/aui-text-data-editor/assets/skins/sam/aui-text-data-editor-skin.css
create mode 100644 build/aui-text-data-editor/assets/skins/sam/aui-text-data-editor.css
create mode 100644 build/aui-text-data-editor/aui-text-data-editor-coverage.js
create mode 100644 build/aui-text-data-editor/aui-text-data-editor-debug.js
create mode 100644 build/aui-text-data-editor/aui-text-data-editor-min.js
create mode 100644 build/aui-text-data-editor/aui-text-data-editor.js
create mode 100644 build/aui-text-data-unicode/aui-text-data-unicode-coverage.js
create mode 100644 build/aui-text-data-unicode/aui-text-data-unicode-debug.js
create mode 100644 build/aui-text-data-unicode/aui-text-data-unicode-min.js
create mode 100644 build/aui-text-data-unicode/aui-text-data-unicode.js
create mode 100644 build/aui-text-unicode/aui-text-unicode-coverage.js
create mode 100644 build/aui-text-unicode/aui-text-unicode-debug.js
create mode 100644 build/aui-text-unicode/aui-text-unicode-min.js
create mode 100644 build/aui-text-unicode/aui-text-unicode.js
create mode 100644 build/aui-textboxlist-deprecated/assets/aui-textboxlist-deprecated-core.css
create mode 100644 build/aui-textboxlist-deprecated/assets/skins/sam/aui-textboxlist-deprecated-skin.css
create mode 100644 build/aui-textboxlist-deprecated/assets/skins/sam/aui-textboxlist-deprecated.css
create mode 100644 build/aui-textboxlist-deprecated/aui-textboxlist-deprecated-coverage.js
create mode 100644 build/aui-textboxlist-deprecated/aui-textboxlist-deprecated-debug.js
create mode 100644 build/aui-textboxlist-deprecated/aui-textboxlist-deprecated-min.js
create mode 100644 build/aui-textboxlist-deprecated/aui-textboxlist-deprecated.js
create mode 100644 build/aui-timepicker-native/aui-timepicker-native-coverage.js
create mode 100644 build/aui-timepicker-native/aui-timepicker-native-debug.js
create mode 100644 build/aui-timepicker-native/aui-timepicker-native-min.js
create mode 100644 build/aui-timepicker-native/aui-timepicker-native.js
create mode 100644 build/aui-timepicker/assets/aui-timepicker-core.css
create mode 100644 build/aui-timepicker/assets/skins/sam/aui-timepicker-skin.css
create mode 100644 build/aui-timepicker/assets/skins/sam/aui-timepicker.css
create mode 100644 build/aui-timepicker/aui-timepicker-coverage.js
create mode 100644 build/aui-timepicker/aui-timepicker-debug.js
create mode 100644 build/aui-timepicker/aui-timepicker-min.js
create mode 100644 build/aui-timepicker/aui-timepicker.js
create mode 100644 build/aui-timer/aui-timer-coverage.js
create mode 100644 build/aui-timer/aui-timer-debug.js
create mode 100644 build/aui-timer/aui-timer-min.js
create mode 100644 build/aui-timer/aui-timer.js
create mode 100644 build/aui-toggler-accessibility/aui-toggler-accessibility-coverage.js
create mode 100644 build/aui-toggler-accessibility/aui-toggler-accessibility-debug.js
create mode 100644 build/aui-toggler-accessibility/aui-toggler-accessibility-min.js
create mode 100644 build/aui-toggler-accessibility/aui-toggler-accessibility.js
create mode 100644 build/aui-toggler-base/assets/aui-toggler-base-core.css
create mode 100644 build/aui-toggler-base/assets/skins/sam/aui-toggler-base-skin.css
create mode 100644 build/aui-toggler-base/assets/skins/sam/aui-toggler-base.css
create mode 100644 build/aui-toggler-base/aui-toggler-base-coverage.js
create mode 100644 build/aui-toggler-base/aui-toggler-base-debug.js
create mode 100644 build/aui-toggler-base/aui-toggler-base-min.js
create mode 100644 build/aui-toggler-base/aui-toggler-base.js
create mode 100644 build/aui-toggler-delegate/aui-toggler-delegate-coverage.js
create mode 100644 build/aui-toggler-delegate/aui-toggler-delegate-debug.js
create mode 100644 build/aui-toggler-delegate/aui-toggler-delegate-min.js
create mode 100644 build/aui-toggler-delegate/aui-toggler-delegate.js
create mode 100644 build/aui-toolbar/aui-toolbar-coverage.js
create mode 100644 build/aui-toolbar/aui-toolbar-debug.js
create mode 100644 build/aui-toolbar/aui-toolbar-min.js
create mode 100644 build/aui-toolbar/aui-toolbar.js
create mode 100644 build/aui-tooltip-base/assets/aui-tooltip-base-core.css
create mode 100644 build/aui-tooltip-base/assets/skins/sam/aui-tooltip-base-skin.css
create mode 100644 build/aui-tooltip-base/assets/skins/sam/aui-tooltip-base.css
create mode 100644 build/aui-tooltip-base/aui-tooltip-base-coverage.js
create mode 100644 build/aui-tooltip-base/aui-tooltip-base-debug.js
create mode 100644 build/aui-tooltip-base/aui-tooltip-base-min.js
create mode 100644 build/aui-tooltip-base/aui-tooltip-base.js
create mode 100644 build/aui-tooltip-delegate/aui-tooltip-delegate-coverage.js
create mode 100644 build/aui-tooltip-delegate/aui-tooltip-delegate-debug.js
create mode 100644 build/aui-tooltip-delegate/aui-tooltip-delegate-min.js
create mode 100644 build/aui-tooltip-delegate/aui-tooltip-delegate.js
create mode 100644 build/aui-tooltip-deprecated/assets/aui-tooltip-deprecated-core.css
create mode 100644 build/aui-tooltip-deprecated/assets/skins/sam/aui-tooltip-deprecated-skin.css
create mode 100644 build/aui-tooltip-deprecated/assets/skins/sam/aui-tooltip-deprecated.css
create mode 100644 build/aui-tooltip-deprecated/aui-tooltip-deprecated-coverage.js
create mode 100644 build/aui-tooltip-deprecated/aui-tooltip-deprecated-debug.js
create mode 100644 build/aui-tooltip-deprecated/aui-tooltip-deprecated-min.js
create mode 100644 build/aui-tooltip-deprecated/aui-tooltip-deprecated.js
create mode 100644 build/aui-tpl-snippets-base-deprecated/aui-tpl-snippets-base-deprecated-coverage.js
create mode 100644 build/aui-tpl-snippets-base-deprecated/aui-tpl-snippets-base-deprecated-debug.js
create mode 100644 build/aui-tpl-snippets-base-deprecated/aui-tpl-snippets-base-deprecated-min.js
create mode 100644 build/aui-tpl-snippets-base-deprecated/aui-tpl-snippets-base-deprecated.js
create mode 100644 build/aui-tpl-snippets-checkbox-deprecated/aui-tpl-snippets-checkbox-deprecated-coverage.js
create mode 100644 build/aui-tpl-snippets-checkbox-deprecated/aui-tpl-snippets-checkbox-deprecated-debug.js
create mode 100644 build/aui-tpl-snippets-checkbox-deprecated/aui-tpl-snippets-checkbox-deprecated-min.js
create mode 100644 build/aui-tpl-snippets-checkbox-deprecated/aui-tpl-snippets-checkbox-deprecated.js
create mode 100644 build/aui-tpl-snippets-input-deprecated/aui-tpl-snippets-input-deprecated-coverage.js
create mode 100644 build/aui-tpl-snippets-input-deprecated/aui-tpl-snippets-input-deprecated-debug.js
create mode 100644 build/aui-tpl-snippets-input-deprecated/aui-tpl-snippets-input-deprecated-min.js
create mode 100644 build/aui-tpl-snippets-input-deprecated/aui-tpl-snippets-input-deprecated.js
create mode 100644 build/aui-tpl-snippets-select-deprecated/aui-tpl-snippets-select-deprecated-coverage.js
create mode 100644 build/aui-tpl-snippets-select-deprecated/aui-tpl-snippets-select-deprecated-debug.js
create mode 100644 build/aui-tpl-snippets-select-deprecated/aui-tpl-snippets-select-deprecated-min.js
create mode 100644 build/aui-tpl-snippets-select-deprecated/aui-tpl-snippets-select-deprecated.js
create mode 100644 build/aui-tpl-snippets-textarea-deprecated/aui-tpl-snippets-textarea-deprecated-coverage.js
create mode 100644 build/aui-tpl-snippets-textarea-deprecated/aui-tpl-snippets-textarea-deprecated-debug.js
create mode 100644 build/aui-tpl-snippets-textarea-deprecated/aui-tpl-snippets-textarea-deprecated-min.js
create mode 100644 build/aui-tpl-snippets-textarea-deprecated/aui-tpl-snippets-textarea-deprecated.js
create mode 100644 build/aui-tree-data/aui-tree-data-coverage.js
create mode 100644 build/aui-tree-data/aui-tree-data-debug.js
create mode 100644 build/aui-tree-data/aui-tree-data-min.js
create mode 100644 build/aui-tree-data/aui-tree-data.js
create mode 100644 build/aui-tree-io/aui-tree-io-coverage.js
create mode 100644 build/aui-tree-io/aui-tree-io-debug.js
create mode 100644 build/aui-tree-io/aui-tree-io-min.js
create mode 100644 build/aui-tree-io/aui-tree-io.js
create mode 100644 build/aui-tree-node/aui-tree-node-coverage.js
create mode 100644 build/aui-tree-node/aui-tree-node-debug.js
create mode 100644 build/aui-tree-node/aui-tree-node-min.js
create mode 100644 build/aui-tree-node/aui-tree-node.js
create mode 100644 build/aui-tree-paginator/aui-tree-paginator-coverage.js
create mode 100644 build/aui-tree-paginator/aui-tree-paginator-debug.js
create mode 100644 build/aui-tree-paginator/aui-tree-paginator-min.js
create mode 100644 build/aui-tree-paginator/aui-tree-paginator.js
create mode 100644 build/aui-tree-view/assets/aui-tree-view-core.css
create mode 100644 build/aui-tree-view/assets/skins/sam/aui-tree-view-skin.css
create mode 100644 build/aui-tree-view/assets/skins/sam/aui-tree-view.css
create mode 100644 build/aui-tree-view/aui-tree-view-coverage.js
create mode 100644 build/aui-tree-view/aui-tree-view-debug.js
create mode 100644 build/aui-tree-view/aui-tree-view-min.js
create mode 100644 build/aui-tree-view/aui-tree-view.js
create mode 100644 build/aui-undo-redo/aui-undo-redo-coverage.js
create mode 100644 build/aui-undo-redo/aui-undo-redo-debug.js
create mode 100644 build/aui-undo-redo/aui-undo-redo-min.js
create mode 100644 build/aui-undo-redo/aui-undo-redo.js
create mode 100644 build/aui-url/aui-url-coverage.js
create mode 100644 build/aui-url/aui-url-debug.js
create mode 100644 build/aui-url/aui-url-min.js
create mode 100644 build/aui-url/aui-url.js
create mode 100644 build/aui-video/assets/aui-video-core.css
create mode 100644 build/aui-video/assets/skins/sam/aui-video-skin.css
create mode 100644 build/aui-video/assets/skins/sam/aui-video.css
create mode 100644 build/aui-video/aui-video-coverage.js
create mode 100644 build/aui-video/aui-video-debug.js
create mode 100644 build/aui-video/aui-video-min.js
create mode 100644 build/aui-video/aui-video.js
create mode 100644 build/aui-viewport/aui-viewport-coverage.js
create mode 100644 build/aui-viewport/aui-viewport-debug.js
create mode 100644 build/aui-viewport/aui-viewport-min.js
create mode 100644 build/aui-viewport/aui-viewport.js
create mode 100644 build/aui-widget-cssclass/aui-widget-cssclass-coverage.js
create mode 100644 build/aui-widget-cssclass/aui-widget-cssclass-debug.js
create mode 100644 build/aui-widget-cssclass/aui-widget-cssclass-min.js
create mode 100644 build/aui-widget-cssclass/aui-widget-cssclass.js
create mode 100644 build/aui-widget-position-align-suggestion/aui-widget-position-align-suggestion-coverage.js
create mode 100644 build/aui-widget-position-align-suggestion/aui-widget-position-align-suggestion-debug.js
create mode 100644 build/aui-widget-position-align-suggestion/aui-widget-position-align-suggestion-min.js
create mode 100644 build/aui-widget-position-align-suggestion/aui-widget-position-align-suggestion.js
create mode 100644 build/aui-widget-responsive/aui-widget-responsive-coverage.js
create mode 100644 build/aui-widget-responsive/aui-widget-responsive-debug.js
create mode 100644 build/aui-widget-responsive/aui-widget-responsive-min.js
create mode 100644 build/aui-widget-responsive/aui-widget-responsive.js
create mode 100644 build/aui-widget-shortcut/aui-widget-shortcut-coverage.js
create mode 100644 build/aui-widget-shortcut/aui-widget-shortcut-debug.js
create mode 100644 build/aui-widget-shortcut/aui-widget-shortcut-min.js
create mode 100644 build/aui-widget-shortcut/aui-widget-shortcut.js
create mode 100644 build/aui-widget-swipe/aui-widget-swipe-coverage.js
create mode 100644 build/aui-widget-swipe/aui-widget-swipe-debug.js
create mode 100644 build/aui-widget-swipe/aui-widget-swipe-min.js
create mode 100644 build/aui-widget-swipe/aui-widget-swipe.js
create mode 100644 build/aui-widget-toggle/aui-widget-toggle-coverage.js
create mode 100644 build/aui-widget-toggle/aui-widget-toggle-debug.js
create mode 100644 build/aui-widget-toggle/aui-widget-toggle-min.js
create mode 100644 build/aui-widget-toggle/aui-widget-toggle.js
create mode 100644 build/aui-widget-toolbars/aui-widget-toolbars-coverage.js
create mode 100644 build/aui-widget-toolbars/aui-widget-toolbars-debug.js
create mode 100644 build/aui-widget-toolbars/aui-widget-toolbars-min.js
create mode 100644 build/aui-widget-toolbars/aui-widget-toolbars.js
create mode 100644 build/aui-widget-transition/aui-widget-transition-coverage.js
create mode 100644 build/aui-widget-transition/aui-widget-transition-debug.js
create mode 100644 build/aui-widget-transition/aui-widget-transition-min.js
create mode 100644 build/aui-widget-transition/aui-widget-transition.js
create mode 100644 build/aui-widget-trigger/aui-widget-trigger-coverage.js
create mode 100644 build/aui-widget-trigger/aui-widget-trigger-debug.js
create mode 100644 build/aui-widget-trigger/aui-widget-trigger-min.js
create mode 100644 build/aui-widget-trigger/aui-widget-trigger.js
diff --git a/build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-coverage.js b/build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-coverage.js
new file mode 100644
index 00000000000..d6153f19c78
--- /dev/null
+++ b/build/aui-ace-autocomplete-base/aui-ace-autocomplete-base-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-ace-autocomplete-base/aui-ace-autocomplete-base.js']) {
+ __coverage__['build/aui-ace-autocomplete-base/aui-ace-autocomplete-base.js'] = {"path":"build/aui-ace-autocomplete-base/aui-ace-autocomplete-base.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":37},"end":{"line":1,"column":56}}},"2":{"name":"(anonymous_2)","line":18,"loc":{"start":{"line":18,"column":11},"end":{"line":18,"column":22}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":17},"end":{"line":37,"column":28}}},"4":{"name":"(anonymous_4)","line":65,"loc":{"start":{"line":65,"column":20},"end":{"line":65,"column":38}}},"5":{"name":"(anonymous_5)","line":116,"loc":{"start":{"line":116,"column":19},"end":{"line":116,"column":30}}},"6":{"name":"(anonymous_6)","line":139,"loc":{"start":{"line":139,"column":18},"end":{"line":139,"column":29}}},"7":{"name":"(anonymous_7)","line":161,"loc":{"start":{"line":161,"column":28},"end":{"line":161,"column":39}}},"8":{"name":"(anonymous_8)","line":189,"loc":{"start":{"line":189,"column":22},"end":{"line":189,"column":33}}},"9":{"name":"(anonymous_9)","line":211,"loc":{"start":{"line":211,"column":16},"end":{"line":211,"column":27}}},"10":{"name":"(anonymous_10)","line":227,"loc":{"start":{"line":227,"column":20},"end":{"line":227,"column":47}}},"11":{"name":"(anonymous_11)","line":267,"loc":{"start":{"line":267,"column":18},"end":{"line":267,"column":33}}},"12":{"name":"(anonymous_12)","line":286,"loc":{"start":{"line":286,"column":21},"end":{"line":286,"column":37}}},"13":{"name":"(anonymous_13)","line":329,"loc":{"start":{"line":329,"column":27},"end":{"line":329,"column":38}}},"14":{"name":"(anonymous_14)","line":342,"loc":{"start":{"line":342,"column":21},"end":{"line":342,"column":37}}},"15":{"name":"(anonymous_15)","line":355,"loc":{"start":{"line":355,"column":23},"end":{"line":355,"column":41}}},"16":{"name":"(anonymous_16)","line":376,"loc":{"start":{"line":376,"column":24},"end":{"line":376,"column":35}}},"17":{"name":"(anonymous_17)","line":408,"loc":{"start":{"line":408,"column":18},"end":{"line":408,"column":60}}},"18":{"name":"(anonymous_18)","line":415,"loc":{"start":{"line":415,"column":12},"end":{"line":415,"column":27}}},"19":{"name":"(anonymous_19)","line":452,"loc":{"start":{"line":452,"column":26},"end":{"line":452,"column":48}}},"20":{"name":"(anonymous_20)","line":505,"loc":{"start":{"line":505,"column":33},"end":{"line":505,"column":44}}},"21":{"name":"(anonymous_21)","line":525,"loc":{"start":{"line":525,"column":20},"end":{"line":525,"column":62}}},"22":{"name":"(anonymous_22)","line":527,"loc":{"start":{"line":527,"column":12},"end":{"line":527,"column":35}}},"23":{"name":"(anonymous_23)","line":571,"loc":{"start":{"line":571,"column":23},"end":{"line":571,"column":39}}},"24":{"name":"(anonymous_24)","line":646,"loc":{"start":{"line":646,"column":17},"end":{"line":646,"column":28}}},"25":{"name":"(anonymous_25)","line":662,"loc":{"start":{"line":662,"column":19},"end":{"line":662,"column":35}}},"26":{"name":"(anonymous_26)","line":692,"loc":{"start":{"line":692,"column":17},"end":{"line":692,"column":28}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":705,"column":60}},"2":{"start":{"line":10,"column":0},"end":{"line":18,"column":25}},"3":{"start":{"line":28,"column":0},"end":{"line":574,"column":2}},"4":{"start":{"line":38,"column":8},"end":{"line":39,"column":22}},"5":{"start":{"line":41,"column":8},"end":{"line":41,"column":38}},"6":{"start":{"line":43,"column":8},"end":{"line":43,"column":62}},"7":{"start":{"line":45,"column":8},"end":{"line":45,"column":46}},"8":{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},"9":{"start":{"line":48,"column":12},"end":{"line":48,"column":44}},"10":{"start":{"line":51,"column":8},"end":{"line":51,"column":73}},"11":{"start":{"line":52,"column":8},"end":{"line":52,"column":77}},"12":{"start":{"line":66,"column":8},"end":{"line":74,"column":21}},"13":{"start":{"line":76,"column":8},"end":{"line":76,"column":36}},"14":{"start":{"line":78,"column":8},"end":{"line":78,"column":39}},"15":{"start":{"line":80,"column":8},"end":{"line":80,"column":93}},"16":{"start":{"line":82,"column":8},"end":{"line":99,"column":9}},"17":{"start":{"line":83,"column":12},"end":{"line":83,"column":48}},"18":{"start":{"line":85,"column":12},"end":{"line":85,"column":39}},"19":{"start":{"line":87,"column":12},"end":{"line":87,"column":80}},"20":{"start":{"line":89,"column":12},"end":{"line":89,"column":56}},"21":{"start":{"line":91,"column":12},"end":{"line":91,"column":51}},"22":{"start":{"line":93,"column":12},"end":{"line":93,"column":105}},"23":{"start":{"line":95,"column":12},"end":{"line":95,"column":62}},"24":{"start":{"line":98,"column":12},"end":{"line":98,"column":32}},"25":{"start":{"line":101,"column":8},"end":{"line":101,"column":23}},"26":{"start":{"line":103,"column":8},"end":{"line":103,"column":37}},"27":{"start":{"line":105,"column":8},"end":{"line":105,"column":45}},"28":{"start":{"line":107,"column":8},"end":{"line":107,"column":33}},"29":{"start":{"line":117,"column":8},"end":{"line":118,"column":19}},"30":{"start":{"line":120,"column":8},"end":{"line":124,"column":10}},"31":{"start":{"line":126,"column":8},"end":{"line":126,"column":39}},"32":{"start":{"line":128,"column":8},"end":{"line":128,"column":67}},"33":{"start":{"line":130,"column":8},"end":{"line":130,"column":50}},"34":{"start":{"line":132,"column":8},"end":{"line":144,"column":11}},"35":{"start":{"line":140,"column":16},"end":{"line":140,"column":64}},"36":{"start":{"line":142,"column":16},"end":{"line":142,"column":89}},"37":{"start":{"line":146,"column":8},"end":{"line":146,"column":85}},"38":{"start":{"line":148,"column":8},"end":{"line":148,"column":83}},"39":{"start":{"line":150,"column":8},"end":{"line":150,"column":68}},"40":{"start":{"line":162,"column":8},"end":{"line":167,"column":16}},"41":{"start":{"line":169,"column":8},"end":{"line":169,"column":39}},"42":{"start":{"line":171,"column":8},"end":{"line":171,"column":52}},"43":{"start":{"line":173,"column":8},"end":{"line":173,"column":33}},"44":{"start":{"line":174,"column":8},"end":{"line":174,"column":39}},"45":{"start":{"line":176,"column":8},"end":{"line":176,"column":44}},"46":{"start":{"line":178,"column":8},"end":{"line":180,"column":9}},"47":{"start":{"line":179,"column":12},"end":{"line":179,"column":39}},"48":{"start":{"line":190,"column":8},"end":{"line":191,"column":19}},"49":{"start":{"line":193,"column":8},"end":{"line":193,"column":39}},"50":{"start":{"line":195,"column":8},"end":{"line":195,"column":58}},"51":{"start":{"line":197,"column":8},"end":{"line":197,"column":62}},"52":{"start":{"line":199,"column":8},"end":{"line":199,"column":95}},"53":{"start":{"line":201,"column":8},"end":{"line":201,"column":47}},"54":{"start":{"line":212,"column":8},"end":{"line":212,"column":28}},"55":{"start":{"line":214,"column":8},"end":{"line":214,"column":48}},"56":{"start":{"line":228,"column":8},"end":{"line":232,"column":20}},"57":{"start":{"line":234,"column":8},"end":{"line":234,"column":42}},"58":{"start":{"line":236,"column":8},"end":{"line":242,"column":9}},"59":{"start":{"line":237,"column":12},"end":{"line":237,"column":75}},"60":{"start":{"line":239,"column":12},"end":{"line":241,"column":13}},"61":{"start":{"line":240,"column":16},"end":{"line":240,"column":22}},"62":{"start":{"line":244,"column":8},"end":{"line":244,"column":42}},"63":{"start":{"line":246,"column":8},"end":{"line":252,"column":9}},"64":{"start":{"line":247,"column":12},"end":{"line":247,"column":75}},"65":{"start":{"line":249,"column":12},"end":{"line":251,"column":13}},"66":{"start":{"line":250,"column":16},"end":{"line":250,"column":22}},"67":{"start":{"line":254,"column":8},"end":{"line":254,"column":23}},"68":{"start":{"line":268,"column":8},"end":{"line":269,"column":26}},"69":{"start":{"line":271,"column":8},"end":{"line":275,"column":9}},"70":{"start":{"line":272,"column":12},"end":{"line":272,"column":57}},"71":{"start":{"line":274,"column":12},"end":{"line":274,"column":58}},"72":{"start":{"line":287,"column":8},"end":{"line":293,"column":21}},"73":{"start":{"line":295,"column":8},"end":{"line":295,"column":26}},"74":{"start":{"line":297,"column":8},"end":{"line":297,"column":33}},"75":{"start":{"line":299,"column":8},"end":{"line":318,"column":9}},"76":{"start":{"line":300,"column":12},"end":{"line":300,"column":35}},"77":{"start":{"line":302,"column":12},"end":{"line":302,"column":44}},"78":{"start":{"line":303,"column":12},"end":{"line":303,"column":39}},"79":{"start":{"line":304,"column":12},"end":{"line":304,"column":43}},"80":{"start":{"line":306,"column":12},"end":{"line":308,"column":13}},"81":{"start":{"line":307,"column":16},"end":{"line":307,"column":68}},"82":{"start":{"line":310,"column":12},"end":{"line":317,"column":14}},"83":{"start":{"line":330,"column":8},"end":{"line":330,"column":28}},"84":{"start":{"line":332,"column":8},"end":{"line":332,"column":81}},"85":{"start":{"line":343,"column":8},"end":{"line":343,"column":28}},"86":{"start":{"line":345,"column":8},"end":{"line":345,"column":45}},"87":{"start":{"line":356,"column":8},"end":{"line":356,"column":28}},"88":{"start":{"line":358,"column":8},"end":{"line":358,"column":41}},"89":{"start":{"line":377,"column":8},"end":{"line":379,"column":19}},"90":{"start":{"line":381,"column":8},"end":{"line":381,"column":39}},"91":{"start":{"line":383,"column":8},"end":{"line":383,"column":44}},"92":{"start":{"line":385,"column":8},"end":{"line":395,"column":10}},"93":{"start":{"line":409,"column":8},"end":{"line":411,"column":9}},"94":{"start":{"line":410,"column":12},"end":{"line":410,"column":27}},"95":{"start":{"line":413,"column":8},"end":{"line":435,"column":10}},"96":{"start":{"line":416,"column":16},"end":{"line":416,"column":34}},"97":{"start":{"line":418,"column":16},"end":{"line":431,"column":17}},"98":{"start":{"line":419,"column":20},"end":{"line":419,"column":35}},"99":{"start":{"line":422,"column":20},"end":{"line":426,"column":21}},"100":{"start":{"line":423,"column":24},"end":{"line":423,"column":50}},"101":{"start":{"line":425,"column":24},"end":{"line":425,"column":56}},"102":{"start":{"line":428,"column":20},"end":{"line":430,"column":21}},"103":{"start":{"line":429,"column":24},"end":{"line":429,"column":39}},"104":{"start":{"line":433,"column":16},"end":{"line":433,"column":30}},"105":{"start":{"line":453,"column":8},"end":{"line":459,"column":22}},"106":{"start":{"line":461,"column":8},"end":{"line":461,"column":21}},"107":{"start":{"line":463,"column":8},"end":{"line":463,"column":39}},"108":{"start":{"line":465,"column":8},"end":{"line":465,"column":48}},"109":{"start":{"line":467,"column":8},"end":{"line":467,"column":41}},"110":{"start":{"line":469,"column":8},"end":{"line":469,"column":46}},"111":{"start":{"line":471,"column":8},"end":{"line":471,"column":41}},"112":{"start":{"line":473,"column":8},"end":{"line":486,"column":9}},"113":{"start":{"line":474,"column":12},"end":{"line":474,"column":74}},"114":{"start":{"line":476,"column":12},"end":{"line":476,"column":46}},"115":{"start":{"line":477,"column":12},"end":{"line":477,"column":46}},"116":{"start":{"line":479,"column":12},"end":{"line":483,"column":14}},"117":{"start":{"line":485,"column":12},"end":{"line":485,"column":98}},"118":{"start":{"line":488,"column":8},"end":{"line":496,"column":10}},"119":{"start":{"line":506,"column":8},"end":{"line":506,"column":28}},"120":{"start":{"line":508,"column":8},"end":{"line":508,"column":63}},"121":{"start":{"line":510,"column":8},"end":{"line":510,"column":44}},"122":{"start":{"line":526,"column":8},"end":{"line":559,"column":10}},"123":{"start":{"line":528,"column":16},"end":{"line":530,"column":27}},"124":{"start":{"line":532,"column":16},"end":{"line":532,"column":27}},"125":{"start":{"line":534,"column":16},"end":{"line":538,"column":17}},"126":{"start":{"line":535,"column":20},"end":{"line":535,"column":48}},"127":{"start":{"line":537,"column":20},"end":{"line":537,"column":48}},"128":{"start":{"line":540,"column":16},"end":{"line":540,"column":48}},"129":{"start":{"line":542,"column":16},"end":{"line":542,"column":48}},"130":{"start":{"line":544,"column":16},"end":{"line":555,"column":17}},"131":{"start":{"line":545,"column":20},"end":{"line":545,"column":56}},"132":{"start":{"line":547,"column":21},"end":{"line":555,"column":17}},"133":{"start":{"line":548,"column":20},"end":{"line":548,"column":32}},"134":{"start":{"line":550,"column":21},"end":{"line":555,"column":17}},"135":{"start":{"line":551,"column":20},"end":{"line":551,"column":31}},"136":{"start":{"line":554,"column":20},"end":{"line":554,"column":56}},"137":{"start":{"line":557,"column":16},"end":{"line":557,"column":30}},"138":{"start":{"line":572,"column":8},"end":{"line":572,"column":87}},"139":{"start":{"line":582,"column":0},"end":{"line":582,"column":41}},"140":{"start":{"line":591,"column":0},"end":{"line":591,"column":47}},"141":{"start":{"line":600,"column":0},"end":{"line":600,"column":36}},"142":{"start":{"line":609,"column":0},"end":{"line":609,"column":34}},"143":{"start":{"line":619,"column":0},"end":{"line":700,"column":2}},"144":{"start":{"line":647,"column":12},"end":{"line":647,"column":32}},"145":{"start":{"line":649,"column":12},"end":{"line":651,"column":18}},"146":{"start":{"line":663,"column":12},"end":{"line":663,"column":66}},"147":{"start":{"line":693,"column":12},"end":{"line":693,"column":32}},"148":{"start":{"line":695,"column":12},"end":{"line":697,"column":18}},"149":{"start":{"line":702,"column":0},"end":{"line":702,"column":36}}},"branchMap":{"1":{"line":47,"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":47,"column":8}},{"start":{"line":47,"column":8},"end":{"line":47,"column":8}}]},"2":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":47,"column":21}},{"start":{"line":47,"column":25},"end":{"line":47,"column":47}}]},"3":{"line":82,"type":"if","locations":[{"start":{"line":82,"column":8},"end":{"line":82,"column":8}},{"start":{"line":82,"column":8},"end":{"line":82,"column":8}}]},"4":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":8}},{"start":{"line":178,"column":8},"end":{"line":178,"column":8}}]},"5":{"line":178,"type":"binary-expr","locations":[{"start":{"line":178,"column":12},"end":{"line":178,"column":35}},{"start":{"line":178,"column":39},"end":{"line":178,"column":71}}]},"6":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":12},"end":{"line":239,"column":12}},{"start":{"line":239,"column":12},"end":{"line":239,"column":12}}]},"7":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":12},"end":{"line":249,"column":12}},{"start":{"line":249,"column":12},"end":{"line":249,"column":12}}]},"8":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":271,"column":8}},{"start":{"line":271,"column":8},"end":{"line":271,"column":8}}]},"9":{"line":271,"type":"binary-expr","locations":[{"start":{"line":271,"column":12},"end":{"line":271,"column":25}},{"start":{"line":271,"column":29},"end":{"line":271,"column":42}}]},"10":{"line":299,"type":"if","locations":[{"start":{"line":299,"column":8},"end":{"line":299,"column":8}},{"start":{"line":299,"column":8},"end":{"line":299,"column":8}}]},"11":{"line":299,"type":"binary-expr","locations":[{"start":{"line":299,"column":12},"end":{"line":299,"column":33}},{"start":{"line":299,"column":38},"end":{"line":299,"column":65}},{"start":{"line":299,"column":69},"end":{"line":299,"column":96}}]},"12":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":12},"end":{"line":306,"column":12}},{"start":{"line":306,"column":12},"end":{"line":306,"column":12}}]},"13":{"line":306,"type":"binary-expr","locations":[{"start":{"line":306,"column":16},"end":{"line":306,"column":43}},{"start":{"line":306,"column":47},"end":{"line":306,"column":66}}]},"14":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":8},"end":{"line":409,"column":8}},{"start":{"line":409,"column":8},"end":{"line":409,"column":8}}]},"15":{"line":418,"type":"if","locations":[{"start":{"line":418,"column":16},"end":{"line":418,"column":16}},{"start":{"line":418,"column":16},"end":{"line":418,"column":16}}]},"16":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":20},"end":{"line":422,"column":20}},{"start":{"line":422,"column":20},"end":{"line":422,"column":20}}]},"17":{"line":428,"type":"if","locations":[{"start":{"line":428,"column":20},"end":{"line":428,"column":20}},{"start":{"line":428,"column":20},"end":{"line":428,"column":20}}]},"18":{"line":473,"type":"if","locations":[{"start":{"line":473,"column":8},"end":{"line":473,"column":8}},{"start":{"line":473,"column":8},"end":{"line":473,"column":8}}]},"19":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":16},"end":{"line":534,"column":16}},{"start":{"line":534,"column":16},"end":{"line":534,"column":16}}]},"20":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":16},"end":{"line":544,"column":16}},{"start":{"line":544,"column":16},"end":{"line":544,"column":16}}]},"21":{"line":544,"type":"binary-expr","locations":[{"start":{"line":544,"column":20},"end":{"line":544,"column":32}},{"start":{"line":544,"column":36},"end":{"line":544,"column":48}}]},"22":{"line":547,"type":"if","locations":[{"start":{"line":547,"column":21},"end":{"line":547,"column":21}},{"start":{"line":547,"column":21},"end":{"line":547,"column":21}}]},"23":{"line":550,"type":"if","locations":[{"start":{"line":550,"column":21},"end":{"line":550,"column":21}},{"start":{"line":550,"column":21},"end":{"line":550,"column":21}}]},"24":{"line":572,"type":"binary-expr","locations":[{"start":{"line":572,"column":16},"end":{"line":572,"column":50}},{"start":{"line":572,"column":54},"end":{"line":572,"column":85}}]},"25":{"line":663,"type":"binary-expr","locations":[{"start":{"line":663,"column":19},"end":{"line":663,"column":39}},{"start":{"line":663,"column":43},"end":{"line":663,"column":65}}]}},"code":["(function () { YUI.add('aui-ace-autocomplete-base', function (A, NAME) {","","/**"," * The ACE Editor Component"," *"," * @module aui-ace-editor"," * @submodule aui-ace-autocomplete-base"," */","","var Lang = A.Lang,"," AArray = A.Array,"," Do = A.Do,"," ADOM = A.DOM,",""," FILL_MODE_INSERT = 1,"," FILL_MODE_OVERWRITE = 0,",""," Base = function() {};","","/**"," * A base class for AutoCompleteBase."," *"," * @class A.AceEditor.AutoCompleteBase"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","Base.prototype = {",""," /**"," * Construction logic executed during AutoCompleteBase instantiation."," * Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," var instance = this,"," processor;",""," instance._editorCommands = [];",""," A.after(instance._bindUIACBase, instance, 'renderUI');",""," processor = instance.get('processor');",""," if (processor && !processor.get('host')) {"," processor.set('host', instance);"," }",""," instance._onResultsErrorFn = A.bind('_onResultsError', instance);"," instance._onResultsSuccessFn = A.bind('_onResultsSuccess', instance);"," },",""," /**"," * Inserts the provided suggestion as a string to the editor. The added text"," * can overwrite the match or to be inserted depending on the `fillMode`"," * attribute."," *"," * @method _addSuggestion"," * @param {String} content"," * @protected"," * @return {Do.Halt} Instance of Do.Halt to stop function execution"," */"," _addSuggestion: function(content) {"," var instance = this,"," cursorPosition,"," data,"," editor,"," matchParams,"," overwriteRange,"," Range,"," startColumn,"," startRow;",""," instance._lockEditor = true;",""," editor = instance._getEditor();",""," data = instance.get('processor').getSuggestion(instance._matchParams.match, content);",""," if (instance.get('fillMode') === Base.FILL_MODE_OVERWRITE) {"," matchParams = instance._matchParams;",""," startRow = matchParams.row;",""," startColumn = matchParams.column - matchParams.match.content.length;",""," cursorPosition = editor.getCursorPosition();",""," Range = ace.require('ace/range').Range;",""," overwriteRange = new Range(startRow, startColumn, cursorPosition.row, cursorPosition.column);",""," editor.getSession().replace(overwriteRange, data);"," }"," else {"," editor.insert(data);"," }",""," editor.focus();",""," instance._lockEditor = false;",""," instance.fire('addSuggestion', data);",""," return new Do.Halt(null);"," },",""," /**"," * Binds editor events."," *"," * @method _bindUIACBase"," * @protected"," */"," _bindUIACBase: function() {"," var instance = this,"," editor;",""," instance.publish("," 'cursorChange', {"," defaultFn: instance._defaultCursorChangeFn"," }"," );",""," editor = instance._getEditor();",""," instance._onChangeFn = A.bind('_onEditorChange', instance);",""," editor.on('change', instance._onChangeFn);",""," editor.commands.addCommand({"," name: 'showAutoComplete',"," bindKey: A.merge("," instance.get('showListKey'), {"," sender: 'editor|cli'"," }"," ),"," exec: function() {"," var cursorPosition = editor.getCursorPosition();",""," instance._processAutoComplete(cursorPosition.row, cursorPosition.column);"," }"," });",""," instance._onEditorChangeCursorFn = A.bind('_onEditorChangeCursor', instance);",""," editor.getSelection().on('changeCursor', instance._onEditorChangeCursorFn);",""," instance.on('destroy', instance._destroyUIACBase, instance);"," },",""," /**"," * Checks if the cursor is out of the row/column on the latest match. If so,"," * fires an `cursorOut` event."," *"," * @method _defaultCursorChangeFn"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _defaultCursorChangeFn: function() {"," var instance = this,"," column,"," cursorPosition,"," editor,"," matchParams,"," row;",""," editor = instance._getEditor();",""," cursorPosition = editor.getCursorPosition();",""," row = cursorPosition.row;"," column = cursorPosition.column;",""," matchParams = instance._matchParams;",""," if (row !== matchParams.row || column < matchParams.match.start) {"," instance.fire('cursorOut');"," }"," },",""," /**"," * Removes the listeners to editor commands."," *"," * @method _destroyUIACBase"," * @protected"," */"," _destroyUIACBase: function() {"," var instance = this,"," editor;",""," editor = instance._getEditor();",""," editor.commands.removeCommand('showAutoComplete');",""," editor.removeListener('change', instance._onChangeFn);",""," editor.getSelection().removeListener('changeCursor', instance._onEditorChangeCursorFn);",""," instance._removeAutoCompleteCommands();"," },",""," /**"," * Returns the editor instance."," *"," * @method _getEditor"," * @protected"," * @return {Object} Editor instance"," */"," _getEditor: function() {"," var instance = this;",""," return instance.get('host').getEditor();"," },",""," /**"," * Filters and sorts the found suggestions using the existing chain of"," * `filters` and `sorters`."," *"," * @method _filterResults"," * @param {String} content"," * @param {Array} results"," * @protected"," * @return {Array} The filtered results"," */"," _filterResults: function(content, results) {"," var instance = this,"," filters,"," i,"," length,"," sorters;",""," filters = instance.get('filters');",""," for (i = 0, length = filters.length; i < length; ++i) {"," results = filters[i].call(instance, content, results.concat());",""," if (!results.length) {"," break;"," }"," }",""," sorters = instance.get('sorters');",""," for (i = 0, length = sorters.length; i < length; ++i) {"," results = sorters[i].call(instance, content, results.concat());",""," if (!results.length) {"," break;"," }"," }",""," return results;"," },",""," /**"," * Checks for new line or tab character and adds a suggestion to the editor"," * if so."," *"," * @method _handleEnter"," * @param {String} text"," * @protected"," * @return {Do.Halt} If text is new line or tab character, returns an"," * instance of Do.Halt to stop function execution"," */"," _handleEnter: function(text) {"," var instance = this,"," selectedEntry;",""," if (text === '\\n' || text === '\\t') {"," selectedEntry = instance._getSelectedEntry();",""," return instance._addSuggestion(selectedEntry);"," }"," },",""," /**"," * Handles editor change event. If editor is not locked and data action is"," * insert or remove text, process auto complete."," *"," * @method _onEditorChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onEditorChange: function(event) {"," var instance = this,"," column,"," data,"," dataAction,"," dataRange,"," endRow,"," startRow;",""," data = event.data;",""," dataAction = data.action;",""," if (!instance._lockEditor && (dataAction === 'insertText' || dataAction === 'removeText')) {"," dataRange = data.range;",""," column = dataRange.start.column;"," endRow = dataRange.end.row;"," startRow = dataRange.start.row;",""," if (dataAction === 'insertText' && startRow === endRow) {"," instance._processAutoComplete(startRow, column + 1);"," }",""," instance.fire("," dataAction, {"," column: column,"," dataRange: dataRange,"," endRow: endRow,"," startRow: startRow"," }"," );"," }"," },",""," /**"," * Fires cursor change event providing the current position as event"," * payload."," *"," * @method _onEditorChangeCursor"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onEditorChangeCursor: function() {"," var instance = this;",""," instance.fire('cursorChange', instance._getEditor().getCursorPosition());"," },",""," /**"," * Fires an `resultsError` event containing the error."," *"," * @method _onResultsError"," * @param error"," * @protected"," */"," _onResultsError: function(error) {"," var instance = this;",""," instance.fire('resultsError', error);"," },",""," /**"," * Updates `results` attribute with the provided results."," *"," * @method _onResultsSuccess"," * @param {Array} results"," * @protected"," */"," _onResultsSuccess: function(results) {"," var instance = this;",""," instance.set('results', results);"," },",""," /**"," * Overwrites the following editor commands:"," * onTextInput,"," * golinedown"," * golineup"," * gotoend"," * gotolineend"," * gotolinestart"," * gotopagedown"," * gotopageup"," * gotostart"," *"," * @method _overwriteCommands"," * @protected"," */"," _overwriteCommands: function() {"," var instance = this,"," commands,"," editor;",""," editor = instance._getEditor();",""," commands = editor.commands.commands;",""," instance._editorCommands.push("," Do.before(instance._handleEnter, editor, 'onTextInput', instance),"," Do.before(instance._handleKey, commands.golinedown, 'exec', instance, 40),"," Do.before(instance._handleKey, commands.golineup, 'exec', instance, 38),"," Do.before(instance._handleKey, commands.gotoend, 'exec', instance, 35),"," Do.before(instance._handleKey, commands.gotolineend, 'exec', instance, 35),"," Do.before(instance._handleKey, commands.gotolinestart, 'exec', instance, 36),"," Do.before(instance._handleKey, commands.gotopagedown, 'exec', instance, 34),"," Do.before(instance._handleKey, commands.gotopageup, 'exec', instance, 33),"," Do.before(instance._handleKey, commands.gotostart, 'exec', instance, 36)"," );"," },",""," /**"," * Checks for phrase match."," *"," * @method _phraseMatch"," * @param {String} content The content to be checked for phrase match"," * @param {Array} results The results to be filtered"," * @param {Boolean} caseSensitive Should the check be case sensitive or not"," * @protected"," * @return {Array} The filtered results"," */"," _phraseMatch: function(content, results, caseSensitive) {"," if (!content) {"," return results;"," }",""," return AArray.filter("," results,"," function(item) {"," var result = true;",""," if (item === content) {"," result = false;"," }"," else {"," if (!caseSensitive) {"," item = item.toLowerCase();",""," content = content.toLowerCase();"," }",""," if (item.indexOf(content) === -1) {"," result = false;"," }"," }",""," return result;"," }"," );"," },",""," /**"," * Invokes the loaded content processor and checks for match. If found,"," * provides the match together with information about current row and column"," * and invokes processor's `getResults` function in order to retrieve"," * results. At the end, fires and `match` event with the following"," * properties: column - the current column coords - the page coordinates of"," * the match line - the current line match - the current match row - the"," * current row"," *"," * @method _processAutoComplete"," * @param {Number} row The row on which match happened"," * @param {Number} column The column on which match happened"," * @protected"," */"," _processAutoComplete: function(row, column) {"," var instance = this,"," col,"," coords,"," editor,"," line,"," match,"," processor;",""," col = column;",""," editor = instance._getEditor();",""," line = editor.getSession().getLine(row);",""," line = line.substring(0, column);",""," processor = instance.get('processor');",""," match = processor.getMatch(line);",""," if (Lang.isObject(match)) {"," coords = editor.renderer.textToScreenCoordinates(row, column);",""," coords.pageX += ADOM.docScrollX();"," coords.pageY += ADOM.docScrollY();",""," instance._matchParams = {"," column: column,"," match: match,"," row: row"," };",""," processor.getResults(match, instance._onResultsSuccessFn, instance._onResultsErrorFn);"," }",""," instance.fire("," 'match', {"," column: column,"," coords: coords,"," line: line,"," match: match,"," row: row"," }"," );"," },",""," /**"," * Detaches the previously attached editor commands."," *"," * @method _removeAutoCompleteCommands"," * @protected"," */"," _removeAutoCompleteCommands: function() {"," var instance = this;",""," (new A.EventHandle(instance._editorCommands)).detach();",""," instance._editorCommands.length = 0;"," },",""," /**"," * Sorts the results in ascending order, taking in consideration the length"," * of the content."," *"," * @method _sortAscLength"," * @param {String} content The text content"," * @param {Array} results The results to be filtered"," * @param {Boolean} caseSensitive Should we filter these results"," * alphabetically"," * @protected"," * @return {Array} The sorted results"," */"," _sortAscLength: function(content, results, caseSensitive) {"," return results.sort("," function(item1, item2) {"," var index1,"," index2,"," result;",""," result = 0;",""," if (!caseSensitive) {"," item1 = item1.toLowerCase();",""," item2 = item2.toLowerCase();"," }",""," index1 = item1.indexOf(content);",""," index2 = item2.indexOf(content);",""," if (index1 === 0 && index2 === 0) {"," result = item1.localeCompare(item2);"," }"," else if (index1 === 0) {"," result = -1;"," }"," else if (index2 === 0) {"," result = 1;"," }"," else {"," result = item1.localeCompare(item2);"," }",""," return result;"," }"," );"," },",""," /**"," * Validates the value of `fillMode` attribute."," *"," * @method _validateFillMode"," * @param value"," * @protected"," * @return {Boolean} True if mode is 'overwrite' - value '0' or 'insert' -"," * value '1'"," */"," _validateFillMode: function(value) {"," return (value === Base.FILL_MODE_OVERWRITE || value === Base.FILL_MODE_INSERT);"," }","};","","/**"," * Exposes a constant for insert fill mode. See `fillMode` for more information."," *"," * @property FILL_MODE_INSERT"," * @static"," */","Base.FILL_MODE_INSERT = FILL_MODE_INSERT;","","/**"," * Exposes a constant for overwrite fill mode. See `fillMode` for more"," * information."," *"," * @property FILL_MODE_OVERWRITE"," * @static"," */","Base.FILL_MODE_OVERWRITE = FILL_MODE_OVERWRITE;","","/**"," * Static property which provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */","Base.NAME = 'ace-autocomplete-base';","","/**"," * Static property which provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */","Base.NS = 'ace-autocomplete-base';","","/**"," * Static property used to define the default attribute"," * configuration for AutoCompleteBase."," *"," * @property ATTRS"," * @type Object"," * @static"," */","Base.ATTRS = {",""," /**"," * The mode in which the AutoComplete should operate. Can be one of these:"," * INSERT - value '0' or OVERWRITE - value '1'. In case of INSERT mode, when"," * Editor adds a suggestion, it will be added next to the matched"," * expression. In case of OVERWRITE mode, the suggestion will overwrite the"," * matched expression."," *"," * @attribute fillMode"," * @default 1 - OVERWRITE mode"," * @type Number"," */"," fillMode: {"," validator: '_validateFillMode',"," value: Base.FILL_MODE_OVERWRITE"," },",""," /**"," * Provides an array of filter functions which will filter the results. By"," * default there is one function which provides phrase match filtering."," *"," * @attribute filters"," * @default Array with one function which provides phrase match filtering"," * @type Array"," */"," filters: {"," valueFn: function() {"," var instance = this;",""," return ["," instance._phraseMatch"," ];"," }"," },",""," /**"," * The default processor which will be used to process matches."," *"," * @attribute processor"," * @type Object | Function"," */"," processor: {"," validator: function(value) {"," return Lang.isObject(value) || Lang.isFunction(value);"," }"," },",""," /**"," * The keyboard combination which should be used to show the list with found"," * results."," *"," * @attribute showListKey"," * @default 'Alt-Space' for Mac, 'Ctrl-Space' for PC"," * @type Object"," */"," showListKey: {"," validator: Lang.isObject,"," value: {"," mac: 'Alt-Space',"," win: 'Ctrl-Space'"," }"," },",""," /**"," * Provides an array of sorter functions which will sort the results. By"," * default there is one function which sorts the results in ascending order."," *"," * @attribute sorters"," * @default Array with one function which sorts results in ascending order"," * @type Array"," */"," sorters: {"," valueFn: function() {"," var instance = this;",""," return ["," instance._sortAscLength"," ];"," }"," }","};","","A.AceEditor.AutoCompleteBase = Base;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-editor\"]});","","}());"]};
+}
+var __cov_VGDjjxm9ye902RtTZX_fig = __coverage__['build/aui-ace-autocomplete-base/aui-ace-autocomplete-base.js'];
+__cov_VGDjjxm9ye902RtTZX_fig.s['1']++;YUI.add('aui-ace-autocomplete-base',function(A,NAME){__cov_VGDjjxm9ye902RtTZX_fig.f['1']++;__cov_VGDjjxm9ye902RtTZX_fig.s['2']++;var Lang=A.Lang,AArray=A.Array,Do=A.Do,ADOM=A.DOM,FILL_MODE_INSERT=1,FILL_MODE_OVERWRITE=0,Base=function(){__cov_VGDjjxm9ye902RtTZX_fig.f['2']++;};__cov_VGDjjxm9ye902RtTZX_fig.s['3']++;Base.prototype={initializer:function(){__cov_VGDjjxm9ye902RtTZX_fig.f['3']++;__cov_VGDjjxm9ye902RtTZX_fig.s['4']++;var instance=this,processor;__cov_VGDjjxm9ye902RtTZX_fig.s['5']++;instance._editorCommands=[];__cov_VGDjjxm9ye902RtTZX_fig.s['6']++;A.after(instance._bindUIACBase,instance,'renderUI');__cov_VGDjjxm9ye902RtTZX_fig.s['7']++;processor=instance.get('processor');__cov_VGDjjxm9ye902RtTZX_fig.s['8']++;if((__cov_VGDjjxm9ye902RtTZX_fig.b['2'][0]++,processor)&&(__cov_VGDjjxm9ye902RtTZX_fig.b['2'][1]++,!processor.get('host'))){__cov_VGDjjxm9ye902RtTZX_fig.b['1'][0]++;__cov_VGDjjxm9ye902RtTZX_fig.s['9']++;processor.set('host',instance);}else{__cov_VGDjjxm9ye902RtTZX_fig.b['1'][1]++;}__cov_VGDjjxm9ye902RtTZX_fig.s['10']++;instance._onResultsErrorFn=A.bind('_onResultsError',instance);__cov_VGDjjxm9ye902RtTZX_fig.s['11']++;instance._onResultsSuccessFn=A.bind('_onResultsSuccess',instance);},_addSuggestion:function(content){__cov_VGDjjxm9ye902RtTZX_fig.f['4']++;__cov_VGDjjxm9ye902RtTZX_fig.s['12']++;var instance=this,cursorPosition,data,editor,matchParams,overwriteRange,Range,startColumn,startRow;__cov_VGDjjxm9ye902RtTZX_fig.s['13']++;instance._lockEditor=true;__cov_VGDjjxm9ye902RtTZX_fig.s['14']++;editor=instance._getEditor();__cov_VGDjjxm9ye902RtTZX_fig.s['15']++;data=instance.get('processor').getSuggestion(instance._matchParams.match,content);__cov_VGDjjxm9ye902RtTZX_fig.s['16']++;if(instance.get('fillMode')===Base.FILL_MODE_OVERWRITE){__cov_VGDjjxm9ye902RtTZX_fig.b['3'][0]++;__cov_VGDjjxm9ye902RtTZX_fig.s['17']++;matchParams=instance._matchParams;__cov_VGDjjxm9ye902RtTZX_fig.s['18']++;startRow=matchParams.row;__cov_VGDjjxm9ye902RtTZX_fig.s['19']++;startColumn=matchParams.column-matchParams.match.content.length;__cov_VGDjjxm9ye902RtTZX_fig.s['20']++;cursorPosition=editor.getCursorPosition();__cov_VGDjjxm9ye902RtTZX_fig.s['21']++;Range=ace.require('ace/range').Range;__cov_VGDjjxm9ye902RtTZX_fig.s['22']++;overwriteRange=new Range(startRow,startColumn,cursorPosition.row,cursorPosition.column);__cov_VGDjjxm9ye902RtTZX_fig.s['23']++;editor.getSession().replace(overwriteRange,data);}else{__cov_VGDjjxm9ye902RtTZX_fig.b['3'][1]++;__cov_VGDjjxm9ye902RtTZX_fig.s['24']++;editor.insert(data);}__cov_VGDjjxm9ye902RtTZX_fig.s['25']++;editor.focus();__cov_VGDjjxm9ye902RtTZX_fig.s['26']++;instance._lockEditor=false;__cov_VGDjjxm9ye902RtTZX_fig.s['27']++;instance.fire('addSuggestion',data);__cov_VGDjjxm9ye902RtTZX_fig.s['28']++;return new Do.Halt(null);},_bindUIACBase:function(){__cov_VGDjjxm9ye902RtTZX_fig.f['5']++;__cov_VGDjjxm9ye902RtTZX_fig.s['29']++;var instance=this,editor;__cov_VGDjjxm9ye902RtTZX_fig.s['30']++;instance.publish('cursorChange',{defaultFn:instance._defaultCursorChangeFn});__cov_VGDjjxm9ye902RtTZX_fig.s['31']++;editor=instance._getEditor();__cov_VGDjjxm9ye902RtTZX_fig.s['32']++;instance._onChangeFn=A.bind('_onEditorChange',instance);__cov_VGDjjxm9ye902RtTZX_fig.s['33']++;editor.on('change',instance._onChangeFn);__cov_VGDjjxm9ye902RtTZX_fig.s['34']++;editor.commands.addCommand({name:'showAutoComplete',bindKey:A.merge(instance.get('showListKey'),{sender:'editor|cli'}),exec:function(){__cov_VGDjjxm9ye902RtTZX_fig.f['6']++;__cov_VGDjjxm9ye902RtTZX_fig.s['35']++;var cursorPosition=editor.getCursorPosition();__cov_VGDjjxm9ye902RtTZX_fig.s['36']++;instance._processAutoComplete(cursorPosition.row,cursorPosition.column);}});__cov_VGDjjxm9ye902RtTZX_fig.s['37']++;instance._onEditorChangeCursorFn=A.bind('_onEditorChangeCursor',instance);__cov_VGDjjxm9ye902RtTZX_fig.s['38']++;editor.getSelection().on('changeCursor',instance._onEditorChangeCursorFn);__cov_VGDjjxm9ye902RtTZX_fig.s['39']++;instance.on('destroy',instance._destroyUIACBase,instance);},_defaultCursorChangeFn:function(){__cov_VGDjjxm9ye902RtTZX_fig.f['7']++;__cov_VGDjjxm9ye902RtTZX_fig.s['40']++;var instance=this,column,cursorPosition,editor,matchParams,row;__cov_VGDjjxm9ye902RtTZX_fig.s['41']++;editor=instance._getEditor();__cov_VGDjjxm9ye902RtTZX_fig.s['42']++;cursorPosition=editor.getCursorPosition();__cov_VGDjjxm9ye902RtTZX_fig.s['43']++;row=cursorPosition.row;__cov_VGDjjxm9ye902RtTZX_fig.s['44']++;column=cursorPosition.column;__cov_VGDjjxm9ye902RtTZX_fig.s['45']++;matchParams=instance._matchParams;__cov_VGDjjxm9ye902RtTZX_fig.s['46']++;if((__cov_VGDjjxm9ye902RtTZX_fig.b['5'][0]++,row!==matchParams.row)||(__cov_VGDjjxm9ye902RtTZX_fig.b['5'][1]++,column= 0) {"," content = content.substring(matchIndex);",""," if (instance.get('directivesMatcher').test(content)) {"," match = {"," content: content.substring(2),"," start: matchIndex,"," type: MATCH_DIRECTIVES"," };"," }"," }"," else if ((matchIndex = content.lastIndexOf('$')) >= 0) {"," content = content.substring(matchIndex);",""," if (instance.get('variablesMatcher').test(content)) {"," match = {"," content: content.substring(2),"," start: matchIndex,"," type: MATCH_VARIABLES"," };"," }"," }",""," return match;"," }"," }, {",""," /**"," * Static property which provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'aui-ace-autocomplete-freemarker',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */"," NS: 'aui-ace-autocomplete-freemarker',",""," /**"," * Static property used to define the default attribute"," * configuration for the Freemarker."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {",""," /**"," * Contains the list of supported directives according to Freemarker"," * specification."," *"," * @attribute directives"," * @default"," * value: ["," * 'assign',"," * 'attempt',"," * 'break',"," * 'case',"," * 'compress',"," * 'default',"," * 'else',"," * 'elseif',"," * 'escape',"," * 'fallback',"," * 'flush',"," * 'ftl',"," * 'function',"," * 'global',"," * 'if',"," * 'import',"," * 'include',"," * 'list',"," * 'local',"," * 'lt',"," * 'macro',"," * 'nested',"," * 'noescape',"," * 'nt',"," * 'recover',"," * 'recurse',"," * 'return',"," * 'rt',"," * 'setting',"," * 'stop',"," * 'switch',"," * 't',"," * 'visit'"," *]"," * @type Array"," */"," directives: {"," validator: Lang.isArray,"," value: ["," 'assign',"," 'attempt',"," 'break',"," 'case',"," 'compress',"," 'default',"," 'else',"," 'elseif',"," 'escape',"," 'fallback',"," 'flush',"," 'ftl',"," 'function',"," 'global',"," 'if',"," 'import',"," 'include',"," 'list',"," 'local',"," 'lt',"," 'macro',"," 'nested',"," 'noescape',"," 'nt',"," 'recover',"," 'recurse',"," 'return',"," 'rt',"," 'setting',"," 'stop',"," 'switch',"," 't',"," 'visit'"," ]"," },",""," /**"," * Contains the regular expression which checks for directive"," * presence."," *"," * @attribute directivesMatcher"," * @default /<#[\\w]*[^<#]*$/"," */"," directivesMatcher: {"," setter: '_setRegexValue',"," value: /<#[\\w]*[^<#]*$/"," },",""," /**"," * The Editor in which the current instance is plugged."," *"," * @attribute host"," * @type Object"," */"," host: {"," validator: Lang.isObject"," },",""," /**"," * Contains the supported variables."," *"," * @attribute variables"," * @type Object"," */"," variables: {"," validator: Lang.isObject"," },",""," /**"," * Contains the regular expression which will check for variable"," * match."," *"," * @attribute variablesMatcher"," * @default /\\${[\\w., ()\"]*(?:[^$]|\\\\\\$)*$/"," */"," variablesMatcher: {"," setter: '_setRegexValue',"," value: /\\${[\\w., ()\"]*(?:[^$]|\\\\\\$)*$/"," }"," }"," });","","A.AceEditor.AutoCompleteFreemarker = Freemarker;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-autocomplete-templateprocessor\"]});","","}());"]};
+}
+var __cov_PH_8f9ZonjMs4aOWKmHBgg = __coverage__['build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker.js'];
+__cov_PH_8f9ZonjMs4aOWKmHBgg.s['1']++;YUI.add('aui-ace-autocomplete-freemarker',function(A,NAME){__cov_PH_8f9ZonjMs4aOWKmHBgg.f['1']++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['2']++;var Lang=A.Lang,MATCH_DIRECTIVES=0,MATCH_VARIABLES=1,Freemarker=A.Base.create('aui-ace-autocomplete-freemarker',A.AceEditor.TemplateProcessor,[],{getMatch:function(content){__cov_PH_8f9ZonjMs4aOWKmHBgg.f['2']++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['3']++;var instance=this,match,matchIndex;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['4']++;if((matchIndex=content.lastIndexOf('<'))>=0){__cov_PH_8f9ZonjMs4aOWKmHBgg.b['1'][0]++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['5']++;content=content.substring(matchIndex);__cov_PH_8f9ZonjMs4aOWKmHBgg.s['6']++;if(instance.get('directivesMatcher').test(content)){__cov_PH_8f9ZonjMs4aOWKmHBgg.b['2'][0]++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['7']++;match={content:content.substring(2),start:matchIndex,type:MATCH_DIRECTIVES};}else{__cov_PH_8f9ZonjMs4aOWKmHBgg.b['2'][1]++;}}else{__cov_PH_8f9ZonjMs4aOWKmHBgg.b['1'][1]++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['8']++;if((matchIndex=content.lastIndexOf('$'))>=0){__cov_PH_8f9ZonjMs4aOWKmHBgg.b['3'][0]++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['9']++;content=content.substring(matchIndex);__cov_PH_8f9ZonjMs4aOWKmHBgg.s['10']++;if(instance.get('variablesMatcher').test(content)){__cov_PH_8f9ZonjMs4aOWKmHBgg.b['4'][0]++;__cov_PH_8f9ZonjMs4aOWKmHBgg.s['11']++;match={content:content.substring(2),start:matchIndex,type:MATCH_VARIABLES};}else{__cov_PH_8f9ZonjMs4aOWKmHBgg.b['4'][1]++;}}else{__cov_PH_8f9ZonjMs4aOWKmHBgg.b['3'][1]++;}}__cov_PH_8f9ZonjMs4aOWKmHBgg.s['12']++;return match;}},{NAME:'aui-ace-autocomplete-freemarker',NS:'aui-ace-autocomplete-freemarker',ATTRS:{directives:{validator:Lang.isArray,value:['assign','attempt','break','case','compress','default','else','elseif','escape','fallback','flush','ftl','function','global','if','import','include','list','local','lt','macro','nested','noescape','nt','recover','recurse','return','rt','setting','stop','switch','t','visit']},directivesMatcher:{setter:'_setRegexValue',value:/<#[\w]*[^<#]*$/},host:{validator:Lang.isObject},variables:{validator:Lang.isObject},variablesMatcher:{setter:'_setRegexValue',value:/\${[\w., ()"]*(?:[^$]|\\\$)*$/}}});__cov_PH_8f9ZonjMs4aOWKmHBgg.s['13']++;A.AceEditor.AutoCompleteFreemarker=Freemarker;},'3.1.0-deprecated.52',{'requires':['aui-ace-autocomplete-templateprocessor']});
diff --git a/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-debug.js b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-debug.js
new file mode 100644
index 00000000000..e9098a0cff6
--- /dev/null
+++ b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-debug.js
@@ -0,0 +1,229 @@
+YUI.add('aui-ace-autocomplete-freemarker', function (A, NAME) {
+
+/**
+ * The ACE Editor Freemarker Plugin
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-freemarker
+ */
+
+var Lang = A.Lang,
+
+ MATCH_DIRECTIVES = 0,
+ MATCH_VARIABLES = 1,
+
+ /**
+ * A base class for Freemarker plugin.
+ *
+ * @class A.AceEditor.AutoCompleteFreemarker
+ * @extends A.AceEditor.TemplateProcessor
+ * @param {Object} config Object literal specifying configuration
+ * properties.
+ * @constructor
+ */
+ Freemarker = A.Base.create('aui-ace-autocomplete-freemarker', A.AceEditor.TemplateProcessor, [
+], {
+
+ /**
+ * Checks if the provided content contains directive or variable.
+ *
+ * @method getMatch
+ * @param {String} content The content which should be traversed for
+ * matches
+ * @return {Object} An Object which contains the following properties:
+ * content - the found content
+ * start - the start index of the match
+ * type - match type, could be 0 (DIRECTIVES) or 1 (VARIABLES)
+ */
+ getMatch: function(content) {
+ var instance = this,
+ match,
+ matchIndex;
+
+ if ((matchIndex = content.lastIndexOf('<')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('directivesMatcher').test(content)) {
+ match = {
+ content: content.substring(2),
+ start: matchIndex,
+ type: MATCH_DIRECTIVES
+ };
+ }
+ }
+ else if ((matchIndex = content.lastIndexOf('$')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('variablesMatcher').test(content)) {
+ match = {
+ content: content.substring(2),
+ start: matchIndex,
+ type: MATCH_VARIABLES
+ };
+ }
+ }
+
+ return match;
+ }
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aui-ace-autocomplete-freemarker',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aui-ace-autocomplete-freemarker',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Freemarker.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Contains the list of supported directives according to Freemarker
+ * specification.
+ *
+ * @attribute directives
+ * @default
+ * value: [
+ * 'assign',
+ * 'attempt',
+ * 'break',
+ * 'case',
+ * 'compress',
+ * 'default',
+ * 'else',
+ * 'elseif',
+ * 'escape',
+ * 'fallback',
+ * 'flush',
+ * 'ftl',
+ * 'function',
+ * 'global',
+ * 'if',
+ * 'import',
+ * 'include',
+ * 'list',
+ * 'local',
+ * 'lt',
+ * 'macro',
+ * 'nested',
+ * 'noescape',
+ * 'nt',
+ * 'recover',
+ * 'recurse',
+ * 'return',
+ * 'rt',
+ * 'setting',
+ * 'stop',
+ * 'switch',
+ * 't',
+ * 'visit'
+ *]
+ * @type Array
+ */
+ directives: {
+ validator: Lang.isArray,
+ value: [
+ 'assign',
+ 'attempt',
+ 'break',
+ 'case',
+ 'compress',
+ 'default',
+ 'else',
+ 'elseif',
+ 'escape',
+ 'fallback',
+ 'flush',
+ 'ftl',
+ 'function',
+ 'global',
+ 'if',
+ 'import',
+ 'include',
+ 'list',
+ 'local',
+ 'lt',
+ 'macro',
+ 'nested',
+ 'noescape',
+ 'nt',
+ 'recover',
+ 'recurse',
+ 'return',
+ 'rt',
+ 'setting',
+ 'stop',
+ 'switch',
+ 't',
+ 'visit'
+ ]
+ },
+
+ /**
+ * Contains the regular expression which checks for directive
+ * presence.
+ *
+ * @attribute directivesMatcher
+ * @default /<#[\w]*[^<#]*$/
+ */
+ directivesMatcher: {
+ setter: '_setRegexValue',
+ value: /<#[\w]*[^<#]*$/
+ },
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the supported variables.
+ *
+ * @attribute variables
+ * @type Object
+ */
+ variables: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the regular expression which will check for variable
+ * match.
+ *
+ * @attribute variablesMatcher
+ * @default /\${[\w., ()"]*(?:[^$]|\\\$)*$/
+ */
+ variablesMatcher: {
+ setter: '_setRegexValue',
+ value: /\${[\w., ()"]*(?:[^$]|\\\$)*$/
+ }
+ }
+ });
+
+A.AceEditor.AutoCompleteFreemarker = Freemarker;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-min.js b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-min.js
new file mode 100644
index 00000000000..b85b983fa62
--- /dev/null
+++ b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker-min.js
@@ -0,0 +1 @@
+YUI.add("aui-ace-autocomplete-freemarker",function(e,t){var n=e.Lang,r=0,i=1,s=e.Base.create("aui-ace-autocomplete-freemarker",e.AceEditor.TemplateProcessor,[],{getMatch:function(e){var t=this,n,s;return(s=e.lastIndexOf("<"))>=0?(e=e.substring(s),t.get("directivesMatcher").test(e)&&(n={content:e.substring(2),start:s,type:r})):(s=e.lastIndexOf("$"))>=0&&(e=e.substring(s),t.get("variablesMatcher").test(e)&&(n={content:e.substring(2),start:s,type:i})),n}},{NAME:"aui-ace-autocomplete-freemarker",NS:"aui-ace-autocomplete-freemarker",ATTRS:{directives:{validator:n.isArray,value:["assign","attempt","break","case","compress","default","else","elseif","escape","fallback","flush","ftl","function","global","if","import","include","list","local","lt","macro","nested","noescape","nt","recover","recurse","return","rt","setting","stop","switch","t","visit"]},directivesMatcher:{setter:"_setRegexValue",value:/<#[\w]*[^<#]*$/},host:{validator:n.isObject},variables:{validator:n.isObject},variablesMatcher:{setter:"_setRegexValue",value:/\${[\w., ()"]*(?:[^$]|\\\$)*$/}}});e.AceEditor.AutoCompleteFreemarker=s},"3.1.0-deprecated.52",{requires:["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker.js b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker.js
new file mode 100644
index 00000000000..e9098a0cff6
--- /dev/null
+++ b/build/aui-ace-autocomplete-freemarker/aui-ace-autocomplete-freemarker.js
@@ -0,0 +1,229 @@
+YUI.add('aui-ace-autocomplete-freemarker', function (A, NAME) {
+
+/**
+ * The ACE Editor Freemarker Plugin
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-freemarker
+ */
+
+var Lang = A.Lang,
+
+ MATCH_DIRECTIVES = 0,
+ MATCH_VARIABLES = 1,
+
+ /**
+ * A base class for Freemarker plugin.
+ *
+ * @class A.AceEditor.AutoCompleteFreemarker
+ * @extends A.AceEditor.TemplateProcessor
+ * @param {Object} config Object literal specifying configuration
+ * properties.
+ * @constructor
+ */
+ Freemarker = A.Base.create('aui-ace-autocomplete-freemarker', A.AceEditor.TemplateProcessor, [
+], {
+
+ /**
+ * Checks if the provided content contains directive or variable.
+ *
+ * @method getMatch
+ * @param {String} content The content which should be traversed for
+ * matches
+ * @return {Object} An Object which contains the following properties:
+ * content - the found content
+ * start - the start index of the match
+ * type - match type, could be 0 (DIRECTIVES) or 1 (VARIABLES)
+ */
+ getMatch: function(content) {
+ var instance = this,
+ match,
+ matchIndex;
+
+ if ((matchIndex = content.lastIndexOf('<')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('directivesMatcher').test(content)) {
+ match = {
+ content: content.substring(2),
+ start: matchIndex,
+ type: MATCH_DIRECTIVES
+ };
+ }
+ }
+ else if ((matchIndex = content.lastIndexOf('$')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('variablesMatcher').test(content)) {
+ match = {
+ content: content.substring(2),
+ start: matchIndex,
+ type: MATCH_VARIABLES
+ };
+ }
+ }
+
+ return match;
+ }
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aui-ace-autocomplete-freemarker',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aui-ace-autocomplete-freemarker',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Freemarker.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Contains the list of supported directives according to Freemarker
+ * specification.
+ *
+ * @attribute directives
+ * @default
+ * value: [
+ * 'assign',
+ * 'attempt',
+ * 'break',
+ * 'case',
+ * 'compress',
+ * 'default',
+ * 'else',
+ * 'elseif',
+ * 'escape',
+ * 'fallback',
+ * 'flush',
+ * 'ftl',
+ * 'function',
+ * 'global',
+ * 'if',
+ * 'import',
+ * 'include',
+ * 'list',
+ * 'local',
+ * 'lt',
+ * 'macro',
+ * 'nested',
+ * 'noescape',
+ * 'nt',
+ * 'recover',
+ * 'recurse',
+ * 'return',
+ * 'rt',
+ * 'setting',
+ * 'stop',
+ * 'switch',
+ * 't',
+ * 'visit'
+ *]
+ * @type Array
+ */
+ directives: {
+ validator: Lang.isArray,
+ value: [
+ 'assign',
+ 'attempt',
+ 'break',
+ 'case',
+ 'compress',
+ 'default',
+ 'else',
+ 'elseif',
+ 'escape',
+ 'fallback',
+ 'flush',
+ 'ftl',
+ 'function',
+ 'global',
+ 'if',
+ 'import',
+ 'include',
+ 'list',
+ 'local',
+ 'lt',
+ 'macro',
+ 'nested',
+ 'noescape',
+ 'nt',
+ 'recover',
+ 'recurse',
+ 'return',
+ 'rt',
+ 'setting',
+ 'stop',
+ 'switch',
+ 't',
+ 'visit'
+ ]
+ },
+
+ /**
+ * Contains the regular expression which checks for directive
+ * presence.
+ *
+ * @attribute directivesMatcher
+ * @default /<#[\w]*[^<#]*$/
+ */
+ directivesMatcher: {
+ setter: '_setRegexValue',
+ value: /<#[\w]*[^<#]*$/
+ },
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the supported variables.
+ *
+ * @attribute variables
+ * @type Object
+ */
+ variables: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the regular expression which will check for variable
+ * match.
+ *
+ * @attribute variablesMatcher
+ * @default /\${[\w., ()"]*(?:[^$]|\\\$)*$/
+ */
+ variablesMatcher: {
+ setter: '_setRegexValue',
+ value: /\${[\w., ()"]*(?:[^$]|\\\$)*$/
+ }
+ }
+ });
+
+A.AceEditor.AutoCompleteFreemarker = Freemarker;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-ace-autocomplete-list/assets/aui-ace-autocomplete-list-core.css b/build/aui-ace-autocomplete-list/assets/aui-ace-autocomplete-list-core.css
new file mode 100644
index 00000000000..048173338d9
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/assets/aui-ace-autocomplete-list-core.css
@@ -0,0 +1,36 @@
+.ace-autocomplete {
+ left: -10000px;
+ max-height: 300px;
+}
+
+.ace-autocomplete .ace-autocomplete-results {
+ margin: 0 0;
+ max-height: 250px;
+ overflow: auto;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container {
+ cursor: pointer;
+ list-style-image: none;
+ list-style-type: none;
+ margin: 0 0;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry {
+ padding-left: 0.3em;
+}
+
+.ace-autocomplete-hidden {
+ visibility: hidden;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-list-entry, .ace-autocomplete .ace-autocomplete-results .ace-autocomplete-list-entry-empty {
+ padding-left: 0.3em;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-loading {
+ display: inline-block;
+ height: 18px;
+ padding-left: 18px;
+ vertical-align: middle;
+}
\ No newline at end of file
diff --git a/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list-skin.css b/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list-skin.css
new file mode 100644
index 00000000000..dad520acb6a
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list-skin.css
@@ -0,0 +1,23 @@
+.ace-autocomplete {
+ -moz-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
+ -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
+ background-color: white;
+ border: 1px solid #C0C0C0;
+ box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container-highlighted {
+ background-color: #e8e8e8;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container.selected:aui-ace-autocomplete-entry-container-highlighted {
+ background-color: #aed0f4;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container.selected {
+ background-color: #cfddeb;
+}
+
+.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container .ace-autocomplete-list-entry {
+ color: #181818;
+}
\ No newline at end of file
diff --git a/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list.css b/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list.css
new file mode 100644
index 00000000000..47bdb1f181d
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/assets/skins/sam/aui-ace-autocomplete-list.css
@@ -0,0 +1 @@
+.ace-autocomplete{left:-10000px;max-height:300px}.ace-autocomplete .ace-autocomplete-results{margin:0;max-height:250px;overflow:auto}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container{cursor:pointer;list-style-image:none;list-style-type:none;margin:0}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry{padding-left:.3em}.ace-autocomplete-hidden{visibility:hidden}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-list-entry,.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-list-entry-empty{padding-left:.3em}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-loading{display:inline-block;height:18px;padding-left:18px;vertical-align:middle}.ace-autocomplete{-moz-box-shadow:3px 3px 5px rgba(0,0,0,0.25);-webkit-box-shadow:3px 3px 5px rgba(0,0,0,0.25);background-color:white;border:1px solid #c0c0c0;box-shadow:3px 3px 5px rgba(0,0,0,0.25)}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container-highlighted{background-color:#e8e8e8}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container.selected:aui-ace-autocomplete-entry-container-highlighted{background-color:#aed0f4}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container.selected{background-color:#cfddeb}.ace-autocomplete .ace-autocomplete-results .ace-autocomplete-entry-container .ace-autocomplete-list-entry{color:#181818}#yui3-css-stamp.skin-sam-aui-ace-autocomplete-list{display:none}
diff --git a/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-coverage.js b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-coverage.js
new file mode 100644
index 00000000000..8517d10aad4
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js']) {
+ __coverage__['build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js'] = {"path":"build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":37},"end":{"line":1,"column":56}}},"2":{"name":"(anonymous_2)","line":61,"loc":{"start":{"line":61,"column":16},"end":{"line":61,"column":27}}},"3":{"name":"(anonymous_3)","line":82,"loc":{"start":{"line":82,"column":18},"end":{"line":82,"column":29}}},"4":{"name":"(anonymous_4)","line":110,"loc":{"start":{"line":110,"column":25},"end":{"line":110,"column":36}}},"5":{"name":"(anonymous_5)","line":129,"loc":{"start":{"line":129,"column":28},"end":{"line":129,"column":39}}},"6":{"name":"(anonymous_6)","line":160,"loc":{"start":{"line":160,"column":27},"end":{"line":160,"column":38}}},"7":{"name":"(anonymous_7)","line":185,"loc":{"start":{"line":185,"column":23},"end":{"line":185,"column":41}}},"8":{"name":"(anonymous_8)","line":253,"loc":{"start":{"line":253,"column":20},"end":{"line":253,"column":50}}},"9":{"name":"(anonymous_9)","line":282,"loc":{"start":{"line":282,"column":27},"end":{"line":282,"column":45}}},"10":{"name":"(anonymous_10)","line":341,"loc":{"start":{"line":341,"column":32},"end":{"line":341,"column":48}}},"11":{"name":"(anonymous_11)","line":378,"loc":{"start":{"line":378,"column":25},"end":{"line":378,"column":43}}},"12":{"name":"(anonymous_12)","line":419,"loc":{"start":{"line":419,"column":25},"end":{"line":419,"column":41}}},"13":{"name":"(anonymous_13)","line":435,"loc":{"start":{"line":435,"column":23},"end":{"line":435,"column":39}}},"14":{"name":"(anonymous_14)","line":451,"loc":{"start":{"line":451,"column":18},"end":{"line":451,"column":34}}},"15":{"name":"(anonymous_15)","line":487,"loc":{"start":{"line":487,"column":23},"end":{"line":487,"column":39}}},"16":{"name":"(anonymous_16)","line":499,"loc":{"start":{"line":499,"column":23},"end":{"line":499,"column":39}}},"17":{"name":"(anonymous_17)","line":510,"loc":{"start":{"line":510,"column":23},"end":{"line":510,"column":34}}},"18":{"name":"(anonymous_18)","line":526,"loc":{"start":{"line":526,"column":26},"end":{"line":526,"column":42}}},"19":{"name":"(anonymous_19)","line":546,"loc":{"start":{"line":546,"column":16},"end":{"line":546,"column":38}}},"20":{"name":"(anonymous_20)","line":574,"loc":{"start":{"line":574,"column":31},"end":{"line":574,"column":42}}},"21":{"name":"(anonymous_21)","line":603,"loc":{"start":{"line":603,"column":26},"end":{"line":603,"column":42}}},"22":{"name":"(anonymous_22)","line":620,"loc":{"start":{"line":620,"column":26},"end":{"line":620,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":757,"column":120}},"2":{"start":{"line":10,"column":0},"end":{"line":751,"column":7}},"3":{"start":{"line":62,"column":12},"end":{"line":62,"column":32}},"4":{"start":{"line":64,"column":12},"end":{"line":64,"column":66}},"5":{"start":{"line":65,"column":12},"end":{"line":65,"column":76}},"6":{"start":{"line":66,"column":12},"end":{"line":66,"column":62}},"7":{"start":{"line":67,"column":12},"end":{"line":67,"column":72}},"8":{"start":{"line":68,"column":12},"end":{"line":68,"column":62}},"9":{"start":{"line":69,"column":12},"end":{"line":69,"column":72}},"10":{"start":{"line":70,"column":12},"end":{"line":70,"column":78}},"11":{"start":{"line":71,"column":12},"end":{"line":71,"column":77}},"12":{"start":{"line":72,"column":12},"end":{"line":72,"column":88}},"13":{"start":{"line":73,"column":12},"end":{"line":73,"column":78}},"14":{"start":{"line":83,"column":12},"end":{"line":84,"column":40}},"15":{"start":{"line":86,"column":12},"end":{"line":86,"column":63}},"16":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"17":{"start":{"line":89,"column":16},"end":{"line":89,"column":69}},"18":{"start":{"line":92,"column":12},"end":{"line":93,"column":94}},"19":{"start":{"line":95,"column":12},"end":{"line":96,"column":90}},"20":{"start":{"line":98,"column":12},"end":{"line":98,"column":109}},"21":{"start":{"line":100,"column":12},"end":{"line":100,"column":72}},"22":{"start":{"line":111,"column":12},"end":{"line":112,"column":25}},"23":{"start":{"line":114,"column":12},"end":{"line":114,"column":56}},"24":{"start":{"line":116,"column":12},"end":{"line":116,"column":56}},"25":{"start":{"line":118,"column":12},"end":{"line":118,"column":28}},"26":{"start":{"line":130,"column":12},"end":{"line":134,"column":28}},"27":{"start":{"line":136,"column":12},"end":{"line":136,"column":54}},"28":{"start":{"line":138,"column":12},"end":{"line":148,"column":13}},"29":{"start":{"line":139,"column":16},"end":{"line":139,"column":76}},"30":{"start":{"line":141,"column":16},"end":{"line":141,"column":104}},"31":{"start":{"line":143,"column":16},"end":{"line":143,"column":78}},"32":{"start":{"line":145,"column":16},"end":{"line":145,"column":75}},"33":{"start":{"line":147,"column":16},"end":{"line":147,"column":58}},"34":{"start":{"line":150,"column":12},"end":{"line":150,"column":34}},"35":{"start":{"line":161,"column":12},"end":{"line":163,"column":34}},"36":{"start":{"line":165,"column":12},"end":{"line":165,"column":95}},"37":{"start":{"line":167,"column":12},"end":{"line":169,"column":13}},"38":{"start":{"line":168,"column":16},"end":{"line":168,"column":53}},"39":{"start":{"line":171,"column":12},"end":{"line":171,"column":29}},"40":{"start":{"line":186,"column":12},"end":{"line":192,"column":30}},"41":{"start":{"line":194,"column":12},"end":{"line":199,"column":13}},"42":{"start":{"line":195,"column":16},"end":{"line":195,"column":36}},"43":{"start":{"line":197,"column":17},"end":{"line":199,"column":13}},"44":{"start":{"line":198,"column":16},"end":{"line":198,"column":32}},"45":{"start":{"line":201,"column":12},"end":{"line":238,"column":13}},"46":{"start":{"line":202,"column":16},"end":{"line":202,"column":76}},"47":{"start":{"line":204,"column":16},"end":{"line":204,"column":95}},"48":{"start":{"line":206,"column":16},"end":{"line":235,"column":17}},"49":{"start":{"line":207,"column":20},"end":{"line":207,"column":76}},"50":{"start":{"line":209,"column":20},"end":{"line":234,"column":21}},"51":{"start":{"line":210,"column":24},"end":{"line":210,"column":62}},"52":{"start":{"line":212,"column":24},"end":{"line":212,"column":51}},"53":{"start":{"line":214,"column":24},"end":{"line":214,"column":86}},"54":{"start":{"line":216,"column":24},"end":{"line":216,"column":58}},"55":{"start":{"line":218,"column":24},"end":{"line":233,"column":25}},"56":{"start":{"line":219,"column":28},"end":{"line":224,"column":29}},"57":{"start":{"line":220,"column":32},"end":{"line":220,"column":59}},"58":{"start":{"line":222,"column":33},"end":{"line":224,"column":29}},"59":{"start":{"line":223,"column":32},"end":{"line":223,"column":55}},"60":{"start":{"line":227,"column":28},"end":{"line":232,"column":29}},"61":{"start":{"line":228,"column":32},"end":{"line":228,"column":55}},"62":{"start":{"line":230,"column":33},"end":{"line":232,"column":29}},"63":{"start":{"line":231,"column":32},"end":{"line":231,"column":59}},"64":{"start":{"line":237,"column":16},"end":{"line":237,"column":41}},"65":{"start":{"line":254,"column":12},"end":{"line":255,"column":23}},"66":{"start":{"line":257,"column":12},"end":{"line":267,"column":13}},"67":{"start":{"line":258,"column":16},"end":{"line":266,"column":17}},"68":{"start":{"line":259,"column":20},"end":{"line":259,"column":61}},"69":{"start":{"line":261,"column":21},"end":{"line":266,"column":17}},"70":{"start":{"line":262,"column":20},"end":{"line":262,"column":65}},"71":{"start":{"line":264,"column":21},"end":{"line":266,"column":17}},"72":{"start":{"line":265,"column":20},"end":{"line":265,"column":63}},"73":{"start":{"line":269,"column":12},"end":{"line":269,"column":26}},"74":{"start":{"line":283,"column":12},"end":{"line":291,"column":26}},"75":{"start":{"line":293,"column":12},"end":{"line":293,"column":72}},"76":{"start":{"line":295,"column":12},"end":{"line":295,"column":59}},"77":{"start":{"line":297,"column":12},"end":{"line":297,"column":91}},"78":{"start":{"line":299,"column":12},"end":{"line":299,"column":78}},"79":{"start":{"line":301,"column":12},"end":{"line":301,"column":27}},"80":{"start":{"line":303,"column":12},"end":{"line":303,"column":30}},"81":{"start":{"line":305,"column":12},"end":{"line":314,"column":13}},"82":{"start":{"line":306,"column":16},"end":{"line":306,"column":77}},"83":{"start":{"line":308,"column":16},"end":{"line":308,"column":33}},"84":{"start":{"line":310,"column":17},"end":{"line":314,"column":13}},"85":{"start":{"line":311,"column":16},"end":{"line":311,"column":77}},"86":{"start":{"line":313,"column":16},"end":{"line":313,"column":42}},"87":{"start":{"line":316,"column":12},"end":{"line":317,"column":47}},"88":{"start":{"line":319,"column":12},"end":{"line":321,"column":13}},"89":{"start":{"line":320,"column":16},"end":{"line":320,"column":102}},"90":{"start":{"line":323,"column":12},"end":{"line":329,"column":13}},"91":{"start":{"line":324,"column":16},"end":{"line":324,"column":54}},"92":{"start":{"line":326,"column":16},"end":{"line":326,"column":55}},"93":{"start":{"line":328,"column":16},"end":{"line":328,"column":60}},"94":{"start":{"line":331,"column":12},"end":{"line":331,"column":37}},"95":{"start":{"line":342,"column":12},"end":{"line":345,"column":30}},"96":{"start":{"line":347,"column":12},"end":{"line":347,"column":44}},"97":{"start":{"line":349,"column":12},"end":{"line":349,"column":101}},"98":{"start":{"line":351,"column":12},"end":{"line":355,"column":13}},"99":{"start":{"line":352,"column":16},"end":{"line":352,"column":54}},"100":{"start":{"line":354,"column":16},"end":{"line":354,"column":47}},"101":{"start":{"line":357,"column":12},"end":{"line":357,"column":39}},"102":{"start":{"line":359,"column":12},"end":{"line":359,"column":45}},"103":{"start":{"line":361,"column":12},"end":{"line":365,"column":14}},"104":{"start":{"line":379,"column":12},"end":{"line":383,"column":30}},"105":{"start":{"line":385,"column":12},"end":{"line":385,"column":30}},"106":{"start":{"line":387,"column":12},"end":{"line":387,"column":72}},"107":{"start":{"line":389,"column":12},"end":{"line":396,"column":13}},"108":{"start":{"line":390,"column":16},"end":{"line":390,"column":93}},"109":{"start":{"line":392,"column":17},"end":{"line":396,"column":13}},"110":{"start":{"line":393,"column":16},"end":{"line":393,"column":77}},"111":{"start":{"line":395,"column":16},"end":{"line":395,"column":33}},"112":{"start":{"line":398,"column":12},"end":{"line":398,"column":91}},"113":{"start":{"line":400,"column":12},"end":{"line":406,"column":13}},"114":{"start":{"line":401,"column":16},"end":{"line":401,"column":54}},"115":{"start":{"line":403,"column":16},"end":{"line":403,"column":42}},"116":{"start":{"line":405,"column":16},"end":{"line":405,"column":47}},"117":{"start":{"line":408,"column":12},"end":{"line":408,"column":37}},"118":{"start":{"line":420,"column":12},"end":{"line":420,"column":32}},"119":{"start":{"line":422,"column":12},"end":{"line":424,"column":13}},"120":{"start":{"line":423,"column":16},"end":{"line":423,"column":39}},"121":{"start":{"line":436,"column":12},"end":{"line":436,"column":32}},"122":{"start":{"line":438,"column":12},"end":{"line":440,"column":13}},"123":{"start":{"line":439,"column":16},"end":{"line":439,"column":32}},"124":{"start":{"line":452,"column":12},"end":{"line":455,"column":24}},"125":{"start":{"line":457,"column":12},"end":{"line":457,"column":46}},"126":{"start":{"line":459,"column":12},"end":{"line":459,"column":75}},"127":{"start":{"line":461,"column":12},"end":{"line":477,"column":13}},"128":{"start":{"line":462,"column":16},"end":{"line":473,"column":17}},"129":{"start":{"line":463,"column":20},"end":{"line":469,"column":21}},"130":{"start":{"line":464,"column":24},"end":{"line":464,"column":46}},"131":{"start":{"line":466,"column":24},"end":{"line":466,"column":104}},"132":{"start":{"line":468,"column":24},"end":{"line":468,"column":40}},"133":{"start":{"line":471,"column":21},"end":{"line":473,"column":17}},"134":{"start":{"line":472,"column":20},"end":{"line":472,"column":36}},"135":{"start":{"line":475,"column":17},"end":{"line":477,"column":13}},"136":{"start":{"line":476,"column":16},"end":{"line":476,"column":32}},"137":{"start":{"line":488,"column":12},"end":{"line":488,"column":76}},"138":{"start":{"line":500,"column":12},"end":{"line":500,"column":79}},"139":{"start":{"line":511,"column":12},"end":{"line":511,"column":32}},"140":{"start":{"line":513,"column":12},"end":{"line":515,"column":13}},"141":{"start":{"line":514,"column":16},"end":{"line":514,"column":32}},"142":{"start":{"line":527,"column":12},"end":{"line":532,"column":24}},"143":{"start":{"line":534,"column":12},"end":{"line":534,"column":72}},"144":{"start":{"line":536,"column":12},"end":{"line":536,"column":44}},"145":{"start":{"line":538,"column":12},"end":{"line":538,"column":35}},"146":{"start":{"line":540,"column":12},"end":{"line":540,"column":47}},"147":{"start":{"line":542,"column":12},"end":{"line":542,"column":49}},"148":{"start":{"line":544,"column":12},"end":{"line":556,"column":14}},"149":{"start":{"line":547,"column":20},"end":{"line":554,"column":22}},"150":{"start":{"line":558,"column":12},"end":{"line":558,"column":63}},"151":{"start":{"line":560,"column":12},"end":{"line":560,"column":79}},"152":{"start":{"line":562,"column":12},"end":{"line":564,"column":13}},"153":{"start":{"line":563,"column":16},"end":{"line":563,"column":48}},"154":{"start":{"line":575,"column":12},"end":{"line":576,"column":40}},"155":{"start":{"line":578,"column":12},"end":{"line":578,"column":72}},"156":{"start":{"line":580,"column":12},"end":{"line":580,"column":44}},"157":{"start":{"line":582,"column":12},"end":{"line":588,"column":14}},"158":{"start":{"line":590,"column":12},"end":{"line":592,"column":13}},"159":{"start":{"line":591,"column":16},"end":{"line":591,"column":32}},"160":{"start":{"line":604,"column":12},"end":{"line":604,"column":32}},"161":{"start":{"line":606,"column":12},"end":{"line":611,"column":13}},"162":{"start":{"line":607,"column":16},"end":{"line":607,"column":46}},"163":{"start":{"line":610,"column":16},"end":{"line":610,"column":55}},"164":{"start":{"line":621,"column":12},"end":{"line":621,"column":32}},"165":{"start":{"line":623,"column":12},"end":{"line":623,"column":40}},"166":{"start":{"line":753,"column":0},"end":{"line":753,"column":48}},"167":{"start":{"line":754,"column":0},"end":{"line":754,"column":44}}},"branchMap":{"1":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":88,"column":12}},{"start":{"line":88,"column":12},"end":{"line":88,"column":12}}]},"2":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":12},"end":{"line":138,"column":12}},{"start":{"line":138,"column":12},"end":{"line":138,"column":12}}]},"3":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":12},"end":{"line":167,"column":12}},{"start":{"line":167,"column":12},"end":{"line":167,"column":12}}]},"4":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":12},"end":{"line":194,"column":12}},{"start":{"line":194,"column":12},"end":{"line":194,"column":12}}]},"5":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":17},"end":{"line":197,"column":17}},{"start":{"line":197,"column":17},"end":{"line":197,"column":17}}]},"6":{"line":201,"type":"if","locations":[{"start":{"line":201,"column":12},"end":{"line":201,"column":12}},{"start":{"line":201,"column":12},"end":{"line":201,"column":12}}]},"7":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":16},"end":{"line":206,"column":16}},{"start":{"line":206,"column":16},"end":{"line":206,"column":16}}]},"8":{"line":209,"type":"if","locations":[{"start":{"line":209,"column":20},"end":{"line":209,"column":20}},{"start":{"line":209,"column":20},"end":{"line":209,"column":20}}]},"9":{"line":218,"type":"if","locations":[{"start":{"line":218,"column":24},"end":{"line":218,"column":24}},{"start":{"line":218,"column":24},"end":{"line":218,"column":24}}]},"10":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":28},"end":{"line":219,"column":28}},{"start":{"line":219,"column":28},"end":{"line":219,"column":28}}]},"11":{"line":222,"type":"if","locations":[{"start":{"line":222,"column":33},"end":{"line":222,"column":33}},{"start":{"line":222,"column":33},"end":{"line":222,"column":33}}]},"12":{"line":227,"type":"if","locations":[{"start":{"line":227,"column":28},"end":{"line":227,"column":28}},{"start":{"line":227,"column":28},"end":{"line":227,"column":28}}]},"13":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":33},"end":{"line":230,"column":33}},{"start":{"line":230,"column":33},"end":{"line":230,"column":33}}]},"14":{"line":257,"type":"if","locations":[{"start":{"line":257,"column":12},"end":{"line":257,"column":12}},{"start":{"line":257,"column":12},"end":{"line":257,"column":12}}]},"15":{"line":258,"type":"if","locations":[{"start":{"line":258,"column":16},"end":{"line":258,"column":16}},{"start":{"line":258,"column":16},"end":{"line":258,"column":16}}]},"16":{"line":258,"type":"binary-expr","locations":[{"start":{"line":258,"column":20},"end":{"line":258,"column":38}},{"start":{"line":258,"column":42},"end":{"line":258,"column":62}}]},"17":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":21},"end":{"line":261,"column":21}},{"start":{"line":261,"column":21},"end":{"line":261,"column":21}}]},"18":{"line":261,"type":"binary-expr","locations":[{"start":{"line":261,"column":25},"end":{"line":261,"column":48}},{"start":{"line":261,"column":52},"end":{"line":261,"column":77}}]},"19":{"line":264,"type":"if","locations":[{"start":{"line":264,"column":21},"end":{"line":264,"column":21}},{"start":{"line":264,"column":21},"end":{"line":264,"column":21}}]},"20":{"line":264,"type":"binary-expr","locations":[{"start":{"line":264,"column":25},"end":{"line":264,"column":44}},{"start":{"line":264,"column":48},"end":{"line":264,"column":69}}]},"21":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":12},"end":{"line":305,"column":12}},{"start":{"line":305,"column":12},"end":{"line":305,"column":12}}]},"22":{"line":310,"type":"if","locations":[{"start":{"line":310,"column":17},"end":{"line":310,"column":17}},{"start":{"line":310,"column":17},"end":{"line":310,"column":17}}]},"23":{"line":319,"type":"if","locations":[{"start":{"line":319,"column":12},"end":{"line":319,"column":12}},{"start":{"line":319,"column":12},"end":{"line":319,"column":12}}]},"24":{"line":323,"type":"if","locations":[{"start":{"line":323,"column":12},"end":{"line":323,"column":12}},{"start":{"line":323,"column":12},"end":{"line":323,"column":12}}]},"25":{"line":351,"type":"if","locations":[{"start":{"line":351,"column":12},"end":{"line":351,"column":12}},{"start":{"line":351,"column":12},"end":{"line":351,"column":12}}]},"26":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":12},"end":{"line":389,"column":12}},{"start":{"line":389,"column":12},"end":{"line":389,"column":12}}]},"27":{"line":392,"type":"if","locations":[{"start":{"line":392,"column":17},"end":{"line":392,"column":17}},{"start":{"line":392,"column":17},"end":{"line":392,"column":17}}]},"28":{"line":400,"type":"if","locations":[{"start":{"line":400,"column":12},"end":{"line":400,"column":12}},{"start":{"line":400,"column":12},"end":{"line":400,"column":12}}]},"29":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"30":{"line":438,"type":"if","locations":[{"start":{"line":438,"column":12},"end":{"line":438,"column":12}},{"start":{"line":438,"column":12},"end":{"line":438,"column":12}}]},"31":{"line":438,"type":"binary-expr","locations":[{"start":{"line":438,"column":16},"end":{"line":438,"column":47}},{"start":{"line":438,"column":51},"end":{"line":438,"column":74}}]},"32":{"line":461,"type":"if","locations":[{"start":{"line":461,"column":12},"end":{"line":461,"column":12}},{"start":{"line":461,"column":12},"end":{"line":461,"column":12}}]},"33":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":16},"end":{"line":462,"column":16}},{"start":{"line":462,"column":16},"end":{"line":462,"column":16}}]},"34":{"line":463,"type":"if","locations":[{"start":{"line":463,"column":20},"end":{"line":463,"column":20}},{"start":{"line":463,"column":20},"end":{"line":463,"column":20}}]},"35":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":21},"end":{"line":471,"column":21}},{"start":{"line":471,"column":21},"end":{"line":471,"column":21}}]},"36":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":17},"end":{"line":475,"column":17}},{"start":{"line":475,"column":17},"end":{"line":475,"column":17}}]},"37":{"line":513,"type":"if","locations":[{"start":{"line":513,"column":12},"end":{"line":513,"column":12}},{"start":{"line":513,"column":12},"end":{"line":513,"column":12}}]},"38":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":12},"end":{"line":562,"column":12}},{"start":{"line":562,"column":12},"end":{"line":562,"column":12}}]},"39":{"line":590,"type":"if","locations":[{"start":{"line":590,"column":12},"end":{"line":590,"column":12}},{"start":{"line":590,"column":12},"end":{"line":590,"column":12}}]},"40":{"line":606,"type":"if","locations":[{"start":{"line":606,"column":12},"end":{"line":606,"column":12}},{"start":{"line":606,"column":12},"end":{"line":606,"column":12}}]}},"code":["(function () { YUI.add('aui-ace-autocomplete-list', function (A, NAME) {","","/**"," * The ACE Editor AutoCompleteList Overlay"," *"," * @module aui-ace-editor"," * @submodule aui-ace-autocomplete-list"," */","","var Lang = A.Lang,"," AArray = A.Array,"," ANode = A.Node,"," Do = A.Do,",""," getCN = A.getClassName,",""," CLASS_ENTRY = getCN('ace-autocomplete', 'entry'),"," CLASS_ENTRY_CONTAINER = getCN('ace-autocomplete', 'entry', 'container'),"," CLASS_ENTRY_CONTAINER_HIGHLIGHTED = getCN('ace-autocomplete', 'entry', 'container', 'highlighted'),"," CLASS_ENTRY_EMPTY = getCN('ace-autocomplete', 'entry', 'empty'),"," CLASS_ENTRY_LOADING = getCN('ace-autocomplete', 'entry', 'loading'),"," CLASS_RESULTS_LIST = getCN('ace-autocomplete', 'results'),",""," SELECTOR_ENTRY_CONTAINER = '.' + CLASS_ENTRY_CONTAINER,"," SELECTOR_ENTRY_CONTAINER_SELECTED = SELECTOR_ENTRY_CONTAINER + '.' + 'selected',"," SELECTOR_SELECTED_ENTRY = SELECTOR_ENTRY_CONTAINER_SELECTED + ' ' + '.' + CLASS_ENTRY,",""," TPL_FRAGMENT = '
',",""," KEY_DONW = 40,"," KEY_END = 35,"," KEY_PAGE_DOWN = 34,"," KEY_PAGE_UP = 33,"," KEY_START = 36,"," KEY_UP = 38,",""," PADDING_HORIZ = 5,"," PADDING_VERT = 20,",""," /**"," * A base class for AutoCompleteList."," *"," * @class A.AceEditor.AutoCompleteList"," * @extends Overlay"," * @uses A.AceEditor.AutoCompleteBase, A.WidgetAutohide"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */"," AutoCompleteList = A.Base.create('ace-autocomplete-list', A.Overlay, ["," A.AceEditor.AutoCompleteBase,"," A.WidgetAutohide","], {",""," /**"," * Bind the events on the AutoCompleteList UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," var instance = this;",""," instance.on('addSuggestion', instance.hide, instance);"," instance.on('cursorChange', instance._onCursorChange, instance);"," instance.on('cursorOut', instance.hide, instance);"," instance.on('insertText', instance._onInsertText, instance);"," instance.on('match', instance._onMatch, instance);"," instance.on('removeText', instance._onRemoveText, instance);"," instance.on('resultsChange', instance._onResultsChange, instance);"," instance.on('resultsError', instance._setEmptyResults, instance);"," instance.on('showLoadingMessage', instance._onShowLoadingMessage, instance);"," instance.on('visibleChange', instance._onVisibleChange, instance);"," },",""," /**"," * Render the AutoCompleteList component instance. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," var instance = this,"," autoCompleteResultsList;",""," autoCompleteResultsList = instance.get('listNode');",""," if (!autoCompleteResultsList) {"," autoCompleteResultsList = instance._createListNode();"," }",""," autoCompleteResultsList.delegate("," 'click', instance._handleResultListClick, SELECTOR_ENTRY_CONTAINER, instance);",""," autoCompleteResultsList.delegate("," 'mouseenter', instance._onMouseEnter, SELECTOR_ENTRY_CONTAINER, instance);",""," autoCompleteResultsList.delegate('mouseleave', instance._onMouseLeave, SELECTOR_ENTRY_CONTAINER);",""," instance._autoCompleteResultsList = autoCompleteResultsList;"," },",""," /**"," * Creates the main wrapper for the list of suggestions."," *"," * @method _createListNode"," * @protected"," * @return {Node} The created node"," */"," _createListNode: function() {"," var instance = this,"," listNode;",""," listNode = A.Node.create(instance.TPL_LIST);",""," instance.get('contentBox').append(listNode);",""," return listNode;"," },",""," /**"," * Returns the number of entries which could be fit to the current list"," * viewport (page)."," *"," * @method _getEntriesPerPage"," * @protected"," * @return {Number} The number of calculated entries per page"," */"," _getEntriesPerPage: function() {"," var instance = this,"," autoCompleteResultsList,"," containerHeight,"," entriesPerPage,"," entryHeight;",""," entriesPerPage = instance._entriesPerPage;",""," if (!entriesPerPage) {"," autoCompleteResultsList = instance._autoCompleteResultsList;",""," entryHeight = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER).get('offsetHeight');",""," containerHeight = autoCompleteResultsList.get('offsetHeight');",""," entriesPerPage = Math.floor(containerHeight / entryHeight);",""," instance._entriesPerPage = entriesPerPage;"," }",""," return entriesPerPage;"," },",""," /**"," * Returns the currently selected entry."," *"," * @method _getSelectedEntry"," * @protected"," * @return {String} The text of the currently selected entry"," */"," _getSelectedEntry: function() {"," var instance = this,"," entryText,"," selectedEntryNode;",""," selectedEntryNode = instance._autoCompleteResultsList.one(SELECTOR_SELECTED_ENTRY);",""," if (selectedEntryNode) {"," entryText = selectedEntryNode.text();"," }",""," return entryText;"," },",""," /**"," * Handles the arrows and executes different actions depending on the"," * pressed arrow. For example, pressing key down will scroll the list"," * bottom."," *"," * @method _handleArrows"," * @param {Number} keyCode The code of the currently pressed arrow"," * @protected"," * @return {Do.Halt} Instance of Do.Halt in order to stop further"," * function execution"," */"," _handleArrows: function(keyCode) {"," var instance = this,"," action,"," autoCompleteResultsList,"," entry,"," entryRegion,"," resultsListNodeRegion,"," selectedEntry;",""," if (keyCode === KEY_UP) {"," action = 'previous';"," }"," else if (keyCode === KEY_DONW) {"," action = 'next';"," }",""," if (action) {"," autoCompleteResultsList = instance._autoCompleteResultsList;",""," selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);",""," if (selectedEntry) {"," entry = selectedEntry[action](SELECTOR_ENTRY_CONTAINER);",""," if (entry) {"," selectedEntry.removeClass('selected');",""," entry.addClass('selected');",""," resultsListNodeRegion = autoCompleteResultsList.get('region');",""," entryRegion = entry.get('region');",""," if (action === 'previous') {"," if (entryRegion.top < resultsListNodeRegion.top) {"," entry.scrollIntoView(true);"," }"," else if (entryRegion.top > resultsListNodeRegion.bottom) {"," entry.scrollIntoView();"," }"," }"," else {"," if (entryRegion.top + entryRegion.height > resultsListNodeRegion.bottom) {"," entry.scrollIntoView();"," }"," else if (entryRegion.top + entryRegion.height < resultsListNodeRegion.top) {"," entry.scrollIntoView(true);"," }"," }"," }"," }",""," return new Do.Halt(null);"," }"," },",""," /**"," * Handles key pressing and executes different actions depending on key"," * code."," *"," * @method _handleKey"," * @param {CustomEvent} event The fired event"," * @param {Object} obj An internal object of ACE Editor"," * @param {Number} keyCode The code of currently pressed key"," * @protected"," * @return {Do.Halt} If valid code found, returns an instance of Do.Halt"," * in order to stop further function execution"," */"," _handleKey: function(event, obj, keyCode) {"," var instance = this,"," result;",""," if (instance.get('visible')) {"," if (keyCode === KEY_UP || keyCode === KEY_DONW) {"," result = instance._handleArrows(keyCode);"," }"," else if (keyCode === KEY_PAGE_UP || keyCode === KEY_PAGE_DOWN) {"," result = instance._handlePageUpDown(keyCode);"," }"," else if (keyCode === KEY_END || keyCode === KEY_START) {"," result = instance._handleStartEnd(keyCode);"," }"," }",""," return result;"," },",""," /**"," * Handles scrolling page up or down."," *"," * @method _handlePageUpDown"," * @param {Number} keyCode The code of currently pressed key. Could be"," * one of: KEY_PAGE_DOWN = 34, KEY_PAGE_UP = 33,"," * @protected"," * @return {Do.Halt} Returns an instance of Do.Halt in order to stop"," * further function execution"," */"," _handlePageUpDown: function(keyCode) {"," var instance = this,"," autoCompleteResultsList,"," entriesPerPage,"," nextSelectedEntry,"," nextSelectedEntryIndex,"," scrollTop,"," selectedEntry,"," selectedEntryIndex,"," sudoClass;",""," autoCompleteResultsList = instance._autoCompleteResultsList;",""," entriesPerPage = instance._getEntriesPerPage();",""," selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);",""," selectedEntryIndex = Lang.toInt(selectedEntry.attr('data-index'));",""," sudoClass = '';",""," scrollTop = false;",""," if (keyCode === KEY_PAGE_UP) {"," nextSelectedEntryIndex = selectedEntryIndex - entriesPerPage;",""," scrollTop = true;"," }"," else if (keyCode === KEY_PAGE_DOWN) {"," nextSelectedEntryIndex = selectedEntryIndex + entriesPerPage;",""," sudoClass = ':last-child';"," }",""," nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + '[' + 'data-index' + '=\"' +"," nextSelectedEntryIndex + '\"]');",""," if (!nextSelectedEntry) {"," nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + sudoClass);"," }",""," if (selectedEntry !== nextSelectedEntry) {"," selectedEntry.removeClass('selected');",""," nextSelectedEntry.addClass('selected');",""," nextSelectedEntry.scrollIntoView(scrollTop);"," }",""," return new Do.Halt(null);"," },",""," /**"," * Handles click on results and adds a suggestion to the editor."," *"," * @method _handleResultListClick"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _handleResultListClick: function(event) {"," var instance = this,"," content,"," entryNode,"," selectedEntry;",""," entryNode = event.currentTarget;",""," selectedEntry = instance._autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);",""," if (entryNode !== selectedEntry) {"," selectedEntry.removeClass('selected');",""," entryNode.addClass('selected');"," }",""," content = entryNode.text();",""," instance._addSuggestion(content);",""," instance.fire("," 'entrySelected', {"," content: content"," }"," );"," },",""," /**"," * Handles moving of the page to its first or last position."," *"," * @method _handleStartEnd"," * @param {Number} keyCode The code of currently pressed key. Could be"," * one of: KEY_END = 35 KEY_START = 36"," * @protected"," * @return {Do.Halt} Returns an instance of Do.Halt in order to stop"," * further function execution"," */"," _handleStartEnd: function(keyCode) {"," var instance = this,"," autoCompleteResultsList,"," item,"," scrollTop,"," selectedEntry;",""," scrollTop = false;",""," autoCompleteResultsList = instance._autoCompleteResultsList;",""," if (keyCode === KEY_END) {"," item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + ':last-child');"," }"," else if (keyCode === KEY_START) {"," item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);",""," scrollTop = true;"," }",""," selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);",""," if (item !== selectedEntry) {"," selectedEntry.removeClass('selected');",""," item.addClass('selected');",""," item.scrollIntoView(scrollTop);"," }",""," return new Do.Halt(null);"," },",""," /**"," * Prevents the execution of `cursorChange` defaultFn if the list is not"," * currently visible."," *"," * @method _onCursorChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onCursorChange: function(event) {"," var instance = this;",""," if (!instance.get('visible')) {"," event.preventDefault();"," }"," },",""," /**"," * Hides the list when text is being inserted and start row is different"," * than the end row."," *"," * @method _onInsertText"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onInsertText: function(event) {"," var instance = this;",""," if (event.startRow !== event.endRow && instance.get('visible')) {"," instance.hide();"," }"," },",""," /**"," * Shows and moves the list on the proper position in case of match and"," * available results or hides the list otherwise."," *"," * @method _onMatch"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onMatch: function(event) {"," var instance = this,"," coords,"," hasResults,"," visible;",""," visible = instance.get('visible');",""," hasResults = instance._autoCompleteResultsList.hasChildNodes();",""," if (event.match) {"," if (hasResults) {"," if (!visible) {"," coords = event.coords;",""," instance.set('xy', [coords.pageX + PADDING_HORIZ, coords.pageY + PADDING_VERT]);",""," instance.show();"," }"," }"," else if (visible) {"," instance.hide();"," }"," }"," else if (visible) {"," instance.hide();"," }"," },",""," /**"," * Highlights the current entry in case of mouse enter event."," *"," * @method _onMouseEnter"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onMouseEnter: function(event) {"," event.currentTarget.addClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);"," },",""," /**"," * Removes the highlighting from the current entry in case of mouse"," * leave event."," *"," * @method _onMouseLeave"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onMouseLeave: function(event) {"," event.currentTarget.removeClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);"," },",""," /**"," * On removing text, hides the list, if visible."," *"," * @method _onRemoveText"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onRemoveText: function() {"," var instance = this;",""," if (instance.get('visible')) {"," instance.hide();"," }"," },",""," /**"," * Handles `resultsChange` event. Removes the current list of entries,"," * populates the new ones and selects the first entry."," *"," * @method _onResultsChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onResultsChange: function(event) {"," var instance = this,"," autoCompleteResultsList,"," entryTemplate,"," firstEntry,"," results,"," tmpNode;",""," autoCompleteResultsList = instance._autoCompleteResultsList;",""," autoCompleteResultsList.empty();",""," results = event.newVal;",""," entryTemplate = instance.TPL_ENTRY;",""," tmpNode = ANode.create(TPL_FRAGMENT);",""," AArray.each("," results,"," function(item, index) {"," tmpNode.appendChild("," Lang.sub("," entryTemplate, {"," index: index,"," value: item"," }"," )"," );"," }"," );",""," autoCompleteResultsList.setHTML(tmpNode.getHTML());",""," firstEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);",""," if (firstEntry) {"," firstEntry.addClass('selected');"," }"," },",""," /**"," * Displays a loading message in the list."," *"," * @method _onShowLoadingMessage"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onShowLoadingMessage: function() {"," var instance = this,"," autoCompleteResultsList;",""," autoCompleteResultsList = instance._autoCompleteResultsList;",""," autoCompleteResultsList.empty();",""," autoCompleteResultsList.appendChild("," Lang.sub("," instance.TPL_LOADING, {"," label: instance.get('loadingMessage')"," }"," )"," );",""," if (!instance.get('visible')) {"," instance.show();"," }"," },",""," /**"," * Overwrites editor commands before show or restores the original"," * behavior when hiding."," *"," * @method _onVisibleChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _onVisibleChange: function(event) {"," var instance = this;",""," if (event.newVal) {"," instance._overwriteCommands();"," }"," else {"," instance._removeAutoCompleteCommands();"," }"," },",""," /**"," * Sets and empty array as results."," *"," * @method _setEmptyResults"," * @protected"," */"," _setEmptyResults: function() {"," var instance = this;",""," instance.set('results', []);"," },",""," TPL_ENTRY: '' + '{value} ' + ' ',",""," TPL_LIST: '',",""," TPL_LOADING: '' + '{label} ' + ' ',",""," TPL_RESULTS_EMPTY: '' + '{label} ' + ' '"," }, {",""," /**"," * Static property which provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'ace-autocomplete-list',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */"," NS: 'ace-autocomplete-list',",""," /**"," * Static property used to define the default attribute"," * configuration for the AutoCompleteList."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {",""," /**"," * The Editor in which the current instance is plugged."," *"," * @attribute host"," * @type Object"," */"," host: {"," validator: Lang.isObject"," },",""," /**"," * A Node in which results will be shown."," *"," * @attribute listNode"," * @default null"," * @type Node"," */"," listNode: {"," value: null"," },",""," /**"," * A string, representing the loading message."," *"," * @attribute loadingMessage"," * @default 'Loading'"," * @type String"," */"," loadingMessage: {"," validator: Lang.isString,"," value: 'Loading'"," },",""," /**"," * Contains the current set of results in the list."," *"," * @attribute results"," * @type Array"," */"," results: {"," validator: Lang.isArray"," },",""," /**"," * Provides the currently selected entry."," *"," * @attribute selectedEntry"," */"," selectedEntry: {"," getter: '_getSelectedEntry'"," },",""," /**"," * Collection of strings used to label elements of the UI."," *"," * @attribute strings"," * @type Object"," */"," strings: {"," validator: Lang.isObject,"," value: {"," emptyMessage: 'No suggestions'"," }"," }"," },",""," /**"," * The prefix of all CSS Classes."," *"," * @property CSS_PREFIX"," * @type String"," * @static"," */"," CSS_PREFIX: 'ace-autocomplete',",""," /**"," * Object hash, defining how attribute values are to be parsed from"," * markup contained in the widget's content box."," *"," * @property HTML_PARSER"," * @static"," */"," HTML_PARSER: {"," listNode: '.' + CLASS_RESULTS_LIST"," }"," });","","A.AceEditor.AutoCompleteList = AutoCompleteList;","A.AceEditor.AutoComplete = AutoCompleteList;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-autocomplete-base\", \"overlay\", \"widget-autohide\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_JT6hH1sQ4as5pf0SjHoaUw = __coverage__['build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js'];
+__cov_JT6hH1sQ4as5pf0SjHoaUw.s['1']++;YUI.add('aui-ace-autocomplete-list',function(A,NAME){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['1']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['2']++;var Lang=A.Lang,AArray=A.Array,ANode=A.Node,Do=A.Do,getCN=A.getClassName,CLASS_ENTRY=getCN('ace-autocomplete','entry'),CLASS_ENTRY_CONTAINER=getCN('ace-autocomplete','entry','container'),CLASS_ENTRY_CONTAINER_HIGHLIGHTED=getCN('ace-autocomplete','entry','container','highlighted'),CLASS_ENTRY_EMPTY=getCN('ace-autocomplete','entry','empty'),CLASS_ENTRY_LOADING=getCN('ace-autocomplete','entry','loading'),CLASS_RESULTS_LIST=getCN('ace-autocomplete','results'),SELECTOR_ENTRY_CONTAINER='.'+CLASS_ENTRY_CONTAINER,SELECTOR_ENTRY_CONTAINER_SELECTED=SELECTOR_ENTRY_CONTAINER+'.'+'selected',SELECTOR_SELECTED_ENTRY=SELECTOR_ENTRY_CONTAINER_SELECTED+' '+'.'+CLASS_ENTRY,TPL_FRAGMENT='
',KEY_DONW=40,KEY_END=35,KEY_PAGE_DOWN=34,KEY_PAGE_UP=33,KEY_START=36,KEY_UP=38,PADDING_HORIZ=5,PADDING_VERT=20,AutoCompleteList=A.Base.create('ace-autocomplete-list',A.Overlay,[A.AceEditor.AutoCompleteBase,A.WidgetAutohide],{bindUI:function(){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['2']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['3']++;var instance=this;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['4']++;instance.on('addSuggestion',instance.hide,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['5']++;instance.on('cursorChange',instance._onCursorChange,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['6']++;instance.on('cursorOut',instance.hide,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['7']++;instance.on('insertText',instance._onInsertText,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['8']++;instance.on('match',instance._onMatch,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['9']++;instance.on('removeText',instance._onRemoveText,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['10']++;instance.on('resultsChange',instance._onResultsChange,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['11']++;instance.on('resultsError',instance._setEmptyResults,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['12']++;instance.on('showLoadingMessage',instance._onShowLoadingMessage,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['13']++;instance.on('visibleChange',instance._onVisibleChange,instance);},renderUI:function(){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['3']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['14']++;var instance=this,autoCompleteResultsList;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['15']++;autoCompleteResultsList=instance.get('listNode');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['16']++;if(!autoCompleteResultsList){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['1'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['17']++;autoCompleteResultsList=instance._createListNode();}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['1'][1]++;}__cov_JT6hH1sQ4as5pf0SjHoaUw.s['18']++;autoCompleteResultsList.delegate('click',instance._handleResultListClick,SELECTOR_ENTRY_CONTAINER,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['19']++;autoCompleteResultsList.delegate('mouseenter',instance._onMouseEnter,SELECTOR_ENTRY_CONTAINER,instance);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['20']++;autoCompleteResultsList.delegate('mouseleave',instance._onMouseLeave,SELECTOR_ENTRY_CONTAINER);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['21']++;instance._autoCompleteResultsList=autoCompleteResultsList;},_createListNode:function(){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['4']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['22']++;var instance=this,listNode;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['23']++;listNode=A.Node.create(instance.TPL_LIST);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['24']++;instance.get('contentBox').append(listNode);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['25']++;return listNode;},_getEntriesPerPage:function(){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['5']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['26']++;var instance=this,autoCompleteResultsList,containerHeight,entriesPerPage,entryHeight;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['27']++;entriesPerPage=instance._entriesPerPage;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['28']++;if(!entriesPerPage){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['2'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['29']++;autoCompleteResultsList=instance._autoCompleteResultsList;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['30']++;entryHeight=autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER).get('offsetHeight');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['31']++;containerHeight=autoCompleteResultsList.get('offsetHeight');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['32']++;entriesPerPage=Math.floor(containerHeight/entryHeight);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['33']++;instance._entriesPerPage=entriesPerPage;}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['2'][1]++;}__cov_JT6hH1sQ4as5pf0SjHoaUw.s['34']++;return entriesPerPage;},_getSelectedEntry:function(){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['6']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['35']++;var instance=this,entryText,selectedEntryNode;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['36']++;selectedEntryNode=instance._autoCompleteResultsList.one(SELECTOR_SELECTED_ENTRY);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['37']++;if(selectedEntryNode){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['3'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['38']++;entryText=selectedEntryNode.text();}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['3'][1]++;}__cov_JT6hH1sQ4as5pf0SjHoaUw.s['39']++;return entryText;},_handleArrows:function(keyCode){__cov_JT6hH1sQ4as5pf0SjHoaUw.f['7']++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['40']++;var instance=this,action,autoCompleteResultsList,entry,entryRegion,resultsListNodeRegion,selectedEntry;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['41']++;if(keyCode===KEY_UP){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['4'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['42']++;action='previous';}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['4'][1]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['43']++;if(keyCode===KEY_DONW){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['5'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['44']++;action='next';}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['5'][1]++;}}__cov_JT6hH1sQ4as5pf0SjHoaUw.s['45']++;if(action){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['6'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['46']++;autoCompleteResultsList=instance._autoCompleteResultsList;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['47']++;selectedEntry=autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['48']++;if(selectedEntry){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['7'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['49']++;entry=selectedEntry[action](SELECTOR_ENTRY_CONTAINER);__cov_JT6hH1sQ4as5pf0SjHoaUw.s['50']++;if(entry){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['8'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['51']++;selectedEntry.removeClass('selected');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['52']++;entry.addClass('selected');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['53']++;resultsListNodeRegion=autoCompleteResultsList.get('region');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['54']++;entryRegion=entry.get('region');__cov_JT6hH1sQ4as5pf0SjHoaUw.s['55']++;if(action==='previous'){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['9'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['56']++;if(entryRegion.topresultsListNodeRegion.bottom){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['11'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['59']++;entry.scrollIntoView();}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['11'][1]++;}}}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['9'][1]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['60']++;if(entryRegion.top+entryRegion.height>resultsListNodeRegion.bottom){__cov_JT6hH1sQ4as5pf0SjHoaUw.b['12'][0]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['61']++;entry.scrollIntoView();}else{__cov_JT6hH1sQ4as5pf0SjHoaUw.b['12'][1]++;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['62']++;if(entryRegion.top+entryRegion.height'+'{value} '+'',TPL_LIST:'',TPL_LOADING:''+'{label} '+' ',TPL_RESULTS_EMPTY:''+'{label} '+' '},{NAME:'ace-autocomplete-list',NS:'ace-autocomplete-list',ATTRS:{host:{validator:Lang.isObject},listNode:{value:null},loadingMessage:{validator:Lang.isString,value:'Loading'},results:{validator:Lang.isArray},selectedEntry:{getter:'_getSelectedEntry'},strings:{validator:Lang.isObject,value:{emptyMessage:'No suggestions'}}},CSS_PREFIX:'ace-autocomplete',HTML_PARSER:{listNode:'.'+CLASS_RESULTS_LIST}});__cov_JT6hH1sQ4as5pf0SjHoaUw.s['166']++;A.AceEditor.AutoCompleteList=AutoCompleteList;__cov_JT6hH1sQ4as5pf0SjHoaUw.s['167']++;A.AceEditor.AutoComplete=AutoCompleteList;},'3.1.0-deprecated.52',{'requires':['aui-ace-autocomplete-base','overlay','widget-autohide'],'skinnable':true});
diff --git a/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-debug.js b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-debug.js
new file mode 100644
index 00000000000..ba24e46e203
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-debug.js
@@ -0,0 +1,757 @@
+YUI.add('aui-ace-autocomplete-list', function (A, NAME) {
+
+/**
+ * The ACE Editor AutoCompleteList Overlay
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-list
+ */
+
+var Lang = A.Lang,
+ AArray = A.Array,
+ ANode = A.Node,
+ Do = A.Do,
+
+ getCN = A.getClassName,
+
+ CLASS_ENTRY = getCN('ace-autocomplete', 'entry'),
+ CLASS_ENTRY_CONTAINER = getCN('ace-autocomplete', 'entry', 'container'),
+ CLASS_ENTRY_CONTAINER_HIGHLIGHTED = getCN('ace-autocomplete', 'entry', 'container', 'highlighted'),
+ CLASS_ENTRY_EMPTY = getCN('ace-autocomplete', 'entry', 'empty'),
+ CLASS_ENTRY_LOADING = getCN('ace-autocomplete', 'entry', 'loading'),
+ CLASS_RESULTS_LIST = getCN('ace-autocomplete', 'results'),
+
+ SELECTOR_ENTRY_CONTAINER = '.' + CLASS_ENTRY_CONTAINER,
+ SELECTOR_ENTRY_CONTAINER_SELECTED = SELECTOR_ENTRY_CONTAINER + '.' + 'selected',
+ SELECTOR_SELECTED_ENTRY = SELECTOR_ENTRY_CONTAINER_SELECTED + ' ' + '.' + CLASS_ENTRY,
+
+ TPL_FRAGMENT = '
',
+
+ KEY_DONW = 40,
+ KEY_END = 35,
+ KEY_PAGE_DOWN = 34,
+ KEY_PAGE_UP = 33,
+ KEY_START = 36,
+ KEY_UP = 38,
+
+ PADDING_HORIZ = 5,
+ PADDING_VERT = 20,
+
+ /**
+ * A base class for AutoCompleteList.
+ *
+ * @class A.AceEditor.AutoCompleteList
+ * @extends Overlay
+ * @uses A.AceEditor.AutoCompleteBase, A.WidgetAutohide
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+ AutoCompleteList = A.Base.create('ace-autocomplete-list', A.Overlay, [
+ A.AceEditor.AutoCompleteBase,
+ A.WidgetAutohide
+], {
+
+ /**
+ * Bind the events on the AutoCompleteList UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.on('addSuggestion', instance.hide, instance);
+ instance.on('cursorChange', instance._onCursorChange, instance);
+ instance.on('cursorOut', instance.hide, instance);
+ instance.on('insertText', instance._onInsertText, instance);
+ instance.on('match', instance._onMatch, instance);
+ instance.on('removeText', instance._onRemoveText, instance);
+ instance.on('resultsChange', instance._onResultsChange, instance);
+ instance.on('resultsError', instance._setEmptyResults, instance);
+ instance.on('showLoadingMessage', instance._onShowLoadingMessage, instance);
+ instance.on('visibleChange', instance._onVisibleChange, instance);
+ },
+
+ /**
+ * Render the AutoCompleteList component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this,
+ autoCompleteResultsList;
+
+ autoCompleteResultsList = instance.get('listNode');
+
+ if (!autoCompleteResultsList) {
+ autoCompleteResultsList = instance._createListNode();
+ }
+
+ autoCompleteResultsList.delegate(
+ 'click', instance._handleResultListClick, SELECTOR_ENTRY_CONTAINER, instance);
+
+ autoCompleteResultsList.delegate(
+ 'mouseenter', instance._onMouseEnter, SELECTOR_ENTRY_CONTAINER, instance);
+
+ autoCompleteResultsList.delegate('mouseleave', instance._onMouseLeave, SELECTOR_ENTRY_CONTAINER);
+
+ instance._autoCompleteResultsList = autoCompleteResultsList;
+ },
+
+ /**
+ * Creates the main wrapper for the list of suggestions.
+ *
+ * @method _createListNode
+ * @protected
+ * @return {Node} The created node
+ */
+ _createListNode: function() {
+ var instance = this,
+ listNode;
+
+ listNode = A.Node.create(instance.TPL_LIST);
+
+ instance.get('contentBox').append(listNode);
+
+ return listNode;
+ },
+
+ /**
+ * Returns the number of entries which could be fit to the current list
+ * viewport (page).
+ *
+ * @method _getEntriesPerPage
+ * @protected
+ * @return {Number} The number of calculated entries per page
+ */
+ _getEntriesPerPage: function() {
+ var instance = this,
+ autoCompleteResultsList,
+ containerHeight,
+ entriesPerPage,
+ entryHeight;
+
+ entriesPerPage = instance._entriesPerPage;
+
+ if (!entriesPerPage) {
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ entryHeight = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER).get('offsetHeight');
+
+ containerHeight = autoCompleteResultsList.get('offsetHeight');
+
+ entriesPerPage = Math.floor(containerHeight / entryHeight);
+
+ instance._entriesPerPage = entriesPerPage;
+ }
+
+ return entriesPerPage;
+ },
+
+ /**
+ * Returns the currently selected entry.
+ *
+ * @method _getSelectedEntry
+ * @protected
+ * @return {String} The text of the currently selected entry
+ */
+ _getSelectedEntry: function() {
+ var instance = this,
+ entryText,
+ selectedEntryNode;
+
+ selectedEntryNode = instance._autoCompleteResultsList.one(SELECTOR_SELECTED_ENTRY);
+
+ if (selectedEntryNode) {
+ entryText = selectedEntryNode.text();
+ }
+
+ return entryText;
+ },
+
+ /**
+ * Handles the arrows and executes different actions depending on the
+ * pressed arrow. For example, pressing key down will scroll the list
+ * bottom.
+ *
+ * @method _handleArrows
+ * @param {Number} keyCode The code of the currently pressed arrow
+ * @protected
+ * @return {Do.Halt} Instance of Do.Halt in order to stop further
+ * function execution
+ */
+ _handleArrows: function(keyCode) {
+ var instance = this,
+ action,
+ autoCompleteResultsList,
+ entry,
+ entryRegion,
+ resultsListNodeRegion,
+ selectedEntry;
+
+ if (keyCode === KEY_UP) {
+ action = 'previous';
+ }
+ else if (keyCode === KEY_DONW) {
+ action = 'next';
+ }
+
+ if (action) {
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (selectedEntry) {
+ entry = selectedEntry[action](SELECTOR_ENTRY_CONTAINER);
+
+ if (entry) {
+ selectedEntry.removeClass('selected');
+
+ entry.addClass('selected');
+
+ resultsListNodeRegion = autoCompleteResultsList.get('region');
+
+ entryRegion = entry.get('region');
+
+ if (action === 'previous') {
+ if (entryRegion.top < resultsListNodeRegion.top) {
+ entry.scrollIntoView(true);
+ }
+ else if (entryRegion.top > resultsListNodeRegion.bottom) {
+ entry.scrollIntoView();
+ }
+ }
+ else {
+ if (entryRegion.top + entryRegion.height > resultsListNodeRegion.bottom) {
+ entry.scrollIntoView();
+ }
+ else if (entryRegion.top + entryRegion.height < resultsListNodeRegion.top) {
+ entry.scrollIntoView(true);
+ }
+ }
+ }
+ }
+
+ return new Do.Halt(null);
+ }
+ },
+
+ /**
+ * Handles key pressing and executes different actions depending on key
+ * code.
+ *
+ * @method _handleKey
+ * @param {CustomEvent} event The fired event
+ * @param {Object} obj An internal object of ACE Editor
+ * @param {Number} keyCode The code of currently pressed key
+ * @protected
+ * @return {Do.Halt} If valid code found, returns an instance of Do.Halt
+ * in order to stop further function execution
+ */
+ _handleKey: function(event, obj, keyCode) {
+ var instance = this,
+ result;
+
+ if (instance.get('visible')) {
+ if (keyCode === KEY_UP || keyCode === KEY_DONW) {
+ result = instance._handleArrows(keyCode);
+ }
+ else if (keyCode === KEY_PAGE_UP || keyCode === KEY_PAGE_DOWN) {
+ result = instance._handlePageUpDown(keyCode);
+ }
+ else if (keyCode === KEY_END || keyCode === KEY_START) {
+ result = instance._handleStartEnd(keyCode);
+ }
+ }
+
+ return result;
+ },
+
+ /**
+ * Handles scrolling page up or down.
+ *
+ * @method _handlePageUpDown
+ * @param {Number} keyCode The code of currently pressed key. Could be
+ * one of: KEY_PAGE_DOWN = 34, KEY_PAGE_UP = 33,
+ * @protected
+ * @return {Do.Halt} Returns an instance of Do.Halt in order to stop
+ * further function execution
+ */
+ _handlePageUpDown: function(keyCode) {
+ var instance = this,
+ autoCompleteResultsList,
+ entriesPerPage,
+ nextSelectedEntry,
+ nextSelectedEntryIndex,
+ scrollTop,
+ selectedEntry,
+ selectedEntryIndex,
+ sudoClass;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ entriesPerPage = instance._getEntriesPerPage();
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ selectedEntryIndex = Lang.toInt(selectedEntry.attr('data-index'));
+
+ sudoClass = '';
+
+ scrollTop = false;
+
+ if (keyCode === KEY_PAGE_UP) {
+ nextSelectedEntryIndex = selectedEntryIndex - entriesPerPage;
+
+ scrollTop = true;
+ }
+ else if (keyCode === KEY_PAGE_DOWN) {
+ nextSelectedEntryIndex = selectedEntryIndex + entriesPerPage;
+
+ sudoClass = ':last-child';
+ }
+
+ nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + '[' + 'data-index' + '="' +
+ nextSelectedEntryIndex + '"]');
+
+ if (!nextSelectedEntry) {
+ nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + sudoClass);
+ }
+
+ if (selectedEntry !== nextSelectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ nextSelectedEntry.addClass('selected');
+
+ nextSelectedEntry.scrollIntoView(scrollTop);
+ }
+
+ return new Do.Halt(null);
+ },
+
+ /**
+ * Handles click on results and adds a suggestion to the editor.
+ *
+ * @method _handleResultListClick
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _handleResultListClick: function(event) {
+ var instance = this,
+ content,
+ entryNode,
+ selectedEntry;
+
+ entryNode = event.currentTarget;
+
+ selectedEntry = instance._autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (entryNode !== selectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ entryNode.addClass('selected');
+ }
+
+ content = entryNode.text();
+
+ instance._addSuggestion(content);
+
+ instance.fire(
+ 'entrySelected', {
+ content: content
+ }
+ );
+ },
+
+ /**
+ * Handles moving of the page to its first or last position.
+ *
+ * @method _handleStartEnd
+ * @param {Number} keyCode The code of currently pressed key. Could be
+ * one of: KEY_END = 35 KEY_START = 36
+ * @protected
+ * @return {Do.Halt} Returns an instance of Do.Halt in order to stop
+ * further function execution
+ */
+ _handleStartEnd: function(keyCode) {
+ var instance = this,
+ autoCompleteResultsList,
+ item,
+ scrollTop,
+ selectedEntry;
+
+ scrollTop = false;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ if (keyCode === KEY_END) {
+ item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + ':last-child');
+ }
+ else if (keyCode === KEY_START) {
+ item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);
+
+ scrollTop = true;
+ }
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (item !== selectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ item.addClass('selected');
+
+ item.scrollIntoView(scrollTop);
+ }
+
+ return new Do.Halt(null);
+ },
+
+ /**
+ * Prevents the execution of `cursorChange` defaultFn if the list is not
+ * currently visible.
+ *
+ * @method _onCursorChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onCursorChange: function(event) {
+ var instance = this;
+
+ if (!instance.get('visible')) {
+ event.preventDefault();
+ }
+ },
+
+ /**
+ * Hides the list when text is being inserted and start row is different
+ * than the end row.
+ *
+ * @method _onInsertText
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onInsertText: function(event) {
+ var instance = this;
+
+ if (event.startRow !== event.endRow && instance.get('visible')) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Shows and moves the list on the proper position in case of match and
+ * available results or hides the list otherwise.
+ *
+ * @method _onMatch
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMatch: function(event) {
+ var instance = this,
+ coords,
+ hasResults,
+ visible;
+
+ visible = instance.get('visible');
+
+ hasResults = instance._autoCompleteResultsList.hasChildNodes();
+
+ if (event.match) {
+ if (hasResults) {
+ if (!visible) {
+ coords = event.coords;
+
+ instance.set('xy', [coords.pageX + PADDING_HORIZ, coords.pageY + PADDING_VERT]);
+
+ instance.show();
+ }
+ }
+ else if (visible) {
+ instance.hide();
+ }
+ }
+ else if (visible) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Highlights the current entry in case of mouse enter event.
+ *
+ * @method _onMouseEnter
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMouseEnter: function(event) {
+ event.currentTarget.addClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);
+ },
+
+ /**
+ * Removes the highlighting from the current entry in case of mouse
+ * leave event.
+ *
+ * @method _onMouseLeave
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMouseLeave: function(event) {
+ event.currentTarget.removeClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);
+ },
+
+ /**
+ * On removing text, hides the list, if visible.
+ *
+ * @method _onRemoveText
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onRemoveText: function() {
+ var instance = this;
+
+ if (instance.get('visible')) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Handles `resultsChange` event. Removes the current list of entries,
+ * populates the new ones and selects the first entry.
+ *
+ * @method _onResultsChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onResultsChange: function(event) {
+ var instance = this,
+ autoCompleteResultsList,
+ entryTemplate,
+ firstEntry,
+ results,
+ tmpNode;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ autoCompleteResultsList.empty();
+
+ results = event.newVal;
+
+ entryTemplate = instance.TPL_ENTRY;
+
+ tmpNode = ANode.create(TPL_FRAGMENT);
+
+ AArray.each(
+ results,
+ function(item, index) {
+ tmpNode.appendChild(
+ Lang.sub(
+ entryTemplate, {
+ index: index,
+ value: item
+ }
+ )
+ );
+ }
+ );
+
+ autoCompleteResultsList.setHTML(tmpNode.getHTML());
+
+ firstEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);
+
+ if (firstEntry) {
+ firstEntry.addClass('selected');
+ }
+ },
+
+ /**
+ * Displays a loading message in the list.
+ *
+ * @method _onShowLoadingMessage
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onShowLoadingMessage: function() {
+ var instance = this,
+ autoCompleteResultsList;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ autoCompleteResultsList.empty();
+
+ autoCompleteResultsList.appendChild(
+ Lang.sub(
+ instance.TPL_LOADING, {
+ label: instance.get('loadingMessage')
+ }
+ )
+ );
+
+ if (!instance.get('visible')) {
+ instance.show();
+ }
+ },
+
+ /**
+ * Overwrites editor commands before show or restores the original
+ * behavior when hiding.
+ *
+ * @method _onVisibleChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onVisibleChange: function(event) {
+ var instance = this;
+
+ if (event.newVal) {
+ instance._overwriteCommands();
+ }
+ else {
+ instance._removeAutoCompleteCommands();
+ }
+ },
+
+ /**
+ * Sets and empty array as results.
+ *
+ * @method _setEmptyResults
+ * @protected
+ */
+ _setEmptyResults: function() {
+ var instance = this;
+
+ instance.set('results', []);
+ },
+
+ TPL_ENTRY: '' + '{value} ' + ' ',
+
+ TPL_LIST: '',
+
+ TPL_LOADING: '' + '{label} ' + ' ',
+
+ TPL_RESULTS_EMPTY: '' + '{label} ' + ' '
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'ace-autocomplete-list',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'ace-autocomplete-list',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the AutoCompleteList.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * A Node in which results will be shown.
+ *
+ * @attribute listNode
+ * @default null
+ * @type Node
+ */
+ listNode: {
+ value: null
+ },
+
+ /**
+ * A string, representing the loading message.
+ *
+ * @attribute loadingMessage
+ * @default 'Loading'
+ * @type String
+ */
+ loadingMessage: {
+ validator: Lang.isString,
+ value: 'Loading'
+ },
+
+ /**
+ * Contains the current set of results in the list.
+ *
+ * @attribute results
+ * @type Array
+ */
+ results: {
+ validator: Lang.isArray
+ },
+
+ /**
+ * Provides the currently selected entry.
+ *
+ * @attribute selectedEntry
+ */
+ selectedEntry: {
+ getter: '_getSelectedEntry'
+ },
+
+ /**
+ * Collection of strings used to label elements of the UI.
+ *
+ * @attribute strings
+ * @type Object
+ */
+ strings: {
+ validator: Lang.isObject,
+ value: {
+ emptyMessage: 'No suggestions'
+ }
+ }
+ },
+
+ /**
+ * The prefix of all CSS Classes.
+ *
+ * @property CSS_PREFIX
+ * @type String
+ * @static
+ */
+ CSS_PREFIX: 'ace-autocomplete',
+
+ /**
+ * Object hash, defining how attribute values are to be parsed from
+ * markup contained in the widget's content box.
+ *
+ * @property HTML_PARSER
+ * @static
+ */
+ HTML_PARSER: {
+ listNode: '.' + CLASS_RESULTS_LIST
+ }
+ });
+
+A.AceEditor.AutoCompleteList = AutoCompleteList;
+A.AceEditor.AutoComplete = AutoCompleteList;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-base", "overlay", "widget-autohide"], "skinnable": true});
diff --git a/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-min.js b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-min.js
new file mode 100644
index 00000000000..12f639de089
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list-min.js
@@ -0,0 +1 @@
+YUI.add("aui-ace-autocomplete-list",function(e,t){var n=e.Lang,r=e.Array,i=e.Node,s=e.Do,o=e.getClassName,u=o("ace-autocomplete","entry"),a=o("ace-autocomplete","entry","container"),f=o("ace-autocomplete","entry","container","highlighted"),l=o("ace-autocomplete","entry","empty"),c=o("ace-autocomplete","entry","loading"),h=o("ace-autocomplete","results"),p="."+a,d=p+"."+"selected",v=d+" "+"."+u,m="
",g=40,y=35,b=34,w=33,E=36,S=38,x=5,T=20,N=e.Base.create("ace-autocomplete-list",e.Overlay,[e.AceEditor.AutoCompleteBase,e.WidgetAutohide],{bindUI:function(){var e=this;e.on("addSuggestion",e.hide,e),e.on("cursorChange",e._onCursorChange,e),e.on("cursorOut",e.hide,e),e.on("insertText",e._onInsertText,e),e.on("match",e._onMatch,e),e.on("removeText",e._onRemoveText,e),e.on("resultsChange",e._onResultsChange,e),e.on("resultsError",e._setEmptyResults,e),e.on("showLoadingMessage",e._onShowLoadingMessage,e),e.on("visibleChange",e._onVisibleChange,e)},renderUI:function(){var e=this,t;t=e.get("listNode"),t||(t=e._createListNode()),t.delegate("click",e._handleResultListClick,p,e),t.delegate("mouseenter",e._onMouseEnter,p,e),t.delegate("mouseleave",e._onMouseLeave,p),e._autoCompleteResultsList=t},_createListNode:function(){var t=this,n;return n=e.Node.create(t.TPL_LIST),t.get("contentBox").append(n),n},_getEntriesPerPage:function(){var e=this,t,n,r,i;return r=e._entriesPerPage,r||(t=e._autoCompleteResultsList,i=t.one(p).get("offsetHeight"),n=t.get("offsetHeight"),r=Math.floor(n/i),e._entriesPerPage=r),r},_getSelectedEntry:function(){var e=this,t,n;return n=e._autoCompleteResultsList.one(v),n&&(t=n.text()),t},_handleArrows:function(e){var t=this,n,r,i,o,u,a;e===S?n="previous":e===g&&(n="next");if(n)return r=t._autoCompleteResultsList,a=r.one(d),a&&(i=a[n](p),i&&(a.removeClass("selected"),i.addClass("selected"),u=r.get("region"),o=i.get("region"),n==="previous"?o.topu.bottom&&i.scrollIntoView():o.top+o.height>u.bottom?i.scrollIntoView():o.top+o.height'+'{value} '+"",TPL_LIST:'',TPL_LOADING:''+'{label} '+" ",TPL_RESULTS_EMPTY:''+'{label} '+" "},{NAME:"ace-autocomplete-list",NS:"ace-autocomplete-list",ATTRS:{host:{validator:n.isObject},listNode:{value:null},loadingMessage:{validator:n.isString,value:"Loading"},results:{validator:n.isArray},selectedEntry:{getter:"_getSelectedEntry"},strings:{validator:n.isObject,value:{emptyMessage:"No suggestions"}}},CSS_PREFIX:"ace-autocomplete",HTML_PARSER:{listNode:"."+h}});e.AceEditor.AutoCompleteList=N,e.AceEditor.AutoComplete=N},"3.1.0-deprecated.52",{requires:["aui-ace-autocomplete-base","overlay","widget-autohide"],skinnable:!0});
diff --git a/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js
new file mode 100644
index 00000000000..ba24e46e203
--- /dev/null
+++ b/build/aui-ace-autocomplete-list/aui-ace-autocomplete-list.js
@@ -0,0 +1,757 @@
+YUI.add('aui-ace-autocomplete-list', function (A, NAME) {
+
+/**
+ * The ACE Editor AutoCompleteList Overlay
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-list
+ */
+
+var Lang = A.Lang,
+ AArray = A.Array,
+ ANode = A.Node,
+ Do = A.Do,
+
+ getCN = A.getClassName,
+
+ CLASS_ENTRY = getCN('ace-autocomplete', 'entry'),
+ CLASS_ENTRY_CONTAINER = getCN('ace-autocomplete', 'entry', 'container'),
+ CLASS_ENTRY_CONTAINER_HIGHLIGHTED = getCN('ace-autocomplete', 'entry', 'container', 'highlighted'),
+ CLASS_ENTRY_EMPTY = getCN('ace-autocomplete', 'entry', 'empty'),
+ CLASS_ENTRY_LOADING = getCN('ace-autocomplete', 'entry', 'loading'),
+ CLASS_RESULTS_LIST = getCN('ace-autocomplete', 'results'),
+
+ SELECTOR_ENTRY_CONTAINER = '.' + CLASS_ENTRY_CONTAINER,
+ SELECTOR_ENTRY_CONTAINER_SELECTED = SELECTOR_ENTRY_CONTAINER + '.' + 'selected',
+ SELECTOR_SELECTED_ENTRY = SELECTOR_ENTRY_CONTAINER_SELECTED + ' ' + '.' + CLASS_ENTRY,
+
+ TPL_FRAGMENT = '
',
+
+ KEY_DONW = 40,
+ KEY_END = 35,
+ KEY_PAGE_DOWN = 34,
+ KEY_PAGE_UP = 33,
+ KEY_START = 36,
+ KEY_UP = 38,
+
+ PADDING_HORIZ = 5,
+ PADDING_VERT = 20,
+
+ /**
+ * A base class for AutoCompleteList.
+ *
+ * @class A.AceEditor.AutoCompleteList
+ * @extends Overlay
+ * @uses A.AceEditor.AutoCompleteBase, A.WidgetAutohide
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+ AutoCompleteList = A.Base.create('ace-autocomplete-list', A.Overlay, [
+ A.AceEditor.AutoCompleteBase,
+ A.WidgetAutohide
+], {
+
+ /**
+ * Bind the events on the AutoCompleteList UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.on('addSuggestion', instance.hide, instance);
+ instance.on('cursorChange', instance._onCursorChange, instance);
+ instance.on('cursorOut', instance.hide, instance);
+ instance.on('insertText', instance._onInsertText, instance);
+ instance.on('match', instance._onMatch, instance);
+ instance.on('removeText', instance._onRemoveText, instance);
+ instance.on('resultsChange', instance._onResultsChange, instance);
+ instance.on('resultsError', instance._setEmptyResults, instance);
+ instance.on('showLoadingMessage', instance._onShowLoadingMessage, instance);
+ instance.on('visibleChange', instance._onVisibleChange, instance);
+ },
+
+ /**
+ * Render the AutoCompleteList component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this,
+ autoCompleteResultsList;
+
+ autoCompleteResultsList = instance.get('listNode');
+
+ if (!autoCompleteResultsList) {
+ autoCompleteResultsList = instance._createListNode();
+ }
+
+ autoCompleteResultsList.delegate(
+ 'click', instance._handleResultListClick, SELECTOR_ENTRY_CONTAINER, instance);
+
+ autoCompleteResultsList.delegate(
+ 'mouseenter', instance._onMouseEnter, SELECTOR_ENTRY_CONTAINER, instance);
+
+ autoCompleteResultsList.delegate('mouseleave', instance._onMouseLeave, SELECTOR_ENTRY_CONTAINER);
+
+ instance._autoCompleteResultsList = autoCompleteResultsList;
+ },
+
+ /**
+ * Creates the main wrapper for the list of suggestions.
+ *
+ * @method _createListNode
+ * @protected
+ * @return {Node} The created node
+ */
+ _createListNode: function() {
+ var instance = this,
+ listNode;
+
+ listNode = A.Node.create(instance.TPL_LIST);
+
+ instance.get('contentBox').append(listNode);
+
+ return listNode;
+ },
+
+ /**
+ * Returns the number of entries which could be fit to the current list
+ * viewport (page).
+ *
+ * @method _getEntriesPerPage
+ * @protected
+ * @return {Number} The number of calculated entries per page
+ */
+ _getEntriesPerPage: function() {
+ var instance = this,
+ autoCompleteResultsList,
+ containerHeight,
+ entriesPerPage,
+ entryHeight;
+
+ entriesPerPage = instance._entriesPerPage;
+
+ if (!entriesPerPage) {
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ entryHeight = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER).get('offsetHeight');
+
+ containerHeight = autoCompleteResultsList.get('offsetHeight');
+
+ entriesPerPage = Math.floor(containerHeight / entryHeight);
+
+ instance._entriesPerPage = entriesPerPage;
+ }
+
+ return entriesPerPage;
+ },
+
+ /**
+ * Returns the currently selected entry.
+ *
+ * @method _getSelectedEntry
+ * @protected
+ * @return {String} The text of the currently selected entry
+ */
+ _getSelectedEntry: function() {
+ var instance = this,
+ entryText,
+ selectedEntryNode;
+
+ selectedEntryNode = instance._autoCompleteResultsList.one(SELECTOR_SELECTED_ENTRY);
+
+ if (selectedEntryNode) {
+ entryText = selectedEntryNode.text();
+ }
+
+ return entryText;
+ },
+
+ /**
+ * Handles the arrows and executes different actions depending on the
+ * pressed arrow. For example, pressing key down will scroll the list
+ * bottom.
+ *
+ * @method _handleArrows
+ * @param {Number} keyCode The code of the currently pressed arrow
+ * @protected
+ * @return {Do.Halt} Instance of Do.Halt in order to stop further
+ * function execution
+ */
+ _handleArrows: function(keyCode) {
+ var instance = this,
+ action,
+ autoCompleteResultsList,
+ entry,
+ entryRegion,
+ resultsListNodeRegion,
+ selectedEntry;
+
+ if (keyCode === KEY_UP) {
+ action = 'previous';
+ }
+ else if (keyCode === KEY_DONW) {
+ action = 'next';
+ }
+
+ if (action) {
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (selectedEntry) {
+ entry = selectedEntry[action](SELECTOR_ENTRY_CONTAINER);
+
+ if (entry) {
+ selectedEntry.removeClass('selected');
+
+ entry.addClass('selected');
+
+ resultsListNodeRegion = autoCompleteResultsList.get('region');
+
+ entryRegion = entry.get('region');
+
+ if (action === 'previous') {
+ if (entryRegion.top < resultsListNodeRegion.top) {
+ entry.scrollIntoView(true);
+ }
+ else if (entryRegion.top > resultsListNodeRegion.bottom) {
+ entry.scrollIntoView();
+ }
+ }
+ else {
+ if (entryRegion.top + entryRegion.height > resultsListNodeRegion.bottom) {
+ entry.scrollIntoView();
+ }
+ else if (entryRegion.top + entryRegion.height < resultsListNodeRegion.top) {
+ entry.scrollIntoView(true);
+ }
+ }
+ }
+ }
+
+ return new Do.Halt(null);
+ }
+ },
+
+ /**
+ * Handles key pressing and executes different actions depending on key
+ * code.
+ *
+ * @method _handleKey
+ * @param {CustomEvent} event The fired event
+ * @param {Object} obj An internal object of ACE Editor
+ * @param {Number} keyCode The code of currently pressed key
+ * @protected
+ * @return {Do.Halt} If valid code found, returns an instance of Do.Halt
+ * in order to stop further function execution
+ */
+ _handleKey: function(event, obj, keyCode) {
+ var instance = this,
+ result;
+
+ if (instance.get('visible')) {
+ if (keyCode === KEY_UP || keyCode === KEY_DONW) {
+ result = instance._handleArrows(keyCode);
+ }
+ else if (keyCode === KEY_PAGE_UP || keyCode === KEY_PAGE_DOWN) {
+ result = instance._handlePageUpDown(keyCode);
+ }
+ else if (keyCode === KEY_END || keyCode === KEY_START) {
+ result = instance._handleStartEnd(keyCode);
+ }
+ }
+
+ return result;
+ },
+
+ /**
+ * Handles scrolling page up or down.
+ *
+ * @method _handlePageUpDown
+ * @param {Number} keyCode The code of currently pressed key. Could be
+ * one of: KEY_PAGE_DOWN = 34, KEY_PAGE_UP = 33,
+ * @protected
+ * @return {Do.Halt} Returns an instance of Do.Halt in order to stop
+ * further function execution
+ */
+ _handlePageUpDown: function(keyCode) {
+ var instance = this,
+ autoCompleteResultsList,
+ entriesPerPage,
+ nextSelectedEntry,
+ nextSelectedEntryIndex,
+ scrollTop,
+ selectedEntry,
+ selectedEntryIndex,
+ sudoClass;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ entriesPerPage = instance._getEntriesPerPage();
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ selectedEntryIndex = Lang.toInt(selectedEntry.attr('data-index'));
+
+ sudoClass = '';
+
+ scrollTop = false;
+
+ if (keyCode === KEY_PAGE_UP) {
+ nextSelectedEntryIndex = selectedEntryIndex - entriesPerPage;
+
+ scrollTop = true;
+ }
+ else if (keyCode === KEY_PAGE_DOWN) {
+ nextSelectedEntryIndex = selectedEntryIndex + entriesPerPage;
+
+ sudoClass = ':last-child';
+ }
+
+ nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + '[' + 'data-index' + '="' +
+ nextSelectedEntryIndex + '"]');
+
+ if (!nextSelectedEntry) {
+ nextSelectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + sudoClass);
+ }
+
+ if (selectedEntry !== nextSelectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ nextSelectedEntry.addClass('selected');
+
+ nextSelectedEntry.scrollIntoView(scrollTop);
+ }
+
+ return new Do.Halt(null);
+ },
+
+ /**
+ * Handles click on results and adds a suggestion to the editor.
+ *
+ * @method _handleResultListClick
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _handleResultListClick: function(event) {
+ var instance = this,
+ content,
+ entryNode,
+ selectedEntry;
+
+ entryNode = event.currentTarget;
+
+ selectedEntry = instance._autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (entryNode !== selectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ entryNode.addClass('selected');
+ }
+
+ content = entryNode.text();
+
+ instance._addSuggestion(content);
+
+ instance.fire(
+ 'entrySelected', {
+ content: content
+ }
+ );
+ },
+
+ /**
+ * Handles moving of the page to its first or last position.
+ *
+ * @method _handleStartEnd
+ * @param {Number} keyCode The code of currently pressed key. Could be
+ * one of: KEY_END = 35 KEY_START = 36
+ * @protected
+ * @return {Do.Halt} Returns an instance of Do.Halt in order to stop
+ * further function execution
+ */
+ _handleStartEnd: function(keyCode) {
+ var instance = this,
+ autoCompleteResultsList,
+ item,
+ scrollTop,
+ selectedEntry;
+
+ scrollTop = false;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ if (keyCode === KEY_END) {
+ item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER + ':last-child');
+ }
+ else if (keyCode === KEY_START) {
+ item = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);
+
+ scrollTop = true;
+ }
+
+ selectedEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER_SELECTED);
+
+ if (item !== selectedEntry) {
+ selectedEntry.removeClass('selected');
+
+ item.addClass('selected');
+
+ item.scrollIntoView(scrollTop);
+ }
+
+ return new Do.Halt(null);
+ },
+
+ /**
+ * Prevents the execution of `cursorChange` defaultFn if the list is not
+ * currently visible.
+ *
+ * @method _onCursorChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onCursorChange: function(event) {
+ var instance = this;
+
+ if (!instance.get('visible')) {
+ event.preventDefault();
+ }
+ },
+
+ /**
+ * Hides the list when text is being inserted and start row is different
+ * than the end row.
+ *
+ * @method _onInsertText
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onInsertText: function(event) {
+ var instance = this;
+
+ if (event.startRow !== event.endRow && instance.get('visible')) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Shows and moves the list on the proper position in case of match and
+ * available results or hides the list otherwise.
+ *
+ * @method _onMatch
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMatch: function(event) {
+ var instance = this,
+ coords,
+ hasResults,
+ visible;
+
+ visible = instance.get('visible');
+
+ hasResults = instance._autoCompleteResultsList.hasChildNodes();
+
+ if (event.match) {
+ if (hasResults) {
+ if (!visible) {
+ coords = event.coords;
+
+ instance.set('xy', [coords.pageX + PADDING_HORIZ, coords.pageY + PADDING_VERT]);
+
+ instance.show();
+ }
+ }
+ else if (visible) {
+ instance.hide();
+ }
+ }
+ else if (visible) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Highlights the current entry in case of mouse enter event.
+ *
+ * @method _onMouseEnter
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMouseEnter: function(event) {
+ event.currentTarget.addClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);
+ },
+
+ /**
+ * Removes the highlighting from the current entry in case of mouse
+ * leave event.
+ *
+ * @method _onMouseLeave
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onMouseLeave: function(event) {
+ event.currentTarget.removeClass(CLASS_ENTRY_CONTAINER_HIGHLIGHTED);
+ },
+
+ /**
+ * On removing text, hides the list, if visible.
+ *
+ * @method _onRemoveText
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onRemoveText: function() {
+ var instance = this;
+
+ if (instance.get('visible')) {
+ instance.hide();
+ }
+ },
+
+ /**
+ * Handles `resultsChange` event. Removes the current list of entries,
+ * populates the new ones and selects the first entry.
+ *
+ * @method _onResultsChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onResultsChange: function(event) {
+ var instance = this,
+ autoCompleteResultsList,
+ entryTemplate,
+ firstEntry,
+ results,
+ tmpNode;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ autoCompleteResultsList.empty();
+
+ results = event.newVal;
+
+ entryTemplate = instance.TPL_ENTRY;
+
+ tmpNode = ANode.create(TPL_FRAGMENT);
+
+ AArray.each(
+ results,
+ function(item, index) {
+ tmpNode.appendChild(
+ Lang.sub(
+ entryTemplate, {
+ index: index,
+ value: item
+ }
+ )
+ );
+ }
+ );
+
+ autoCompleteResultsList.setHTML(tmpNode.getHTML());
+
+ firstEntry = autoCompleteResultsList.one(SELECTOR_ENTRY_CONTAINER);
+
+ if (firstEntry) {
+ firstEntry.addClass('selected');
+ }
+ },
+
+ /**
+ * Displays a loading message in the list.
+ *
+ * @method _onShowLoadingMessage
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onShowLoadingMessage: function() {
+ var instance = this,
+ autoCompleteResultsList;
+
+ autoCompleteResultsList = instance._autoCompleteResultsList;
+
+ autoCompleteResultsList.empty();
+
+ autoCompleteResultsList.appendChild(
+ Lang.sub(
+ instance.TPL_LOADING, {
+ label: instance.get('loadingMessage')
+ }
+ )
+ );
+
+ if (!instance.get('visible')) {
+ instance.show();
+ }
+ },
+
+ /**
+ * Overwrites editor commands before show or restores the original
+ * behavior when hiding.
+ *
+ * @method _onVisibleChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _onVisibleChange: function(event) {
+ var instance = this;
+
+ if (event.newVal) {
+ instance._overwriteCommands();
+ }
+ else {
+ instance._removeAutoCompleteCommands();
+ }
+ },
+
+ /**
+ * Sets and empty array as results.
+ *
+ * @method _setEmptyResults
+ * @protected
+ */
+ _setEmptyResults: function() {
+ var instance = this;
+
+ instance.set('results', []);
+ },
+
+ TPL_ENTRY: '' + '{value} ' + ' ',
+
+ TPL_LIST: '',
+
+ TPL_LOADING: '' + '{label} ' + ' ',
+
+ TPL_RESULTS_EMPTY: '' + '{label} ' + ' '
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'ace-autocomplete-list',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'ace-autocomplete-list',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the AutoCompleteList.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * A Node in which results will be shown.
+ *
+ * @attribute listNode
+ * @default null
+ * @type Node
+ */
+ listNode: {
+ value: null
+ },
+
+ /**
+ * A string, representing the loading message.
+ *
+ * @attribute loadingMessage
+ * @default 'Loading'
+ * @type String
+ */
+ loadingMessage: {
+ validator: Lang.isString,
+ value: 'Loading'
+ },
+
+ /**
+ * Contains the current set of results in the list.
+ *
+ * @attribute results
+ * @type Array
+ */
+ results: {
+ validator: Lang.isArray
+ },
+
+ /**
+ * Provides the currently selected entry.
+ *
+ * @attribute selectedEntry
+ */
+ selectedEntry: {
+ getter: '_getSelectedEntry'
+ },
+
+ /**
+ * Collection of strings used to label elements of the UI.
+ *
+ * @attribute strings
+ * @type Object
+ */
+ strings: {
+ validator: Lang.isObject,
+ value: {
+ emptyMessage: 'No suggestions'
+ }
+ }
+ },
+
+ /**
+ * The prefix of all CSS Classes.
+ *
+ * @property CSS_PREFIX
+ * @type String
+ * @static
+ */
+ CSS_PREFIX: 'ace-autocomplete',
+
+ /**
+ * Object hash, defining how attribute values are to be parsed from
+ * markup contained in the widget's content box.
+ *
+ * @property HTML_PARSER
+ * @static
+ */
+ HTML_PARSER: {
+ listNode: '.' + CLASS_RESULTS_LIST
+ }
+ });
+
+A.AceEditor.AutoCompleteList = AutoCompleteList;
+A.AceEditor.AutoComplete = AutoCompleteList;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-base", "overlay", "widget-autohide"], "skinnable": true});
diff --git a/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-coverage.js b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-coverage.js
new file mode 100644
index 00000000000..90f480a81a9
--- /dev/null
+++ b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js']) {
+ __coverage__['build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js'] = {"path":"build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"1":[0,0],"2":[0,0]},"f":{"1":0,"2":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":39},"end":{"line":1,"column":58}}},"2":{"name":"ACListPlugin","line":15,"loc":{"start":{"line":15,"column":0},"end":{"line":15,"column":30}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":33,"column":81}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":22}},"3":{"start":{"line":15,"column":0},"end":{"line":21,"column":1}},"4":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":29}},"6":{"start":{"line":20,"column":4},"end":{"line":20,"column":63}},"7":{"start":{"line":23,"column":0},"end":{"line":27,"column":3}},"8":{"start":{"line":29,"column":0},"end":{"line":29,"column":38}},"9":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}}},"branchMap":{"1":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":4}},{"start":{"line":16,"column":4},"end":{"line":16,"column":4}}]},"2":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":22}},{"start":{"line":16,"column":26},"end":{"line":16,"column":49}}]}},"code":["(function () { YUI.add('aui-ace-autocomplete-plugin', function (A, NAME) {","","var Plugin = A.Plugin;","","/**"," * Binds an AutoCompleteList instance to a Node instance."," *"," * @module aui-ace-editor"," * @submodule aui-ace-autocomplete-plugin"," *"," * @class A.Plugin.AceAutoCompleteList"," * @extends A.AceEditor.AutoCompleteList"," */","","function ACListPlugin(config) {"," if (!config.render && config.render !== false) {"," config.render = true;"," }",""," ACListPlugin.superclass.constructor.apply(this, arguments);","}","","A.extend(ACListPlugin, A.AceEditor.AutoCompleteList, {}, {"," CSS_PREFIX: 'ace-autocomplete',"," NAME: 'ace-autocomplete-plugin',"," NS: 'ace-autocomplete-plugin'","});","","Plugin.AceAutoComplete = ACListPlugin;","Plugin.AceAutoCompleteList = ACListPlugin;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-autocomplete-list\", \"plugin\"]});","","}());"]};
+}
+var __cov_Wj$Jv6jjs80G93k1U$gcUA = __coverage__['build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js'];
+__cov_Wj$Jv6jjs80G93k1U$gcUA.s['1']++;YUI.add('aui-ace-autocomplete-plugin',function(A,NAME){__cov_Wj$Jv6jjs80G93k1U$gcUA.f['1']++;__cov_Wj$Jv6jjs80G93k1U$gcUA.s['2']++;var Plugin=A.Plugin;__cov_Wj$Jv6jjs80G93k1U$gcUA.s['3']++;function ACListPlugin(config){__cov_Wj$Jv6jjs80G93k1U$gcUA.f['2']++;__cov_Wj$Jv6jjs80G93k1U$gcUA.s['4']++;if((__cov_Wj$Jv6jjs80G93k1U$gcUA.b['2'][0]++,!config.render)&&(__cov_Wj$Jv6jjs80G93k1U$gcUA.b['2'][1]++,config.render!==false)){__cov_Wj$Jv6jjs80G93k1U$gcUA.b['1'][0]++;__cov_Wj$Jv6jjs80G93k1U$gcUA.s['5']++;config.render=true;}else{__cov_Wj$Jv6jjs80G93k1U$gcUA.b['1'][1]++;}__cov_Wj$Jv6jjs80G93k1U$gcUA.s['6']++;ACListPlugin.superclass.constructor.apply(this,arguments);}__cov_Wj$Jv6jjs80G93k1U$gcUA.s['7']++;A.extend(ACListPlugin,A.AceEditor.AutoCompleteList,{},{CSS_PREFIX:'ace-autocomplete',NAME:'ace-autocomplete-plugin',NS:'ace-autocomplete-plugin'});__cov_Wj$Jv6jjs80G93k1U$gcUA.s['8']++;Plugin.AceAutoComplete=ACListPlugin;__cov_Wj$Jv6jjs80G93k1U$gcUA.s['9']++;Plugin.AceAutoCompleteList=ACListPlugin;},'3.1.0-deprecated.52',{'requires':['aui-ace-autocomplete-list','plugin']});
diff --git a/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-debug.js b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-debug.js
new file mode 100644
index 00000000000..5dcf3129ea9
--- /dev/null
+++ b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-debug.js
@@ -0,0 +1,33 @@
+YUI.add('aui-ace-autocomplete-plugin', function (A, NAME) {
+
+var Plugin = A.Plugin;
+
+/**
+ * Binds an AutoCompleteList instance to a Node instance.
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-plugin
+ *
+ * @class A.Plugin.AceAutoCompleteList
+ * @extends A.AceEditor.AutoCompleteList
+ */
+
+function ACListPlugin(config) {
+ if (!config.render && config.render !== false) {
+ config.render = true;
+ }
+
+ ACListPlugin.superclass.constructor.apply(this, arguments);
+}
+
+A.extend(ACListPlugin, A.AceEditor.AutoCompleteList, {}, {
+ CSS_PREFIX: 'ace-autocomplete',
+ NAME: 'ace-autocomplete-plugin',
+ NS: 'ace-autocomplete-plugin'
+});
+
+Plugin.AceAutoComplete = ACListPlugin;
+Plugin.AceAutoCompleteList = ACListPlugin;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-list", "plugin"]});
diff --git a/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-min.js b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-min.js
new file mode 100644
index 00000000000..7dfdcddb242
--- /dev/null
+++ b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin-min.js
@@ -0,0 +1 @@
+YUI.add("aui-ace-autocomplete-plugin",function(e,t){function r(e){!e.render&&e.render!==!1&&(e.render=!0),r.superclass.constructor.apply(this,arguments)}var n=e.Plugin;e.extend(r,e.AceEditor.AutoCompleteList,{},{CSS_PREFIX:"ace-autocomplete",NAME:"ace-autocomplete-plugin",NS:"ace-autocomplete-plugin"}),n.AceAutoComplete=r,n.AceAutoCompleteList=r},"3.1.0-deprecated.52",{requires:["aui-ace-autocomplete-list","plugin"]});
diff --git a/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js
new file mode 100644
index 00000000000..5dcf3129ea9
--- /dev/null
+++ b/build/aui-ace-autocomplete-plugin/aui-ace-autocomplete-plugin.js
@@ -0,0 +1,33 @@
+YUI.add('aui-ace-autocomplete-plugin', function (A, NAME) {
+
+var Plugin = A.Plugin;
+
+/**
+ * Binds an AutoCompleteList instance to a Node instance.
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-plugin
+ *
+ * @class A.Plugin.AceAutoCompleteList
+ * @extends A.AceEditor.AutoCompleteList
+ */
+
+function ACListPlugin(config) {
+ if (!config.render && config.render !== false) {
+ config.render = true;
+ }
+
+ ACListPlugin.superclass.constructor.apply(this, arguments);
+}
+
+A.extend(ACListPlugin, A.AceEditor.AutoCompleteList, {}, {
+ CSS_PREFIX: 'ace-autocomplete',
+ NAME: 'ace-autocomplete-plugin',
+ NS: 'ace-autocomplete-plugin'
+});
+
+Plugin.AceAutoComplete = ACListPlugin;
+Plugin.AceAutoCompleteList = ACListPlugin;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-list", "plugin"]});
diff --git a/build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-coverage.js b/build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-coverage.js
new file mode 100644
index 00000000000..1e54bf02c0c
--- /dev/null
+++ b/build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor.js']) {
+ __coverage__['build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor.js'] = {"path":"build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":50},"end":{"line":1,"column":69}}},"2":{"name":"(anonymous_2)","line":47,"loc":{"start":{"line":47,"column":20},"end":{"line":47,"column":68}}},"3":{"name":"(anonymous_3)","line":95,"loc":{"start":{"line":95,"column":23},"end":{"line":95,"column":59}}},"4":{"name":"(anonymous_4)","line":149,"loc":{"start":{"line":149,"column":22},"end":{"line":149,"column":46}}},"5":{"name":"(anonymous_5)","line":164,"loc":{"start":{"line":164,"column":23},"end":{"line":164,"column":39}}},"6":{"name":"(anonymous_6)","line":188,"loc":{"start":{"line":188,"column":29},"end":{"line":188,"column":47}}},"7":{"name":"(anonymous_7)","line":289,"loc":{"start":{"line":289,"column":20},"end":{"line":289,"column":35}}},"8":{"name":"(anonymous_8)","line":298,"loc":{"start":{"line":298,"column":32},"end":{"line":298,"column":47}}},"9":{"name":"(anonymous_9)","line":326,"loc":{"start":{"line":326,"column":24},"end":{"line":326,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":404,"column":71}},"2":{"start":{"line":10,"column":0},"end":{"line":399,"column":7}},"3":{"start":{"line":48,"column":12},"end":{"line":53,"column":21}},"4":{"start":{"line":55,"column":12},"end":{"line":55,"column":30}},"5":{"start":{"line":57,"column":12},"end":{"line":77,"column":13}},"6":{"start":{"line":58,"column":16},"end":{"line":58,"column":61}},"7":{"start":{"line":60,"column":16},"end":{"line":60,"column":54}},"8":{"start":{"line":62,"column":16},"end":{"line":66,"column":17}},"9":{"start":{"line":63,"column":20},"end":{"line":63,"column":48}},"10":{"start":{"line":65,"column":20},"end":{"line":65,"column":84}},"11":{"start":{"line":68,"column":16},"end":{"line":68,"column":49}},"12":{"start":{"line":70,"column":17},"end":{"line":77,"column":13}},"13":{"start":{"line":71,"column":16},"end":{"line":71,"column":70}},"14":{"start":{"line":73,"column":16},"end":{"line":73,"column":41}},"15":{"start":{"line":76,"column":16},"end":{"line":76,"column":32}},"16":{"start":{"line":96,"column":12},"end":{"line":101,"column":26}},"17":{"start":{"line":103,"column":12},"end":{"line":103,"column":46}},"18":{"start":{"line":105,"column":12},"end":{"line":133,"column":13}},"19":{"start":{"line":106,"column":16},"end":{"line":106,"column":64}},"20":{"start":{"line":108,"column":16},"end":{"line":108,"column":34}},"21":{"start":{"line":110,"column":16},"end":{"line":132,"column":17}},"22":{"start":{"line":111,"column":20},"end":{"line":124,"column":21}},"23":{"start":{"line":112,"column":24},"end":{"line":114,"column":25}},"24":{"start":{"line":113,"column":28},"end":{"line":113,"column":88}},"25":{"start":{"line":116,"column":25},"end":{"line":124,"column":21}},"26":{"start":{"line":117,"column":24},"end":{"line":117,"column":61}},"27":{"start":{"line":119,"column":24},"end":{"line":119,"column":68}},"28":{"start":{"line":121,"column":24},"end":{"line":123,"column":25}},"29":{"start":{"line":122,"column":28},"end":{"line":122,"column":84}},"30":{"start":{"line":126,"column":21},"end":{"line":132,"column":17}},"31":{"start":{"line":127,"column":20},"end":{"line":127,"column":57}},"32":{"start":{"line":129,"column":20},"end":{"line":129,"column":73}},"33":{"start":{"line":131,"column":20},"end":{"line":131,"column":49}},"34":{"start":{"line":135,"column":12},"end":{"line":135,"column":26}},"35":{"start":{"line":150,"column":12},"end":{"line":150,"column":47}},"36":{"start":{"line":165,"column":12},"end":{"line":165,"column":47}},"37":{"start":{"line":167,"column":12},"end":{"line":174,"column":13}},"38":{"start":{"line":168,"column":16},"end":{"line":173,"column":17}},"39":{"start":{"line":169,"column":20},"end":{"line":169,"column":47}},"40":{"start":{"line":172,"column":20},"end":{"line":172,"column":53}},"41":{"start":{"line":176,"column":12},"end":{"line":176,"column":29}},"42":{"start":{"line":189,"column":12},"end":{"line":204,"column":29}},"43":{"start":{"line":206,"column":12},"end":{"line":206,"column":25}},"44":{"start":{"line":208,"column":12},"end":{"line":208,"column":45}},"45":{"start":{"line":210,"column":12},"end":{"line":210,"column":29}},"46":{"start":{"line":212,"column":12},"end":{"line":212,"column":45}},"47":{"start":{"line":214,"column":12},"end":{"line":274,"column":13}},"48":{"start":{"line":215,"column":16},"end":{"line":215,"column":44}},"49":{"start":{"line":217,"column":16},"end":{"line":217,"column":54}},"50":{"start":{"line":219,"column":16},"end":{"line":270,"column":17}},"51":{"start":{"line":220,"column":20},"end":{"line":220,"column":38}},"52":{"start":{"line":222,"column":20},"end":{"line":222,"column":62}},"53":{"start":{"line":224,"column":20},"end":{"line":269,"column":21}},"54":{"start":{"line":225,"column":24},"end":{"line":230,"column":25}},"55":{"start":{"line":226,"column":28},"end":{"line":226,"column":49}},"56":{"start":{"line":229,"column":28},"end":{"line":229,"column":58}},"57":{"start":{"line":232,"column":25},"end":{"line":269,"column":21}},"58":{"start":{"line":233,"column":24},"end":{"line":233,"column":71}},"59":{"start":{"line":235,"column":24},"end":{"line":239,"column":25}},"60":{"start":{"line":236,"column":28},"end":{"line":236,"column":58}},"61":{"start":{"line":238,"column":28},"end":{"line":238,"column":34}},"62":{"start":{"line":241,"column":24},"end":{"line":241,"column":63}},"63":{"start":{"line":243,"column":24},"end":{"line":245,"column":25}},"64":{"start":{"line":244,"column":28},"end":{"line":244,"column":74}},"65":{"start":{"line":247,"column":24},"end":{"line":247,"column":62}},"66":{"start":{"line":249,"column":24},"end":{"line":268,"column":25}},"67":{"start":{"line":250,"column":28},"end":{"line":255,"column":29}},"68":{"start":{"line":251,"column":32},"end":{"line":251,"column":65}},"69":{"start":{"line":254,"column":32},"end":{"line":254,"column":71}},"70":{"start":{"line":257,"column":28},"end":{"line":257,"column":77}},"71":{"start":{"line":259,"column":29},"end":{"line":268,"column":25}},"72":{"start":{"line":260,"column":28},"end":{"line":260,"column":58}},"73":{"start":{"line":262,"column":28},"end":{"line":262,"column":34}},"74":{"start":{"line":265,"column":28},"end":{"line":265,"column":45}},"75":{"start":{"line":267,"column":28},"end":{"line":267,"column":34}},"76":{"start":{"line":273,"column":16},"end":{"line":273,"column":45}},"77":{"start":{"line":276,"column":12},"end":{"line":276,"column":48}},"78":{"start":{"line":278,"column":12},"end":{"line":278,"column":37}},"79":{"start":{"line":280,"column":12},"end":{"line":284,"column":13}},"80":{"start":{"line":281,"column":16},"end":{"line":281,"column":44}},"81":{"start":{"line":283,"column":16},"end":{"line":283,"column":66}},"82":{"start":{"line":286,"column":12},"end":{"line":312,"column":13}},"83":{"start":{"line":287,"column":16},"end":{"line":311,"column":18}},"84":{"start":{"line":290,"column":24},"end":{"line":291,"column":33}},"85":{"start":{"line":293,"column":24},"end":{"line":293,"column":49}},"86":{"start":{"line":295,"column":24},"end":{"line":309,"column":25}},"87":{"start":{"line":296,"column":28},"end":{"line":303,"column":30}},"88":{"start":{"line":299,"column":36},"end":{"line":299,"column":64}},"89":{"start":{"line":301,"column":36},"end":{"line":301,"column":67}},"90":{"start":{"line":305,"column":28},"end":{"line":305,"column":70}},"91":{"start":{"line":308,"column":28},"end":{"line":308,"column":40}},"92":{"start":{"line":314,"column":12},"end":{"line":314,"column":27}},"93":{"start":{"line":327,"column":12},"end":{"line":327,"column":55}},"94":{"start":{"line":329,"column":12},"end":{"line":334,"column":13}},"95":{"start":{"line":330,"column":16},"end":{"line":330,"column":43}},"96":{"start":{"line":332,"column":17},"end":{"line":334,"column":13}},"97":{"start":{"line":333,"column":16},"end":{"line":333,"column":31}},"98":{"start":{"line":336,"column":12},"end":{"line":336,"column":26}},"99":{"start":{"line":401,"column":0},"end":{"line":401,"column":50}}},"branchMap":{"1":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":12}},{"start":{"line":57,"column":12},"end":{"line":57,"column":12}}]},"2":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":16}},{"start":{"line":62,"column":16},"end":{"line":62,"column":16}}]},"3":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":17},"end":{"line":70,"column":17}},{"start":{"line":70,"column":17},"end":{"line":70,"column":17}}]},"4":{"line":103,"type":"binary-expr","locations":[{"start":{"line":103,"column":21},"end":{"line":103,"column":39}},{"start":{"line":103,"column":43},"end":{"line":103,"column":45}}]},"5":{"line":105,"type":"if","locations":[{"start":{"line":105,"column":12},"end":{"line":105,"column":12}},{"start":{"line":105,"column":12},"end":{"line":105,"column":12}}]},"6":{"line":110,"type":"if","locations":[{"start":{"line":110,"column":16},"end":{"line":110,"column":16}},{"start":{"line":110,"column":16},"end":{"line":110,"column":16}}]},"7":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":20},"end":{"line":111,"column":20}},{"start":{"line":111,"column":20},"end":{"line":111,"column":20}}]},"8":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":24},"end":{"line":112,"column":24}},{"start":{"line":112,"column":24},"end":{"line":112,"column":24}}]},"9":{"line":112,"type":"binary-expr","locations":[{"start":{"line":112,"column":28},"end":{"line":112,"column":41}},{"start":{"line":112,"column":45},"end":{"line":112,"column":92}}]},"10":{"line":116,"type":"if","locations":[{"start":{"line":116,"column":25},"end":{"line":116,"column":25}},{"start":{"line":116,"column":25},"end":{"line":116,"column":25}}]},"11":{"line":121,"type":"if","locations":[{"start":{"line":121,"column":24},"end":{"line":121,"column":24}},{"start":{"line":121,"column":24},"end":{"line":121,"column":24}}]},"12":{"line":121,"type":"binary-expr","locations":[{"start":{"line":121,"column":28},"end":{"line":121,"column":37}},{"start":{"line":121,"column":41},"end":{"line":121,"column":84}}]},"13":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":21},"end":{"line":126,"column":21}},{"start":{"line":126,"column":21},"end":{"line":126,"column":21}}]},"14":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":12},"end":{"line":167,"column":12}},{"start":{"line":167,"column":12},"end":{"line":167,"column":12}}]},"15":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":16},"end":{"line":168,"column":16}},{"start":{"line":168,"column":16},"end":{"line":168,"column":16}}]},"16":{"line":214,"type":"if","locations":[{"start":{"line":214,"column":12},"end":{"line":214,"column":12}},{"start":{"line":214,"column":12},"end":{"line":214,"column":12}}]},"17":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":20},"end":{"line":224,"column":20}},{"start":{"line":224,"column":20},"end":{"line":224,"column":20}}]},"18":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":24},"end":{"line":225,"column":24}},{"start":{"line":225,"column":24},"end":{"line":225,"column":24}}]},"19":{"line":232,"type":"if","locations":[{"start":{"line":232,"column":25},"end":{"line":232,"column":25}},{"start":{"line":232,"column":25},"end":{"line":232,"column":25}}]},"20":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":24},"end":{"line":235,"column":24}},{"start":{"line":235,"column":24},"end":{"line":235,"column":24}}]},"21":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":24},"end":{"line":243,"column":24}},{"start":{"line":243,"column":24},"end":{"line":243,"column":24}}]},"22":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":24},"end":{"line":249,"column":24}},{"start":{"line":249,"column":24},"end":{"line":249,"column":24}}]},"23":{"line":250,"type":"if","locations":[{"start":{"line":250,"column":28},"end":{"line":250,"column":28}},{"start":{"line":250,"column":28},"end":{"line":250,"column":28}}]},"24":{"line":257,"type":"binary-expr","locations":[{"start":{"line":257,"column":46},"end":{"line":257,"column":70}},{"start":{"line":257,"column":74},"end":{"line":257,"column":76}}]},"25":{"line":259,"type":"if","locations":[{"start":{"line":259,"column":29},"end":{"line":259,"column":29}},{"start":{"line":259,"column":29},"end":{"line":259,"column":29}}]},"26":{"line":280,"type":"if","locations":[{"start":{"line":280,"column":12},"end":{"line":280,"column":12}},{"start":{"line":280,"column":12},"end":{"line":280,"column":12}}]},"27":{"line":286,"type":"if","locations":[{"start":{"line":286,"column":12},"end":{"line":286,"column":12}},{"start":{"line":286,"column":12},"end":{"line":286,"column":12}}]},"28":{"line":295,"type":"if","locations":[{"start":{"line":295,"column":24},"end":{"line":295,"column":24}},{"start":{"line":295,"column":24},"end":{"line":295,"column":24}}]},"29":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":12},"end":{"line":329,"column":12}},{"start":{"line":329,"column":12},"end":{"line":329,"column":12}}]},"30":{"line":332,"type":"if","locations":[{"start":{"line":332,"column":17},"end":{"line":332,"column":17}},{"start":{"line":332,"column":17},"end":{"line":332,"column":17}}]}},"code":["(function () { YUI.add('aui-ace-autocomplete-templateprocessor', function (A, NAME) {","","/**"," * The ACE Editor TemplateProcessor base"," *"," * @module aui-ace-editor"," * @submodule aui-ace-autocomplete-templateprocessor"," */","","var Lang = A.Lang,"," AArray = A.Array,"," AObject = A.Object,"," Base = A.AceEditor.AutoCompleteBase,",""," MATCH_DIRECTIVES = 0,"," MATCH_VARIABLES = 1,",""," TOKEN_PUNCTUATOR_DOT = 1,"," TOKEN_UNRECOGNIZED = -1,"," TOKEN_VARIABLE = 0,",""," /**"," * A base class for TemplateProcessor."," *"," * @class A.AceEditor.TemplateProcessor"," * @extends Base"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */"," TemplateProcessor = A.Base.create('aui-ace-autocomplete-templateprocessor', A.Base, [","], {",""," /**"," * Accepts match and depending on its type processes directives or"," * variables. In case of success, calls the provided success callback,"," * or the error callback otherwise."," *"," * @method getResults"," * @param {Object} match The provided match. It should contain at least"," * type and content properties"," * @param {Function} callbackSuccess The function to be called in case"," * of success"," * @param {Function} callbackError The function to be called in case of"," * error"," */"," getResults: function(match, callbackSuccess, callbackError) {"," var instance = this,"," content,"," host,"," matchDirectives,"," matches,"," type;",""," type = match.type;",""," if (type === MATCH_DIRECTIVES) {"," matchDirectives = instance.get('directives');",""," content = match.content.toLowerCase();",""," if (content.length) {"," host = instance.get('host');",""," matchDirectives = host._filterResults(content, matchDirectives);"," }",""," callbackSuccess(matchDirectives);"," }"," else if (type === MATCH_VARIABLES) {"," matches = instance._getVariableMatches(match.content);",""," callbackSuccess(matches);"," }"," else {"," callbackError();"," }"," },",""," /**"," * Formats the selected suggestion depending on the match type and"," * currently selected editor mode. The match type can be one of:"," * MATCH_DIRECTOVES or MATCH_VARIABLES. The selected editor mode can be"," * one of the following: INSERT or OVERWRITE. See {{#crossLink"," * \"AceEditor.AutoCompleteBase/fillMode:attribute\"}}{{/crossLink}}"," *"," * @method getSuggestion"," * @param {Object} match The provided match. It should contain at least"," * type and content properties"," * @param {String} selectedSuggestion The selected suggestion from the"," * list with suggestions"," * @return {String} The final suggestion which should be inserted to the"," * editor"," */"," getSuggestion: function(match, selectedSuggestion) {"," var instance = this,"," fillMode,"," lastEntry,"," result,"," type,"," variables;",""," result = selectedSuggestion || '';",""," if (selectedSuggestion) {"," fillMode = instance.get('host').get('fillMode');",""," type = match.type;",""," if (fillMode === Base.FILL_MODE_INSERT) {"," if (type === MATCH_DIRECTIVES) {"," if (match.content && selectedSuggestion.indexOf(match.content) === 0) {"," result = selectedSuggestion.substring(match.content.length);"," }"," }"," else if (type === MATCH_VARIABLES) {"," variables = match.content.split('.');",""," lastEntry = variables[variables.length - 1];",""," if (lastEntry && selectedSuggestion.indexOf(lastEntry) === 0) {"," result = selectedSuggestion.substring(lastEntry.length);"," }"," }"," }"," else if (type === MATCH_VARIABLES) {"," variables = match.content.split('.');",""," variables[variables.length - 1] = selectedSuggestion;",""," result = variables.join('.');"," }"," }",""," return result;"," },",""," /**"," * Checks if the the provided index is the last token in the list of"," * tokens."," *"," * @method _isLastToken"," * @param {Number} index The index which should be checked"," * @param {Array} tokens The array with tokens"," * @protected"," * @return {Boolean} True if the provided index is the last token in the"," * list"," */"," _isLastToken: function(index, tokens) {"," return index === tokens.length - 1;"," },",""," /**"," * Retrieves the type of a token. It can be one of these:"," * TOKEN_PUNCTUATOR_DOT = 1"," * TOKEN_UNRECOGNIZED = -1"," * TOKEN_VARIABLE = 0"," *"," * @method _getTokenType"," * @param {Number} token The type of the token"," * @protected"," * @return {Number} The token type"," */"," _getTokenType: function(token) {"," var tokenType = TOKEN_UNRECOGNIZED;",""," if (Lang.isString(token)) {"," if (token.length) {"," tokenType = TOKEN_VARIABLE;"," }"," else {"," tokenType = TOKEN_PUNCTUATOR_DOT;"," }"," }",""," return tokenType;"," },",""," /**"," * Scans the content and extracts variables."," *"," * @method _getVariableMatches"," * @param {String} content The content from which variable matches will"," * be extracted"," * @protected"," * @return {Array} List with variable matches"," */"," _getVariableMatches: function(content) {"," var instance = this,"," curVariableData,"," data,"," host,"," i,"," isLastToken,"," lastEntry,"," leftPartheseIndex,"," matches,"," results,"," resultsData,"," token,"," tokens,"," tokenType,"," variableData,"," variableType;",""," results = [];",""," data = instance.get('variables');",""," resultsData = {};",""," curVariableData = data.variables;",""," if (content) {"," tokens = content.split('.');",""," lastEntry = tokens[tokens.length - 1];",""," for (i = 0; i < tokens.length; i++) {"," token = tokens[i];",""," tokenType = instance._getTokenType(token);",""," if (tokenType === TOKEN_PUNCTUATOR_DOT) {"," if (i === 0) {"," curVariableData = {};"," }"," else {"," resultsData = curVariableData;"," }"," }"," else if (tokenType === TOKEN_VARIABLE) {"," isLastToken = instance._isLastToken(i, tokens);",""," if (isLastToken) {"," resultsData = curVariableData;",""," break;"," }",""," leftPartheseIndex = token.indexOf('(');",""," if (leftPartheseIndex !== -1) {"," token = token.substring(0, leftPartheseIndex);"," }",""," variableData = curVariableData[token];",""," if (variableData) {"," if (i === 0) {"," variableType = variableData.type;"," }"," else {"," variableType = variableData.returnType;"," }",""," curVariableData = data.types[variableType] || {};"," }"," else if (isLastToken) {"," resultsData = curVariableData;",""," break;"," }"," else {"," resultsData = {};",""," break;"," }"," }"," }"," }"," else {"," resultsData = data.variables;"," }",""," results = AObject.keys(resultsData);",""," matches = results.sort();",""," if (lastEntry) {"," host = instance.get('host');",""," matches = host._filterResults(lastEntry, matches);"," }",""," if (matches.length) {"," matches = AArray.map("," matches,"," function(item) {"," var args,"," data;",""," data = resultsData[item];",""," if (data.type === 'Method') {"," args = AArray.map("," data.argumentTypes,"," function(item) {"," var parts = item.split('.');",""," return parts[parts.length - 1];"," }"," );",""," return item + '(' + args.join(', ') + ')';"," }"," else {"," return item;"," }"," }"," );"," }",""," return matches;"," },",""," /**"," * Normalizes a regualr expression value. If the value is String, it"," * will be converted to an RegExp."," *"," * @method _setRegexValue"," * @param {String|RegExp} value The provided regualr expression value"," * @protected"," * @return {RegExp} The final instance of RegExp object"," */"," _setRegexValue: function(value) {"," var result = A.AttributeCore.INVALID_VALUE;",""," if (Lang.isString(value)) {"," result = new RegExp(value);"," }"," else if (value instanceof RegExp) {"," result = value;"," }",""," return result;"," }"," }, {",""," /**"," * Static property which provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'aui-ace-autocomplete-templateprocessor',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */"," NS: 'aui-ace-autocomplete-templateprocessor',",""," /**"," * Static property used to define the default attribute"," * configuration for the TemplateProcessor."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {",""," /**"," * Contains an array of all possible directives for the"," * corresponding language."," *"," * @attribute directives"," * @type Array"," */"," directives: {"," validator: Lang.isArray"," },",""," /**"," * The Editor in which the current instance is plugged."," *"," * @attribute host"," * @type Object"," */"," host: {"," validator: Lang.isObject"," },",""," /**"," * Contains the supported variables for the corresponding language."," *"," * @attribute variables"," * @type Object"," */"," variables: {"," validator: Lang.isObject"," }"," }"," });","","A.AceEditor.TemplateProcessor = TemplateProcessor;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-autocomplete-base\"]});","","}());"]};
+}
+var __cov_JT3YRo5gU_Kw2uUuTDYRTA = __coverage__['build/aui-ace-autocomplete-templateprocessor/aui-ace-autocomplete-templateprocessor.js'];
+__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['1']++;YUI.add('aui-ace-autocomplete-templateprocessor',function(A,NAME){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['1']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['2']++;var Lang=A.Lang,AArray=A.Array,AObject=A.Object,Base=A.AceEditor.AutoCompleteBase,MATCH_DIRECTIVES=0,MATCH_VARIABLES=1,TOKEN_PUNCTUATOR_DOT=1,TOKEN_UNRECOGNIZED=-1,TOKEN_VARIABLE=0,TemplateProcessor=A.Base.create('aui-ace-autocomplete-templateprocessor',A.Base,[],{getResults:function(match,callbackSuccess,callbackError){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['2']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['3']++;var instance=this,content,host,matchDirectives,matches,type;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['4']++;type=match.type;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['5']++;if(type===MATCH_DIRECTIVES){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['1'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['6']++;matchDirectives=instance.get('directives');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['7']++;content=match.content.toLowerCase();__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['8']++;if(content.length){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['2'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['9']++;host=instance.get('host');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['10']++;matchDirectives=host._filterResults(content,matchDirectives);}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['2'][1]++;}__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['11']++;callbackSuccess(matchDirectives);}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['1'][1]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['12']++;if(type===MATCH_VARIABLES){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['3'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['13']++;matches=instance._getVariableMatches(match.content);__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['14']++;callbackSuccess(matches);}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['3'][1]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['15']++;callbackError();}}},getSuggestion:function(match,selectedSuggestion){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['3']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['16']++;var instance=this,fillMode,lastEntry,result,type,variables;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['17']++;result=(__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['4'][0]++,selectedSuggestion)||(__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['4'][1]++,'');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['18']++;if(selectedSuggestion){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['5'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['19']++;fillMode=instance.get('host').get('fillMode');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['20']++;type=match.type;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['21']++;if(fillMode===Base.FILL_MODE_INSERT){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['6'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['22']++;if(type===MATCH_DIRECTIVES){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['7'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['23']++;if((__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['9'][0]++,match.content)&&(__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['9'][1]++,selectedSuggestion.indexOf(match.content)===0)){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['8'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['24']++;result=selectedSuggestion.substring(match.content.length);}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['8'][1]++;}}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['7'][1]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['25']++;if(type===MATCH_VARIABLES){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['10'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['26']++;variables=match.content.split('.');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['27']++;lastEntry=variables[variables.length-1];__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['28']++;if((__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['12'][0]++,lastEntry)&&(__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['12'][1]++,selectedSuggestion.indexOf(lastEntry)===0)){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['11'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['29']++;result=selectedSuggestion.substring(lastEntry.length);}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['11'][1]++;}}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['10'][1]++;}}}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['6'][1]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['30']++;if(type===MATCH_VARIABLES){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['13'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['31']++;variables=match.content.split('.');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['32']++;variables[variables.length-1]=selectedSuggestion;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['33']++;result=variables.join('.');}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['13'][1]++;}}}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['5'][1]++;}__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['34']++;return result;},_isLastToken:function(index,tokens){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['4']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['35']++;return index===tokens.length-1;},_getTokenType:function(token){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['5']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['36']++;var tokenType=TOKEN_UNRECOGNIZED;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['37']++;if(Lang.isString(token)){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['14'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['38']++;if(token.length){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['15'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['39']++;tokenType=TOKEN_VARIABLE;}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['15'][1]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['40']++;tokenType=TOKEN_PUNCTUATOR_DOT;}}else{__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['14'][1]++;}__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['41']++;return tokenType;},_getVariableMatches:function(content){__cov_JT3YRo5gU_Kw2uUuTDYRTA.f['6']++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['42']++;var instance=this,curVariableData,data,host,i,isLastToken,lastEntry,leftPartheseIndex,matches,results,resultsData,token,tokens,tokenType,variableData,variableType;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['43']++;results=[];__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['44']++;data=instance.get('variables');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['45']++;resultsData={};__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['46']++;curVariableData=data.variables;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['47']++;if(content){__cov_JT3YRo5gU_Kw2uUuTDYRTA.b['16'][0]++;__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['48']++;tokens=content.split('.');__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['49']++;lastEntry=tokens[tokens.length-1];__cov_JT3YRo5gU_Kw2uUuTDYRTA.s['50']++;for(i=0;i= 0) {"," content = content.substring(matchIndex);",""," if (instance.get('directivesMatcher').test(content)) {"," match = {"," content: content.substring(1),"," start: matchIndex,"," type: MATCH_DIRECTIVES"," };"," }"," }"," else if ((matchIndex = content.lastIndexOf('$')) >= 0) {"," content = content.substring(matchIndex);",""," if (instance.get('variablesMatcher').test(content)) {"," match = {"," content: content.substring(1),"," start: matchIndex,"," type: MATCH_VARIABLES"," };"," }"," }",""," return match;"," }"," }, {",""," /**"," * Static property which provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'aui-ace-autocomplete-velocity',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */"," NS: 'aui-ace-autocomplete-velocity',",""," /**"," * Static property used to define the default attribute"," * configuration for the Velocity."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {",""," /**"," * Contains the list of supported directives according to Velocity"," * specification."," *"," * @attribute directives"," * @default"," * value: ["," * 'else',"," * 'elseif',"," * 'foreach',"," * 'if',"," * 'include',"," * 'macro',"," * 'parse',"," * 'set',"," * 'stop'"," *]"," * @type Array"," */"," directives: {"," validator: Lang.isArray,"," value: ["," 'else',"," 'elseif',"," 'foreach',"," 'if',"," 'include',"," 'macro',"," 'parse',"," 'set',"," 'stop'"," ]"," },",""," /**"," * Contains the regular expression which checks for directive."," *"," * @attribute directivesMatcher"," * @default /#[\\w]*[^#]*$/"," */"," directivesMatcher: {"," setter: '_setRegexValue',"," value: /#[\\w]*[^#]*$/"," },",""," /**"," * The Editor in which the current instance is plugged."," *"," * @attribute host"," * @type Object"," */"," host: {"," validator: Lang.isObject"," },",""," /**"," * Contains the supported variables."," *"," * @attribute variables"," * @type Object"," */"," variables: {"," validator: Lang.isObject"," },",""," /**"," * Contains the regular expression which will check for variable"," * match."," *"," * @attribute variablesMatcher"," * @default /\\$[\\w., ()\"]*(?:[^$]|\\\\\\$)*$/"," */"," variablesMatcher: {"," setter: '_setRegexValue',"," value: /\\$[\\w., ()\"]*(?:[^$]|\\\\\\$)*$/"," }"," }"," });","","A.AceEditor.AutoCompleteVelocity = Velocity;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-ace-autocomplete-templateprocessor\"]});","","}());"]};
+}
+var __cov_ybIZTk7y0b$fCJLAD9_Tgw = __coverage__['build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity.js'];
+__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['1']++;YUI.add('aui-ace-autocomplete-velocity',function(A,NAME){__cov_ybIZTk7y0b$fCJLAD9_Tgw.f['1']++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['2']++;var Lang=A.Lang,MATCH_DIRECTIVES=0,MATCH_VARIABLES=1,Velocity=A.Base.create('aui-ace-autocomplete-velocity',A.AceEditor.TemplateProcessor,[],{getMatch:function(content){__cov_ybIZTk7y0b$fCJLAD9_Tgw.f['2']++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['3']++;var instance=this,match,matchIndex;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['4']++;if((matchIndex=content.lastIndexOf('#'))>=0){__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['1'][0]++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['5']++;content=content.substring(matchIndex);__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['6']++;if(instance.get('directivesMatcher').test(content)){__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['2'][0]++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['7']++;match={content:content.substring(1),start:matchIndex,type:MATCH_DIRECTIVES};}else{__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['2'][1]++;}}else{__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['1'][1]++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['8']++;if((matchIndex=content.lastIndexOf('$'))>=0){__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['3'][0]++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['9']++;content=content.substring(matchIndex);__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['10']++;if(instance.get('variablesMatcher').test(content)){__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['4'][0]++;__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['11']++;match={content:content.substring(1),start:matchIndex,type:MATCH_VARIABLES};}else{__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['4'][1]++;}}else{__cov_ybIZTk7y0b$fCJLAD9_Tgw.b['3'][1]++;}}__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['12']++;return match;}},{NAME:'aui-ace-autocomplete-velocity',NS:'aui-ace-autocomplete-velocity',ATTRS:{directives:{validator:Lang.isArray,value:['else','elseif','foreach','if','include','macro','parse','set','stop']},directivesMatcher:{setter:'_setRegexValue',value:/#[\w]*[^#]*$/},host:{validator:Lang.isObject},variables:{validator:Lang.isObject},variablesMatcher:{setter:'_setRegexValue',value:/\$[\w., ()"]*(?:[^$]|\\\$)*$/}}});__cov_ybIZTk7y0b$fCJLAD9_Tgw.s['13']++;A.AceEditor.AutoCompleteVelocity=Velocity;},'3.1.0-deprecated.52',{'requires':['aui-ace-autocomplete-templateprocessor']});
diff --git a/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-debug.js b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-debug.js
new file mode 100644
index 00000000000..362c846c757
--- /dev/null
+++ b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-debug.js
@@ -0,0 +1,179 @@
+YUI.add('aui-ace-autocomplete-velocity', function (A, NAME) {
+
+/**
+ * The ACE Editor Velocity Plugin
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-velocity
+ */
+
+var Lang = A.Lang,
+
+ MATCH_DIRECTIVES = 0,
+ MATCH_VARIABLES = 1,
+
+ /**
+ * A base class for Velocity plugin.
+ *
+ * @class A.AceEditor.AutoCompleteVelocity
+ * @extends A.AceEditor.TemplateProcessor
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+ Velocity = A.Base.create('aui-ace-autocomplete-velocity', A.AceEditor.TemplateProcessor, [], {
+
+ /**
+ * Checks if the provided content contains directive or variable.
+ *
+ * @method getMatch
+ * @param {String} content The content which should be traversed for
+ * matches
+ * @return {Object} An Object which contains the following properties:
+ * content - the found content
+ * start - the start index of the match
+ * type - match type, could be 0 (DIRECTIVES) or 1 (VARIABLES)
+ */
+ getMatch: function(content) {
+ var instance = this,
+ match,
+ matchIndex;
+
+ if ((matchIndex = content.lastIndexOf('#')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('directivesMatcher').test(content)) {
+ match = {
+ content: content.substring(1),
+ start: matchIndex,
+ type: MATCH_DIRECTIVES
+ };
+ }
+ }
+ else if ((matchIndex = content.lastIndexOf('$')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('variablesMatcher').test(content)) {
+ match = {
+ content: content.substring(1),
+ start: matchIndex,
+ type: MATCH_VARIABLES
+ };
+ }
+ }
+
+ return match;
+ }
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aui-ace-autocomplete-velocity',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aui-ace-autocomplete-velocity',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Velocity.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Contains the list of supported directives according to Velocity
+ * specification.
+ *
+ * @attribute directives
+ * @default
+ * value: [
+ * 'else',
+ * 'elseif',
+ * 'foreach',
+ * 'if',
+ * 'include',
+ * 'macro',
+ * 'parse',
+ * 'set',
+ * 'stop'
+ *]
+ * @type Array
+ */
+ directives: {
+ validator: Lang.isArray,
+ value: [
+ 'else',
+ 'elseif',
+ 'foreach',
+ 'if',
+ 'include',
+ 'macro',
+ 'parse',
+ 'set',
+ 'stop'
+ ]
+ },
+
+ /**
+ * Contains the regular expression which checks for directive.
+ *
+ * @attribute directivesMatcher
+ * @default /#[\w]*[^#]*$/
+ */
+ directivesMatcher: {
+ setter: '_setRegexValue',
+ value: /#[\w]*[^#]*$/
+ },
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the supported variables.
+ *
+ * @attribute variables
+ * @type Object
+ */
+ variables: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the regular expression which will check for variable
+ * match.
+ *
+ * @attribute variablesMatcher
+ * @default /\$[\w., ()"]*(?:[^$]|\\\$)*$/
+ */
+ variablesMatcher: {
+ setter: '_setRegexValue',
+ value: /\$[\w., ()"]*(?:[^$]|\\\$)*$/
+ }
+ }
+ });
+
+A.AceEditor.AutoCompleteVelocity = Velocity;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-min.js b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-min.js
new file mode 100644
index 00000000000..c6c4af0c32a
--- /dev/null
+++ b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity-min.js
@@ -0,0 +1 @@
+YUI.add("aui-ace-autocomplete-velocity",function(e,t){var n=e.Lang,r=0,i=1,s=e.Base.create("aui-ace-autocomplete-velocity",e.AceEditor.TemplateProcessor,[],{getMatch:function(e){var t=this,n,s;return(s=e.lastIndexOf("#"))>=0?(e=e.substring(s),t.get("directivesMatcher").test(e)&&(n={content:e.substring(1),start:s,type:r})):(s=e.lastIndexOf("$"))>=0&&(e=e.substring(s),t.get("variablesMatcher").test(e)&&(n={content:e.substring(1),start:s,type:i})),n}},{NAME:"aui-ace-autocomplete-velocity",NS:"aui-ace-autocomplete-velocity",ATTRS:{directives:{validator:n.isArray,value:["else","elseif","foreach","if","include","macro","parse","set","stop"]},directivesMatcher:{setter:"_setRegexValue",value:/#[\w]*[^#]*$/},host:{validator:n.isObject},variables:{validator:n.isObject},variablesMatcher:{setter:"_setRegexValue",value:/\$[\w., ()"]*(?:[^$]|\\\$)*$/}}});e.AceEditor.AutoCompleteVelocity=s},"3.1.0-deprecated.52",{requires:["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity.js b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity.js
new file mode 100644
index 00000000000..362c846c757
--- /dev/null
+++ b/build/aui-ace-autocomplete-velocity/aui-ace-autocomplete-velocity.js
@@ -0,0 +1,179 @@
+YUI.add('aui-ace-autocomplete-velocity', function (A, NAME) {
+
+/**
+ * The ACE Editor Velocity Plugin
+ *
+ * @module aui-ace-editor
+ * @submodule aui-ace-autocomplete-velocity
+ */
+
+var Lang = A.Lang,
+
+ MATCH_DIRECTIVES = 0,
+ MATCH_VARIABLES = 1,
+
+ /**
+ * A base class for Velocity plugin.
+ *
+ * @class A.AceEditor.AutoCompleteVelocity
+ * @extends A.AceEditor.TemplateProcessor
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+ Velocity = A.Base.create('aui-ace-autocomplete-velocity', A.AceEditor.TemplateProcessor, [], {
+
+ /**
+ * Checks if the provided content contains directive or variable.
+ *
+ * @method getMatch
+ * @param {String} content The content which should be traversed for
+ * matches
+ * @return {Object} An Object which contains the following properties:
+ * content - the found content
+ * start - the start index of the match
+ * type - match type, could be 0 (DIRECTIVES) or 1 (VARIABLES)
+ */
+ getMatch: function(content) {
+ var instance = this,
+ match,
+ matchIndex;
+
+ if ((matchIndex = content.lastIndexOf('#')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('directivesMatcher').test(content)) {
+ match = {
+ content: content.substring(1),
+ start: matchIndex,
+ type: MATCH_DIRECTIVES
+ };
+ }
+ }
+ else if ((matchIndex = content.lastIndexOf('$')) >= 0) {
+ content = content.substring(matchIndex);
+
+ if (instance.get('variablesMatcher').test(content)) {
+ match = {
+ content: content.substring(1),
+ start: matchIndex,
+ type: MATCH_VARIABLES
+ };
+ }
+ }
+
+ return match;
+ }
+ }, {
+
+ /**
+ * Static property which provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aui-ace-autocomplete-velocity',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aui-ace-autocomplete-velocity',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Velocity.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Contains the list of supported directives according to Velocity
+ * specification.
+ *
+ * @attribute directives
+ * @default
+ * value: [
+ * 'else',
+ * 'elseif',
+ * 'foreach',
+ * 'if',
+ * 'include',
+ * 'macro',
+ * 'parse',
+ * 'set',
+ * 'stop'
+ *]
+ * @type Array
+ */
+ directives: {
+ validator: Lang.isArray,
+ value: [
+ 'else',
+ 'elseif',
+ 'foreach',
+ 'if',
+ 'include',
+ 'macro',
+ 'parse',
+ 'set',
+ 'stop'
+ ]
+ },
+
+ /**
+ * Contains the regular expression which checks for directive.
+ *
+ * @attribute directivesMatcher
+ * @default /#[\w]*[^#]*$/
+ */
+ directivesMatcher: {
+ setter: '_setRegexValue',
+ value: /#[\w]*[^#]*$/
+ },
+
+ /**
+ * The Editor in which the current instance is plugged.
+ *
+ * @attribute host
+ * @type Object
+ */
+ host: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the supported variables.
+ *
+ * @attribute variables
+ * @type Object
+ */
+ variables: {
+ validator: Lang.isObject
+ },
+
+ /**
+ * Contains the regular expression which will check for variable
+ * match.
+ *
+ * @attribute variablesMatcher
+ * @default /\$[\w., ()"]*(?:[^$]|\\\$)*$/
+ */
+ variablesMatcher: {
+ setter: '_setRegexValue',
+ value: /\$[\w., ()"]*(?:[^$]|\\\$)*$/
+ }
+ }
+ });
+
+A.AceEditor.AutoCompleteVelocity = Velocity;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-ace-autocomplete-templateprocessor"]});
diff --git a/build/aui-affix/aui-affix-coverage.js b/build/aui-affix/aui-affix-coverage.js
new file mode 100644
index 00000000000..2e12022fea4
--- /dev/null
+++ b/build/aui-affix/aui-affix-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-affix/aui-affix.js']) {
+ __coverage__['build/aui-affix/aui-affix.js'] = {"path":"build/aui-affix/aui-affix.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":21},"end":{"line":1,"column":40}}},"2":{"name":"(anonymous_2)","line":46,"loc":{"start":{"line":46,"column":17},"end":{"line":46,"column":28}}},"3":{"name":"(anonymous_3)","line":73,"loc":{"start":{"line":73,"column":16},"end":{"line":73,"column":27}}},"4":{"name":"(anonymous_4)","line":82,"loc":{"start":{"line":82,"column":13},"end":{"line":82,"column":24}}},"5":{"name":"(anonymous_5)","line":109,"loc":{"start":{"line":109,"column":24},"end":{"line":109,"column":35}}},"6":{"name":"(anonymous_6)","line":119,"loc":{"start":{"line":119,"column":23},"end":{"line":119,"column":34}}},"7":{"name":"(anonymous_7)","line":129,"loc":{"start":{"line":129,"column":17},"end":{"line":129,"column":28}}},"8":{"name":"(anonymous_8)","line":139,"loc":{"start":{"line":139,"column":20},"end":{"line":139,"column":31}}},"9":{"name":"(anonymous_9)","line":150,"loc":{"start":{"line":150,"column":16},"end":{"line":150,"column":30}}},"10":{"name":"(anonymous_10)","line":164,"loc":{"start":{"line":164,"column":23},"end":{"line":164,"column":42}}},"11":{"name":"(anonymous_11)","line":176,"loc":{"start":{"line":176,"column":15},"end":{"line":176,"column":26}}},"12":{"name":"(anonymous_12)","line":187,"loc":{"start":{"line":187,"column":20},"end":{"line":187,"column":39}}},"13":{"name":"(anonymous_13)","line":201,"loc":{"start":{"line":201,"column":21},"end":{"line":201,"column":35}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":269,"column":77}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":23}},"3":{"start":{"line":24,"column":0},"end":{"line":266,"column":3}},"4":{"start":{"line":47,"column":8},"end":{"line":57,"column":11}},"5":{"start":{"line":59,"column":8},"end":{"line":62,"column":11}},"6":{"start":{"line":64,"column":8},"end":{"line":64,"column":23}},"7":{"start":{"line":65,"column":8},"end":{"line":65,"column":74}},"8":{"start":{"line":74,"column":8},"end":{"line":74,"column":35}},"9":{"start":{"line":83,"column":8},"end":{"line":86,"column":25}},"10":{"start":{"line":88,"column":8},"end":{"line":91,"column":9}},"11":{"start":{"line":89,"column":12},"end":{"line":89,"column":55}},"12":{"start":{"line":90,"column":12},"end":{"line":90,"column":19}},"13":{"start":{"line":93,"column":8},"end":{"line":93,"column":56}},"14":{"start":{"line":95,"column":8},"end":{"line":98,"column":9}},"15":{"start":{"line":96,"column":12},"end":{"line":96,"column":58}},"16":{"start":{"line":97,"column":12},"end":{"line":97,"column":19}},"17":{"start":{"line":100,"column":8},"end":{"line":100,"column":55}},"18":{"start":{"line":110,"column":8},"end":{"line":110,"column":23}},"19":{"start":{"line":120,"column":8},"end":{"line":120,"column":51}},"20":{"start":{"line":130,"column":8},"end":{"line":130,"column":52}},"21":{"start":{"line":140,"column":8},"end":{"line":140,"column":48}},"22":{"start":{"line":151,"column":8},"end":{"line":153,"column":9}},"23":{"start":{"line":152,"column":12},"end":{"line":152,"column":33}},"24":{"start":{"line":154,"column":8},"end":{"line":154,"column":19}},"25":{"start":{"line":165,"column":8},"end":{"line":167,"column":9}},"26":{"start":{"line":166,"column":12},"end":{"line":166,"column":32}},"27":{"start":{"line":177,"column":8},"end":{"line":177,"column":23}},"28":{"start":{"line":188,"column":8},"end":{"line":188,"column":40}},"29":{"start":{"line":189,"column":8},"end":{"line":189,"column":91}},"30":{"start":{"line":190,"column":8},"end":{"line":190,"column":93}},"31":{"start":{"line":191,"column":8},"end":{"line":191,"column":85}},"32":{"start":{"line":192,"column":8},"end":{"line":192,"column":38}},"33":{"start":{"line":202,"column":8},"end":{"line":204,"column":9}},"34":{"start":{"line":203,"column":12},"end":{"line":203,"column":33}},"35":{"start":{"line":206,"column":8},"end":{"line":208,"column":47}}},"branchMap":{"1":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":8}},{"start":{"line":88,"column":8},"end":{"line":88,"column":8}}]},"2":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":13},"end":{"line":88,"column":27}},{"start":{"line":88,"column":33},"end":{"line":88,"column":53}}]},"3":{"line":95,"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":95,"column":8}},{"start":{"line":95,"column":8},"end":{"line":95,"column":8}}]},"4":{"line":95,"type":"binary-expr","locations":[{"start":{"line":95,"column":13},"end":{"line":95,"column":30}},{"start":{"line":95,"column":36},"end":{"line":95,"column":113}}]},"5":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":151,"column":8}},{"start":{"line":151,"column":8},"end":{"line":151,"column":8}}]},"6":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":8},"end":{"line":165,"column":8}},{"start":{"line":165,"column":8},"end":{"line":165,"column":8}}]},"7":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":202,"column":8}},{"start":{"line":202,"column":8},"end":{"line":202,"column":8}}]},"8":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":15},"end":{"line":206,"column":35}},{"start":{"line":207,"column":12},"end":{"line":207,"column":34}},{"start":{"line":208,"column":13},"end":{"line":208,"column":45}}]}},"code":["(function () { YUI.add('aui-affix', function (A, NAME) {","","/**"," * The Affix Component"," *"," * @module aui-affix"," */","","var win = A.config.win;","","/**"," * A base class for Affix."," *"," * Check the [live demo](http://alloyui.com/examples/affix/)."," *"," * @class A.Affix"," * @extends Base"," * @param {Object} config Object literal specifying scrollspy configuration"," * properties."," * @constructor"," * @include http://alloyui.com/examples/affix/basic-markup.html"," * @include http://alloyui.com/examples/affix/basic.js"," */","A.Affix = A.Base.create('affix', A.Base, [], {"," /**"," * Holds the scroll event handle."," *"," * @type {Node}"," * @private"," */"," _eventHandle: null,",""," /**"," * Holds the last event (bottom, default, top)."," * @type {String}"," * @private"," */"," _lastPosition: null,",""," /**"," * Constructor for the Affix component."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," this.publish({"," bottom: {"," defaultFn: this._defAffixBottomFn"," },"," 'default': {"," defaultFn: this._defAffixFn"," },"," top: {"," defaultFn: this._defAffixTopFn"," }"," });",""," this.after({"," offsetBottomChange: this._afterOffsetChange,"," offsetTopChange: this._afterOffsetChange"," });",""," this.refresh();"," this._eventHandle = A.one(win).on('scroll', this._onScroll, this);"," },",""," /**"," * Destructor for the Affix component"," * @method destructor"," * @private"," */"," destructor: function() {"," this._eventHandle.detach();"," },",""," /**"," * Refreshes the affix component to its current state."," *"," * @method refresh"," */"," refresh: function() {"," var scrollY = A.DOM.docScrollY(),"," offsetBottom = this.get('offsetBottom'),"," offsetTop = this.get('offsetTop'),"," targetRegion;",""," if ((offsetTop >= 0) && (offsetTop >= scrollY)) {"," this._handleAffixEvent(A.Affix.EVENTS.TOP);"," return;"," }",""," targetRegion = this.get('target').get('region');",""," if ((offsetBottom >= 0) && ((A.DOM.docHeight() - A.DOM.winHeight() - offsetBottom) <= targetRegion.bottom)) {"," this._handleAffixEvent(A.Affix.EVENTS.BOTTOM);"," return;"," }",""," this._handleAffixEvent(A.Affix.EVENTS.DEFAULT);"," },",""," /**"," * Call the refresh method after changing the offset"," *"," * @method _afterOffsetChange"," * @private"," */"," _afterOffsetChange: function() {"," this.refresh();"," },",""," /**"," * Affix bottom position syncing callback function."," *"," * @method _defAffixBottomFn"," * @private"," */"," _defAffixBottomFn: function() {"," this._syncClassesUI(A.Affix.EVENTS.BOTTOM);"," },",""," /**"," * Affix default position syncing callback function."," *"," * @method _defAffixFn"," * @private"," */"," _defAffixFn: function() {"," this._syncClassesUI(A.Affix.EVENTS.DEFAULT);"," },",""," /**"," * Affix top position syncing callback function."," *"," * @method _defAffixTopFn"," * @private"," */"," _defAffixTopFn: function() {"," this._syncClassesUI(A.Affix.EVENTS.TOP);"," },",""," /**"," * Get the `offset` attribute."," *"," * @method _getOffset"," * @param {Number | Number.NEGATIVE_INFINITY} val"," * @protected"," */"," _getOffset: function(val) {"," if (A.Lang.isFunction(val)) {"," val = val.call(this);"," }"," return val;"," },",""," /**"," * Safeguard function for firing the affix change event only when necessary."," *"," * @method _handleAffixEvent"," * @param {String} Position value, could be 'bottom', 'default' or 'top'."," * @private"," */"," _handleAffixEvent: function(position) {"," if (position !== this._lastPosition) {"," this.fire(position);"," }"," },",""," /**"," * Scroll event listener function."," *"," * @method _onScroll"," * @private"," */"," _onScroll: function() {"," this.refresh();"," },",""," /**"," * Sync the target element class based on the affix positioning."," *"," * @method _syncClassesUI"," * @param {String} Position value, could be 'bottom', 'default' or 'top'."," * @private"," */"," _syncClassesUI: function(position) {"," var target = this.get('target');"," target.toggleClass(A.Affix.CSS_CLASSES.BOTTOM, position === A.Affix.EVENTS.BOTTOM);"," target.toggleClass(A.Affix.CSS_CLASSES.DEFAULT, position === A.Affix.EVENTS.DEFAULT);"," target.toggleClass(A.Affix.CSS_CLASSES.TOP, position === A.Affix.EVENTS.TOP);"," this._lastPosition = position;"," },",""," /**"," * Validate the offset type."," *"," * @method _validateOffset"," * @param {Function | Number | Number.NEGATIVE_INFINITY} val"," */"," _validateOffset: function(val) {"," if (A.Lang.isFunction(val)) {"," val = val.call(this);"," }",""," return A.Lang.isNumber(val) ||"," A.Lang.isFunction(val) ||"," (val === Number.NEGATIVE_INFINITY);"," }","}, {"," ATTRS: {"," /**"," * Defines the bottom offset."," *"," * @attribute offsetBottom"," * @type {Function | Number}"," */"," offsetBottom: {"," getter: '_getOffset',"," validator: '_validateOffset',"," value: Number.NEGATIVE_INFINITY"," },",""," /**"," * Defines the top offset."," *"," * @attribute offsetTop"," * @type {Function | Number}"," */"," offsetTop: {"," getter: '_getOffset',"," validator: '_validateOffset',"," value: Number.NEGATIVE_INFINITY"," },",""," /**"," * Defines the target element."," *"," * @attribute target"," * @type {Node | String}"," */"," target: {"," setter: A.one"," }"," },"," /**"," * Map of events containing `BOTTOM`, `DEFAULT` or `TOP` keys."," *"," * @type {Object}"," */"," EVENTS: {"," BOTTOM: 'bottom',"," DEFAULT: 'default',"," TOP: 'top'"," },"," /**"," * Map of class names containing `BOTTOM`, `DEFAULT` or `TOP` keys."," *"," * @type {Object}"," */"," CSS_CLASSES: {"," BOTTOM: A.getClassName('affix', 'bottom'),"," DEFAULT: A.getClassName('affix'),"," TOP: A.getClassName('affix', 'top')"," }","});","","","}, '3.1.0-deprecated.52', {\"requires\": [\"base\", \"node-screen\", \"aui-node\"]});","","}());"]};
+}
+var __cov_7Ay7l5B5Uy$4ChYP2DxOGA = __coverage__['build/aui-affix/aui-affix.js'];
+__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['1']++;YUI.add('aui-affix',function(A,NAME){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['1']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['2']++;var win=A.config.win;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['3']++;A.Affix=A.Base.create('affix',A.Base,[],{_eventHandle:null,_lastPosition:null,initializer:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['2']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['4']++;this.publish({bottom:{defaultFn:this._defAffixBottomFn},'default':{defaultFn:this._defAffixFn},top:{defaultFn:this._defAffixTopFn}});__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['5']++;this.after({offsetBottomChange:this._afterOffsetChange,offsetTopChange:this._afterOffsetChange});__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['6']++;this.refresh();__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['7']++;this._eventHandle=A.one(win).on('scroll',this._onScroll,this);},destructor:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['3']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['8']++;this._eventHandle.detach();},refresh:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['4']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['9']++;var scrollY=A.DOM.docScrollY(),offsetBottom=this.get('offsetBottom'),offsetTop=this.get('offsetTop'),targetRegion;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['10']++;if((__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['2'][0]++,offsetTop>=0)&&(__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['2'][1]++,offsetTop>=scrollY)){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['1'][0]++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['11']++;this._handleAffixEvent(A.Affix.EVENTS.TOP);__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['12']++;return;}else{__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['1'][1]++;}__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['13']++;targetRegion=this.get('target').get('region');__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['14']++;if((__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['4'][0]++,offsetBottom>=0)&&(__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['4'][1]++,A.DOM.docHeight()-A.DOM.winHeight()-offsetBottom<=targetRegion.bottom)){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['3'][0]++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['15']++;this._handleAffixEvent(A.Affix.EVENTS.BOTTOM);__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['16']++;return;}else{__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['3'][1]++;}__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['17']++;this._handleAffixEvent(A.Affix.EVENTS.DEFAULT);},_afterOffsetChange:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['5']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['18']++;this.refresh();},_defAffixBottomFn:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['6']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['19']++;this._syncClassesUI(A.Affix.EVENTS.BOTTOM);},_defAffixFn:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['7']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['20']++;this._syncClassesUI(A.Affix.EVENTS.DEFAULT);},_defAffixTopFn:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['8']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['21']++;this._syncClassesUI(A.Affix.EVENTS.TOP);},_getOffset:function(val){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['9']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['22']++;if(A.Lang.isFunction(val)){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['5'][0]++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['23']++;val=val.call(this);}else{__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['5'][1]++;}__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['24']++;return val;},_handleAffixEvent:function(position){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['10']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['25']++;if(position!==this._lastPosition){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['6'][0]++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['26']++;this.fire(position);}else{__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['6'][1]++;}},_onScroll:function(){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['11']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['27']++;this.refresh();},_syncClassesUI:function(position){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['12']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['28']++;var target=this.get('target');__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['29']++;target.toggleClass(A.Affix.CSS_CLASSES.BOTTOM,position===A.Affix.EVENTS.BOTTOM);__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['30']++;target.toggleClass(A.Affix.CSS_CLASSES.DEFAULT,position===A.Affix.EVENTS.DEFAULT);__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['31']++;target.toggleClass(A.Affix.CSS_CLASSES.TOP,position===A.Affix.EVENTS.TOP);__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['32']++;this._lastPosition=position;},_validateOffset:function(val){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.f['13']++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['33']++;if(A.Lang.isFunction(val)){__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['7'][0]++;__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['34']++;val=val.call(this);}else{__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['7'][1]++;}__cov_7Ay7l5B5Uy$4ChYP2DxOGA.s['35']++;return(__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['8'][0]++,A.Lang.isNumber(val))||(__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['8'][1]++,A.Lang.isFunction(val))||(__cov_7Ay7l5B5Uy$4ChYP2DxOGA.b['8'][2]++,val===Number.NEGATIVE_INFINITY);}},{ATTRS:{offsetBottom:{getter:'_getOffset',validator:'_validateOffset',value:Number.NEGATIVE_INFINITY},offsetTop:{getter:'_getOffset',validator:'_validateOffset',value:Number.NEGATIVE_INFINITY},target:{setter:A.one}},EVENTS:{BOTTOM:'bottom',DEFAULT:'default',TOP:'top'},CSS_CLASSES:{BOTTOM:A.getClassName('affix','bottom'),DEFAULT:A.getClassName('affix'),TOP:A.getClassName('affix','top')}});},'3.1.0-deprecated.52',{'requires':['base','node-screen','aui-node']});
diff --git a/build/aui-affix/aui-affix-debug.js b/build/aui-affix/aui-affix-debug.js
new file mode 100644
index 00000000000..f4cbc0c7531
--- /dev/null
+++ b/build/aui-affix/aui-affix-debug.js
@@ -0,0 +1,269 @@
+YUI.add('aui-affix', function (A, NAME) {
+
+/**
+ * The Affix Component
+ *
+ * @module aui-affix
+ */
+
+var win = A.config.win;
+
+/**
+ * A base class for Affix.
+ *
+ * Check the [live demo](http://alloyui.com/examples/affix/).
+ *
+ * @class A.Affix
+ * @extends Base
+ * @param {Object} config Object literal specifying scrollspy configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/affix/basic-markup.html
+ * @include http://alloyui.com/examples/affix/basic.js
+ */
+A.Affix = A.Base.create('affix', A.Base, [], {
+ /**
+ * Holds the scroll event handle.
+ *
+ * @type {Node}
+ * @private
+ */
+ _eventHandle: null,
+
+ /**
+ * Holds the last event (bottom, default, top).
+ * @type {String}
+ * @private
+ */
+ _lastPosition: null,
+
+ /**
+ * Constructor for the Affix component.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.publish({
+ bottom: {
+ defaultFn: this._defAffixBottomFn
+ },
+ 'default': {
+ defaultFn: this._defAffixFn
+ },
+ top: {
+ defaultFn: this._defAffixTopFn
+ }
+ });
+
+ this.after({
+ offsetBottomChange: this._afterOffsetChange,
+ offsetTopChange: this._afterOffsetChange
+ });
+
+ this.refresh();
+ this._eventHandle = A.one(win).on('scroll', this._onScroll, this);
+ },
+
+ /**
+ * Destructor for the Affix component
+ * @method destructor
+ * @private
+ */
+ destructor: function() {
+ this._eventHandle.detach();
+ },
+
+ /**
+ * Refreshes the affix component to its current state.
+ *
+ * @method refresh
+ */
+ refresh: function() {
+ var scrollY = A.DOM.docScrollY(),
+ offsetBottom = this.get('offsetBottom'),
+ offsetTop = this.get('offsetTop'),
+ targetRegion;
+
+ if ((offsetTop >= 0) && (offsetTop >= scrollY)) {
+ this._handleAffixEvent(A.Affix.EVENTS.TOP);
+ return;
+ }
+
+ targetRegion = this.get('target').get('region');
+
+ if ((offsetBottom >= 0) && ((A.DOM.docHeight() - A.DOM.winHeight() - offsetBottom) <= targetRegion.bottom)) {
+ this._handleAffixEvent(A.Affix.EVENTS.BOTTOM);
+ return;
+ }
+
+ this._handleAffixEvent(A.Affix.EVENTS.DEFAULT);
+ },
+
+ /**
+ * Call the refresh method after changing the offset
+ *
+ * @method _afterOffsetChange
+ * @private
+ */
+ _afterOffsetChange: function() {
+ this.refresh();
+ },
+
+ /**
+ * Affix bottom position syncing callback function.
+ *
+ * @method _defAffixBottomFn
+ * @private
+ */
+ _defAffixBottomFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.BOTTOM);
+ },
+
+ /**
+ * Affix default position syncing callback function.
+ *
+ * @method _defAffixFn
+ * @private
+ */
+ _defAffixFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.DEFAULT);
+ },
+
+ /**
+ * Affix top position syncing callback function.
+ *
+ * @method _defAffixTopFn
+ * @private
+ */
+ _defAffixTopFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.TOP);
+ },
+
+ /**
+ * Get the `offset` attribute.
+ *
+ * @method _getOffset
+ * @param {Number | Number.NEGATIVE_INFINITY} val
+ * @protected
+ */
+ _getOffset: function(val) {
+ if (A.Lang.isFunction(val)) {
+ val = val.call(this);
+ }
+ return val;
+ },
+
+ /**
+ * Safeguard function for firing the affix change event only when necessary.
+ *
+ * @method _handleAffixEvent
+ * @param {String} Position value, could be 'bottom', 'default' or 'top'.
+ * @private
+ */
+ _handleAffixEvent: function(position) {
+ if (position !== this._lastPosition) {
+ this.fire(position);
+ }
+ },
+
+ /**
+ * Scroll event listener function.
+ *
+ * @method _onScroll
+ * @private
+ */
+ _onScroll: function() {
+ this.refresh();
+ },
+
+ /**
+ * Sync the target element class based on the affix positioning.
+ *
+ * @method _syncClassesUI
+ * @param {String} Position value, could be 'bottom', 'default' or 'top'.
+ * @private
+ */
+ _syncClassesUI: function(position) {
+ var target = this.get('target');
+ target.toggleClass(A.Affix.CSS_CLASSES.BOTTOM, position === A.Affix.EVENTS.BOTTOM);
+ target.toggleClass(A.Affix.CSS_CLASSES.DEFAULT, position === A.Affix.EVENTS.DEFAULT);
+ target.toggleClass(A.Affix.CSS_CLASSES.TOP, position === A.Affix.EVENTS.TOP);
+ this._lastPosition = position;
+ },
+
+ /**
+ * Validate the offset type.
+ *
+ * @method _validateOffset
+ * @param {Function | Number | Number.NEGATIVE_INFINITY} val
+ */
+ _validateOffset: function(val) {
+ if (A.Lang.isFunction(val)) {
+ val = val.call(this);
+ }
+
+ return A.Lang.isNumber(val) ||
+ A.Lang.isFunction(val) ||
+ (val === Number.NEGATIVE_INFINITY);
+ }
+}, {
+ ATTRS: {
+ /**
+ * Defines the bottom offset.
+ *
+ * @attribute offsetBottom
+ * @type {Function | Number}
+ */
+ offsetBottom: {
+ getter: '_getOffset',
+ validator: '_validateOffset',
+ value: Number.NEGATIVE_INFINITY
+ },
+
+ /**
+ * Defines the top offset.
+ *
+ * @attribute offsetTop
+ * @type {Function | Number}
+ */
+ offsetTop: {
+ getter: '_getOffset',
+ validator: '_validateOffset',
+ value: Number.NEGATIVE_INFINITY
+ },
+
+ /**
+ * Defines the target element.
+ *
+ * @attribute target
+ * @type {Node | String}
+ */
+ target: {
+ setter: A.one
+ }
+ },
+ /**
+ * Map of events containing `BOTTOM`, `DEFAULT` or `TOP` keys.
+ *
+ * @type {Object}
+ */
+ EVENTS: {
+ BOTTOM: 'bottom',
+ DEFAULT: 'default',
+ TOP: 'top'
+ },
+ /**
+ * Map of class names containing `BOTTOM`, `DEFAULT` or `TOP` keys.
+ *
+ * @type {Object}
+ */
+ CSS_CLASSES: {
+ BOTTOM: A.getClassName('affix', 'bottom'),
+ DEFAULT: A.getClassName('affix'),
+ TOP: A.getClassName('affix', 'top')
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {"requires": ["base", "node-screen", "aui-node"]});
diff --git a/build/aui-affix/aui-affix-min.js b/build/aui-affix/aui-affix-min.js
new file mode 100644
index 00000000000..5dc7078dcb9
--- /dev/null
+++ b/build/aui-affix/aui-affix-min.js
@@ -0,0 +1 @@
+YUI.add("aui-affix",function(e,t){var n=e.config.win;e.Affix=e.Base.create("affix",e.Base,[],{_eventHandle:null,_lastPosition:null,initializer:function(){this.publish({bottom:{defaultFn:this._defAffixBottomFn},"default":{defaultFn:this._defAffixFn},top:{defaultFn:this._defAffixTopFn}}),this.after({offsetBottomChange:this._afterOffsetChange,offsetTopChange:this._afterOffsetChange}),this.refresh(),this._eventHandle=e.one(n).on("scroll",this._onScroll,this)},destructor:function(){this._eventHandle.detach()},refresh:function(){var t=e.DOM.docScrollY(),n=this.get("offsetBottom"),r=this.get("offsetTop"),i;if(r>=0&&r>=t){this._handleAffixEvent(e.Affix.EVENTS.TOP);return}i=this.get("target").get("region");if(n>=0&&e.DOM.docHeight()-e.DOM.winHeight()-n<=i.bottom){this._handleAffixEvent(e.Affix.EVENTS.BOTTOM);return}this._handleAffixEvent(e.Affix.EVENTS.DEFAULT)},_afterOffsetChange:function(){this.refresh()},_defAffixBottomFn:function(){this._syncClassesUI(e.Affix.EVENTS.BOTTOM)},_defAffixFn:function(){this._syncClassesUI(e.Affix.EVENTS.DEFAULT)},_defAffixTopFn:function(){this._syncClassesUI(e.Affix.EVENTS.TOP)},_getOffset:function(t){return e.Lang.isFunction(t)&&(t=t.call(this)),t},_handleAffixEvent:function(e){e!==this._lastPosition&&this.fire(e)},_onScroll:function(){this.refresh()},_syncClassesUI:function(t){var n=this.get("target");n.toggleClass(e.Affix.CSS_CLASSES.BOTTOM,t===e.Affix.EVENTS.BOTTOM),n.toggleClass(e.Affix.CSS_CLASSES.DEFAULT,t===e.Affix.EVENTS.DEFAULT),n.toggleClass(e.Affix.CSS_CLASSES.TOP,t===e.Affix.EVENTS.TOP),this._lastPosition=t},_validateOffset:function(t){return e.Lang.isFunction(t)&&(t=t.call(this)),e.Lang.isNumber(t)||e.Lang.isFunction(t)||t===Number.NEGATIVE_INFINITY}},{ATTRS:{offsetBottom:{getter:"_getOffset",validator:"_validateOffset",value:Number.NEGATIVE_INFINITY},offsetTop:{getter:"_getOffset",validator:"_validateOffset",value:Number.NEGATIVE_INFINITY},target:{setter:e.one}},EVENTS:{BOTTOM:"bottom",DEFAULT:"default",TOP:"top"},CSS_CLASSES:{BOTTOM:e.getClassName("affix","bottom"),DEFAULT:e.getClassName("affix"),TOP:e.getClassName("affix","top")}})},"3.1.0-deprecated.52",{requires:["base","node-screen","aui-node"]});
diff --git a/build/aui-affix/aui-affix.js b/build/aui-affix/aui-affix.js
new file mode 100644
index 00000000000..f4cbc0c7531
--- /dev/null
+++ b/build/aui-affix/aui-affix.js
@@ -0,0 +1,269 @@
+YUI.add('aui-affix', function (A, NAME) {
+
+/**
+ * The Affix Component
+ *
+ * @module aui-affix
+ */
+
+var win = A.config.win;
+
+/**
+ * A base class for Affix.
+ *
+ * Check the [live demo](http://alloyui.com/examples/affix/).
+ *
+ * @class A.Affix
+ * @extends Base
+ * @param {Object} config Object literal specifying scrollspy configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/affix/basic-markup.html
+ * @include http://alloyui.com/examples/affix/basic.js
+ */
+A.Affix = A.Base.create('affix', A.Base, [], {
+ /**
+ * Holds the scroll event handle.
+ *
+ * @type {Node}
+ * @private
+ */
+ _eventHandle: null,
+
+ /**
+ * Holds the last event (bottom, default, top).
+ * @type {String}
+ * @private
+ */
+ _lastPosition: null,
+
+ /**
+ * Constructor for the Affix component.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.publish({
+ bottom: {
+ defaultFn: this._defAffixBottomFn
+ },
+ 'default': {
+ defaultFn: this._defAffixFn
+ },
+ top: {
+ defaultFn: this._defAffixTopFn
+ }
+ });
+
+ this.after({
+ offsetBottomChange: this._afterOffsetChange,
+ offsetTopChange: this._afterOffsetChange
+ });
+
+ this.refresh();
+ this._eventHandle = A.one(win).on('scroll', this._onScroll, this);
+ },
+
+ /**
+ * Destructor for the Affix component
+ * @method destructor
+ * @private
+ */
+ destructor: function() {
+ this._eventHandle.detach();
+ },
+
+ /**
+ * Refreshes the affix component to its current state.
+ *
+ * @method refresh
+ */
+ refresh: function() {
+ var scrollY = A.DOM.docScrollY(),
+ offsetBottom = this.get('offsetBottom'),
+ offsetTop = this.get('offsetTop'),
+ targetRegion;
+
+ if ((offsetTop >= 0) && (offsetTop >= scrollY)) {
+ this._handleAffixEvent(A.Affix.EVENTS.TOP);
+ return;
+ }
+
+ targetRegion = this.get('target').get('region');
+
+ if ((offsetBottom >= 0) && ((A.DOM.docHeight() - A.DOM.winHeight() - offsetBottom) <= targetRegion.bottom)) {
+ this._handleAffixEvent(A.Affix.EVENTS.BOTTOM);
+ return;
+ }
+
+ this._handleAffixEvent(A.Affix.EVENTS.DEFAULT);
+ },
+
+ /**
+ * Call the refresh method after changing the offset
+ *
+ * @method _afterOffsetChange
+ * @private
+ */
+ _afterOffsetChange: function() {
+ this.refresh();
+ },
+
+ /**
+ * Affix bottom position syncing callback function.
+ *
+ * @method _defAffixBottomFn
+ * @private
+ */
+ _defAffixBottomFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.BOTTOM);
+ },
+
+ /**
+ * Affix default position syncing callback function.
+ *
+ * @method _defAffixFn
+ * @private
+ */
+ _defAffixFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.DEFAULT);
+ },
+
+ /**
+ * Affix top position syncing callback function.
+ *
+ * @method _defAffixTopFn
+ * @private
+ */
+ _defAffixTopFn: function() {
+ this._syncClassesUI(A.Affix.EVENTS.TOP);
+ },
+
+ /**
+ * Get the `offset` attribute.
+ *
+ * @method _getOffset
+ * @param {Number | Number.NEGATIVE_INFINITY} val
+ * @protected
+ */
+ _getOffset: function(val) {
+ if (A.Lang.isFunction(val)) {
+ val = val.call(this);
+ }
+ return val;
+ },
+
+ /**
+ * Safeguard function for firing the affix change event only when necessary.
+ *
+ * @method _handleAffixEvent
+ * @param {String} Position value, could be 'bottom', 'default' or 'top'.
+ * @private
+ */
+ _handleAffixEvent: function(position) {
+ if (position !== this._lastPosition) {
+ this.fire(position);
+ }
+ },
+
+ /**
+ * Scroll event listener function.
+ *
+ * @method _onScroll
+ * @private
+ */
+ _onScroll: function() {
+ this.refresh();
+ },
+
+ /**
+ * Sync the target element class based on the affix positioning.
+ *
+ * @method _syncClassesUI
+ * @param {String} Position value, could be 'bottom', 'default' or 'top'.
+ * @private
+ */
+ _syncClassesUI: function(position) {
+ var target = this.get('target');
+ target.toggleClass(A.Affix.CSS_CLASSES.BOTTOM, position === A.Affix.EVENTS.BOTTOM);
+ target.toggleClass(A.Affix.CSS_CLASSES.DEFAULT, position === A.Affix.EVENTS.DEFAULT);
+ target.toggleClass(A.Affix.CSS_CLASSES.TOP, position === A.Affix.EVENTS.TOP);
+ this._lastPosition = position;
+ },
+
+ /**
+ * Validate the offset type.
+ *
+ * @method _validateOffset
+ * @param {Function | Number | Number.NEGATIVE_INFINITY} val
+ */
+ _validateOffset: function(val) {
+ if (A.Lang.isFunction(val)) {
+ val = val.call(this);
+ }
+
+ return A.Lang.isNumber(val) ||
+ A.Lang.isFunction(val) ||
+ (val === Number.NEGATIVE_INFINITY);
+ }
+}, {
+ ATTRS: {
+ /**
+ * Defines the bottom offset.
+ *
+ * @attribute offsetBottom
+ * @type {Function | Number}
+ */
+ offsetBottom: {
+ getter: '_getOffset',
+ validator: '_validateOffset',
+ value: Number.NEGATIVE_INFINITY
+ },
+
+ /**
+ * Defines the top offset.
+ *
+ * @attribute offsetTop
+ * @type {Function | Number}
+ */
+ offsetTop: {
+ getter: '_getOffset',
+ validator: '_validateOffset',
+ value: Number.NEGATIVE_INFINITY
+ },
+
+ /**
+ * Defines the target element.
+ *
+ * @attribute target
+ * @type {Node | String}
+ */
+ target: {
+ setter: A.one
+ }
+ },
+ /**
+ * Map of events containing `BOTTOM`, `DEFAULT` or `TOP` keys.
+ *
+ * @type {Object}
+ */
+ EVENTS: {
+ BOTTOM: 'bottom',
+ DEFAULT: 'default',
+ TOP: 'top'
+ },
+ /**
+ * Map of class names containing `BOTTOM`, `DEFAULT` or `TOP` keys.
+ *
+ * @type {Object}
+ */
+ CSS_CLASSES: {
+ BOTTOM: A.getClassName('affix', 'bottom'),
+ DEFAULT: A.getClassName('affix'),
+ TOP: A.getClassName('affix', 'top')
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {"requires": ["base", "node-screen", "aui-node"]});
diff --git a/build/aui-alert/assets/aui-alert-core.css b/build/aui-alert/assets/aui-alert-core.css
new file mode 100644
index 00000000000..f4bbe209b15
--- /dev/null
+++ b/build/aui-alert/assets/aui-alert-core.css
@@ -0,0 +1,3 @@
+.alert-hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/build/aui-alert/assets/skins/sam/aui-alert-skin.css b/build/aui-alert/assets/skins/sam/aui-alert-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-alert/assets/skins/sam/aui-alert.css b/build/aui-alert/assets/skins/sam/aui-alert.css
new file mode 100644
index 00000000000..539803ec200
--- /dev/null
+++ b/build/aui-alert/assets/skins/sam/aui-alert.css
@@ -0,0 +1 @@
+.alert-hidden{display:none}#yui3-css-stamp.skin-sam-aui-alert{display:none}
diff --git a/build/aui-alert/aui-alert-coverage.js b/build/aui-alert/aui-alert-coverage.js
new file mode 100644
index 00000000000..2ea7c6fdadc
--- /dev/null
+++ b/build/aui-alert/aui-alert-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-alert/aui-alert.js']) {
+ __coverage__['build/aui-alert/aui-alert.js'] = {"path":"build/aui-alert/aui-alert.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":21},"end":{"line":1,"column":40}}},"2":{"name":"(anonymous_2)","line":43,"loc":{"start":{"line":43,"column":14},"end":{"line":43,"column":25}}},"3":{"name":"(anonymous_3)","line":59,"loc":{"start":{"line":59,"column":12},"end":{"line":59,"column":23}}},"4":{"name":"(anonymous_4)","line":71,"loc":{"start":{"line":71,"column":25},"end":{"line":71,"column":41}}},"5":{"name":"(anonymous_5)","line":84,"loc":{"start":{"line":84,"column":25},"end":{"line":84,"column":41}}},"6":{"name":"(anonymous_6)","line":101,"loc":{"start":{"line":101,"column":24},"end":{"line":101,"column":40}}},"7":{"name":"(anonymous_7)","line":111,"loc":{"start":{"line":111,"column":21},"end":{"line":111,"column":35}}},"8":{"name":"(anonymous_8)","line":159,"loc":{"start":{"line":159,"column":21},"end":{"line":159,"column":32}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":234,"column":3}},"2":{"start":{"line":9,"column":0},"end":{"line":12,"column":59}},"3":{"start":{"line":28,"column":0},"end":{"line":220,"column":3}},"4":{"start":{"line":44,"column":8},"end":{"line":44,"column":52}},"5":{"start":{"line":46,"column":8},"end":{"line":50,"column":9}},"6":{"start":{"line":47,"column":12},"end":{"line":47,"column":37}},"7":{"start":{"line":49,"column":12},"end":{"line":49,"column":77}},"8":{"start":{"line":60,"column":8},"end":{"line":60,"column":60}},"9":{"start":{"line":61,"column":8},"end":{"line":61,"column":62}},"10":{"start":{"line":72,"column":8},"end":{"line":74,"column":9}},"11":{"start":{"line":73,"column":12},"end":{"line":73,"column":44}},"12":{"start":{"line":85,"column":8},"end":{"line":91,"column":9}},"13":{"start":{"line":86,"column":12},"end":{"line":86,"column":24}},"14":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"15":{"start":{"line":89,"column":16},"end":{"line":89,"column":80}},"16":{"start":{"line":102,"column":8},"end":{"line":102,"column":43}},"17":{"start":{"line":112,"column":8},"end":{"line":113,"column":54}},"18":{"start":{"line":115,"column":8},"end":{"line":115,"column":54}},"19":{"start":{"line":117,"column":8},"end":{"line":117,"column":31}},"20":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"21":{"start":{"line":120,"column":12},"end":{"line":120,"column":39}},"22":{"start":{"line":123,"column":8},"end":{"line":126,"column":9}},"23":{"start":{"line":124,"column":12},"end":{"line":124,"column":49}},"24":{"start":{"line":125,"column":12},"end":{"line":125,"column":88}},"25":{"start":{"line":160,"column":16},"end":{"line":160,"column":87}}},"branchMap":{"1":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":8}},{"start":{"line":46,"column":8},"end":{"line":46,"column":8}}]},"2":{"line":72,"type":"if","locations":[{"start":{"line":72,"column":8},"end":{"line":72,"column":8}},{"start":{"line":72,"column":8},"end":{"line":72,"column":8}}]},"3":{"line":72,"type":"binary-expr","locations":[{"start":{"line":72,"column":12},"end":{"line":72,"column":25}},{"start":{"line":72,"column":29},"end":{"line":72,"column":54}}]},"4":{"line":85,"type":"if","locations":[{"start":{"line":85,"column":8},"end":{"line":85,"column":8}},{"start":{"line":85,"column":8},"end":{"line":85,"column":8}}]},"5":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":88,"column":12}},{"start":{"line":88,"column":12},"end":{"line":88,"column":12}}]},"6":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":16},"end":{"line":88,"column":35}},{"start":{"line":88,"column":39},"end":{"line":88,"column":65}}]},"7":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":119,"column":8}},{"start":{"line":119,"column":8},"end":{"line":119,"column":8}}]},"8":{"line":123,"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":123,"column":8}},{"start":{"line":123,"column":8},"end":{"line":123,"column":8}}]}},"code":["(function () { YUI.add('aui-alert', function (A, NAME) {","","/**"," * The Alert Component"," *"," * @module aui-alert"," */","","var getClassName = A.getClassName,"," CSS_CLOSE = getClassName('close'),"," CSS_INFO = getClassName('alert', 'info'),"," CSS_DISMISSABLE = getClassName('alert', 'dismissable');","","/**"," * A base class for Alert."," *"," * Check the [live demo](http://alloyui.com/examples/alert/)."," *"," * @class A.Alert"," * @extends Widget"," * @uses A.WidgetCssClass, A.WidgetTransition"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," * @include http://alloyui.com/examples/alert/basic-markup.html"," * @include http://alloyui.com/examples/alert/basic.js"," */","A.Alert = A.Base.create('alert', A.Widget, ["," A.WidgetCssClass,"," A.WidgetStdMod,"," A.WidgetTransition","], {"," CONTENT_TEMPLATE: null,",""," _eventHandle: null,",""," /**"," * Renders the Alert component instance. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," this._uiSetCloseable(this.get('closeable'));",""," if (this.get('useARIA')) {"," this.plug(A.Plugin.Aria);",""," this.aria.setAttribute('hidden', false, this.get('boundingBox'));"," }"," },",""," /**"," * Binds the events on the Alert UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," this.on('closeableChange', this._onCloseableChange);"," this.after('visibleChange', this._afterVisibleChange);"," },",""," /**"," * Fires after visibility changes."," *"," * @method _afterVisibleChange"," * @param {EventFacade} event"," * @protected"," */"," _afterVisibleChange: function(event) {"," if (!event.newVal && this.get('destroyOnHide')) {"," A.soon(A.bind('destroy', this));"," }"," },",""," /**"," * Handles close icon click event."," *"," * @method _onClickBoundingBox"," * @param {EventFacade} event"," * @protected"," */"," _onClickBoundingBox: function(event) {"," if (event.target.test('.' + CSS_CLOSE)) {"," this.hide();",""," if (this.get('useARIA') && !this.get('destroyOnHide')) {"," this.aria.setAttribute('hidden', true, this.get('boundingBox'));"," }"," }"," },",""," /**"," * Handles `closeable` events."," *"," * @method _onCloseableChange"," * @param {EventFacade} event"," * @protected"," */"," _onCloseableChange: function(event) {"," this._uiSetCloseable(event.newVal);"," },",""," /**"," * Sets `closeable` UI."," *"," * @method _uiSetCloseable"," * @protected"," */"," _uiSetCloseable: function(val) {"," var boundingBox = this.get('boundingBox'),"," closeableNode = this.get('closeableNode');",""," boundingBox.toggleClass(CSS_DISMISSABLE, val);",""," closeableNode.remove();",""," if (this._eventHandle) {"," this._eventHandle.detach();"," }",""," if (val) {"," boundingBox.insert(closeableNode, 0);"," this._eventHandle = boundingBox.on('click', this._onClickBoundingBox, this);"," }"," }","}, {",""," /**"," * Static property used to define the default attribute"," * configuration for the Alert."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {"," /**"," * Whether the alert can be closed."," *"," * @attribute closeable"," * @default true"," * @type {Boolean}"," */"," closeable: {"," validator: A.Lang.isBoolean,"," value: true"," },",""," /**"," * Node used to generate a close button."," *"," * @attribute closeableNode"," * @default `× `"," * @type {Node}"," */"," closeableNode: {"," valueFn: function() {"," return A.Node.create('× ');"," }"," },",""," /**"," * CSS class for alert."," *"," * @attribute popoverCssClass"," * @default A.getClassName('alert-info')"," * @type {String}"," */"," cssClass: {"," value: CSS_INFO"," },",""," /**"," * Determine if Alert should be destroyed when hidden."," *"," * @attribute destroyOnHide"," * @default false"," * @type Boolean"," */"," destroyOnHide: {"," validator: A.Lang.isBoolean,"," value: false"," },",""," /**"," * Boolean indicating if use of the WAI-ARIA Roles and States should be enabled.."," *"," * @attribute useARIA"," * @default true"," * @type {Boolean}"," */"," useARIA: {"," validator: A.Lang.isBoolean,"," value: true,"," writeOnce: 'initOnly'"," }"," },",""," /**"," * Static property provides a string to identify the CSS prefix."," *"," * @property CSS_PREFIX"," * @type {String}"," * @static"," */"," CSS_PREFIX: 'alert',",""," /**"," * Object hash, defining how closeableNode value have to be parsed from markup."," *"," * @property HTML_PARSER"," * @type Object"," * @static"," */"," HTML_PARSER: {"," closeableNode: '.' + CSS_CLOSE"," }","});","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"aui-aria\","," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-transition\","," \"timers\","," \"widget\","," \"widget-stdmod\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_4PBfiDi4ZbhKFZ2to3MtXQ = __coverage__['build/aui-alert/aui-alert.js'];
+__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['1']++;YUI.add('aui-alert',function(A,NAME){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['1']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['2']++;var getClassName=A.getClassName,CSS_CLOSE=getClassName('close'),CSS_INFO=getClassName('alert','info'),CSS_DISMISSABLE=getClassName('alert','dismissable');__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['3']++;A.Alert=A.Base.create('alert',A.Widget,[A.WidgetCssClass,A.WidgetStdMod,A.WidgetTransition],{CONTENT_TEMPLATE:null,_eventHandle:null,renderUI:function(){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['2']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['4']++;this._uiSetCloseable(this.get('closeable'));__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['5']++;if(this.get('useARIA')){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['1'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['6']++;this.plug(A.Plugin.Aria);__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['7']++;this.aria.setAttribute('hidden',false,this.get('boundingBox'));}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['1'][1]++;}},bindUI:function(){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['3']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['8']++;this.on('closeableChange',this._onCloseableChange);__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['9']++;this.after('visibleChange',this._afterVisibleChange);},_afterVisibleChange:function(event){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['4']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['10']++;if((__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['3'][0]++,!event.newVal)&&(__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['3'][1]++,this.get('destroyOnHide'))){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['2'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['11']++;A.soon(A.bind('destroy',this));}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['2'][1]++;}},_onClickBoundingBox:function(event){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['5']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['12']++;if(event.target.test('.'+CSS_CLOSE)){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['4'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['13']++;this.hide();__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['14']++;if((__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['6'][0]++,this.get('useARIA'))&&(__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['6'][1]++,!this.get('destroyOnHide'))){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['5'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['15']++;this.aria.setAttribute('hidden',true,this.get('boundingBox'));}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['5'][1]++;}}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['4'][1]++;}},_onCloseableChange:function(event){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['6']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['16']++;this._uiSetCloseable(event.newVal);},_uiSetCloseable:function(val){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['7']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['17']++;var boundingBox=this.get('boundingBox'),closeableNode=this.get('closeableNode');__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['18']++;boundingBox.toggleClass(CSS_DISMISSABLE,val);__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['19']++;closeableNode.remove();__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['20']++;if(this._eventHandle){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['7'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['21']++;this._eventHandle.detach();}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['7'][1]++;}__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['22']++;if(val){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['8'][0]++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['23']++;boundingBox.insert(closeableNode,0);__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['24']++;this._eventHandle=boundingBox.on('click',this._onClickBoundingBox,this);}else{__cov_4PBfiDi4ZbhKFZ2to3MtXQ.b['8'][1]++;}}},{ATTRS:{closeable:{validator:A.Lang.isBoolean,value:true},closeableNode:{valueFn:function(){__cov_4PBfiDi4ZbhKFZ2to3MtXQ.f['8']++;__cov_4PBfiDi4ZbhKFZ2to3MtXQ.s['25']++;return A.Node.create('\xd7 ');}},cssClass:{value:CSS_INFO},destroyOnHide:{validator:A.Lang.isBoolean,value:false},useARIA:{validator:A.Lang.isBoolean,value:true,writeOnce:'initOnly'}},CSS_PREFIX:'alert',HTML_PARSER:{closeableNode:'.'+CSS_CLOSE}});},'3.1.0-deprecated.52',{'requires':['aui-aria','aui-classnamemanager','aui-widget-cssclass','aui-widget-transition','timers','widget','widget-stdmod'],'skinnable':true});
diff --git a/build/aui-alert/aui-alert-debug.js b/build/aui-alert/aui-alert-debug.js
new file mode 100644
index 00000000000..34d3d526368
--- /dev/null
+++ b/build/aui-alert/aui-alert-debug.js
@@ -0,0 +1,234 @@
+YUI.add('aui-alert', function (A, NAME) {
+
+/**
+ * The Alert Component
+ *
+ * @module aui-alert
+ */
+
+var getClassName = A.getClassName,
+ CSS_CLOSE = getClassName('close'),
+ CSS_INFO = getClassName('alert', 'info'),
+ CSS_DISMISSABLE = getClassName('alert', 'dismissable');
+
+/**
+ * A base class for Alert.
+ *
+ * Check the [live demo](http://alloyui.com/examples/alert/).
+ *
+ * @class A.Alert
+ * @extends Widget
+ * @uses A.WidgetCssClass, A.WidgetTransition
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/alert/basic-markup.html
+ * @include http://alloyui.com/examples/alert/basic.js
+ */
+A.Alert = A.Base.create('alert', A.Widget, [
+ A.WidgetCssClass,
+ A.WidgetStdMod,
+ A.WidgetTransition
+], {
+ CONTENT_TEMPLATE: null,
+
+ _eventHandle: null,
+
+ /**
+ * Renders the Alert component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ this._uiSetCloseable(this.get('closeable'));
+
+ if (this.get('useARIA')) {
+ this.plug(A.Plugin.Aria);
+
+ this.aria.setAttribute('hidden', false, this.get('boundingBox'));
+ }
+ },
+
+ /**
+ * Binds the events on the Alert UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ this.on('closeableChange', this._onCloseableChange);
+ this.after('visibleChange', this._afterVisibleChange);
+ },
+
+ /**
+ * Fires after visibility changes.
+ *
+ * @method _afterVisibleChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterVisibleChange: function(event) {
+ if (!event.newVal && this.get('destroyOnHide')) {
+ A.soon(A.bind('destroy', this));
+ }
+ },
+
+ /**
+ * Handles close icon click event.
+ *
+ * @method _onClickBoundingBox
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onClickBoundingBox: function(event) {
+ if (event.target.test('.' + CSS_CLOSE)) {
+ this.hide();
+
+ if (this.get('useARIA') && !this.get('destroyOnHide')) {
+ this.aria.setAttribute('hidden', true, this.get('boundingBox'));
+ }
+ }
+ },
+
+ /**
+ * Handles `closeable` events.
+ *
+ * @method _onCloseableChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onCloseableChange: function(event) {
+ this._uiSetCloseable(event.newVal);
+ },
+
+ /**
+ * Sets `closeable` UI.
+ *
+ * @method _uiSetCloseable
+ * @protected
+ */
+ _uiSetCloseable: function(val) {
+ var boundingBox = this.get('boundingBox'),
+ closeableNode = this.get('closeableNode');
+
+ boundingBox.toggleClass(CSS_DISMISSABLE, val);
+
+ closeableNode.remove();
+
+ if (this._eventHandle) {
+ this._eventHandle.detach();
+ }
+
+ if (val) {
+ boundingBox.insert(closeableNode, 0);
+ this._eventHandle = boundingBox.on('click', this._onClickBoundingBox, this);
+ }
+ }
+}, {
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Alert.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Whether the alert can be closed.
+ *
+ * @attribute closeable
+ * @default true
+ * @type {Boolean}
+ */
+ closeable: {
+ validator: A.Lang.isBoolean,
+ value: true
+ },
+
+ /**
+ * Node used to generate a close button.
+ *
+ * @attribute closeableNode
+ * @default `× `
+ * @type {Node}
+ */
+ closeableNode: {
+ valueFn: function() {
+ return A.Node.create('× ');
+ }
+ },
+
+ /**
+ * CSS class for alert.
+ *
+ * @attribute popoverCssClass
+ * @default A.getClassName('alert-info')
+ * @type {String}
+ */
+ cssClass: {
+ value: CSS_INFO
+ },
+
+ /**
+ * Determine if Alert should be destroyed when hidden.
+ *
+ * @attribute destroyOnHide
+ * @default false
+ * @type Boolean
+ */
+ destroyOnHide: {
+ validator: A.Lang.isBoolean,
+ value: false
+ },
+
+ /**
+ * Boolean indicating if use of the WAI-ARIA Roles and States should be enabled..
+ *
+ * @attribute useARIA
+ * @default true
+ * @type {Boolean}
+ */
+ useARIA: {
+ validator: A.Lang.isBoolean,
+ value: true,
+ writeOnce: 'initOnly'
+ }
+ },
+
+ /**
+ * Static property provides a string to identify the CSS prefix.
+ *
+ * @property CSS_PREFIX
+ * @type {String}
+ * @static
+ */
+ CSS_PREFIX: 'alert',
+
+ /**
+ * Object hash, defining how closeableNode value have to be parsed from markup.
+ *
+ * @property HTML_PARSER
+ * @type Object
+ * @static
+ */
+ HTML_PARSER: {
+ closeableNode: '.' + CSS_CLOSE
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-transition",
+ "timers",
+ "widget",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-alert/aui-alert-min.js b/build/aui-alert/aui-alert-min.js
new file mode 100644
index 00000000000..666d502c69e
--- /dev/null
+++ b/build/aui-alert/aui-alert-min.js
@@ -0,0 +1 @@
+YUI.add("aui-alert",function(e,t){var n=e.getClassName,r=n("close"),i=n("alert","info"),s=n("alert","dismissable");e.Alert=e.Base.create("alert",e.Widget,[e.WidgetCssClass,e.WidgetStdMod,e.WidgetTransition],{CONTENT_TEMPLATE:null,_eventHandle:null,renderUI:function(){this._uiSetCloseable(this.get("closeable")),this.get("useARIA")&&(this.plug(e.Plugin.Aria),this.aria.setAttribute("hidden",!1,this.get("boundingBox")))},bindUI:function(){this.on("closeableChange",this._onCloseableChange),this.after("visibleChange",this._afterVisibleChange)},_afterVisibleChange:function(t){!t.newVal&&this.get("destroyOnHide")&&e.soon(e.bind("destroy",this))},_onClickBoundingBox:function(e){e.target.test("."+r)&&(this.hide(),this.get("useARIA")&&!this.get("destroyOnHide")&&this.aria.setAttribute("hidden",!0,this.get("boundingBox")))},_onCloseableChange:function(e){this._uiSetCloseable(e.newVal)},_uiSetCloseable:function(e){var t=this.get("boundingBox"),n=this.get("closeableNode");t.toggleClass(s,e),n.remove(),this._eventHandle&&this._eventHandle.detach(),e&&(t.insert(n,0),this._eventHandle=t.on("click",this._onClickBoundingBox,this))}},{ATTRS:{closeable:{validator:e.Lang.isBoolean,value:!0},closeableNode:{valueFn:function(){return e.Node.create('\u00d7 ')}},cssClass:{value:i},destroyOnHide:{validator:e.Lang.isBoolean,value:!1},useARIA:{validator:e.Lang.isBoolean,value:!0,writeOnce:"initOnly"}},CSS_PREFIX:"alert",HTML_PARSER:{closeableNode:"."+r}})},"3.1.0-deprecated.52",{requires:["aui-aria","aui-classnamemanager","aui-widget-cssclass","aui-widget-transition","timers","widget","widget-stdmod"],skinnable:!0});
diff --git a/build/aui-alert/aui-alert.js b/build/aui-alert/aui-alert.js
new file mode 100644
index 00000000000..34d3d526368
--- /dev/null
+++ b/build/aui-alert/aui-alert.js
@@ -0,0 +1,234 @@
+YUI.add('aui-alert', function (A, NAME) {
+
+/**
+ * The Alert Component
+ *
+ * @module aui-alert
+ */
+
+var getClassName = A.getClassName,
+ CSS_CLOSE = getClassName('close'),
+ CSS_INFO = getClassName('alert', 'info'),
+ CSS_DISMISSABLE = getClassName('alert', 'dismissable');
+
+/**
+ * A base class for Alert.
+ *
+ * Check the [live demo](http://alloyui.com/examples/alert/).
+ *
+ * @class A.Alert
+ * @extends Widget
+ * @uses A.WidgetCssClass, A.WidgetTransition
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/alert/basic-markup.html
+ * @include http://alloyui.com/examples/alert/basic.js
+ */
+A.Alert = A.Base.create('alert', A.Widget, [
+ A.WidgetCssClass,
+ A.WidgetStdMod,
+ A.WidgetTransition
+], {
+ CONTENT_TEMPLATE: null,
+
+ _eventHandle: null,
+
+ /**
+ * Renders the Alert component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ this._uiSetCloseable(this.get('closeable'));
+
+ if (this.get('useARIA')) {
+ this.plug(A.Plugin.Aria);
+
+ this.aria.setAttribute('hidden', false, this.get('boundingBox'));
+ }
+ },
+
+ /**
+ * Binds the events on the Alert UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ this.on('closeableChange', this._onCloseableChange);
+ this.after('visibleChange', this._afterVisibleChange);
+ },
+
+ /**
+ * Fires after visibility changes.
+ *
+ * @method _afterVisibleChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterVisibleChange: function(event) {
+ if (!event.newVal && this.get('destroyOnHide')) {
+ A.soon(A.bind('destroy', this));
+ }
+ },
+
+ /**
+ * Handles close icon click event.
+ *
+ * @method _onClickBoundingBox
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onClickBoundingBox: function(event) {
+ if (event.target.test('.' + CSS_CLOSE)) {
+ this.hide();
+
+ if (this.get('useARIA') && !this.get('destroyOnHide')) {
+ this.aria.setAttribute('hidden', true, this.get('boundingBox'));
+ }
+ }
+ },
+
+ /**
+ * Handles `closeable` events.
+ *
+ * @method _onCloseableChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onCloseableChange: function(event) {
+ this._uiSetCloseable(event.newVal);
+ },
+
+ /**
+ * Sets `closeable` UI.
+ *
+ * @method _uiSetCloseable
+ * @protected
+ */
+ _uiSetCloseable: function(val) {
+ var boundingBox = this.get('boundingBox'),
+ closeableNode = this.get('closeableNode');
+
+ boundingBox.toggleClass(CSS_DISMISSABLE, val);
+
+ closeableNode.remove();
+
+ if (this._eventHandle) {
+ this._eventHandle.detach();
+ }
+
+ if (val) {
+ boundingBox.insert(closeableNode, 0);
+ this._eventHandle = boundingBox.on('click', this._onClickBoundingBox, this);
+ }
+ }
+}, {
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Alert.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Whether the alert can be closed.
+ *
+ * @attribute closeable
+ * @default true
+ * @type {Boolean}
+ */
+ closeable: {
+ validator: A.Lang.isBoolean,
+ value: true
+ },
+
+ /**
+ * Node used to generate a close button.
+ *
+ * @attribute closeableNode
+ * @default `× `
+ * @type {Node}
+ */
+ closeableNode: {
+ valueFn: function() {
+ return A.Node.create('× ');
+ }
+ },
+
+ /**
+ * CSS class for alert.
+ *
+ * @attribute popoverCssClass
+ * @default A.getClassName('alert-info')
+ * @type {String}
+ */
+ cssClass: {
+ value: CSS_INFO
+ },
+
+ /**
+ * Determine if Alert should be destroyed when hidden.
+ *
+ * @attribute destroyOnHide
+ * @default false
+ * @type Boolean
+ */
+ destroyOnHide: {
+ validator: A.Lang.isBoolean,
+ value: false
+ },
+
+ /**
+ * Boolean indicating if use of the WAI-ARIA Roles and States should be enabled..
+ *
+ * @attribute useARIA
+ * @default true
+ * @type {Boolean}
+ */
+ useARIA: {
+ validator: A.Lang.isBoolean,
+ value: true,
+ writeOnce: 'initOnly'
+ }
+ },
+
+ /**
+ * Static property provides a string to identify the CSS prefix.
+ *
+ * @property CSS_PREFIX
+ * @type {String}
+ * @static
+ */
+ CSS_PREFIX: 'alert',
+
+ /**
+ * Object hash, defining how closeableNode value have to be parsed from markup.
+ *
+ * @property HTML_PARSER
+ * @type Object
+ * @static
+ */
+ HTML_PARSER: {
+ closeableNode: '.' + CSS_CLOSE
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-transition",
+ "timers",
+ "widget",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-aria-table-sortable/aui-aria-table-sortable-coverage.js b/build/aui-aria-table-sortable/aui-aria-table-sortable-coverage.js
new file mode 100644
index 00000000000..ac0c091de63
--- /dev/null
+++ b/build/aui-aria-table-sortable/aui-aria-table-sortable-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-aria-table-sortable/aui-aria-table-sortable.js']) {
+ __coverage__['build/aui-aria-table-sortable/aui-aria-table-sortable.js'] = {"path":"build/aui-aria-table-sortable/aui-aria-table-sortable.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":35},"end":{"line":1,"column":54}}},"2":{"name":"TableSortable","line":23,"loc":{"start":{"line":23,"column":0},"end":{"line":23,"column":25}}},"3":{"name":"(anonymous_3)","line":65,"loc":{"start":{"line":65,"column":16},"end":{"line":65,"column":30}}},"4":{"name":"(anonymous_4)","line":150,"loc":{"start":{"line":150,"column":17},"end":{"line":150,"column":28}}},"5":{"name":"(anonymous_5)","line":166,"loc":{"start":{"line":166,"column":17},"end":{"line":166,"column":28}}},"6":{"name":"(anonymous_6)","line":181,"loc":{"start":{"line":181,"column":17},"end":{"line":181,"column":49}}},"7":{"name":"(anonymous_7)","line":204,"loc":{"start":{"line":204,"column":32},"end":{"line":204,"column":43}}},"8":{"name":"(anonymous_8)","line":217,"loc":{"start":{"line":217,"column":16},"end":{"line":217,"column":32}}},"9":{"name":"(anonymous_9)","line":235,"loc":{"start":{"line":235,"column":17},"end":{"line":235,"column":28}}},"10":{"name":"(anonymous_10)","line":257,"loc":{"start":{"line":257,"column":30},"end":{"line":257,"column":41}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":267,"column":54}},"2":{"start":{"line":10,"column":0},"end":{"line":10,"column":18}},"3":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"4":{"start":{"line":32,"column":0},"end":{"line":155,"column":2}},"5":{"start":{"line":66,"column":12},"end":{"line":66,"column":32}},"6":{"start":{"line":68,"column":12},"end":{"line":75,"column":13}},"7":{"start":{"line":69,"column":16},"end":{"line":74,"column":18}},"8":{"start":{"line":77,"column":12},"end":{"line":77,"column":30}},"9":{"start":{"line":151,"column":12},"end":{"line":151,"column":68}},"10":{"start":{"line":157,"column":0},"end":{"line":263,"column":2}},"11":{"start":{"line":167,"column":8},"end":{"line":167,"column":28}},"12":{"start":{"line":169,"column":8},"end":{"line":169,"column":102}},"13":{"start":{"line":170,"column":8},"end":{"line":170,"column":82}},"14":{"start":{"line":182,"column":8},"end":{"line":184,"column":54}},"15":{"start":{"line":186,"column":8},"end":{"line":194,"column":10}},"16":{"start":{"line":205,"column":8},"end":{"line":205,"column":28}},"17":{"start":{"line":207,"column":8},"end":{"line":207,"column":44}},"18":{"start":{"line":218,"column":8},"end":{"line":221,"column":37}},"19":{"start":{"line":223,"column":8},"end":{"line":223,"column":46}},"20":{"start":{"line":224,"column":8},"end":{"line":224,"column":53}},"21":{"start":{"line":225,"column":8},"end":{"line":225,"column":52}},"22":{"start":{"line":236,"column":8},"end":{"line":237,"column":50}},"23":{"start":{"line":239,"column":8},"end":{"line":246,"column":9}},"24":{"start":{"line":240,"column":12},"end":{"line":240,"column":55}},"25":{"start":{"line":242,"column":12},"end":{"line":242,"column":75}},"26":{"start":{"line":243,"column":12},"end":{"line":243,"column":70}},"27":{"start":{"line":245,"column":12},"end":{"line":245,"column":48}},"28":{"start":{"line":248,"column":8},"end":{"line":248,"column":23}},"29":{"start":{"line":258,"column":8},"end":{"line":259,"column":45}},"30":{"start":{"line":261,"column":8},"end":{"line":261,"column":96}},"31":{"start":{"line":265,"column":0},"end":{"line":265,"column":43}}},"branchMap":{"1":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":12}},{"start":{"line":68,"column":12},"end":{"line":68,"column":12}}]},"2":{"line":191,"type":"cond-expr","locations":[{"start":{"line":191,"column":43},"end":{"line":191,"column":54}},{"start":{"line":191,"column":57},"end":{"line":191,"column":69}}]},"3":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":239,"column":8}},{"start":{"line":239,"column":8},"end":{"line":239,"column":8}}]}},"code":["(function () { YUI.add('aui-aria-table-sortable', function (A, NAME) {","","/**"," * The Aria Component."," *"," * @module aui-aria"," * @submodule aui-aria-table-sortable"," */","","var Lang = A.Lang;","","/**"," * An extension for A.Plugin.Aria that creates and synchronizes a"," * screen-reader-friendly `caption` element for the table that"," * has sortable headers."," *"," * @class TableSortable"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","","function TableSortable() {}","","/**"," * Configuration for TableSortable."," *"," * @property ATTRS"," * @type Object"," * @static"," */","TableSortable.ATTRS = {",""," /**"," * The CSS class to be added to the caption element."," *"," * @attribute captionCss"," * @default ''"," * @type String"," */"," captionCss: {"," validator: Lang.isString,"," value: ''"," },",""," /**"," * The value of the 'aria-live' attribute."," *"," * @attribute captionLive"," * @default ''"," * @type String"," */"," captionLive: {"," validator: Lang.isString,"," value: 'polite'"," },",""," /**"," * The caption node in the table."," *"," * @attribute captionNode"," * @type Node"," */"," captionNode: {"," setter: function(val) {"," var instance = this;",""," if (!val) {"," val = A.Node.create(Lang.sub("," instance.TPL_CAPTION, {"," captionCss: instance.get('captionCss')"," }"," )"," );"," }",""," return A.one(val);"," },"," value: null"," },",""," /**"," * The role for the caption element."," *"," * @attribute captionRole"," * @default 'alert'"," * @type String"," */"," captionRole: {"," validator: Lang.isString,"," value: 'alert'"," },",""," /**"," * If the caption element is visible"," *"," * @attribute captionVisible"," * @default false"," * @type boolean"," */"," captionVisible: {"," validator: Lang.isBoolean,"," value: false"," },",""," /**"," * The class to used to hide the caption element but"," * leave readable for screen readers."," *"," * @attribute screenReaderClass"," * @default 'sr-only'"," * @type String"," */"," screenReaderClass: {"," validator: Lang.isString,"," value: 'sr-only'"," },",""," /**"," * Object containing strings stating how the table is sorted."," *"," * @attribute stringsSortable"," * @default {"," * asc: 'ascending',"," * desc: 'descending',"," * sorted: 'sorted',"," * sortedBy: 'sorted by',"," * notSorted: 'not sorted'"," * }"," * @type Object"," */"," stringsSortable: {"," value: {"," asc: 'ascending',"," desc: 'descending',"," sorted: 'sorted',"," sortedBy: 'sorted by',"," notSorted: 'not sorted'"," }"," },",""," /**"," * The table node containing the columns to be sorted."," *"," * @attribute tableNode"," * @type Node"," */"," tableNode: {"," setter: A.one,"," valueFn: function() {"," return this.get('host').get('boundingBox').one('table');"," },"," writeOnce: true"," }","};","","TableSortable.prototype = {"," TPL_CAPTION: ' ',",""," /**"," * Construction logic executed during TableSortable instantiation. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," var instance = this;",""," instance.after('captionVisibleChange', A.bind(instance._afterCaptionVisibleChange, instance));"," instance.get('host').after('sort', A.bind(instance._afterSort, instance));"," },",""," /**"," * Synchronizes the captionNode's text for screen readers with the sorted"," * column and its sort direction."," *"," * @method syncCaption"," * @param {String} columnName"," * @param {Boolean} ascending"," */"," syncCaption: function(columnName, ascending) {"," var instance = this,"," caption = instance._getCaption(),"," strings = instance.get('stringsSortable');",""," caption.text("," Lang.sub("," strings.sortedBy + ': {columnName} {direction}',"," {"," columnName: columnName,"," direction: ascending ? strings.asc : strings.desc"," }"," )"," );"," },",""," /**"," * Handles `captionVisible` events."," *"," * @method _afterCaptionVisibleChange"," * @param {EventFacade} event"," * @protected"," */"," _afterCaptionVisibleChange: function() {"," var instance = this;",""," instance._toggleScreenReaderClass();"," },",""," /**"," * Handles `sort` events from the host."," *"," * @method _afterSort"," * @param {EventFacade} event"," * @protected"," */"," _afterSort: function(event) {"," var instance = this,"," ascending,"," columnName,"," sortBy = event.sortBy[0];",""," columnName = A.Object.keys(sortBy)[0];"," ascending = (A.Object.values(sortBy)[0] > 0);"," instance.syncCaption(columnName, ascending);"," },",""," /**"," * Returns a reference to the `captionNode`, and accomplishes"," * necessary setup to prepare the element for screen readers."," *"," * @method _getCaption"," * @protected"," */"," _getCaption: function() {"," var instance = this,"," caption = instance.get('captionNode');",""," if (!caption.inDoc()) {"," instance.get('tableNode').prepend(caption);",""," caption.setAttribute('aria-live', instance.get('captionLive'));"," caption.setAttribute('role', instance.get('captionRole'));",""," instance._toggleScreenReaderClass();"," }",""," return caption;"," },",""," /**"," * Toggles the screen reader CSS class."," *"," * @method _toggleScreenReaderClass"," * @protected"," */"," _toggleScreenReaderClass: function() {"," var instance = this,"," caption = instance._getCaption();",""," caption.toggleClass(instance.get('screenReaderClass'), !instance.get('captionVisible'));"," }","};","","A.Base.mix(A.Plugin.Aria, [TableSortable]);","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-aria\"]});","","}());"]};
+}
+var __cov_S$CvIMdlenhGfqUGF5ipcg = __coverage__['build/aui-aria-table-sortable/aui-aria-table-sortable.js'];
+__cov_S$CvIMdlenhGfqUGF5ipcg.s['1']++;YUI.add('aui-aria-table-sortable',function(A,NAME){__cov_S$CvIMdlenhGfqUGF5ipcg.f['1']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['2']++;var Lang=A.Lang;__cov_S$CvIMdlenhGfqUGF5ipcg.s['3']++;function TableSortable(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['2']++;}__cov_S$CvIMdlenhGfqUGF5ipcg.s['4']++;TableSortable.ATTRS={captionCss:{validator:Lang.isString,value:''},captionLive:{validator:Lang.isString,value:'polite'},captionNode:{setter:function(val){__cov_S$CvIMdlenhGfqUGF5ipcg.f['3']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['5']++;var instance=this;__cov_S$CvIMdlenhGfqUGF5ipcg.s['6']++;if(!val){__cov_S$CvIMdlenhGfqUGF5ipcg.b['1'][0]++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['7']++;val=A.Node.create(Lang.sub(instance.TPL_CAPTION,{captionCss:instance.get('captionCss')}));}else{__cov_S$CvIMdlenhGfqUGF5ipcg.b['1'][1]++;}__cov_S$CvIMdlenhGfqUGF5ipcg.s['8']++;return A.one(val);},value:null},captionRole:{validator:Lang.isString,value:'alert'},captionVisible:{validator:Lang.isBoolean,value:false},screenReaderClass:{validator:Lang.isString,value:'sr-only'},stringsSortable:{value:{asc:'ascending',desc:'descending',sorted:'sorted',sortedBy:'sorted by',notSorted:'not sorted'}},tableNode:{setter:A.one,valueFn:function(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['4']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['9']++;return this.get('host').get('boundingBox').one('table');},writeOnce:true}};__cov_S$CvIMdlenhGfqUGF5ipcg.s['10']++;TableSortable.prototype={TPL_CAPTION:' ',initializer:function(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['5']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['11']++;var instance=this;__cov_S$CvIMdlenhGfqUGF5ipcg.s['12']++;instance.after('captionVisibleChange',A.bind(instance._afterCaptionVisibleChange,instance));__cov_S$CvIMdlenhGfqUGF5ipcg.s['13']++;instance.get('host').after('sort',A.bind(instance._afterSort,instance));},syncCaption:function(columnName,ascending){__cov_S$CvIMdlenhGfqUGF5ipcg.f['6']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['14']++;var instance=this,caption=instance._getCaption(),strings=instance.get('stringsSortable');__cov_S$CvIMdlenhGfqUGF5ipcg.s['15']++;caption.text(Lang.sub(strings.sortedBy+': {columnName} {direction}',{columnName:columnName,direction:ascending?(__cov_S$CvIMdlenhGfqUGF5ipcg.b['2'][0]++,strings.asc):(__cov_S$CvIMdlenhGfqUGF5ipcg.b['2'][1]++,strings.desc)}));},_afterCaptionVisibleChange:function(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['7']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['16']++;var instance=this;__cov_S$CvIMdlenhGfqUGF5ipcg.s['17']++;instance._toggleScreenReaderClass();},_afterSort:function(event){__cov_S$CvIMdlenhGfqUGF5ipcg.f['8']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['18']++;var instance=this,ascending,columnName,sortBy=event.sortBy[0];__cov_S$CvIMdlenhGfqUGF5ipcg.s['19']++;columnName=A.Object.keys(sortBy)[0];__cov_S$CvIMdlenhGfqUGF5ipcg.s['20']++;ascending=A.Object.values(sortBy)[0]>0;__cov_S$CvIMdlenhGfqUGF5ipcg.s['21']++;instance.syncCaption(columnName,ascending);},_getCaption:function(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['9']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['22']++;var instance=this,caption=instance.get('captionNode');__cov_S$CvIMdlenhGfqUGF5ipcg.s['23']++;if(!caption.inDoc()){__cov_S$CvIMdlenhGfqUGF5ipcg.b['3'][0]++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['24']++;instance.get('tableNode').prepend(caption);__cov_S$CvIMdlenhGfqUGF5ipcg.s['25']++;caption.setAttribute('aria-live',instance.get('captionLive'));__cov_S$CvIMdlenhGfqUGF5ipcg.s['26']++;caption.setAttribute('role',instance.get('captionRole'));__cov_S$CvIMdlenhGfqUGF5ipcg.s['27']++;instance._toggleScreenReaderClass();}else{__cov_S$CvIMdlenhGfqUGF5ipcg.b['3'][1]++;}__cov_S$CvIMdlenhGfqUGF5ipcg.s['28']++;return caption;},_toggleScreenReaderClass:function(){__cov_S$CvIMdlenhGfqUGF5ipcg.f['10']++;__cov_S$CvIMdlenhGfqUGF5ipcg.s['29']++;var instance=this,caption=instance._getCaption();__cov_S$CvIMdlenhGfqUGF5ipcg.s['30']++;caption.toggleClass(instance.get('screenReaderClass'),!instance.get('captionVisible'));}};__cov_S$CvIMdlenhGfqUGF5ipcg.s['31']++;A.Base.mix(A.Plugin.Aria,[TableSortable]);},'3.1.0-deprecated.52',{'requires':['aui-aria']});
diff --git a/build/aui-aria-table-sortable/aui-aria-table-sortable-debug.js b/build/aui-aria-table-sortable/aui-aria-table-sortable-debug.js
new file mode 100644
index 00000000000..f8e191fe08c
--- /dev/null
+++ b/build/aui-aria-table-sortable/aui-aria-table-sortable-debug.js
@@ -0,0 +1,267 @@
+YUI.add('aui-aria-table-sortable', function (A, NAME) {
+
+/**
+ * The Aria Component.
+ *
+ * @module aui-aria
+ * @submodule aui-aria-table-sortable
+ */
+
+var Lang = A.Lang;
+
+/**
+ * An extension for A.Plugin.Aria that creates and synchronizes a
+ * screen-reader-friendly `caption` element for the table that
+ * has sortable headers.
+ *
+ * @class TableSortable
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+
+function TableSortable() {}
+
+/**
+ * Configuration for TableSortable.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+TableSortable.ATTRS = {
+
+ /**
+ * The CSS class to be added to the caption element.
+ *
+ * @attribute captionCss
+ * @default ''
+ * @type String
+ */
+ captionCss: {
+ validator: Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The value of the 'aria-live' attribute.
+ *
+ * @attribute captionLive
+ * @default ''
+ * @type String
+ */
+ captionLive: {
+ validator: Lang.isString,
+ value: 'polite'
+ },
+
+ /**
+ * The caption node in the table.
+ *
+ * @attribute captionNode
+ * @type Node
+ */
+ captionNode: {
+ setter: function(val) {
+ var instance = this;
+
+ if (!val) {
+ val = A.Node.create(Lang.sub(
+ instance.TPL_CAPTION, {
+ captionCss: instance.get('captionCss')
+ }
+ )
+ );
+ }
+
+ return A.one(val);
+ },
+ value: null
+ },
+
+ /**
+ * The role for the caption element.
+ *
+ * @attribute captionRole
+ * @default 'alert'
+ * @type String
+ */
+ captionRole: {
+ validator: Lang.isString,
+ value: 'alert'
+ },
+
+ /**
+ * If the caption element is visible
+ *
+ * @attribute captionVisible
+ * @default false
+ * @type boolean
+ */
+ captionVisible: {
+ validator: Lang.isBoolean,
+ value: false
+ },
+
+ /**
+ * The class to used to hide the caption element but
+ * leave readable for screen readers.
+ *
+ * @attribute screenReaderClass
+ * @default 'sr-only'
+ * @type String
+ */
+ screenReaderClass: {
+ validator: Lang.isString,
+ value: 'sr-only'
+ },
+
+ /**
+ * Object containing strings stating how the table is sorted.
+ *
+ * @attribute stringsSortable
+ * @default {
+ * asc: 'ascending',
+ * desc: 'descending',
+ * sorted: 'sorted',
+ * sortedBy: 'sorted by',
+ * notSorted: 'not sorted'
+ * }
+ * @type Object
+ */
+ stringsSortable: {
+ value: {
+ asc: 'ascending',
+ desc: 'descending',
+ sorted: 'sorted',
+ sortedBy: 'sorted by',
+ notSorted: 'not sorted'
+ }
+ },
+
+ /**
+ * The table node containing the columns to be sorted.
+ *
+ * @attribute tableNode
+ * @type Node
+ */
+ tableNode: {
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox').one('table');
+ },
+ writeOnce: true
+ }
+};
+
+TableSortable.prototype = {
+ TPL_CAPTION: ' ',
+
+ /**
+ * Construction logic executed during TableSortable instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance.after('captionVisibleChange', A.bind(instance._afterCaptionVisibleChange, instance));
+ instance.get('host').after('sort', A.bind(instance._afterSort, instance));
+ },
+
+ /**
+ * Synchronizes the captionNode's text for screen readers with the sorted
+ * column and its sort direction.
+ *
+ * @method syncCaption
+ * @param {String} columnName
+ * @param {Boolean} ascending
+ */
+ syncCaption: function(columnName, ascending) {
+ var instance = this,
+ caption = instance._getCaption(),
+ strings = instance.get('stringsSortable');
+
+ caption.text(
+ Lang.sub(
+ strings.sortedBy + ': {columnName} {direction}',
+ {
+ columnName: columnName,
+ direction: ascending ? strings.asc : strings.desc
+ }
+ )
+ );
+ },
+
+ /**
+ * Handles `captionVisible` events.
+ *
+ * @method _afterCaptionVisibleChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterCaptionVisibleChange: function() {
+ var instance = this;
+
+ instance._toggleScreenReaderClass();
+ },
+
+ /**
+ * Handles `sort` events from the host.
+ *
+ * @method _afterSort
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterSort: function(event) {
+ var instance = this,
+ ascending,
+ columnName,
+ sortBy = event.sortBy[0];
+
+ columnName = A.Object.keys(sortBy)[0];
+ ascending = (A.Object.values(sortBy)[0] > 0);
+ instance.syncCaption(columnName, ascending);
+ },
+
+ /**
+ * Returns a reference to the `captionNode`, and accomplishes
+ * necessary setup to prepare the element for screen readers.
+ *
+ * @method _getCaption
+ * @protected
+ */
+ _getCaption: function() {
+ var instance = this,
+ caption = instance.get('captionNode');
+
+ if (!caption.inDoc()) {
+ instance.get('tableNode').prepend(caption);
+
+ caption.setAttribute('aria-live', instance.get('captionLive'));
+ caption.setAttribute('role', instance.get('captionRole'));
+
+ instance._toggleScreenReaderClass();
+ }
+
+ return caption;
+ },
+
+ /**
+ * Toggles the screen reader CSS class.
+ *
+ * @method _toggleScreenReaderClass
+ * @protected
+ */
+ _toggleScreenReaderClass: function() {
+ var instance = this,
+ caption = instance._getCaption();
+
+ caption.toggleClass(instance.get('screenReaderClass'), !instance.get('captionVisible'));
+ }
+};
+
+A.Base.mix(A.Plugin.Aria, [TableSortable]);
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-aria"]});
diff --git a/build/aui-aria-table-sortable/aui-aria-table-sortable-min.js b/build/aui-aria-table-sortable/aui-aria-table-sortable-min.js
new file mode 100644
index 00000000000..14695cbf06f
--- /dev/null
+++ b/build/aui-aria-table-sortable/aui-aria-table-sortable-min.js
@@ -0,0 +1 @@
+YUI.add("aui-aria-table-sortable",function(e,t){function r(){}var n=e.Lang;r.ATTRS={captionCss:{validator:n.isString,value:""},captionLive:{validator:n.isString,value:"polite"},captionNode:{setter:function(t){var r=this;return t||(t=e.Node.create(n.sub(r.TPL_CAPTION,{captionCss:r.get("captionCss")}))),e.one(t)},value:null},captionRole:{validator:n.isString,value:"alert"},captionVisible:{validator:n.isBoolean,value:!1},screenReaderClass:{validator:n.isString,value:"sr-only"},stringsSortable:{value:{asc:"ascending",desc:"descending",sorted:"sorted",sortedBy:"sorted by",notSorted:"not sorted"}},tableNode:{setter:e.one,valueFn:function(){return this.get("host").get("boundingBox").one("table")},writeOnce:!0}},r.prototype={TPL_CAPTION:' ',initializer:function(){var t=this;t.after("captionVisibleChange",e.bind(t._afterCaptionVisibleChange,t)),t.get("host").after("sort",e.bind(t._afterSort,t))},syncCaption:function(e,t){var r=this,i=r._getCaption(),s=r.get("stringsSortable");i.text(n.sub(s.sortedBy+": {columnName} {direction}",{columnName:e,direction:t?s.asc:s.desc}))},_afterCaptionVisibleChange:function(){var e=this;e._toggleScreenReaderClass()},_afterSort:function(t){var n=this,r,i,s=t.sortBy[0];i=e.Object.keys(s)[0],r=e.Object.values(s)[0]>0,n.syncCaption(i,r)},_getCaption:function(){var e=this,t=e.get("captionNode");return t.inDoc()||(e.get("tableNode").prepend(t),t.setAttribute("aria-live",e.get("captionLive")),t.setAttribute("role",e.get("captionRole")),e._toggleScreenReaderClass()),t},_toggleScreenReaderClass:function(){var e=this,t=e._getCaption();t.toggleClass(e.get("screenReaderClass"),!e.get("captionVisible"))}},e.Base.mix(e.Plugin.Aria,[r])},"3.1.0-deprecated.52",{requires:["aui-aria"]});
diff --git a/build/aui-aria-table-sortable/aui-aria-table-sortable.js b/build/aui-aria-table-sortable/aui-aria-table-sortable.js
new file mode 100644
index 00000000000..f8e191fe08c
--- /dev/null
+++ b/build/aui-aria-table-sortable/aui-aria-table-sortable.js
@@ -0,0 +1,267 @@
+YUI.add('aui-aria-table-sortable', function (A, NAME) {
+
+/**
+ * The Aria Component.
+ *
+ * @module aui-aria
+ * @submodule aui-aria-table-sortable
+ */
+
+var Lang = A.Lang;
+
+/**
+ * An extension for A.Plugin.Aria that creates and synchronizes a
+ * screen-reader-friendly `caption` element for the table that
+ * has sortable headers.
+ *
+ * @class TableSortable
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+
+function TableSortable() {}
+
+/**
+ * Configuration for TableSortable.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+TableSortable.ATTRS = {
+
+ /**
+ * The CSS class to be added to the caption element.
+ *
+ * @attribute captionCss
+ * @default ''
+ * @type String
+ */
+ captionCss: {
+ validator: Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The value of the 'aria-live' attribute.
+ *
+ * @attribute captionLive
+ * @default ''
+ * @type String
+ */
+ captionLive: {
+ validator: Lang.isString,
+ value: 'polite'
+ },
+
+ /**
+ * The caption node in the table.
+ *
+ * @attribute captionNode
+ * @type Node
+ */
+ captionNode: {
+ setter: function(val) {
+ var instance = this;
+
+ if (!val) {
+ val = A.Node.create(Lang.sub(
+ instance.TPL_CAPTION, {
+ captionCss: instance.get('captionCss')
+ }
+ )
+ );
+ }
+
+ return A.one(val);
+ },
+ value: null
+ },
+
+ /**
+ * The role for the caption element.
+ *
+ * @attribute captionRole
+ * @default 'alert'
+ * @type String
+ */
+ captionRole: {
+ validator: Lang.isString,
+ value: 'alert'
+ },
+
+ /**
+ * If the caption element is visible
+ *
+ * @attribute captionVisible
+ * @default false
+ * @type boolean
+ */
+ captionVisible: {
+ validator: Lang.isBoolean,
+ value: false
+ },
+
+ /**
+ * The class to used to hide the caption element but
+ * leave readable for screen readers.
+ *
+ * @attribute screenReaderClass
+ * @default 'sr-only'
+ * @type String
+ */
+ screenReaderClass: {
+ validator: Lang.isString,
+ value: 'sr-only'
+ },
+
+ /**
+ * Object containing strings stating how the table is sorted.
+ *
+ * @attribute stringsSortable
+ * @default {
+ * asc: 'ascending',
+ * desc: 'descending',
+ * sorted: 'sorted',
+ * sortedBy: 'sorted by',
+ * notSorted: 'not sorted'
+ * }
+ * @type Object
+ */
+ stringsSortable: {
+ value: {
+ asc: 'ascending',
+ desc: 'descending',
+ sorted: 'sorted',
+ sortedBy: 'sorted by',
+ notSorted: 'not sorted'
+ }
+ },
+
+ /**
+ * The table node containing the columns to be sorted.
+ *
+ * @attribute tableNode
+ * @type Node
+ */
+ tableNode: {
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox').one('table');
+ },
+ writeOnce: true
+ }
+};
+
+TableSortable.prototype = {
+ TPL_CAPTION: ' ',
+
+ /**
+ * Construction logic executed during TableSortable instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance.after('captionVisibleChange', A.bind(instance._afterCaptionVisibleChange, instance));
+ instance.get('host').after('sort', A.bind(instance._afterSort, instance));
+ },
+
+ /**
+ * Synchronizes the captionNode's text for screen readers with the sorted
+ * column and its sort direction.
+ *
+ * @method syncCaption
+ * @param {String} columnName
+ * @param {Boolean} ascending
+ */
+ syncCaption: function(columnName, ascending) {
+ var instance = this,
+ caption = instance._getCaption(),
+ strings = instance.get('stringsSortable');
+
+ caption.text(
+ Lang.sub(
+ strings.sortedBy + ': {columnName} {direction}',
+ {
+ columnName: columnName,
+ direction: ascending ? strings.asc : strings.desc
+ }
+ )
+ );
+ },
+
+ /**
+ * Handles `captionVisible` events.
+ *
+ * @method _afterCaptionVisibleChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterCaptionVisibleChange: function() {
+ var instance = this;
+
+ instance._toggleScreenReaderClass();
+ },
+
+ /**
+ * Handles `sort` events from the host.
+ *
+ * @method _afterSort
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterSort: function(event) {
+ var instance = this,
+ ascending,
+ columnName,
+ sortBy = event.sortBy[0];
+
+ columnName = A.Object.keys(sortBy)[0];
+ ascending = (A.Object.values(sortBy)[0] > 0);
+ instance.syncCaption(columnName, ascending);
+ },
+
+ /**
+ * Returns a reference to the `captionNode`, and accomplishes
+ * necessary setup to prepare the element for screen readers.
+ *
+ * @method _getCaption
+ * @protected
+ */
+ _getCaption: function() {
+ var instance = this,
+ caption = instance.get('captionNode');
+
+ if (!caption.inDoc()) {
+ instance.get('tableNode').prepend(caption);
+
+ caption.setAttribute('aria-live', instance.get('captionLive'));
+ caption.setAttribute('role', instance.get('captionRole'));
+
+ instance._toggleScreenReaderClass();
+ }
+
+ return caption;
+ },
+
+ /**
+ * Toggles the screen reader CSS class.
+ *
+ * @method _toggleScreenReaderClass
+ * @protected
+ */
+ _toggleScreenReaderClass: function() {
+ var instance = this,
+ caption = instance._getCaption();
+
+ caption.toggleClass(instance.get('screenReaderClass'), !instance.get('captionVisible'));
+ }
+};
+
+A.Base.mix(A.Plugin.Aria, [TableSortable]);
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-aria"]});
diff --git a/build/aui-aria/aui-aria-coverage.js b/build/aui-aria/aui-aria-coverage.js
new file mode 100644
index 00000000000..dd3c0e6e3ac
--- /dev/null
+++ b/build/aui-aria/aui-aria-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-aria/aui-aria.js']) {
+ __coverage__['build/aui-aria/aui-aria.js'] = {"path":"build/aui-aria/aui-aria.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":20},"end":{"line":1,"column":39}}},"2":{"name":"(anonymous_2)","line":16,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":41}}},"3":{"name":"(anonymous_3)","line":17,"loc":{"start":{"line":17,"column":38},"end":{"line":17,"column":49}}},"4":{"name":"(anonymous_4)","line":80,"loc":{"start":{"line":80,"column":19},"end":{"line":80,"column":33}}},"5":{"name":"(anonymous_5)","line":95,"loc":{"start":{"line":95,"column":21},"end":{"line":95,"column":32}}},"6":{"name":"(anonymous_6)","line":107,"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":32}}},"7":{"name":"(anonymous_7)","line":126,"loc":{"start":{"line":126,"column":21},"end":{"line":126,"column":32}}},"8":{"name":"(anonymous_8)","line":161,"loc":{"start":{"line":161,"column":21},"end":{"line":161,"column":32}}},"9":{"name":"(anonymous_9)","line":188,"loc":{"start":{"line":188,"column":26},"end":{"line":188,"column":45}}},"10":{"name":"(anonymous_10)","line":201,"loc":{"start":{"line":201,"column":21},"end":{"line":201,"column":40}}},"11":{"name":"(anonymous_11)","line":216,"loc":{"start":{"line":216,"column":22},"end":{"line":216,"column":58}}},"12":{"name":"(anonymous_12)","line":234,"loc":{"start":{"line":234,"column":23},"end":{"line":234,"column":44}}},"13":{"name":"(anonymous_13)","line":237,"loc":{"start":{"line":237,"column":37},"end":{"line":237,"column":57}}},"14":{"name":"(anonymous_14)","line":250,"loc":{"start":{"line":250,"column":17},"end":{"line":250,"column":42}}},"15":{"name":"(anonymous_15)","line":268,"loc":{"start":{"line":268,"column":18},"end":{"line":268,"column":34}}},"16":{"name":"(anonymous_16)","line":271,"loc":{"start":{"line":271,"column":32},"end":{"line":271,"column":47}}},"17":{"name":"(anonymous_17)","line":283,"loc":{"start":{"line":283,"column":35},"end":{"line":283,"column":51}}},"18":{"name":"(anonymous_18)","line":296,"loc":{"start":{"line":296,"column":30},"end":{"line":296,"column":46}}},"19":{"name":"(anonymous_19)","line":308,"loc":{"start":{"line":308,"column":29},"end":{"line":308,"column":40}}},"20":{"name":"(anonymous_20)","line":312,"loc":{"start":{"line":312,"column":31},"end":{"line":312,"column":56}}},"21":{"name":"(anonymous_21)","line":319,"loc":{"start":{"line":319,"column":61},"end":{"line":319,"column":77}}},"22":{"name":"(anonymous_22)","line":333,"loc":{"start":{"line":333,"column":23},"end":{"line":333,"column":39}}},"23":{"name":"(anonymous_23)","line":348,"loc":{"start":{"line":348,"column":27},"end":{"line":348,"column":52}}},"24":{"name":"(anonymous_24)","line":380,"loc":{"start":{"line":380,"column":33},"end":{"line":380,"column":49}}},"25":{"name":"(anonymous_25)","line":395,"loc":{"start":{"line":395,"column":23},"end":{"line":395,"column":42}}},"26":{"name":"(anonymous_26)","line":419,"loc":{"start":{"line":419,"column":24},"end":{"line":419,"column":38}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":557,"column":69}},"2":{"start":{"line":9,"column":0},"end":{"line":20,"column":7}},"3":{"start":{"line":17,"column":8},"end":{"line":19,"column":25}},"4":{"start":{"line":18,"column":12},"end":{"line":18,"column":22}},"5":{"start":{"line":31,"column":0},"end":{"line":425,"column":3}},"6":{"start":{"line":81,"column":16},"end":{"line":81,"column":27}},"7":{"start":{"line":96,"column":16},"end":{"line":96,"column":59}},"8":{"start":{"line":108,"column":16},"end":{"line":108,"column":36}},"9":{"start":{"line":109,"column":16},"end":{"line":109,"column":48}},"10":{"start":{"line":110,"column":16},"end":{"line":110,"column":72}},"11":{"start":{"line":112,"column":16},"end":{"line":112,"column":72}},"12":{"start":{"line":127,"column":16},"end":{"line":127,"column":59}},"13":{"start":{"line":162,"column":12},"end":{"line":162,"column":32}},"14":{"start":{"line":164,"column":12},"end":{"line":170,"column":15}},"15":{"start":{"line":172,"column":12},"end":{"line":174,"column":14}},"16":{"start":{"line":176,"column":12},"end":{"line":176,"column":76}},"17":{"start":{"line":178,"column":12},"end":{"line":178,"column":43}},"18":{"start":{"line":189,"column":12},"end":{"line":189,"column":32}},"19":{"start":{"line":191,"column":12},"end":{"line":191,"column":97}},"20":{"start":{"line":202,"column":12},"end":{"line":202,"column":32}},"21":{"start":{"line":204,"column":12},"end":{"line":204,"column":92}},"22":{"start":{"line":217,"column":12},"end":{"line":217,"column":32}},"23":{"start":{"line":219,"column":12},"end":{"line":223,"column":13}},"24":{"start":{"line":220,"column":16},"end":{"line":220,"column":91}},"25":{"start":{"line":222,"column":16},"end":{"line":222,"column":28}},"26":{"start":{"line":225,"column":12},"end":{"line":225,"column":25}},"27":{"start":{"line":235,"column":12},"end":{"line":235,"column":32}},"28":{"start":{"line":237,"column":12},"end":{"line":239,"column":15}},"29":{"start":{"line":238,"column":16},"end":{"line":238,"column":87}},"30":{"start":{"line":251,"column":12},"end":{"line":251,"column":32}},"31":{"start":{"line":253,"column":12},"end":{"line":257,"column":13}},"32":{"start":{"line":254,"column":16},"end":{"line":254,"column":73}},"33":{"start":{"line":256,"column":16},"end":{"line":256,"column":28}},"34":{"start":{"line":259,"column":12},"end":{"line":259,"column":25}},"35":{"start":{"line":269,"column":12},"end":{"line":269,"column":32}},"36":{"start":{"line":271,"column":12},"end":{"line":273,"column":15}},"37":{"start":{"line":272,"column":16},"end":{"line":272,"column":55}},"38":{"start":{"line":284,"column":12},"end":{"line":284,"column":32}},"39":{"start":{"line":286,"column":12},"end":{"line":286,"column":52}},"40":{"start":{"line":297,"column":12},"end":{"line":297,"column":32}},"41":{"start":{"line":299,"column":12},"end":{"line":299,"column":50}},"42":{"start":{"line":309,"column":12},"end":{"line":309,"column":32}},"43":{"start":{"line":310,"column":12},"end":{"line":310,"column":56}},"44":{"start":{"line":312,"column":12},"end":{"line":323,"column":15}},"45":{"start":{"line":313,"column":16},"end":{"line":313,"column":74}},"46":{"start":{"line":315,"column":16},"end":{"line":317,"column":19}},"47":{"start":{"line":319,"column":16},"end":{"line":322,"column":19}},"48":{"start":{"line":320,"column":20},"end":{"line":320,"column":42}},"49":{"start":{"line":321,"column":20},"end":{"line":321,"column":62}},"50":{"start":{"line":334,"column":12},"end":{"line":334,"column":32}},"51":{"start":{"line":336,"column":12},"end":{"line":336,"column":47}},"52":{"start":{"line":349,"column":12},"end":{"line":349,"column":32}},"53":{"start":{"line":350,"column":12},"end":{"line":350,"column":76}},"54":{"start":{"line":351,"column":12},"end":{"line":351,"column":30}},"55":{"start":{"line":353,"column":12},"end":{"line":368,"column":13}},"56":{"start":{"line":354,"column":16},"end":{"line":359,"column":19}},"57":{"start":{"line":361,"column":17},"end":{"line":368,"column":13}},"58":{"start":{"line":362,"column":16},"end":{"line":367,"column":19}},"59":{"start":{"line":370,"column":12},"end":{"line":370,"column":28}},"60":{"start":{"line":381,"column":12},"end":{"line":381,"column":32}},"61":{"start":{"line":383,"column":12},"end":{"line":385,"column":15}},"62":{"start":{"line":396,"column":12},"end":{"line":396,"column":32}},"63":{"start":{"line":397,"column":12},"end":{"line":397,"column":44}},"64":{"start":{"line":398,"column":12},"end":{"line":398,"column":56}},"65":{"start":{"line":399,"column":12},"end":{"line":399,"column":41}},"66":{"start":{"line":401,"column":12},"end":{"line":403,"column":13}},"67":{"start":{"line":402,"column":16},"end":{"line":402,"column":64}},"68":{"start":{"line":405,"column":12},"end":{"line":409,"column":14}},"69":{"start":{"line":420,"column":12},"end":{"line":420,"column":32}},"70":{"start":{"line":422,"column":12},"end":{"line":422,"column":34}},"71":{"start":{"line":427,"column":0},"end":{"line":427,"column":21}},"72":{"start":{"line":436,"column":0},"end":{"line":509,"column":2}},"73":{"start":{"line":518,"column":0},"end":{"line":554,"column":2}}},"branchMap":{"1":{"line":110,"type":"binary-expr","locations":[{"start":{"line":110,"column":43},"end":{"line":110,"column":64}},{"start":{"line":110,"column":68},"end":{"line":110,"column":70}}]},"2":{"line":112,"type":"cond-expr","locations":[{"start":{"line":112,"column":57},"end":{"line":112,"column":65}},{"start":{"line":112,"column":68},"end":{"line":112,"column":70}}]},"3":{"line":191,"type":"cond-expr","locations":[{"start":{"line":191,"column":50},"end":{"line":191,"column":88}},{"start":{"line":191,"column":91},"end":{"line":191,"column":95}}]},"4":{"line":204,"type":"cond-expr","locations":[{"start":{"line":204,"column":50},"end":{"line":204,"column":83}},{"start":{"line":204,"column":86},"end":{"line":204,"column":90}}]},"5":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":219,"column":12}},{"start":{"line":219,"column":12},"end":{"line":219,"column":12}}]},"6":{"line":220,"type":"binary-expr","locations":[{"start":{"line":220,"column":17},"end":{"line":220,"column":21}},{"start":{"line":220,"column":25},"end":{"line":220,"column":54}}]},"7":{"line":253,"type":"if","locations":[{"start":{"line":253,"column":12},"end":{"line":253,"column":12}},{"start":{"line":253,"column":12},"end":{"line":253,"column":12}}]},"8":{"line":254,"type":"binary-expr","locations":[{"start":{"line":254,"column":17},"end":{"line":254,"column":21}},{"start":{"line":254,"column":25},"end":{"line":254,"column":49}}]},"9":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":12},"end":{"line":353,"column":12}},{"start":{"line":353,"column":12},"end":{"line":353,"column":12}}]},"10":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":17},"end":{"line":361,"column":17}},{"start":{"line":361,"column":17},"end":{"line":361,"column":17}}]},"11":{"line":401,"type":"if","locations":[{"start":{"line":401,"column":12},"end":{"line":401,"column":12}},{"start":{"line":401,"column":12},"end":{"line":401,"column":12}}]}},"code":["(function () { YUI.add('aui-aria', function (A, NAME) {","","/**"," * The Aria Component."," *"," * @module aui-aria"," */","","var Lang = A.Lang,"," isBoolean = Lang.isBoolean,"," isFunction = Lang.isFunction,"," isObject = Lang.isObject,"," isString = Lang.isString,"," STR_REGEX = /([^a-z])/ig,",""," _toAriaRole = A.cached(function(str) {"," return str.replace(STR_REGEX, function() {"," return '';"," }).toLowerCase();"," });","","/**"," * A base class for Aria."," *"," * @class A.Plugin.Aria"," * @extends Plugin.Base"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","var Aria = A.Component.create({",""," /**"," * Static property provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'aria',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type String"," * @static"," */"," NS: 'aria',",""," /**"," * Static property used to define the default attribute configuration for"," * the `A.Aria`."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {",""," /**"," * The ARIA attributes collection."," *"," * @attribute attributes"," * @default {}"," * @type Object"," */"," attributes: {"," value: {},"," validator: isObject"," },",""," /**"," * The ARIA attribute value format."," *"," * @attribute attributeValueFormat"," * @type Function"," */"," attributeValueFormat: {"," value: function(val) {"," return val;"," },"," validator: isFunction"," },",""," /**"," * Node container for the ARIA attribute."," *"," * @attribute attributeNode"," * @writeOnce"," */"," attributeNode: {"," writeOnce: true,"," setter: A.one,"," valueFn: function() {"," return this.get('host').get('boundingBox');"," }"," },",""," /**"," * The ARIA role name."," *"," * @attribute roleName"," * @type String"," */"," roleName: {"," valueFn: function() {"," var instance = this;"," var host = instance.get('host');"," var roleName = _toAriaRole(host.constructor.NAME || '');",""," return (instance.isValidRole(roleName) ? roleName : '');"," },"," validator: isString"," },",""," /**"," * Node container for the ARIA role."," *"," * @attribute roleNode"," * @writeOnce"," */"," roleNode: {"," writeOnce: true,"," setter: A.one,"," valueFn: function() {"," return this.get('host').get('boundingBox');"," }"," },",""," /**"," * Checks if the attribute is valid with W3C rules."," *"," * @attribute validateW3C"," * @default true"," * @type Boolean"," */"," validateW3C: {"," value: true,"," validator: isBoolean"," }"," },",""," /**"," * Static property used to define which component it extends."," *"," * @property EXTENDS"," * @type Object"," * @static"," */"," EXTENDS: A.Plugin.Base,",""," prototype: {",""," /**"," * Construction logic executed during Aria instantiation. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," var instance = this;",""," instance.publish('aria:processAttribute', {"," defaultFn: instance._defProcessFn,"," queuable: false,"," emitFacade: true,"," bubbles: true,"," prefix: 'aria'"," });",""," instance._uiSetRoleName("," instance.get('roleName')"," );",""," instance.after('roleNameChange', instance._afterRoleNameChange);",""," instance._bindHostAttributes();"," },",""," /**"," * Checks if the ARIA attribute is valid."," *"," * @method isValidAttribute"," * @param attrName"," * @return {Boolean}"," */"," isValidAttribute: function(attrName) {"," var instance = this;",""," return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ATTRIBUTES[attrName] : true);"," },",""," /**"," * Checks if the ARIA role is valid."," *"," * @method isValidRole"," * @param roleName"," * @return {Boolean}"," */"," isValidRole: function(roleName) {"," var instance = this;",""," return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ROLES[roleName] : true);"," },",""," /**"," * Set a single ARIA attribute."," *"," * @method setAttribute"," * @param attrName"," * @param attrValue"," * @param node"," * @return {Boolean}"," */"," setAttribute: function(attrName, attrValue, node) {"," var instance = this;",""," if (instance.isValidAttribute(attrName)) {"," (node || instance.get('attributeNode')).set('aria-' + attrName, attrValue);",""," return true;"," }",""," return false;"," },",""," /**"," * Set a list of ARIA attributes."," *"," * @method setAttributes"," * @param attributes"," */"," setAttributes: function(attributes) {"," var instance = this;",""," A.Array.each(attributes, function(attribute) {"," instance.setAttribute(attribute.name, attribute.value, attribute.node);"," });"," },",""," /**"," * Set a single ARIA role."," *"," * @method setRole"," * @param roleName"," * @param node"," * @return {Boolean}"," */"," setRole: function(roleName, node) {"," var instance = this;",""," if (instance.isValidRole(roleName)) {"," (node || instance.get('roleNode')).set('role', roleName);",""," return true;"," }",""," return false;"," },",""," /**"," * Set a list of ARIA roles."," *"," * @method setRoles"," * @param roles"," */"," setRoles: function(roles) {"," var instance = this;",""," A.Array.each(roles, function(role) {"," instance.setRole(role.name, role.node);"," });"," },",""," /**"," * Fires after a host attribute change."," *"," * @method _afterHostAttributeChange"," * @param event"," * @protected"," */"," _afterHostAttributeChange: function(event) {"," var instance = this;",""," instance._handleProcessAttribute(event);"," },",""," /**"," * Triggers after `roleName` attribute change."," *"," * @method _afterRoleNameChange"," * @param event"," * @protected"," */"," _afterRoleNameChange: function(event) {"," var instance = this;",""," instance._uiSetRoleName(event.newVal);"," },",""," /**"," * Bind the list of host attributes."," *"," * @method _bindHostAttributes"," * @protected"," */"," _bindHostAttributes: function() {"," var instance = this;"," var attributes = instance.get('attributes');",""," A.each(attributes, function(aria, attrName) {"," var ariaAttr = instance._getAriaAttribute(aria, attrName);",""," instance._handleProcessAttribute({"," aria: ariaAttr"," });",""," instance.afterHostEvent(attrName + 'Change', function(event) {"," event.aria = ariaAttr;"," instance._afterHostAttributeChange(event);"," });"," });"," },",""," /**"," * Calls the `_setAttribute` method."," *"," * @method _defProcessFn"," * @param event"," * @protected"," */"," _defProcessFn: function(event) {"," var instance = this;",""," instance._setAttribute(event.aria);"," },",""," /**"," * Get the ARIA attribute."," *"," * @method _getAriaAttribute"," * @param aria"," * @param attrName"," * @protected"," * @return {Object}"," */"," _getAriaAttribute: function(aria, attrName) {"," var instance = this;"," var attributeValueFormat = instance.get('attributeValueFormat');"," var prepared = {};",""," if (isString(aria)) {"," prepared = A.merge(prepared, {"," ariaName: aria,"," attrName: attrName,"," format: attributeValueFormat,"," node: null"," });"," }"," else if (isObject(aria)) {"," prepared = A.mix(aria, {"," ariaName: '',"," attrName: attrName,"," format: attributeValueFormat,"," node: null"," });"," }",""," return prepared;"," },",""," /**"," * Fires ARIA process attribute event handle."," *"," * @method _handleProcessAttribute"," * @param event"," * @protected"," */"," _handleProcessAttribute: function(event) {"," var instance = this;",""," instance.fire('aria:processAttribute', {"," aria: event.aria"," });"," },",""," /**"," * Set the attribute in the DOM."," *"," * @method _setAttribute"," * @param ariaAttr"," * @protected"," */"," _setAttribute: function(ariaAttr) {"," var instance = this;"," var host = instance.get('host');"," var attrValue = host.get(ariaAttr.attrName);"," var attrNode = ariaAttr.node;",""," if (isFunction(attrNode)) {"," attrNode = attrNode.apply(instance, [ariaAttr]);"," }",""," instance.setAttribute("," ariaAttr.ariaName,"," ariaAttr.format.apply(instance, [attrValue, ariaAttr]),"," attrNode"," );"," },",""," /**"," * Set the `roleName` attribute on the UI."," *"," * @method _uiSetRoleName"," * @param val"," * @protected"," */"," _uiSetRoleName: function(val) {"," var instance = this;",""," instance.setRole(val);"," }"," }","});","","A.Plugin.Aria = Aria;","/**"," * Static property used to define [W3C's Roles Model](http://www.w3.org/TR/wai-"," * aria/roles)."," *"," * @property W3C_ROLES"," * @type Object"," * @static"," */","A.Plugin.Aria.W3C_ROLES = {"," 'alert': 1,"," 'alertdialog': 1,"," 'application': 1,"," 'article': 1,"," 'banner': 1,"," 'button': 1,"," 'checkbox': 1,"," 'columnheader': 1,"," 'combobox': 1,"," 'command': 1,"," 'complementary': 1,"," 'composite': 1,"," 'contentinfo': 1,"," 'definition': 1,"," 'dialog': 1,"," 'directory': 1,"," 'document': 1,"," 'form': 1,"," 'grid': 1,"," 'gridcell': 1,"," 'group': 1,"," 'heading': 1,"," 'img': 1,"," 'input': 1,"," 'landmark': 1,"," 'link': 1,"," 'list': 1,"," 'listbox': 1,"," 'listitem': 1,"," 'log': 1,"," 'main': 1,"," 'marquee': 1,"," 'math': 1,"," 'menu': 1,"," 'menubar': 1,"," 'menuitem': 1,"," 'menuitemcheckbox': 1,"," 'menuitemradio': 1,"," 'navigation': 1,"," 'note': 1,"," 'option': 1,"," 'presentation': 1,"," 'progressbar': 1,"," 'radio': 1,"," 'radiogroup': 1,"," 'range': 1,"," 'region': 1,"," 'roletype': 1,"," 'row': 1,"," 'rowheader': 1,"," 'scrollbar': 1,"," 'search': 1,"," 'section': 1,"," 'sectionhead': 1,"," 'select': 1,"," 'separator': 1,"," 'slider': 1,"," 'spinbutton': 1,"," 'status': 1,"," 'structure': 1,"," 'tab': 1,"," 'tablist': 1,"," 'tabpanel': 1,"," 'textbox': 1,"," 'timer': 1,"," 'toolbar': 1,"," 'tooltip': 1,"," 'tree': 1,"," 'treegrid': 1,"," 'treeitem': 1,"," 'widget': 1,"," 'window': 1","};","/**"," * Static property used to define [W3C's Supported States and"," * Properties](http://www.w3.org/TR/wai-aria/states_and_properties)."," *"," * @property W3C_ATTRIBUTES"," * @type Object"," * @static"," */","A.Plugin.Aria.W3C_ATTRIBUTES = {"," 'activedescendant': 1,"," 'atomic': 1,"," 'autocomplete': 1,"," 'busy': 1,"," 'checked': 1,"," 'controls': 1,"," 'describedby': 1,"," 'disabled': 1,"," 'dropeffect': 1,"," 'expanded': 1,"," 'flowto': 1,"," 'grabbed': 1,"," 'haspopup': 1,"," 'hidden': 1,"," 'invalid': 1,"," 'label': 1,"," 'labelledby': 1,"," 'level': 1,"," 'live': 1,"," 'multiline': 1,"," 'multiselectable': 1,"," 'orientation': 1,"," 'owns': 1,"," 'posinset': 1,"," 'pressed': 1,"," 'readonly': 1,"," 'relevant': 1,"," 'required': 1,"," 'selected': 1,"," 'setsize': 1,"," 'sort': 1,"," 'valuemax': 1,"," 'valuemin': 1,"," 'valuenow': 1,"," 'valuetext': 1","};","","","}, '3.1.0-deprecated.52', {\"requires\": [\"plugin\", \"aui-component\"]});","","}());"]};
+}
+var __cov_T2Qytdz0gB53bOh1Q_BmPQ = __coverage__['build/aui-aria/aui-aria.js'];
+__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['1']++;YUI.add('aui-aria',function(A,NAME){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['1']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['2']++;var Lang=A.Lang,isBoolean=Lang.isBoolean,isFunction=Lang.isFunction,isObject=Lang.isObject,isString=Lang.isString,STR_REGEX=/([^a-z])/gi,_toAriaRole=A.cached(function(str){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['2']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['3']++;return str.replace(STR_REGEX,function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['3']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['4']++;return'';}).toLowerCase();});__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['5']++;var Aria=A.Component.create({NAME:'aria',NS:'aria',ATTRS:{attributes:{value:{},validator:isObject},attributeValueFormat:{value:function(val){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['4']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['6']++;return val;},validator:isFunction},attributeNode:{writeOnce:true,setter:A.one,valueFn:function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['5']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['7']++;return this.get('host').get('boundingBox');}},roleName:{valueFn:function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['6']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['8']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['9']++;var host=instance.get('host');__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['10']++;var roleName=_toAriaRole((__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['1'][0]++,host.constructor.NAME)||(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['1'][1]++,''));__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['11']++;return instance.isValidRole(roleName)?(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['2'][0]++,roleName):(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['2'][1]++,'');},validator:isString},roleNode:{writeOnce:true,setter:A.one,valueFn:function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['7']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['12']++;return this.get('host').get('boundingBox');}},validateW3C:{value:true,validator:isBoolean}},EXTENDS:A.Plugin.Base,prototype:{initializer:function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['8']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['13']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['14']++;instance.publish('aria:processAttribute',{defaultFn:instance._defProcessFn,queuable:false,emitFacade:true,bubbles:true,prefix:'aria'});__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['15']++;instance._uiSetRoleName(instance.get('roleName'));__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['16']++;instance.after('roleNameChange',instance._afterRoleNameChange);__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['17']++;instance._bindHostAttributes();},isValidAttribute:function(attrName){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['9']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['18']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['19']++;return instance.get('validateW3C')?(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['3'][0]++,A.Plugin.Aria.W3C_ATTRIBUTES[attrName]):(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['3'][1]++,true);},isValidRole:function(roleName){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['10']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['20']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['21']++;return instance.get('validateW3C')?(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['4'][0]++,A.Plugin.Aria.W3C_ROLES[roleName]):(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['4'][1]++,true);},setAttribute:function(attrName,attrValue,node){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['11']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['22']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['23']++;if(instance.isValidAttribute(attrName)){__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['5'][0]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['24']++;((__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['6'][0]++,node)||(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['6'][1]++,instance.get('attributeNode'))).set('aria-'+attrName,attrValue);__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['25']++;return true;}else{__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['5'][1]++;}__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['26']++;return false;},setAttributes:function(attributes){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['12']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['27']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['28']++;A.Array.each(attributes,function(attribute){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['13']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['29']++;instance.setAttribute(attribute.name,attribute.value,attribute.node);});},setRole:function(roleName,node){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['14']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['30']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['31']++;if(instance.isValidRole(roleName)){__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['7'][0]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['32']++;((__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['8'][0]++,node)||(__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['8'][1]++,instance.get('roleNode'))).set('role',roleName);__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['33']++;return true;}else{__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['7'][1]++;}__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['34']++;return false;},setRoles:function(roles){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['15']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['35']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['36']++;A.Array.each(roles,function(role){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['16']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['37']++;instance.setRole(role.name,role.node);});},_afterHostAttributeChange:function(event){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['17']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['38']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['39']++;instance._handleProcessAttribute(event);},_afterRoleNameChange:function(event){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['18']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['40']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['41']++;instance._uiSetRoleName(event.newVal);},_bindHostAttributes:function(){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['19']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['42']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['43']++;var attributes=instance.get('attributes');__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['44']++;A.each(attributes,function(aria,attrName){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['20']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['45']++;var ariaAttr=instance._getAriaAttribute(aria,attrName);__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['46']++;instance._handleProcessAttribute({aria:ariaAttr});__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['47']++;instance.afterHostEvent(attrName+'Change',function(event){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['21']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['48']++;event.aria=ariaAttr;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['49']++;instance._afterHostAttributeChange(event);});});},_defProcessFn:function(event){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['22']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['50']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['51']++;instance._setAttribute(event.aria);},_getAriaAttribute:function(aria,attrName){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['23']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['52']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['53']++;var attributeValueFormat=instance.get('attributeValueFormat');__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['54']++;var prepared={};__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['55']++;if(isString(aria)){__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['9'][0]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['56']++;prepared=A.merge(prepared,{ariaName:aria,attrName:attrName,format:attributeValueFormat,node:null});}else{__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['9'][1]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['57']++;if(isObject(aria)){__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['10'][0]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['58']++;prepared=A.mix(aria,{ariaName:'',attrName:attrName,format:attributeValueFormat,node:null});}else{__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['10'][1]++;}}__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['59']++;return prepared;},_handleProcessAttribute:function(event){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['24']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['60']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['61']++;instance.fire('aria:processAttribute',{aria:event.aria});},_setAttribute:function(ariaAttr){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['25']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['62']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['63']++;var host=instance.get('host');__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['64']++;var attrValue=host.get(ariaAttr.attrName);__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['65']++;var attrNode=ariaAttr.node;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['66']++;if(isFunction(attrNode)){__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['11'][0]++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['67']++;attrNode=attrNode.apply(instance,[ariaAttr]);}else{__cov_T2Qytdz0gB53bOh1Q_BmPQ.b['11'][1]++;}__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['68']++;instance.setAttribute(ariaAttr.ariaName,ariaAttr.format.apply(instance,[attrValue,ariaAttr]),attrNode);},_uiSetRoleName:function(val){__cov_T2Qytdz0gB53bOh1Q_BmPQ.f['26']++;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['69']++;var instance=this;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['70']++;instance.setRole(val);}}});__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['71']++;A.Plugin.Aria=Aria;__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['72']++;A.Plugin.Aria.W3C_ROLES={'alert':1,'alertdialog':1,'application':1,'article':1,'banner':1,'button':1,'checkbox':1,'columnheader':1,'combobox':1,'command':1,'complementary':1,'composite':1,'contentinfo':1,'definition':1,'dialog':1,'directory':1,'document':1,'form':1,'grid':1,'gridcell':1,'group':1,'heading':1,'img':1,'input':1,'landmark':1,'link':1,'list':1,'listbox':1,'listitem':1,'log':1,'main':1,'marquee':1,'math':1,'menu':1,'menubar':1,'menuitem':1,'menuitemcheckbox':1,'menuitemradio':1,'navigation':1,'note':1,'option':1,'presentation':1,'progressbar':1,'radio':1,'radiogroup':1,'range':1,'region':1,'roletype':1,'row':1,'rowheader':1,'scrollbar':1,'search':1,'section':1,'sectionhead':1,'select':1,'separator':1,'slider':1,'spinbutton':1,'status':1,'structure':1,'tab':1,'tablist':1,'tabpanel':1,'textbox':1,'timer':1,'toolbar':1,'tooltip':1,'tree':1,'treegrid':1,'treeitem':1,'widget':1,'window':1};__cov_T2Qytdz0gB53bOh1Q_BmPQ.s['73']++;A.Plugin.Aria.W3C_ATTRIBUTES={'activedescendant':1,'atomic':1,'autocomplete':1,'busy':1,'checked':1,'controls':1,'describedby':1,'disabled':1,'dropeffect':1,'expanded':1,'flowto':1,'grabbed':1,'haspopup':1,'hidden':1,'invalid':1,'label':1,'labelledby':1,'level':1,'live':1,'multiline':1,'multiselectable':1,'orientation':1,'owns':1,'posinset':1,'pressed':1,'readonly':1,'relevant':1,'required':1,'selected':1,'setsize':1,'sort':1,'valuemax':1,'valuemin':1,'valuenow':1,'valuetext':1};},'3.1.0-deprecated.52',{'requires':['plugin','aui-component']});
diff --git a/build/aui-aria/aui-aria-debug.js b/build/aui-aria/aui-aria-debug.js
new file mode 100644
index 00000000000..d87af2fb945
--- /dev/null
+++ b/build/aui-aria/aui-aria-debug.js
@@ -0,0 +1,557 @@
+YUI.add('aui-aria', function (A, NAME) {
+
+/**
+ * The Aria Component.
+ *
+ * @module aui-aria
+ */
+
+var Lang = A.Lang,
+ isBoolean = Lang.isBoolean,
+ isFunction = Lang.isFunction,
+ isObject = Lang.isObject,
+ isString = Lang.isString,
+ STR_REGEX = /([^a-z])/ig,
+
+ _toAriaRole = A.cached(function(str) {
+ return str.replace(STR_REGEX, function() {
+ return '';
+ }).toLowerCase();
+ });
+
+/**
+ * A base class for Aria.
+ *
+ * @class A.Plugin.Aria
+ * @extends Plugin.Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var Aria = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aria',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aria',
+
+ /**
+ * Static property used to define the default attribute configuration for
+ * the `A.Aria`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The ARIA attributes collection.
+ *
+ * @attribute attributes
+ * @default {}
+ * @type Object
+ */
+ attributes: {
+ value: {},
+ validator: isObject
+ },
+
+ /**
+ * The ARIA attribute value format.
+ *
+ * @attribute attributeValueFormat
+ * @type Function
+ */
+ attributeValueFormat: {
+ value: function(val) {
+ return val;
+ },
+ validator: isFunction
+ },
+
+ /**
+ * Node container for the ARIA attribute.
+ *
+ * @attribute attributeNode
+ * @writeOnce
+ */
+ attributeNode: {
+ writeOnce: true,
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox');
+ }
+ },
+
+ /**
+ * The ARIA role name.
+ *
+ * @attribute roleName
+ * @type String
+ */
+ roleName: {
+ valueFn: function() {
+ var instance = this;
+ var host = instance.get('host');
+ var roleName = _toAriaRole(host.constructor.NAME || '');
+
+ return (instance.isValidRole(roleName) ? roleName : '');
+ },
+ validator: isString
+ },
+
+ /**
+ * Node container for the ARIA role.
+ *
+ * @attribute roleNode
+ * @writeOnce
+ */
+ roleNode: {
+ writeOnce: true,
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox');
+ }
+ },
+
+ /**
+ * Checks if the attribute is valid with W3C rules.
+ *
+ * @attribute validateW3C
+ * @default true
+ * @type Boolean
+ */
+ validateW3C: {
+ value: true,
+ validator: isBoolean
+ }
+ },
+
+ /**
+ * Static property used to define which component it extends.
+ *
+ * @property EXTENDS
+ * @type Object
+ * @static
+ */
+ EXTENDS: A.Plugin.Base,
+
+ prototype: {
+
+ /**
+ * Construction logic executed during Aria instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance.publish('aria:processAttribute', {
+ defaultFn: instance._defProcessFn,
+ queuable: false,
+ emitFacade: true,
+ bubbles: true,
+ prefix: 'aria'
+ });
+
+ instance._uiSetRoleName(
+ instance.get('roleName')
+ );
+
+ instance.after('roleNameChange', instance._afterRoleNameChange);
+
+ instance._bindHostAttributes();
+ },
+
+ /**
+ * Checks if the ARIA attribute is valid.
+ *
+ * @method isValidAttribute
+ * @param attrName
+ * @return {Boolean}
+ */
+ isValidAttribute: function(attrName) {
+ var instance = this;
+
+ return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ATTRIBUTES[attrName] : true);
+ },
+
+ /**
+ * Checks if the ARIA role is valid.
+ *
+ * @method isValidRole
+ * @param roleName
+ * @return {Boolean}
+ */
+ isValidRole: function(roleName) {
+ var instance = this;
+
+ return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ROLES[roleName] : true);
+ },
+
+ /**
+ * Set a single ARIA attribute.
+ *
+ * @method setAttribute
+ * @param attrName
+ * @param attrValue
+ * @param node
+ * @return {Boolean}
+ */
+ setAttribute: function(attrName, attrValue, node) {
+ var instance = this;
+
+ if (instance.isValidAttribute(attrName)) {
+ (node || instance.get('attributeNode')).set('aria-' + attrName, attrValue);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ /**
+ * Set a list of ARIA attributes.
+ *
+ * @method setAttributes
+ * @param attributes
+ */
+ setAttributes: function(attributes) {
+ var instance = this;
+
+ A.Array.each(attributes, function(attribute) {
+ instance.setAttribute(attribute.name, attribute.value, attribute.node);
+ });
+ },
+
+ /**
+ * Set a single ARIA role.
+ *
+ * @method setRole
+ * @param roleName
+ * @param node
+ * @return {Boolean}
+ */
+ setRole: function(roleName, node) {
+ var instance = this;
+
+ if (instance.isValidRole(roleName)) {
+ (node || instance.get('roleNode')).set('role', roleName);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ /**
+ * Set a list of ARIA roles.
+ *
+ * @method setRoles
+ * @param roles
+ */
+ setRoles: function(roles) {
+ var instance = this;
+
+ A.Array.each(roles, function(role) {
+ instance.setRole(role.name, role.node);
+ });
+ },
+
+ /**
+ * Fires after a host attribute change.
+ *
+ * @method _afterHostAttributeChange
+ * @param event
+ * @protected
+ */
+ _afterHostAttributeChange: function(event) {
+ var instance = this;
+
+ instance._handleProcessAttribute(event);
+ },
+
+ /**
+ * Triggers after `roleName` attribute change.
+ *
+ * @method _afterRoleNameChange
+ * @param event
+ * @protected
+ */
+ _afterRoleNameChange: function(event) {
+ var instance = this;
+
+ instance._uiSetRoleName(event.newVal);
+ },
+
+ /**
+ * Bind the list of host attributes.
+ *
+ * @method _bindHostAttributes
+ * @protected
+ */
+ _bindHostAttributes: function() {
+ var instance = this;
+ var attributes = instance.get('attributes');
+
+ A.each(attributes, function(aria, attrName) {
+ var ariaAttr = instance._getAriaAttribute(aria, attrName);
+
+ instance._handleProcessAttribute({
+ aria: ariaAttr
+ });
+
+ instance.afterHostEvent(attrName + 'Change', function(event) {
+ event.aria = ariaAttr;
+ instance._afterHostAttributeChange(event);
+ });
+ });
+ },
+
+ /**
+ * Calls the `_setAttribute` method.
+ *
+ * @method _defProcessFn
+ * @param event
+ * @protected
+ */
+ _defProcessFn: function(event) {
+ var instance = this;
+
+ instance._setAttribute(event.aria);
+ },
+
+ /**
+ * Get the ARIA attribute.
+ *
+ * @method _getAriaAttribute
+ * @param aria
+ * @param attrName
+ * @protected
+ * @return {Object}
+ */
+ _getAriaAttribute: function(aria, attrName) {
+ var instance = this;
+ var attributeValueFormat = instance.get('attributeValueFormat');
+ var prepared = {};
+
+ if (isString(aria)) {
+ prepared = A.merge(prepared, {
+ ariaName: aria,
+ attrName: attrName,
+ format: attributeValueFormat,
+ node: null
+ });
+ }
+ else if (isObject(aria)) {
+ prepared = A.mix(aria, {
+ ariaName: '',
+ attrName: attrName,
+ format: attributeValueFormat,
+ node: null
+ });
+ }
+
+ return prepared;
+ },
+
+ /**
+ * Fires ARIA process attribute event handle.
+ *
+ * @method _handleProcessAttribute
+ * @param event
+ * @protected
+ */
+ _handleProcessAttribute: function(event) {
+ var instance = this;
+
+ instance.fire('aria:processAttribute', {
+ aria: event.aria
+ });
+ },
+
+ /**
+ * Set the attribute in the DOM.
+ *
+ * @method _setAttribute
+ * @param ariaAttr
+ * @protected
+ */
+ _setAttribute: function(ariaAttr) {
+ var instance = this;
+ var host = instance.get('host');
+ var attrValue = host.get(ariaAttr.attrName);
+ var attrNode = ariaAttr.node;
+
+ if (isFunction(attrNode)) {
+ attrNode = attrNode.apply(instance, [ariaAttr]);
+ }
+
+ instance.setAttribute(
+ ariaAttr.ariaName,
+ ariaAttr.format.apply(instance, [attrValue, ariaAttr]),
+ attrNode
+ );
+ },
+
+ /**
+ * Set the `roleName` attribute on the UI.
+ *
+ * @method _uiSetRoleName
+ * @param val
+ * @protected
+ */
+ _uiSetRoleName: function(val) {
+ var instance = this;
+
+ instance.setRole(val);
+ }
+ }
+});
+
+A.Plugin.Aria = Aria;
+/**
+ * Static property used to define [W3C's Roles Model](http://www.w3.org/TR/wai-
+ * aria/roles).
+ *
+ * @property W3C_ROLES
+ * @type Object
+ * @static
+ */
+A.Plugin.Aria.W3C_ROLES = {
+ 'alert': 1,
+ 'alertdialog': 1,
+ 'application': 1,
+ 'article': 1,
+ 'banner': 1,
+ 'button': 1,
+ 'checkbox': 1,
+ 'columnheader': 1,
+ 'combobox': 1,
+ 'command': 1,
+ 'complementary': 1,
+ 'composite': 1,
+ 'contentinfo': 1,
+ 'definition': 1,
+ 'dialog': 1,
+ 'directory': 1,
+ 'document': 1,
+ 'form': 1,
+ 'grid': 1,
+ 'gridcell': 1,
+ 'group': 1,
+ 'heading': 1,
+ 'img': 1,
+ 'input': 1,
+ 'landmark': 1,
+ 'link': 1,
+ 'list': 1,
+ 'listbox': 1,
+ 'listitem': 1,
+ 'log': 1,
+ 'main': 1,
+ 'marquee': 1,
+ 'math': 1,
+ 'menu': 1,
+ 'menubar': 1,
+ 'menuitem': 1,
+ 'menuitemcheckbox': 1,
+ 'menuitemradio': 1,
+ 'navigation': 1,
+ 'note': 1,
+ 'option': 1,
+ 'presentation': 1,
+ 'progressbar': 1,
+ 'radio': 1,
+ 'radiogroup': 1,
+ 'range': 1,
+ 'region': 1,
+ 'roletype': 1,
+ 'row': 1,
+ 'rowheader': 1,
+ 'scrollbar': 1,
+ 'search': 1,
+ 'section': 1,
+ 'sectionhead': 1,
+ 'select': 1,
+ 'separator': 1,
+ 'slider': 1,
+ 'spinbutton': 1,
+ 'status': 1,
+ 'structure': 1,
+ 'tab': 1,
+ 'tablist': 1,
+ 'tabpanel': 1,
+ 'textbox': 1,
+ 'timer': 1,
+ 'toolbar': 1,
+ 'tooltip': 1,
+ 'tree': 1,
+ 'treegrid': 1,
+ 'treeitem': 1,
+ 'widget': 1,
+ 'window': 1
+};
+/**
+ * Static property used to define [W3C's Supported States and
+ * Properties](http://www.w3.org/TR/wai-aria/states_and_properties).
+ *
+ * @property W3C_ATTRIBUTES
+ * @type Object
+ * @static
+ */
+A.Plugin.Aria.W3C_ATTRIBUTES = {
+ 'activedescendant': 1,
+ 'atomic': 1,
+ 'autocomplete': 1,
+ 'busy': 1,
+ 'checked': 1,
+ 'controls': 1,
+ 'describedby': 1,
+ 'disabled': 1,
+ 'dropeffect': 1,
+ 'expanded': 1,
+ 'flowto': 1,
+ 'grabbed': 1,
+ 'haspopup': 1,
+ 'hidden': 1,
+ 'invalid': 1,
+ 'label': 1,
+ 'labelledby': 1,
+ 'level': 1,
+ 'live': 1,
+ 'multiline': 1,
+ 'multiselectable': 1,
+ 'orientation': 1,
+ 'owns': 1,
+ 'posinset': 1,
+ 'pressed': 1,
+ 'readonly': 1,
+ 'relevant': 1,
+ 'required': 1,
+ 'selected': 1,
+ 'setsize': 1,
+ 'sort': 1,
+ 'valuemax': 1,
+ 'valuemin': 1,
+ 'valuenow': 1,
+ 'valuetext': 1
+};
+
+
+}, '3.1.0-deprecated.52', {"requires": ["plugin", "aui-component"]});
diff --git a/build/aui-aria/aui-aria-min.js b/build/aui-aria/aui-aria-min.js
new file mode 100644
index 00000000000..18615dcea67
--- /dev/null
+++ b/build/aui-aria/aui-aria-min.js
@@ -0,0 +1 @@
+YUI.add("aui-aria",function(e,t){var n=e.Lang,r=n.isBoolean,i=n.isFunction,s=n.isObject,o=n.isString,u=/([^a-z])/ig,a=e.cached(function(e){return e.replace(u,function(){return""}).toLowerCase()}),f=e.Component.create({NAME:"aria",NS:"aria",ATTRS:{attributes:{value:{},validator:s},attributeValueFormat:{value:function(e){return e},validator:i},attributeNode:{writeOnce:!0,setter:e.one,valueFn:function(){return this.get("host").get("boundingBox")}},roleName:{valueFn:function(){var e=this,t=e.get("host"),n=a(t.constructor.NAME||"");return e.isValidRole(n)?n:""},validator:o},roleNode:{writeOnce:!0,setter:e.one,valueFn:function(){return this.get("host").get("boundingBox")}},validateW3C:{value:!0,validator:r}},EXTENDS:e.Plugin.Base,prototype:{initializer:function(){var e=this;e.publish("aria:processAttribute",{defaultFn:e._defProcessFn,queuable:!1,emitFacade:!0,bubbles:!0,prefix:"aria"}),e._uiSetRoleName(e.get("roleName")),e.after("roleNameChange",e._afterRoleNameChange),e._bindHostAttributes()},isValidAttribute:function(t){var n=this;return n.get("validateW3C")?e.Plugin.Aria.W3C_ATTRIBUTES[t]:!0},isValidRole:function(t){var n=this;return n.get("validateW3C")?e.Plugin.Aria.W3C_ROLES[t]:!0},setAttribute:function(e,t,n){var r=this;return r.isValidAttribute(e)?((n||r.get("attributeNode")).set("aria-"+e,t),!0):!1},setAttributes:function(t){var n=this;e.Array.each(t,function(e){n.setAttribute(e.name,e.value,e.node)})},setRole:function(e,t){var n=this;return n.isValidRole(e)?((t||n.get("roleNode")).set("role",e),!0):!1},setRoles:function(t){var n=this;e.Array.each(t,function(e){n.setRole(e.name,e.node)})},_afterHostAttributeChange:function(e){var t=this;t._handleProcessAttribute(e)},_afterRoleNameChange:function(e){var t=this;t._uiSetRoleName(e.newVal)},_bindHostAttributes:function(){var t=this,n=t.get("attributes");e.each(n,function(e,n){var r=t._getAriaAttribute(e,n);t._handleProcessAttribute({aria:r}),t.afterHostEvent(n+"Change",function(e){e.aria=r,t._afterHostAttributeChange(e)})})},_defProcessFn:function(e){var t=this;t._setAttribute(e.aria)},_getAriaAttribute:function(t,n){var r=this,i=r.get("attributeValueFormat"),u={};return o(t)?u=e.merge(u,{ariaName:t,attrName:n,format:i,node:null}):s(t)&&(u=e.mix(t,{ariaName:"",attrName:n,format:i,node:null})),u},_handleProcessAttribute:function(e){var t=this;t.fire("aria:processAttribute",{aria:e.aria})},_setAttribute:function(e){var t=this,n=t.get("host"),r=n.get(e.attrName),s=e.node;i(s)&&(s=s.apply(t,[e])),t.setAttribute(e.ariaName,e.format.apply(t,[r,e]),s)},_uiSetRoleName:function(e){var t=this;t.setRole(e)}}});e.Plugin.Aria=f,e.Plugin.Aria.W3C_ROLES={alert:1,alertdialog:1,application:1,article:1,banner:1,button:1,checkbox:1,columnheader:1,combobox:1,command:1,complementary:1,composite:1,contentinfo:1,definition:1,dialog:1,directory:1,document:1,form:1,grid:1,gridcell:1,group:1,heading:1,img:1,input:1,landmark:1,link:1,list:1,listbox:1,listitem:1,log:1,main:1,marquee:1,math:1,menu:1,menubar:1,menuitem:1,menuitemcheckbox:1,menuitemradio:1,navigation:1,note:1,option:1,presentation:1,progressbar:1,radio:1,radiogroup:1,range:1,region:1,roletype:1,row:1,rowheader:1,scrollbar:1,search:1,section:1,sectionhead:1,select:1,separator:1,slider:1,spinbutton:1,status:1,structure:1,tab:1,tablist:1,tabpanel:1,textbox:1,timer:1,toolbar:1,tooltip:1,tree:1,treegrid:1,treeitem:1,widget:1,window:1},e.Plugin.Aria.W3C_ATTRIBUTES={activedescendant:1,atomic:1,autocomplete:1,busy:1,checked:1,controls:1,describedby:1,disabled:1,dropeffect:1,expanded:1,flowto:1,grabbed:1,haspopup:1,hidden:1,invalid:1,label:1,labelledby:1,level:1,live:1,multiline:1,multiselectable:1,orientation:1,owns:1,posinset:1,pressed:1,readonly:1,relevant:1,required:1,selected:1,setsize:1,sort:1,valuemax:1,valuemin:1,valuenow:1,valuetext:1}},"3.1.0-deprecated.52",{requires:["plugin","aui-component"]});
diff --git a/build/aui-aria/aui-aria.js b/build/aui-aria/aui-aria.js
new file mode 100644
index 00000000000..d87af2fb945
--- /dev/null
+++ b/build/aui-aria/aui-aria.js
@@ -0,0 +1,557 @@
+YUI.add('aui-aria', function (A, NAME) {
+
+/**
+ * The Aria Component.
+ *
+ * @module aui-aria
+ */
+
+var Lang = A.Lang,
+ isBoolean = Lang.isBoolean,
+ isFunction = Lang.isFunction,
+ isObject = Lang.isObject,
+ isString = Lang.isString,
+ STR_REGEX = /([^a-z])/ig,
+
+ _toAriaRole = A.cached(function(str) {
+ return str.replace(STR_REGEX, function() {
+ return '';
+ }).toLowerCase();
+ });
+
+/**
+ * A base class for Aria.
+ *
+ * @class A.Plugin.Aria
+ * @extends Plugin.Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var Aria = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'aria',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type String
+ * @static
+ */
+ NS: 'aria',
+
+ /**
+ * Static property used to define the default attribute configuration for
+ * the `A.Aria`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The ARIA attributes collection.
+ *
+ * @attribute attributes
+ * @default {}
+ * @type Object
+ */
+ attributes: {
+ value: {},
+ validator: isObject
+ },
+
+ /**
+ * The ARIA attribute value format.
+ *
+ * @attribute attributeValueFormat
+ * @type Function
+ */
+ attributeValueFormat: {
+ value: function(val) {
+ return val;
+ },
+ validator: isFunction
+ },
+
+ /**
+ * Node container for the ARIA attribute.
+ *
+ * @attribute attributeNode
+ * @writeOnce
+ */
+ attributeNode: {
+ writeOnce: true,
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox');
+ }
+ },
+
+ /**
+ * The ARIA role name.
+ *
+ * @attribute roleName
+ * @type String
+ */
+ roleName: {
+ valueFn: function() {
+ var instance = this;
+ var host = instance.get('host');
+ var roleName = _toAriaRole(host.constructor.NAME || '');
+
+ return (instance.isValidRole(roleName) ? roleName : '');
+ },
+ validator: isString
+ },
+
+ /**
+ * Node container for the ARIA role.
+ *
+ * @attribute roleNode
+ * @writeOnce
+ */
+ roleNode: {
+ writeOnce: true,
+ setter: A.one,
+ valueFn: function() {
+ return this.get('host').get('boundingBox');
+ }
+ },
+
+ /**
+ * Checks if the attribute is valid with W3C rules.
+ *
+ * @attribute validateW3C
+ * @default true
+ * @type Boolean
+ */
+ validateW3C: {
+ value: true,
+ validator: isBoolean
+ }
+ },
+
+ /**
+ * Static property used to define which component it extends.
+ *
+ * @property EXTENDS
+ * @type Object
+ * @static
+ */
+ EXTENDS: A.Plugin.Base,
+
+ prototype: {
+
+ /**
+ * Construction logic executed during Aria instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance.publish('aria:processAttribute', {
+ defaultFn: instance._defProcessFn,
+ queuable: false,
+ emitFacade: true,
+ bubbles: true,
+ prefix: 'aria'
+ });
+
+ instance._uiSetRoleName(
+ instance.get('roleName')
+ );
+
+ instance.after('roleNameChange', instance._afterRoleNameChange);
+
+ instance._bindHostAttributes();
+ },
+
+ /**
+ * Checks if the ARIA attribute is valid.
+ *
+ * @method isValidAttribute
+ * @param attrName
+ * @return {Boolean}
+ */
+ isValidAttribute: function(attrName) {
+ var instance = this;
+
+ return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ATTRIBUTES[attrName] : true);
+ },
+
+ /**
+ * Checks if the ARIA role is valid.
+ *
+ * @method isValidRole
+ * @param roleName
+ * @return {Boolean}
+ */
+ isValidRole: function(roleName) {
+ var instance = this;
+
+ return (instance.get('validateW3C') ? A.Plugin.Aria.W3C_ROLES[roleName] : true);
+ },
+
+ /**
+ * Set a single ARIA attribute.
+ *
+ * @method setAttribute
+ * @param attrName
+ * @param attrValue
+ * @param node
+ * @return {Boolean}
+ */
+ setAttribute: function(attrName, attrValue, node) {
+ var instance = this;
+
+ if (instance.isValidAttribute(attrName)) {
+ (node || instance.get('attributeNode')).set('aria-' + attrName, attrValue);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ /**
+ * Set a list of ARIA attributes.
+ *
+ * @method setAttributes
+ * @param attributes
+ */
+ setAttributes: function(attributes) {
+ var instance = this;
+
+ A.Array.each(attributes, function(attribute) {
+ instance.setAttribute(attribute.name, attribute.value, attribute.node);
+ });
+ },
+
+ /**
+ * Set a single ARIA role.
+ *
+ * @method setRole
+ * @param roleName
+ * @param node
+ * @return {Boolean}
+ */
+ setRole: function(roleName, node) {
+ var instance = this;
+
+ if (instance.isValidRole(roleName)) {
+ (node || instance.get('roleNode')).set('role', roleName);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ /**
+ * Set a list of ARIA roles.
+ *
+ * @method setRoles
+ * @param roles
+ */
+ setRoles: function(roles) {
+ var instance = this;
+
+ A.Array.each(roles, function(role) {
+ instance.setRole(role.name, role.node);
+ });
+ },
+
+ /**
+ * Fires after a host attribute change.
+ *
+ * @method _afterHostAttributeChange
+ * @param event
+ * @protected
+ */
+ _afterHostAttributeChange: function(event) {
+ var instance = this;
+
+ instance._handleProcessAttribute(event);
+ },
+
+ /**
+ * Triggers after `roleName` attribute change.
+ *
+ * @method _afterRoleNameChange
+ * @param event
+ * @protected
+ */
+ _afterRoleNameChange: function(event) {
+ var instance = this;
+
+ instance._uiSetRoleName(event.newVal);
+ },
+
+ /**
+ * Bind the list of host attributes.
+ *
+ * @method _bindHostAttributes
+ * @protected
+ */
+ _bindHostAttributes: function() {
+ var instance = this;
+ var attributes = instance.get('attributes');
+
+ A.each(attributes, function(aria, attrName) {
+ var ariaAttr = instance._getAriaAttribute(aria, attrName);
+
+ instance._handleProcessAttribute({
+ aria: ariaAttr
+ });
+
+ instance.afterHostEvent(attrName + 'Change', function(event) {
+ event.aria = ariaAttr;
+ instance._afterHostAttributeChange(event);
+ });
+ });
+ },
+
+ /**
+ * Calls the `_setAttribute` method.
+ *
+ * @method _defProcessFn
+ * @param event
+ * @protected
+ */
+ _defProcessFn: function(event) {
+ var instance = this;
+
+ instance._setAttribute(event.aria);
+ },
+
+ /**
+ * Get the ARIA attribute.
+ *
+ * @method _getAriaAttribute
+ * @param aria
+ * @param attrName
+ * @protected
+ * @return {Object}
+ */
+ _getAriaAttribute: function(aria, attrName) {
+ var instance = this;
+ var attributeValueFormat = instance.get('attributeValueFormat');
+ var prepared = {};
+
+ if (isString(aria)) {
+ prepared = A.merge(prepared, {
+ ariaName: aria,
+ attrName: attrName,
+ format: attributeValueFormat,
+ node: null
+ });
+ }
+ else if (isObject(aria)) {
+ prepared = A.mix(aria, {
+ ariaName: '',
+ attrName: attrName,
+ format: attributeValueFormat,
+ node: null
+ });
+ }
+
+ return prepared;
+ },
+
+ /**
+ * Fires ARIA process attribute event handle.
+ *
+ * @method _handleProcessAttribute
+ * @param event
+ * @protected
+ */
+ _handleProcessAttribute: function(event) {
+ var instance = this;
+
+ instance.fire('aria:processAttribute', {
+ aria: event.aria
+ });
+ },
+
+ /**
+ * Set the attribute in the DOM.
+ *
+ * @method _setAttribute
+ * @param ariaAttr
+ * @protected
+ */
+ _setAttribute: function(ariaAttr) {
+ var instance = this;
+ var host = instance.get('host');
+ var attrValue = host.get(ariaAttr.attrName);
+ var attrNode = ariaAttr.node;
+
+ if (isFunction(attrNode)) {
+ attrNode = attrNode.apply(instance, [ariaAttr]);
+ }
+
+ instance.setAttribute(
+ ariaAttr.ariaName,
+ ariaAttr.format.apply(instance, [attrValue, ariaAttr]),
+ attrNode
+ );
+ },
+
+ /**
+ * Set the `roleName` attribute on the UI.
+ *
+ * @method _uiSetRoleName
+ * @param val
+ * @protected
+ */
+ _uiSetRoleName: function(val) {
+ var instance = this;
+
+ instance.setRole(val);
+ }
+ }
+});
+
+A.Plugin.Aria = Aria;
+/**
+ * Static property used to define [W3C's Roles Model](http://www.w3.org/TR/wai-
+ * aria/roles).
+ *
+ * @property W3C_ROLES
+ * @type Object
+ * @static
+ */
+A.Plugin.Aria.W3C_ROLES = {
+ 'alert': 1,
+ 'alertdialog': 1,
+ 'application': 1,
+ 'article': 1,
+ 'banner': 1,
+ 'button': 1,
+ 'checkbox': 1,
+ 'columnheader': 1,
+ 'combobox': 1,
+ 'command': 1,
+ 'complementary': 1,
+ 'composite': 1,
+ 'contentinfo': 1,
+ 'definition': 1,
+ 'dialog': 1,
+ 'directory': 1,
+ 'document': 1,
+ 'form': 1,
+ 'grid': 1,
+ 'gridcell': 1,
+ 'group': 1,
+ 'heading': 1,
+ 'img': 1,
+ 'input': 1,
+ 'landmark': 1,
+ 'link': 1,
+ 'list': 1,
+ 'listbox': 1,
+ 'listitem': 1,
+ 'log': 1,
+ 'main': 1,
+ 'marquee': 1,
+ 'math': 1,
+ 'menu': 1,
+ 'menubar': 1,
+ 'menuitem': 1,
+ 'menuitemcheckbox': 1,
+ 'menuitemradio': 1,
+ 'navigation': 1,
+ 'note': 1,
+ 'option': 1,
+ 'presentation': 1,
+ 'progressbar': 1,
+ 'radio': 1,
+ 'radiogroup': 1,
+ 'range': 1,
+ 'region': 1,
+ 'roletype': 1,
+ 'row': 1,
+ 'rowheader': 1,
+ 'scrollbar': 1,
+ 'search': 1,
+ 'section': 1,
+ 'sectionhead': 1,
+ 'select': 1,
+ 'separator': 1,
+ 'slider': 1,
+ 'spinbutton': 1,
+ 'status': 1,
+ 'structure': 1,
+ 'tab': 1,
+ 'tablist': 1,
+ 'tabpanel': 1,
+ 'textbox': 1,
+ 'timer': 1,
+ 'toolbar': 1,
+ 'tooltip': 1,
+ 'tree': 1,
+ 'treegrid': 1,
+ 'treeitem': 1,
+ 'widget': 1,
+ 'window': 1
+};
+/**
+ * Static property used to define [W3C's Supported States and
+ * Properties](http://www.w3.org/TR/wai-aria/states_and_properties).
+ *
+ * @property W3C_ATTRIBUTES
+ * @type Object
+ * @static
+ */
+A.Plugin.Aria.W3C_ATTRIBUTES = {
+ 'activedescendant': 1,
+ 'atomic': 1,
+ 'autocomplete': 1,
+ 'busy': 1,
+ 'checked': 1,
+ 'controls': 1,
+ 'describedby': 1,
+ 'disabled': 1,
+ 'dropeffect': 1,
+ 'expanded': 1,
+ 'flowto': 1,
+ 'grabbed': 1,
+ 'haspopup': 1,
+ 'hidden': 1,
+ 'invalid': 1,
+ 'label': 1,
+ 'labelledby': 1,
+ 'level': 1,
+ 'live': 1,
+ 'multiline': 1,
+ 'multiselectable': 1,
+ 'orientation': 1,
+ 'owns': 1,
+ 'posinset': 1,
+ 'pressed': 1,
+ 'readonly': 1,
+ 'relevant': 1,
+ 'required': 1,
+ 'selected': 1,
+ 'setsize': 1,
+ 'sort': 1,
+ 'valuemax': 1,
+ 'valuemin': 1,
+ 'valuenow': 1,
+ 'valuetext': 1
+};
+
+
+}, '3.1.0-deprecated.52', {"requires": ["plugin", "aui-component"]});
diff --git a/build/aui-arraysort/aui-arraysort-coverage.js b/build/aui-arraysort/aui-arraysort-coverage.js
new file mode 100644
index 00000000000..01527700d83
--- /dev/null
+++ b/build/aui-arraysort/aui-arraysort-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-arraysort/aui-arraysort.js']) {
+ __coverage__['build/aui-arraysort/aui-arraysort.js'] = {"path":"build/aui-arraysort/aui-arraysort.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"(anonymous_2)","line":30,"loc":{"start":{"line":30,"column":33},"end":{"line":30,"column":65}}},"3":{"name":"(anonymous_3)","line":60,"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":47}}},"4":{"name":"(anonymous_4)","line":71,"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":31}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":86,"column":55}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":24}},"3":{"start":{"line":18,"column":0},"end":{"line":83,"column":2}},"4":{"start":{"line":31,"column":12},"end":{"line":31,"column":21}},"5":{"start":{"line":33,"column":12},"end":{"line":33,"column":51}},"6":{"start":{"line":35,"column":12},"end":{"line":46,"column":13}},"7":{"start":{"line":36,"column":16},"end":{"line":36,"column":25}},"8":{"start":{"line":38,"column":17},"end":{"line":46,"column":13}},"9":{"start":{"line":39,"column":16},"end":{"line":39,"column":25}},"10":{"start":{"line":41,"column":17},"end":{"line":46,"column":13}},"11":{"start":{"line":42,"column":16},"end":{"line":42,"column":26}},"12":{"start":{"line":45,"column":16},"end":{"line":45,"column":56}},"13":{"start":{"line":48,"column":12},"end":{"line":48,"column":24}},"14":{"start":{"line":61,"column":12},"end":{"line":61,"column":38}},"15":{"start":{"line":63,"column":12},"end":{"line":68,"column":13}},"16":{"start":{"line":64,"column":16},"end":{"line":67,"column":18}},"17":{"start":{"line":70,"column":12},"end":{"line":76,"column":14}},"18":{"start":{"line":72,"column":20},"end":{"line":72,"column":73}},"19":{"start":{"line":74,"column":20},"end":{"line":74,"column":73}},"20":{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},"21":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}}},"branchMap":{"1":{"line":33,"type":"binary-expr","locations":[{"start":{"line":33,"column":24},"end":{"line":33,"column":33}},{"start":{"line":33,"column":37},"end":{"line":33,"column":50}}]},"2":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"3":{"line":35,"type":"binary-expr","locations":[{"start":{"line":35,"column":17},"end":{"line":35,"column":25}},{"start":{"line":35,"column":31},"end":{"line":35,"column":39}}]},"4":{"line":38,"type":"if","locations":[{"start":{"line":38,"column":17},"end":{"line":38,"column":17}},{"start":{"line":38,"column":17},"end":{"line":38,"column":17}}]},"5":{"line":41,"type":"if","locations":[{"start":{"line":41,"column":17},"end":{"line":41,"column":17}},{"start":{"line":41,"column":17},"end":{"line":41,"column":17}}]},"6":{"line":74,"type":"cond-expr","locations":[{"start":{"line":74,"column":45},"end":{"line":74,"column":62}},{"start":{"line":74,"column":66},"end":{"line":74,"column":72}}]}},"code":["(function () { YUI.add('aui-arraysort', function (A, NAME) {","","/**"," * The A.ArraySort Utility - A set of utility methods to the ArraySort."," *"," * @module aui-arraysort"," */","","var ASort = A.ArraySort;","","/**"," * Augment the [YUI3 ArraySort](ArraySort.html) with more util methods."," *"," * @class A.ArraySort"," * @uses ArraySort"," * @constructor"," */","A.mix("," ASort, {"," /**"," * Compare two arrays ignoring white spaces."," *"," * @method compareIgnoreWhiteSpace"," * @param a"," * @param b"," * @param desc"," * @param compareFn"," * @return sort"," */"," compareIgnoreWhiteSpace: function(a, b, desc, compareFn) {"," var sort;",""," compareFn = compareFn || ASort.compare;",""," if ((a === '') && (b === '')) {"," sort = 0;"," }"," else if (a === '') {"," sort = 1;"," }"," else if (b === '') {"," sort = -1;"," }"," else {"," sort = compareFn.apply(this, arguments);"," }",""," return sort;"," },",""," /**"," * Sorts an object array keeping the order of equal items. ECMA script"," * standard does not specify the behaviour when the compare function"," * returns the value 0;"," *"," * @method stableSort"," * @param array"," * @param compareFn"," */"," stableSort: function(array, compareFn) {"," var i, len = array.length;",""," for (i = 0; i < len; i++) {"," array[i] = {"," index: i,"," value: array[i]"," };"," }",""," array.sort("," function(a, b) {"," var result = compareFn.call(array, a.value, b.value);",""," return (result === 0) ? (a.index - b.index) : result;"," }"," );",""," for (i = 0; i < len; i++) {"," array[i] = array[i].value;"," }"," }"," }",");","","","}, '3.1.0-deprecated.52', {\"requires\": [\"arraysort\"]});","","}());"]};
+}
+var __cov_RTd2CPYkXVBWnYHD4c1hEQ = __coverage__['build/aui-arraysort/aui-arraysort.js'];
+__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['1']++;YUI.add('aui-arraysort',function(A,NAME){__cov_RTd2CPYkXVBWnYHD4c1hEQ.f['1']++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['2']++;var ASort=A.ArraySort;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['3']++;A.mix(ASort,{compareIgnoreWhiteSpace:function(a,b,desc,compareFn){__cov_RTd2CPYkXVBWnYHD4c1hEQ.f['2']++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['4']++;var sort;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['5']++;compareFn=(__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['1'][0]++,compareFn)||(__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['1'][1]++,ASort.compare);__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['6']++;if((__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['3'][0]++,a==='')&&(__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['3'][1]++,b==='')){__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['2'][0]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['7']++;sort=0;}else{__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['2'][1]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['8']++;if(a===''){__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['4'][0]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['9']++;sort=1;}else{__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['4'][1]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['10']++;if(b===''){__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['5'][0]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['11']++;sort=-1;}else{__cov_RTd2CPYkXVBWnYHD4c1hEQ.b['5'][1]++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['12']++;sort=compareFn.apply(this,arguments);}}}__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['13']++;return sort;},stableSort:function(array,compareFn){__cov_RTd2CPYkXVBWnYHD4c1hEQ.f['3']++;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['14']++;var i,len=array.length;__cov_RTd2CPYkXVBWnYHD4c1hEQ.s['15']++;for(i=0;iCh2Q@KnF`HptLo_%s4q{?dGKNv#Xc9F>X`+cQ!bBaj=`6hW#)-)!^OEpR
z)m{2FOEPBW``(k!y7!(s=hUfFRj2+s)lLX+131zIqvbG9GB7YOTUiAF3{+k{UAFlu
zgYQrY5uuCZs!#VvF9%3l42@^4#s68PC?@HqX0b?7NE#
zFKtdJs_pFX{{EZ(WzM6ONAn&}o+I1#!UX3}BBSp6+r@?2cOKsVm-KtucfI?zsU_>|
z5z{{R$3Gj8cN^Zz+y3eA-h49dj3#(Z&T~CyO^xn7twr~Ce*5(wUcT|&gBA8mo=1-V
zHQkVF>{)o~zHxn5ieFB>@%+yDbHBXN|5ZqN#e=4OwI6)DrsBnoN9)ea*#1$^ZrcRc
z7V}4+pI`CGH(&0)+|~clhV~8p8>5utcYS@^+TIP%{P%AU=kHtmpO3FudT;%dZ3FXv
zzF_g8hsVq;+|l^%I}0)r9$db!=E0x!TnOGO|9j8L1@pd0Xt>nb=lyupjVq?vpS;#Q
zWBQ)$=tR{34vZY8kkMq&&p4Xw-&Td3fs@Vkc}01PW4Apz_4weL
zH;-O9`uo@?=HFR8xaL&V=aauaIsOydlcJg@XpJmQqB&?-@$wK6$6dJ{r%r#@I>dlC
zubjH__NbM6&kT`yqj-Dq3!^r59&R68bMpE3dMu|d*F9Y#ssVIDB9;nvN;5cTVKbT9
zayUI;%@3U43NpW~4t*U?%w(hlff*8dK$3!W41+T@Li@_~WYfWUdAXL}E01hj!mSr2
zuRMs?7fSUhiM|?#$6-f>qmiV7GI$R{lNhL}sUhl$#}!@u#WX{Y;@QV`ams>uWhz$L
zF_@2~8p{5%C0td_N=Ae(OuBKtVy;h{ogqBt6l=3JqQ~!ykF9HOTb#H!;Wb}D!rpw;
zKMFO4@cM&+Jf*0bGdheK9Rjshi?gamU%QHPLnyi-;wfNqNGJhlLc7}+Mw<@)O?Rl`
zfJ(P#KWBLuuQ`<07)~{Y5jWTjcDH_|0cK0rO8_>6GNYl&<#2eQM(?UJ8!RTX2O1pK
zdgOz`GK?{XIw)|H7x0)ZZm4RoxGgnS15|kQCIh%@^;Sc%qs{g{y~qXmmPuvwN^+#ZA7;DXYcm4;dmIPB#Hx8(r?aP6AGutX
zntF>1^mTQDjLlvT^Bi`Mq0v)pz<0By&M>#$V)Yc+i#!IK8%&N$2NYX~$#)xSl4u`X
zViCdywe@a~!^TQD>)mFs5oN6^RvchFtQ!kvkHY?Ga=
zQfQXo)OHC(iufc!iz%NBlu|h)lBbM3kwLB_UkW*^
zC5V10l`7F!uu?7h3Q>lZHiv>TOaa_KWqAHfQXfVwh-j4q?FlD>Wn_u}J*oul36c=8
z=)BlcP7XCZgQEtDvJp+xdaJQd4mSo&0(e~D`s
z9=~y6>EYKd95}K>Ubtz+o~j0K`>*QFoRu2Xv6)@Q?-WhQ=hkvGuW%ZcT3Ff@pzsaL
zxr%~fd3NQw&VpjK=+WS9+r6nJ*t`cHO;GJ0IqzYRr2M)OPCIc62=9SAXvAg8a&k)c9ZD)buUwef9k7OaCi;r}2rF
z7;_)@@b|7Im1pPV0DaPF_N`
z_WXX$%$er2y;XCHpG(~IZ9@I%tAF>~Kpwme*stKk*Or}c*G6tQwFztY>@;!@!i4tH
z$DXPMzQ+=u3su+GR9Ek*Echb1`mms4FFqcKF@K064^Z_T+toR%zSLw_a6OD4+`~97
zEQc({O)vp=F=2CD7QMA4V06jbk7hw`(XZAB+Fykc;OHN6yN+NLA
z$v78OV=}brUohg15Neh}L&|T;6mR8D0=aP&SbfeFtr?e8ZMTK=N^4d<2i7dtRjBlV
zF2;B^S7PbRMxg~(U$3{%)NAVV%4>7M+KEhUq3a*H$8sR+pzi=-DcWJ`Z9x_zvS1t5
zVtZ#p-0Q~bmwnZt-hJvUL+hGs`Mhjj=hOpJ5Bm0Z2R}O_mm0OIrcRTE{MJra65-56
ziplVAys59RI1=(zLrbgwd*af
zY<#8Jw%+D#Th;`M{Cu)wg0(-Ztsl?mpwy;v8dBL}=Z+sP@o`Lve?UYnHZVS(o&8
z_Gk5XuRUlo66#kKv(#B=1BxE^**kNv6Rja1X3dDcH*40X-JDs*t`yq`#uFd>Ial9m
zT(u^<&wI(+?{lV9KibQgCN~2(`;J84o3`Vv%yeT@80&(*7Sw=lZ=mfTN;zcg%J4PY
zW#_aZ@8@)XaN=S*^cp|vY>Y1U?oelH+kkn?*kA12{b0!PJuNVe^1e?8k|;qHzsXeK
zFqsbfdQF$TYj^eddRs0V`?KubZ!FH8dLZj?H_}_a&zbvuO*wo;xzXFt4_v#kvtdOS
z+Odzd<46{(S+d&PM8iaNc(ULNMsV3
z>5`#;iHs6P`UCj6Y8;k2sOnu@RlTn1i75$in#7F(hTW?$xMyZg&&)(PRf?a9upH4R
z69$rqra{klMU+9{!@o&maLutX*miLI@zED@44e}b9q?zufbd8e&yuVjPkTxauN
z&1u4xGMZoPiF_DK!g35Ex9DoX{xYy@*DefX2-boO&mKIJkhOgykK2-X*)hBeu1$ym9CNR9>H79Y{Y%ImNk2c`SVzz%!}OSi60tF4JbLmZ#yV5~z5zf)Yjs}CPtR5kv%fX6OB9|Mi2D=GOaT4ZAN&~k?@A5!-
znZDj_fVuSufL)YcUSTk-LZcg?ywr&}q`^(TvDZcRI!i4AZpdRbmvQ}dBknD88Qg9t
zuv)O&dKX36Rrj+^%qO-M**(b8U~#yCVjunkJy=AHZO~gOdbS$$XpQhzTJLcqJ1TNG
zsU8l&m(y~d%fPi&i`*_jQIWgM6I3Wjb|8DOZiEj=2q(p3rq1k{8k;wxr;qMM3s!(
zHNi^)D|OBf3;y5w1ZSamjpIyN2@+=`p0S6{!nwfO!#j-||LBsCA)T7VR%uFzSHdV0
zaew;o8nnY{*g7g8V6m2YY&NhBW7=dgv1Jn4P^kYX$_%HNwS!~V{vi8SEm^0WcgS+4
zL3b|oXN(Sygi5)LVP#_TO1Z3YDUsc>w49QzQ9(w
zZ9MPWF?ppzXrMuDJR4+XtQTq3_!9AuC34*qLh_&p9k`~rTAG(43ix^vfwvzkCKU1}
z(~z0MeNOZnQaGragM7iZMpnB(6o-I7B0E;8TM1+bsRb@Uz$}m`)5>Gn_$YQ^foLA2
zmxzPa@N^u1HI8+VoHhD3I>YmaD3Ok!L^^_!5d)J7lo>&FZ-(kbYxrnesh`Q4M#L(3wxOkx?*c)nyG?huN&Y
z41a{3nn(Qi;Yf{(sX2KxIEIUYqhS5C;Ul{)Pk7DcO_tJ?F-^{p9dn4y+5dEphx89)
zG@YO_817A!*-aG&=+R*YXv^Tn(!{3zgR@S>&pNL9$ILu*+o!|XG9)?`-TKlR#y)Ir
z{;e;se?>>>(A-HSri;4uB?Wjh*t|QdWoG_NLdz4l3x%o~lroELo=w%y4vOOUwI^ljSC&EJJD%>Na6K+3H$R>^H^_PY`66n`unn|8hoRA%TzH{#71P}ev+>9p4
z<^<&2uQ?hXpKf09qH*oIo%!WlLifUfj?d@N+&GsauW0b@Gz!`9RDU-7NEo6aLo;X+L
zNe#Y-OAa?r{i!)koX57mPZH^zdFjKNmj+xqg}C-MKFc$fr;_=R;m^VRM@L7S=e{(x
zSm<_MXdF)+g)wLn&AvPt1h8QWGmZ?QzP`@lsB+l-=XO8QXe8N)W!&8!f5*p*!B$*YOePPoyY+8n^EX79nS38$85a%b@d`CcvgIXu#Am|slGOQmV
z$uT6g5tzfcl>|kk$W$86cZhQnxbcuL3HJp&rV^bZSZJuG_*aTSRaPRt$K$Th6f}sD
zizSo}A<&qFu+T!PPf0J#R70!%t?{rcxIA`il-SSI;SN(9WJ
z{M{0_7#%Pow8?GU!Bb75H@SoiB3E(A?3E^Ij_tGrgeKK|w`l)JU;XEQ_Np?xJaHuV
zY6CGx1O*}yfy79<>tpLtRGX}1<_`@d&nVat#T|5Gzjp+Av0=s$1ysZLUIZPY*(=$I
zA${Ua9FZrI<6&FSa1bO7J_bKk8_=%*UB%-1VVT7EHm00zvQmCX{{>@MbSp!MZO777
z4YyCy4L**;(6NCSnjNBO?itTriAQtx#VKmxn3#wufVA^@8B55Pa}PMpzS2>!PC>-)xaFQf&`@zX*N*T+pE-Io-4!Q$4Tr`@j
zpIg#Gh2%d*2!4!^oc6MkD#%kq9i{*6P2lkgWvCYM3tcoX5iSb#61
zON9^4fdmCd7|Roa=!P$oN$9CSEdl|7G!-Y9#tQ}uOyqY)YK}w?S2Q{V@l>^#DyLNb
zr4&`5g4@Vs<%J7LEwPur#L*X#mO@^*kgACUaaNDd1IBU^;$DnwlT_$r=wR=J4b>qN
zxWk85Du!(!m=&QQC4vUs$Rd&}9M5MYqPRFl^Auq`HQN7!t^fJo=ANXvjpN+L%zzjI
z1i(#%L{SngYolb-vb7|k42cvaE)fMtpb{sx69y!Q6dV#jKv0&Fsx0NIM7gk16_=`1
zx;U3ya!sm|dM`^=E;;0s!+WWmlEb^acX|In>2K*}W{B~`>I2)_%W5a*LEv7
z!seVqlVll}LoOh!u@AcbL51QFue~w+WJ9Z#+hau?^A*ZNqQw<=W?>?ej0!J|AtL++`yv14Kgf3oTRF0O5*3k-Pg(B}Uk$
zkrG2(O16qVl8y((@L%s7RYHcPZ(aDS$0`3KE!S=}I9y{FhXT7OEu$GjP9mP?TTGy)7WZ_Z_jcbVo|P>Uyv>
zzWH#x-Ky3(*kHU|zX^xrnO1c(xE@qjq}K5~cg_J6kN;ET#nSplV;Lm#Llu^5wH6&(
z%UQJ>?MKZ()atc1c(rQ5^hT{I$It=#daF@gU8!!#;@e-t7PaaI#QaJTUTp_AH=FH8
z21Ua{AeL3r+ricr1RYN;E(Yy8twwWZqq@GOm=m%%WDo~cQPy@o_|9axV8bF8p%zC&
zNT8j&Upx5qsP+F~>%@pvL1zSXG$xpZB}?RWq-X&;z$HIQe4m}cDX8|i+9$-z;I#BS
z+IlwrZv2JQYOhFrdP>&%C>7vXUeR7l*YDwT;@QLyI~WV>=^OQ!98;OLwwHG{n}bvNK##?wneqs+<5f4qqAQ*uRv!bkVoX6
z6^Vv$R;9i>jr)z3;S)CH*ugQ~s%!!sOt`&kA@{P
z=gefeO!V*XWPqI9G2t}ChXS3jidwssN|7=;+UtV)PVL%vs#FePNtZ~&xyn6uQ;*3p
z;Wfk$c-m>RdJuAA_LAq`#TV#%f%dHO_~Upk2-u4x3284ney*YsskKewm|a+vWCDUP
ze)0SXx}$keDcZ5Alj7%5zi7U4OO7BJb=J|edMlcJcr@;=LL}lrO{5D09WHY4hX=Fh
zCZ&>IH?j39_$NGooFUl?YHMh9P+~Ndsi;H`3i+dl#VeWbE(;T#VJnNSC
z;S$uKgRnt?#M`^E{1GsardSTvYjxSZJOeH*>7YY?U)^q1@m(q#i-E+kx+PDT^%YgW
zCQ(Y3VKEY$-B3)RVN=`);|ZFr-~k4s(CgCDdZ@pRMx$A)%Tuc^X$2qG>Z@YAxeAFh
zjr#2d6fa1)U^UM5zz(i~W^j}ejC;Wz=j$-|_9Hc_nLCT3hVg*VFSNI0?b2Fvi>6~2
z5;kZkG2Agrw;ozbn5nE3P@;!4eZN{?57cy~)+ExK4}yAItXr5?5J(~9wU!^DU8`>g
z_pA`nM~z1fThpkq-GBZ@SY@zX2N78i_7|vOF2a=MFwJ|T3F|G@HmRP8wc11chN`-P
z#j9d%t)+`t(%TZY;K2u-qRY&3;2p6}}0RE58_-x4X6k-#}6x
z2&JGUzp17gUNrpTpEtSn=X6YN?OcVlzVu1q!~RU-2K8{mxwKEactR;X!)|M9{&(1Z
zX`?3A)ulLZiiVIB6q-X4&GVJu@{;_N_FR+}u96lR3~TUG>K#tT2$}UTCCl>wZ~N>p
zF2Z^&jP-pHj<-VLG!_k9=r~H*dW6@12uyPO4Pmr$wZLL_R69_VzB5!(BDjav+8ax_
ztKv4s1Ij6Su7g&jK7n*$=zpE*03_v8*an2NjUe_g1E
z4I+my&J&6%PkJtETAc!3PQ}*Zv>D9l*kDfT!DI~GH9_UF^{F#4q+s2ll?8`XhT34nsqsHS$aY-(ow37cX?QMa7~Z&jOJ&Sj2VnIE$XI|y6Iv_
zzMK*l>2->X-qC31LHv@(^tM$&$FpG=?&b3C++k7!UDrV4W+*J{BE4if_A*V!af~ze
zZ>a5C)M&>-Gd#?1Qx|RQFwdThBEiGD?dxU?rt9&F^^$>c-~s#Q-l|cVSjJ2;(cus`
zVA8_v%31uKtMIsTJA-gxNb)RDl(#J06_Hp4Uo)OCogN^mL>AQ~&Bl(GSl$2^_2-GD
zJN}m|EOxoNfYrC6)p@QykJSs&>I_$pVf8!F>Orm^#p>Hu^&aQh0dt-$>GSL*T-R&4
zHwA2|OM9GWgX)%4`Nu24`t}AGY;*tNK=a2{k=f^9OD%)r)mb}gd`}!it%&KziP+(Rsympzx@_T{(j=NtBL6WraK~2h~mMRtJ6gL$%$muH2`r4Nf3k#0bP{
zy$yDUNE#?6P_p+0p25?DL^p+0g})B|y7=o&0hJ~Vm3B?OD;J8>HYidjMPVVn?NjWg
zi#IGkAh}{QY;(kGG_nS5Zt@5)qI@`sqIU`k`>aSONXRj-;&E5f1uxJ%evFj^@?)%d
zTgD;+d6ec}mC&^*;D&+(D*>Uu>|_COw0x+TNGh5K^BLXm!Z)&5m%~uV2M0?`2lY0`
zX<$ULdgpvo%>RA37i&|Tj7)iT4Ensjy|xy#*xtgChbwT!j3$h6z&=jTrAB)O3BbDC
zX7PUGV+)!Pj?aK|&?LXk)j}v42pv&~;3n9IVqL;w#R?lul@Q#h-wxW<8`X9-vO^&B
zHdLTB`2F|Jw}VG(U`C=$=h$9at8D~L{bpU8vmUfd!Nc~P#20L}Zv;)*#RJ+c9ldU}
zx27N{N$xG)S6eFbm#Yz6hl}frm6jetSg(rkH8H=Ga;#!&LU#hOSGH2pAwkO=@dZ@45*Ng#3k|sfP4deu`(~ZsMMj%JPJcG=)
zkhM*7$C+XJHdO-;>wnH@}eRc
zwImCHX>`Y&Cp{G1L-MD9Z8#)@UJmW#)QZ;XYYj-}GU==SVU;T-pGS-wJ5nszP)8B!
zblCoStQd_`8O1Qu?}j>f4VxB31oSw9mP4Sg?*)1y1bSj#+cwOAPI9y~&HL0&znb@^
z2P?tOwuOlhycH1=&W
z@$yZsm?l%j!p>{9I^a-XD+*PYh3cmXgW)=2nC`TnZcz6(MbcrazDz_Igo%<9vmUN70sUxFxNk#c<_;5mi{?Sq-Vp
zOZ7&%n!cP&z%>V2MWx(z2D-Y7z{76mN|aKQCs&ZfBp|sqtzRYLLDGwN=~F(C2as
zkuP`-BEN;$2!@f*0&>J+lPC5jX;==z?hR)+D;x9UoUAYJoYJc6UemlR;@!kXPaS}t
zitu|bpns8793@LO3|fsg!%N2RJ42TGO5bj~wE-SL$nRkzfPWjwqC~uuUdlUtN;Gb5
zudIOXejM$=3G$jg?W_@$4Td|!7AG*i?5=g5?TuuVF?=QB!2wZCmjI~*L#f2og!`Z&
z4{Pj8vo)zhXg6_flw{P$2sh*WFmkV-b#&S&ur60bTtgcW7UNnhvYWsZkt%TybK*#&
zx9&k9$b=2~6$zPB$3hgi|J9+_ji`z<8sQ`~!>^Lb;V!?vN9qN!*RPdAx|%NkdMTof
zeYI0xn1*Bx`~6DcWl`^B`ILvV{97VE%U@&9cO%(-bax0<#I9Y^#PSq_#}!Id{Q(VU
zA|~dq#7bgQ8Qoe2B_)U`CGc`QON$CxPXrSY#c*Humo43g)Q4qUs`J8h
zv$9L~tD)|n^=Lytw3F#rC)0a%a%7iIfKm@c4!uaR|LCwU@fHU^i0;GrN{7w4R>|T$
zzU%ysE{Hf#PlwWZXe$2(=Ht@1@8djcNd6Nj=K}sLAC(Nve7m$?bIGjiLp;v6+F`z9
z!f^EWN*%FnRQT}KiDV;y&-&TWW)}J!HrzBLty9wBCSB>!FiD5a;*nN)jQZ^vl(1itT`D9a3gSZuI+hO96^gS3>*Ii;TaIv(Ne4MmfL=^lkmgxkU+5^%L
zL3Zx}nFdI^AQO>oQLQ;!H2EjA{Q07}k3*N>2Z8^*@c0w?!5(gI@I?cV{HGR6YsYb$
zRdu`FperO>+W}qJ$aa*9Hd=>_-?8h+!xy3R0QFWvr73TDt?b)j&WBS4)T}(3r-oPM
zNxPggi;?&J#KPlS_)msEL3d<@)2ImCv>Iou#s^~G@2T<}60op<1x)kIF2m@J4?{xq
dAY8U&o^!?=!k@YqnSP%';","","A.Audio = AudioImpl;","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"aui-aria\","," \"aui-node\","," \"aui-component\","," \"node-event-html5\","," \"querystring-stringify-simple\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_O0i3bWjzgXFmRzegsm3zHg = __coverage__['build/aui-audio/aui-audio.js'];
+__cov_O0i3bWjzgXFmRzegsm3zHg.s['1']++;YUI.add('aui-audio',function(A,NAME){__cov_O0i3bWjzgXFmRzegsm3zHg.f['1']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['2']++;var Lang=A.Lang,UA=A.UA,DOC=A.config.doc,owns=A.Object.owns,getClassName=A.getClassName,CSS_AUDIO_NODE=getClassName('audio','node'),REGEX_FILE_EXTENSION=/\.([^\.]+)$/;__cov_O0i3bWjzgXFmRzegsm3zHg.s['3']++;var AudioImpl=A.Component.create({NAME:'audio',ATTRS:{fixedAttributes:{value:{},validator:Lang.isObject},oggUrl:{value:'',validator:Lang.isString},render:{value:true,validator:Lang.isBoolean},role:{value:'application',validator:Lang.isString},type:{value:'mp3',validator:Lang.isString},url:{value:'',validator:Lang.isString},useARIA:{value:true,validator:Lang.isBoolean,writeOnce:'initOnly'}},BIND_UI_ATTRS:['url','oggUrl','fixedAttributes'],SYNC_UI_ATTRS:['url','oggUrl'],prototype:{renderUI:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['2']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['4']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['5']++;instance._renderAudioTask=A.debounce(instance._renderAudio,1,instance);__cov_O0i3bWjzgXFmRzegsm3zHg.s['6']++;instance._renderAudio(!instance.get('oggUrl'));__cov_O0i3bWjzgXFmRzegsm3zHg.s['7']++;instance._audio.on('play',A.bind('_onPlay',instance));__cov_O0i3bWjzgXFmRzegsm3zHg.s['8']++;instance._audio.on('pause',A.bind('_onPause',instance));},bindUI:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['3']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['9']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['10']++;instance.publish('audioReady',{fireOnce:true});__cov_O0i3bWjzgXFmRzegsm3zHg.s['11']++;instance.publish('play');__cov_O0i3bWjzgXFmRzegsm3zHg.s['12']++;instance.publish('pause');},syncUI:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['4']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['13']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['14']++;if(instance.get('useARIA')){__cov_O0i3bWjzgXFmRzegsm3zHg.b['1'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['15']++;instance.plug(A.Plugin.Aria,{roleName:instance.get('role')});}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['1'][1]++;}},load:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['5']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['16']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['17']++;if(instance._audio.hasMethod('load')){__cov_O0i3bWjzgXFmRzegsm3zHg.b['2'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['18']++;instance._audio.invoke('load');}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['2'][1]++;}},pause:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['6']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['19']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['20']++;if(instance._audio.hasMethod('pause')){__cov_O0i3bWjzgXFmRzegsm3zHg.b['3'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['21']++;instance._audio.invoke('pause');}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['3'][1]++;}},play:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['7']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['22']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['23']++;if(instance._audio.hasMethod('play')){__cov_O0i3bWjzgXFmRzegsm3zHg.b['4'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['24']++;instance._audio.invoke('play');}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['4'][1]++;}},_onPause:function(event){__cov_O0i3bWjzgXFmRzegsm3zHg.f['8']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['25']++;this.fire('play',{cropType:event.type});},_onPlay:function(event){__cov_O0i3bWjzgXFmRzegsm3zHg.f['9']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['26']++;this.fire('pause',{cropType:event.type});},_createSource:function(type){__cov_O0i3bWjzgXFmRzegsm3zHg.f['10']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['27']++;var sourceNode=new A.Node(DOC.createElement('source'));__cov_O0i3bWjzgXFmRzegsm3zHg.s['28']++;sourceNode.attr('type',type);__cov_O0i3bWjzgXFmRzegsm3zHg.s['29']++;return sourceNode;},_renderAudio:function(fallback){__cov_O0i3bWjzgXFmRzegsm3zHg.f['11']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['30']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['31']++;var tpl=AudioImpl.TPL_AUDIO;__cov_O0i3bWjzgXFmRzegsm3zHg.s['32']++;var tplObj=Lang.sub(tpl,[A.guid()]);__cov_O0i3bWjzgXFmRzegsm3zHg.s['33']++;var audio=A.Node.create(tplObj);__cov_O0i3bWjzgXFmRzegsm3zHg.s['34']++;instance.get('contentBox').append(audio);__cov_O0i3bWjzgXFmRzegsm3zHg.s['35']++;instance._audio=audio;__cov_O0i3bWjzgXFmRzegsm3zHg.s['36']++;return audio;},_uiSetOggUrl:function(val){__cov_O0i3bWjzgXFmRzegsm3zHg.f['12']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['37']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['38']++;if((__cov_O0i3bWjzgXFmRzegsm3zHg.b['6'][0]++,UA.gecko)||(__cov_O0i3bWjzgXFmRzegsm3zHg.b['6'][1]++,UA.opera)){__cov_O0i3bWjzgXFmRzegsm3zHg.b['5'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['39']++;var audio=instance._audio;__cov_O0i3bWjzgXFmRzegsm3zHg.s['40']++;var usingAudio=instance._usingAudio();__cov_O0i3bWjzgXFmRzegsm3zHg.s['41']++;if((__cov_O0i3bWjzgXFmRzegsm3zHg.b['8'][0]++,!val)&&(__cov_O0i3bWjzgXFmRzegsm3zHg.b['8'][1]++,usingAudio)||(__cov_O0i3bWjzgXFmRzegsm3zHg.b['8'][2]++,val)&&(__cov_O0i3bWjzgXFmRzegsm3zHg.b['8'][3]++,!usingAudio)){__cov_O0i3bWjzgXFmRzegsm3zHg.b['7'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['42']++;audio.remove(true);__cov_O0i3bWjzgXFmRzegsm3zHg.s['43']++;audio=instance._renderAudio(!val);}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['7'][1]++;}__cov_O0i3bWjzgXFmRzegsm3zHg.s['44']++;if(val){__cov_O0i3bWjzgXFmRzegsm3zHg.b['9'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['45']++;var sourceOgg=instance._sourceOgg;__cov_O0i3bWjzgXFmRzegsm3zHg.s['46']++;if(!sourceOgg){__cov_O0i3bWjzgXFmRzegsm3zHg.b['10'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['47']++;sourceOgg=instance._createSource('audio/ogg');__cov_O0i3bWjzgXFmRzegsm3zHg.s['48']++;audio.append(sourceOgg);__cov_O0i3bWjzgXFmRzegsm3zHg.s['49']++;instance._sourceOgg=sourceOgg;}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['10'][1]++;}__cov_O0i3bWjzgXFmRzegsm3zHg.s['50']++;sourceOgg.attr('src',val);}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['9'][1]++;}}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['5'][1]++;}},_uiSetUrl:function(val){__cov_O0i3bWjzgXFmRzegsm3zHg.f['13']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['51']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['52']++;var oggUrl=instance.get('oggUrl');__cov_O0i3bWjzgXFmRzegsm3zHg.s['53']++;var audio=instance._audio;__cov_O0i3bWjzgXFmRzegsm3zHg.s['54']++;var sourceMp3=instance._sourceMp3;__cov_O0i3bWjzgXFmRzegsm3zHg.s['55']++;if((__cov_O0i3bWjzgXFmRzegsm3zHg.b['12'][0]++,UA.gecko)&&(__cov_O0i3bWjzgXFmRzegsm3zHg.b['12'][1]++,!instance._usingAudio())){__cov_O0i3bWjzgXFmRzegsm3zHg.b['11'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['56']++;if(sourceMp3){__cov_O0i3bWjzgXFmRzegsm3zHg.b['13'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['57']++;sourceMp3.remove(true);__cov_O0i3bWjzgXFmRzegsm3zHg.s['58']++;instance._sourceMp3=null;}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['13'][1]++;}}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['11'][1]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['59']++;if((__cov_O0i3bWjzgXFmRzegsm3zHg.b['15'][0]++,audio)||(__cov_O0i3bWjzgXFmRzegsm3zHg.b['15'][1]++,!oggUrl)){__cov_O0i3bWjzgXFmRzegsm3zHg.b['14'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['60']++;if(!sourceMp3){__cov_O0i3bWjzgXFmRzegsm3zHg.b['16'][0]++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['61']++;sourceMp3=instance._createSource('audio/mp3');__cov_O0i3bWjzgXFmRzegsm3zHg.s['62']++;audio.append(sourceMp3);__cov_O0i3bWjzgXFmRzegsm3zHg.s['63']++;instance._sourceMp3=sourceMp3;}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['16'][1]++;}__cov_O0i3bWjzgXFmRzegsm3zHg.s['64']++;sourceMp3.attr('src',val);}else{__cov_O0i3bWjzgXFmRzegsm3zHg.b['14'][1]++;}}},_usingAudio:function(){__cov_O0i3bWjzgXFmRzegsm3zHg.f['14']++;__cov_O0i3bWjzgXFmRzegsm3zHg.s['65']++;var instance=this;__cov_O0i3bWjzgXFmRzegsm3zHg.s['66']++;return instance._audio.get('nodeName').toLowerCase()==='audio';}}});__cov_O0i3bWjzgXFmRzegsm3zHg.s['67']++;AudioImpl.TPL_AUDIO=' ';__cov_O0i3bWjzgXFmRzegsm3zHg.s['68']++;A.Audio=AudioImpl;},'3.1.0-deprecated.52',{'requires':['aui-aria','aui-node','aui-component','node-event-html5','querystring-stringify-simple'],'skinnable':true});
diff --git a/build/aui-audio/aui-audio-debug.js b/build/aui-audio/aui-audio-debug.js
new file mode 100644
index 00000000000..83cf25dbc4c
--- /dev/null
+++ b/build/aui-audio/aui-audio-debug.js
@@ -0,0 +1,429 @@
+YUI.add('aui-audio', function (A, NAME) {
+
+/**
+ * The Audio Component
+ *
+ * @module aui-audio
+ */
+
+var Lang = A.Lang,
+ UA = A.UA,
+ DOC = A.config.doc,
+
+ owns = A.Object.owns,
+
+ getClassName = A.getClassName,
+
+ CSS_AUDIO_NODE = getClassName('audio', 'node'),
+
+ REGEX_FILE_EXTENSION = /\.([^\.]+)$/;
+
+/**
+ * A base class for Audio.
+ *
+ * Check the [live demo](http://alloyui.com/examples/audio/).
+ *
+ * @class A.Audio
+ * @extends A.Component
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/audio/basic-markup.html
+ * @include http://alloyui.com/examples/audio/basic.js
+ */
+var AudioImpl = A.Component.create({
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'audio',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Audio.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * An additional list of attributes.
+ *
+ * @attribute fixedAttributes
+ * @default {}
+ * @type Object
+ */
+ fixedAttributes: {
+ value: {},
+ validator: Lang.isObject
+ },
+
+ /**
+ * URL (on .ogg format) used by Audio to play.
+ *
+ * @attribute oggUrl
+ * @default ''
+ * @type String
+ */
+ oggUrl: {
+ value: '',
+ validator: Lang.isString
+ },
+
+ /**
+ * If `true` the render phase will be automatically invoked
+ * preventing the `.render()` manual call.
+ *
+ * @attribute render
+ * @default true
+ * @type Boolean
+ */
+ render: {
+ value: true,
+ validator: Lang.isBoolean
+ },
+
+ /**
+ * Sets the `aria-role` for Audio.
+ *
+ * @attribute role
+ * @type String
+ */
+ role: {
+ value: 'application',
+ validator: Lang.isString
+ },
+
+ /**
+ * The type of audio.
+ *
+ * @attribute type
+ * @default mp3
+ * @type String
+ */
+ type: {
+ value: 'mp3',
+ validator: Lang.isString
+ },
+
+ /**
+ * URL used by Audio to play.
+ *
+ * @attribute url
+ * @default ''
+ * @type String
+ */
+ url: {
+ value: '',
+ validator: Lang.isString
+ },
+
+ /**
+ * Boolean indicating if use of the WAI-ARIA Roles and States
+ * should be enabled.
+ *
+ * @attribute useARIA
+ * @default true
+ * @type Boolean
+ */
+ useARIA: {
+ value: true,
+ validator: Lang.isBoolean,
+ writeOnce: 'initOnly'
+ }
+ },
+
+ /**
+ * Static property used to define the attributes
+ * for the bindUI lifecycle phase.
+ *
+ * @property BIND_UI_ATTRS
+ * @type Array
+ * @static
+ */
+ BIND_UI_ATTRS: ['url', 'oggUrl', 'fixedAttributes'],
+
+ /**
+ * Static property used to define the attributes
+ * for the syncUI lifecycle phase.
+ *
+ * @property SYNC_UI_ATTRS
+ * @type Array
+ * @static
+ */
+ SYNC_UI_ATTRS: ['url', 'oggUrl'],
+
+ prototype: {
+
+ /**
+ * Render the Audio component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderAudioTask = A.debounce(instance._renderAudio, 1, instance);
+
+ instance._renderAudio(!instance.get('oggUrl'));
+
+ instance._audio.on(
+ 'play',
+ A.bind('_onPlay', instance)
+ );
+
+ instance._audio.on(
+ 'pause',
+ A.bind('_onPause', instance)
+ );
+
+ },
+
+ /**
+ * Bind the events on the Audio UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.publish(
+ 'audioReady',
+ {
+ fireOnce: true
+ }
+ );
+
+ instance.publish('play');
+ instance.publish('pause');
+ },
+
+ /**
+ * Sync the Audio UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ if (instance.get('useARIA')) {
+ instance.plug(A.Plugin.Aria, {
+ roleName: instance.get('role')
+ });
+ }
+ },
+
+ /**
+ * Load audio track.
+ *
+ * @method load
+ */
+ load: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('load')) {
+ instance._audio.invoke('load');
+ }
+ },
+
+ /**
+ * Pause audio track.
+ *
+ * @method pause
+ */
+ pause: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('pause')) {
+ instance._audio.invoke('pause');
+ }
+ },
+
+ /**
+ * Play audio track.
+ *
+ * @method play
+ */
+ play: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('play')) {
+ instance._audio.invoke('play');
+ }
+ },
+
+ /**
+ * Fires on video pause event fires.
+ *
+ * @method _onPause
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onPause: function (event) {
+ this.fire('play', {
+ cropType: event.type
+ });
+ },
+
+ /**
+ * Fires on video play event fires.
+ *
+ * @method _onPlay
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onPlay: function (event) {
+ this.fire('pause', {
+ cropType: event.type
+ });
+ },
+
+ /**
+ * Create `source` element
+ * using passed type attribute.
+ *
+ * @method _createSource
+ * @param type
+ * @protected
+ */
+ _createSource: function(type) {
+ var sourceNode = new A.Node(DOC.createElement('source'));
+
+ sourceNode.attr('type', type);
+
+ return sourceNode;
+ },
+
+ /**
+ * Render Audio in DOM.
+ *
+ * @method _renderAudio
+ * @param fallback
+ * @protected
+ */
+ _renderAudio: function(fallback) {
+ var instance = this;
+
+ var tpl = AudioImpl.TPL_AUDIO;
+
+ var tplObj = Lang.sub(tpl, [A.guid()]);
+
+ var audio = A.Node.create(tplObj);
+
+ instance.get('contentBox').append(audio);
+
+ instance._audio = audio;
+
+ return audio;
+ },
+
+ /**
+ * Set the `oggUrl` on the UI.
+ *
+ * @method _uiSetOggUrl
+ * @param val
+ * @protected
+ */
+ _uiSetOggUrl: function(val) {
+ var instance = this;
+
+ if (UA.gecko || UA.opera) {
+ var audio = instance._audio;
+
+ var usingAudio = instance._usingAudio();
+
+ if ((!val && usingAudio) || (val && !usingAudio)) {
+ audio.remove(true);
+
+ audio = instance._renderAudio(!val);
+ }
+
+ if (val) {
+ var sourceOgg = instance._sourceOgg;
+
+ if (!sourceOgg) {
+ sourceOgg = instance._createSource('audio/ogg');
+
+ audio.append(sourceOgg);
+
+ instance._sourceOgg = sourceOgg;
+ }
+
+ sourceOgg.attr('src', val);
+ }
+ }
+ },
+
+ /**
+ * Set the `url` on the UI.
+ *
+ * @method _uiSetUrl
+ * @param val
+ * @protected
+ */
+ _uiSetUrl: function(val) {
+ var instance = this;
+
+ var oggUrl = instance.get('oggUrl');
+ var audio = instance._audio;
+
+ var sourceMp3 = instance._sourceMp3;
+
+ if (UA.gecko && !instance._usingAudio()) {
+ if (sourceMp3) {
+ sourceMp3.remove(true);
+
+ instance._sourceMp3 = null;
+ }
+ }
+ else {
+ if (audio || !oggUrl) {
+ if (!sourceMp3) {
+ sourceMp3 = instance._createSource('audio/mp3');
+
+ audio.append(sourceMp3);
+
+ instance._sourceMp3 = sourceMp3;
+ }
+
+ sourceMp3.attr('src', val);
+ }
+ }
+ },
+
+ /**
+ * Check if it's a `video` node.
+ *
+ * @method _usingVideo
+ * @protected
+ */
+ _usingAudio: function() {
+ var instance = this;
+
+ return (instance._audio.get('nodeName').toLowerCase() === 'audio');
+ }
+ }
+});
+
+AudioImpl.TPL_AUDIO = ' ';
+
+A.Audio = AudioImpl;
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "node-event-html5",
+ "querystring-stringify-simple"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-audio/aui-audio-min.js b/build/aui-audio/aui-audio-min.js
new file mode 100644
index 00000000000..804df8190cd
--- /dev/null
+++ b/build/aui-audio/aui-audio-min.js
@@ -0,0 +1 @@
+YUI.add("aui-audio",function(e,t){var n=e.Lang,r=e.UA,i=e.config.doc,s=e.Object.owns,o=e.getClassName,u=o("audio","node"),a=/\.([^\.]+)$/,f=e.Component.create({NAME:"audio",ATTRS:{fixedAttributes:{value:{},validator:n.isObject},oggUrl:{value:"",validator:n.isString},render:{value:!0,validator:n.isBoolean},role:{value:"application",validator:n.isString},type:{value:"mp3",validator:n.isString},url:{value:"",validator:n.isString},useARIA:{value:!0,validator:n.isBoolean,writeOnce:"initOnly"}},BIND_UI_ATTRS:["url","oggUrl","fixedAttributes"],SYNC_UI_ATTRS:["url","oggUrl"],prototype:{renderUI:function(){var t=this;t._renderAudioTask=e.debounce(t._renderAudio,1,t),t._renderAudio(!t.get("oggUrl")),t._audio.on("play",e.bind("_onPlay",t)),t._audio.on("pause",e.bind("_onPause",t))},bindUI:function(){var e=this;e.publish("audioReady",{fireOnce:!0}),e.publish("play"),e.publish("pause")},syncUI:function(){var t=this;t.get("useARIA")&&t.plug(e.Plugin.Aria,{roleName:t.get("role")})},load:function(){var e=this;e._audio.hasMethod("load")&&e._audio.invoke("load")},pause:function(){var e=this;e._audio.hasMethod("pause")&&e._audio.invoke("pause")},play:function(){var e=this;e._audio.hasMethod("play")&&e._audio.invoke("play")},_onPause:function(e){this.fire("play",{cropType:e.type})},_onPlay:function(e){this.fire("pause",{cropType:e.type})},_createSource:function(t){var n=new e.Node(i.createElement("source"));return n.attr("type",t),n},_renderAudio:function(t){var r=this,i=f.TPL_AUDIO,s=n.sub(i,[e.guid()]),o=e.Node.create(s);return r.get("contentBox").append(o),r._audio=o,o},_uiSetOggUrl:function(e){var t=this;if(r.gecko||r.opera){var n=t._audio,i=t._usingAudio();if(!e&&i||e&&!i)n.remove(!0),n=t._renderAudio(!e);if(e){var s=t._sourceOgg;s||(s=t._createSource("audio/ogg"),n.append(s),t._sourceOgg=s),s.attr("src",e)}}},_uiSetUrl:function(e){var t=this,n=t.get("oggUrl"),i=t._audio,s=t._sourceMp3;if(r.gecko&&!t._usingAudio())s&&(s.remove(!0),t._sourceMp3=null);else if(i||!n)s||(s=t._createSource("audio/mp3"),i.append(s),t._sourceMp3=s),s.attr("src",e)},_usingAudio:function(){var e=this;return e._audio.get("nodeName").toLowerCase()==="audio"}}});f.TPL_AUDIO=' ',e.Audio=f},"3.1.0-deprecated.52",{requires:["aui-aria","aui-node","aui-component","node-event-html5","querystring-stringify-simple"],skinnable:!0});
diff --git a/build/aui-audio/aui-audio.js b/build/aui-audio/aui-audio.js
new file mode 100644
index 00000000000..83cf25dbc4c
--- /dev/null
+++ b/build/aui-audio/aui-audio.js
@@ -0,0 +1,429 @@
+YUI.add('aui-audio', function (A, NAME) {
+
+/**
+ * The Audio Component
+ *
+ * @module aui-audio
+ */
+
+var Lang = A.Lang,
+ UA = A.UA,
+ DOC = A.config.doc,
+
+ owns = A.Object.owns,
+
+ getClassName = A.getClassName,
+
+ CSS_AUDIO_NODE = getClassName('audio', 'node'),
+
+ REGEX_FILE_EXTENSION = /\.([^\.]+)$/;
+
+/**
+ * A base class for Audio.
+ *
+ * Check the [live demo](http://alloyui.com/examples/audio/).
+ *
+ * @class A.Audio
+ * @extends A.Component
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/audio/basic-markup.html
+ * @include http://alloyui.com/examples/audio/basic.js
+ */
+var AudioImpl = A.Component.create({
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type String
+ * @static
+ */
+ NAME: 'audio',
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the Audio.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * An additional list of attributes.
+ *
+ * @attribute fixedAttributes
+ * @default {}
+ * @type Object
+ */
+ fixedAttributes: {
+ value: {},
+ validator: Lang.isObject
+ },
+
+ /**
+ * URL (on .ogg format) used by Audio to play.
+ *
+ * @attribute oggUrl
+ * @default ''
+ * @type String
+ */
+ oggUrl: {
+ value: '',
+ validator: Lang.isString
+ },
+
+ /**
+ * If `true` the render phase will be automatically invoked
+ * preventing the `.render()` manual call.
+ *
+ * @attribute render
+ * @default true
+ * @type Boolean
+ */
+ render: {
+ value: true,
+ validator: Lang.isBoolean
+ },
+
+ /**
+ * Sets the `aria-role` for Audio.
+ *
+ * @attribute role
+ * @type String
+ */
+ role: {
+ value: 'application',
+ validator: Lang.isString
+ },
+
+ /**
+ * The type of audio.
+ *
+ * @attribute type
+ * @default mp3
+ * @type String
+ */
+ type: {
+ value: 'mp3',
+ validator: Lang.isString
+ },
+
+ /**
+ * URL used by Audio to play.
+ *
+ * @attribute url
+ * @default ''
+ * @type String
+ */
+ url: {
+ value: '',
+ validator: Lang.isString
+ },
+
+ /**
+ * Boolean indicating if use of the WAI-ARIA Roles and States
+ * should be enabled.
+ *
+ * @attribute useARIA
+ * @default true
+ * @type Boolean
+ */
+ useARIA: {
+ value: true,
+ validator: Lang.isBoolean,
+ writeOnce: 'initOnly'
+ }
+ },
+
+ /**
+ * Static property used to define the attributes
+ * for the bindUI lifecycle phase.
+ *
+ * @property BIND_UI_ATTRS
+ * @type Array
+ * @static
+ */
+ BIND_UI_ATTRS: ['url', 'oggUrl', 'fixedAttributes'],
+
+ /**
+ * Static property used to define the attributes
+ * for the syncUI lifecycle phase.
+ *
+ * @property SYNC_UI_ATTRS
+ * @type Array
+ * @static
+ */
+ SYNC_UI_ATTRS: ['url', 'oggUrl'],
+
+ prototype: {
+
+ /**
+ * Render the Audio component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderAudioTask = A.debounce(instance._renderAudio, 1, instance);
+
+ instance._renderAudio(!instance.get('oggUrl'));
+
+ instance._audio.on(
+ 'play',
+ A.bind('_onPlay', instance)
+ );
+
+ instance._audio.on(
+ 'pause',
+ A.bind('_onPause', instance)
+ );
+
+ },
+
+ /**
+ * Bind the events on the Audio UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.publish(
+ 'audioReady',
+ {
+ fireOnce: true
+ }
+ );
+
+ instance.publish('play');
+ instance.publish('pause');
+ },
+
+ /**
+ * Sync the Audio UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ if (instance.get('useARIA')) {
+ instance.plug(A.Plugin.Aria, {
+ roleName: instance.get('role')
+ });
+ }
+ },
+
+ /**
+ * Load audio track.
+ *
+ * @method load
+ */
+ load: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('load')) {
+ instance._audio.invoke('load');
+ }
+ },
+
+ /**
+ * Pause audio track.
+ *
+ * @method pause
+ */
+ pause: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('pause')) {
+ instance._audio.invoke('pause');
+ }
+ },
+
+ /**
+ * Play audio track.
+ *
+ * @method play
+ */
+ play: function() {
+ var instance = this;
+
+ if (instance._audio.hasMethod('play')) {
+ instance._audio.invoke('play');
+ }
+ },
+
+ /**
+ * Fires on video pause event fires.
+ *
+ * @method _onPause
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onPause: function (event) {
+ this.fire('play', {
+ cropType: event.type
+ });
+ },
+
+ /**
+ * Fires on video play event fires.
+ *
+ * @method _onPlay
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onPlay: function (event) {
+ this.fire('pause', {
+ cropType: event.type
+ });
+ },
+
+ /**
+ * Create `source` element
+ * using passed type attribute.
+ *
+ * @method _createSource
+ * @param type
+ * @protected
+ */
+ _createSource: function(type) {
+ var sourceNode = new A.Node(DOC.createElement('source'));
+
+ sourceNode.attr('type', type);
+
+ return sourceNode;
+ },
+
+ /**
+ * Render Audio in DOM.
+ *
+ * @method _renderAudio
+ * @param fallback
+ * @protected
+ */
+ _renderAudio: function(fallback) {
+ var instance = this;
+
+ var tpl = AudioImpl.TPL_AUDIO;
+
+ var tplObj = Lang.sub(tpl, [A.guid()]);
+
+ var audio = A.Node.create(tplObj);
+
+ instance.get('contentBox').append(audio);
+
+ instance._audio = audio;
+
+ return audio;
+ },
+
+ /**
+ * Set the `oggUrl` on the UI.
+ *
+ * @method _uiSetOggUrl
+ * @param val
+ * @protected
+ */
+ _uiSetOggUrl: function(val) {
+ var instance = this;
+
+ if (UA.gecko || UA.opera) {
+ var audio = instance._audio;
+
+ var usingAudio = instance._usingAudio();
+
+ if ((!val && usingAudio) || (val && !usingAudio)) {
+ audio.remove(true);
+
+ audio = instance._renderAudio(!val);
+ }
+
+ if (val) {
+ var sourceOgg = instance._sourceOgg;
+
+ if (!sourceOgg) {
+ sourceOgg = instance._createSource('audio/ogg');
+
+ audio.append(sourceOgg);
+
+ instance._sourceOgg = sourceOgg;
+ }
+
+ sourceOgg.attr('src', val);
+ }
+ }
+ },
+
+ /**
+ * Set the `url` on the UI.
+ *
+ * @method _uiSetUrl
+ * @param val
+ * @protected
+ */
+ _uiSetUrl: function(val) {
+ var instance = this;
+
+ var oggUrl = instance.get('oggUrl');
+ var audio = instance._audio;
+
+ var sourceMp3 = instance._sourceMp3;
+
+ if (UA.gecko && !instance._usingAudio()) {
+ if (sourceMp3) {
+ sourceMp3.remove(true);
+
+ instance._sourceMp3 = null;
+ }
+ }
+ else {
+ if (audio || !oggUrl) {
+ if (!sourceMp3) {
+ sourceMp3 = instance._createSource('audio/mp3');
+
+ audio.append(sourceMp3);
+
+ instance._sourceMp3 = sourceMp3;
+ }
+
+ sourceMp3.attr('src', val);
+ }
+ }
+ },
+
+ /**
+ * Check if it's a `video` node.
+ *
+ * @method _usingVideo
+ * @protected
+ */
+ _usingAudio: function() {
+ var instance = this;
+
+ return (instance._audio.get('nodeName').toLowerCase() === 'audio');
+ }
+ }
+});
+
+AudioImpl.TPL_AUDIO = ' ';
+
+A.Audio = AudioImpl;
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "node-event-html5",
+ "querystring-stringify-simple"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-autocomplete-deprecated/assets/aui-autocomplete-deprecated-core.css b/build/aui-autocomplete-deprecated/assets/aui-autocomplete-deprecated-core.css
new file mode 100644
index 00000000000..6cb1a7ed5e1
--- /dev/null
+++ b/build/aui-autocomplete-deprecated/assets/aui-autocomplete-deprecated-core.css
@@ -0,0 +1,24 @@
+.autocomplete-content .toolbar {
+ display: inline-block;
+ position: absolute;
+}
+.autocomplete-trigger {
+ cursor: pointer;
+ display: inline-block;
+ float: none;
+}
+.autocomplete-list-item {
+ border: 1px solid #fff;
+ list-style: none;
+ margin: 0;
+ padding: 0 3px;
+}
+.autocomplete-results-content {
+ border: 1px solid #98c0f4;
+ height: 100%;
+ overflow-y: auto;
+}
+.autocomplete-selected {
+ background: #dfe8f6;
+ border-color: #a3bae9;
+}
\ No newline at end of file
diff --git a/build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated-skin.css b/build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated.css b/build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated.css
new file mode 100644
index 00000000000..984412a27c1
--- /dev/null
+++ b/build/aui-autocomplete-deprecated/assets/skins/sam/aui-autocomplete-deprecated.css
@@ -0,0 +1 @@
+.autocomplete-content .toolbar{display:inline-block;position:absolute}.autocomplete-trigger{cursor:pointer;display:inline-block;float:none}.autocomplete-list-item{border:1px solid #fff;list-style:none;margin:0;padding:0 3px}.autocomplete-results-content{border:1px solid #98c0f4;height:100%;overflow-y:auto}.autocomplete-selected{background:#dfe8f6;border-color:#a3bae9}#yui3-css-stamp.skin-sam-aui-autocomplete-deprecated{display:none}
diff --git a/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-coverage.js b/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-coverage.js
new file mode 100644
index 00000000000..df11623a2ed
--- /dev/null
+++ b/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-autocomplete-deprecated/aui-autocomplete-deprecated.js']) {
+ __coverage__['build/aui-autocomplete-deprecated/aui-autocomplete-deprecated.js'] = {"path":"build/aui-autocomplete-deprecated/aui-autocomplete-deprecated.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":0,"537":0,"538":0,"539":0,"540":0,"541":0,"542":0,"543":0,"544":0,"545":0,"546":0,"547":0,"548":0,"549":0,"550":0,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":0,"561":0,"562":0,"563":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0,0,0],"46":[0,0],"47":[0,0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0,0],"57":[0,0],"58":[0,0],"59":[0,0,0,0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0,0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,0,0],"110":[0,0],"111":[0,0],"112":[0,0],"113":[0,0],"114":[0,0],"115":[0,0],"116":[0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,0],"121":[0,0],"122":[0,0],"123":[0,0],"124":[0,0],"125":[0,0,0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0,0],"141":[0,0],"142":[0,0],"143":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":39},"end":{"line":1,"column":58}}},"2":{"name":"(anonymous_2)","line":204,"loc":{"start":{"line":204,"column":20},"end":{"line":204,"column":36}}},"3":{"name":"(anonymous_3)","line":282,"loc":{"start":{"line":282,"column":20},"end":{"line":282,"column":36}}},"4":{"name":"(anonymous_4)","line":298,"loc":{"start":{"line":298,"column":20},"end":{"line":298,"column":36}}},"5":{"name":"(anonymous_5)","line":400,"loc":{"start":{"line":400,"column":20},"end":{"line":400,"column":36}}},"6":{"name":"(anonymous_6)","line":424,"loc":{"start":{"line":424,"column":21},"end":{"line":424,"column":38}}},"7":{"name":"(anonymous_7)","line":438,"loc":{"start":{"line":438,"column":18},"end":{"line":438,"column":29}}},"8":{"name":"(anonymous_8)","line":451,"loc":{"start":{"line":451,"column":16},"end":{"line":451,"column":27}}},"9":{"name":"(anonymous_9)","line":630,"loc":{"start":{"line":630,"column":16},"end":{"line":630,"column":27}}},"10":{"name":"(anonymous_10)","line":643,"loc":{"start":{"line":643,"column":20},"end":{"line":643,"column":31}}},"11":{"name":"(anonymous_11)","line":658,"loc":{"start":{"line":658,"column":33},"end":{"line":658,"column":44}}},"12":{"name":"(anonymous_12)","line":669,"loc":{"start":{"line":669,"column":26},"end":{"line":669,"column":42}}},"13":{"name":"(anonymous_13)","line":681,"loc":{"start":{"line":681,"column":23},"end":{"line":681,"column":39}}},"14":{"name":"(anonymous_14)","line":754,"loc":{"start":{"line":754,"column":22},"end":{"line":754,"column":61}}},"15":{"name":"(anonymous_15)","line":767,"loc":{"start":{"line":767,"column":25},"end":{"line":767,"column":41}}},"16":{"name":"(anonymous_16)","line":780,"loc":{"start":{"line":780,"column":24},"end":{"line":780,"column":40}}},"17":{"name":"(anonymous_17)","line":800,"loc":{"start":{"line":800,"column":19},"end":{"line":800,"column":35}}},"18":{"name":"(anonymous_18)","line":820,"loc":{"start":{"line":820,"column":24},"end":{"line":820,"column":35}}},"19":{"name":"(anonymous_19)","line":838,"loc":{"start":{"line":838,"column":25},"end":{"line":838,"column":36}}},"20":{"name":"(anonymous_20)","line":863,"loc":{"start":{"line":863,"column":27},"end":{"line":863,"column":38}}},"21":{"name":"(anonymous_21)","line":940,"loc":{"start":{"line":940,"column":34},"end":{"line":940,"column":45}}},"22":{"name":"(anonymous_22)","line":958,"loc":{"start":{"line":958,"column":23},"end":{"line":958,"column":39}}},"23":{"name":"(anonymous_23)","line":1012,"loc":{"start":{"line":1012,"column":16},"end":{"line":1012,"column":27}}},"24":{"name":"(anonymous_24)","line":1016,"loc":{"start":{"line":1016,"column":16},"end":{"line":1016,"column":27}}},"25":{"name":"(anonymous_25)","line":1030,"loc":{"start":{"line":1030,"column":24},"end":{"line":1030,"column":35}}},"26":{"name":"(anonymous_26)","line":1049,"loc":{"start":{"line":1049,"column":24},"end":{"line":1049,"column":42}}},"27":{"name":"(anonymous_27)","line":1162,"loc":{"start":{"line":1162,"column":28},"end":{"line":1162,"column":44}}},"28":{"name":"(anonymous_28)","line":1179,"loc":{"start":{"line":1179,"column":27},"end":{"line":1179,"column":43}}},"29":{"name":"(anonymous_29)","line":1216,"loc":{"start":{"line":1216,"column":30},"end":{"line":1216,"column":46}}},"30":{"name":"(anonymous_30)","line":1263,"loc":{"start":{"line":1263,"column":31},"end":{"line":1263,"column":47}}},"31":{"name":"(anonymous_31)","line":1305,"loc":{"start":{"line":1305,"column":28},"end":{"line":1305,"column":44}}},"32":{"name":"(anonymous_32)","line":1318,"loc":{"start":{"line":1318,"column":21},"end":{"line":1318,"column":32}}},"33":{"name":"(anonymous_33)","line":1338,"loc":{"start":{"line":1338,"column":24},"end":{"line":1338,"column":40}}},"34":{"name":"(anonymous_34)","line":1386,"loc":{"start":{"line":1386,"column":25},"end":{"line":1386,"column":41}}},"35":{"name":"(anonymous_35)","line":1405,"loc":{"start":{"line":1405,"column":27},"end":{"line":1405,"column":43}}},"36":{"name":"(anonymous_36)","line":1483,"loc":{"start":{"line":1483,"column":28},"end":{"line":1483,"column":44}}},"37":{"name":"(anonymous_37)","line":1527,"loc":{"start":{"line":1527,"column":25},"end":{"line":1527,"column":41}}},"38":{"name":"(anonymous_38)","line":1548,"loc":{"start":{"line":1548,"column":23},"end":{"line":1548,"column":39}}},"39":{"name":"(anonymous_39)","line":1593,"loc":{"start":{"line":1593,"column":28},"end":{"line":1593,"column":56}}},"40":{"name":"(anonymous_40)","line":1662,"loc":{"start":{"line":1662,"column":27},"end":{"line":1662,"column":43}}},"41":{"name":"(anonymous_41)","line":1678,"loc":{"start":{"line":1678,"column":22},"end":{"line":1678,"column":33}}},"42":{"name":"(anonymous_42)","line":1734,"loc":{"start":{"line":1734,"column":29},"end":{"line":1734,"column":40}}},"43":{"name":"(anonymous_43)","line":1757,"loc":{"start":{"line":1757,"column":24},"end":{"line":1757,"column":35}}},"44":{"name":"(anonymous_44)","line":1797,"loc":{"start":{"line":1797,"column":21},"end":{"line":1797,"column":42}}},"45":{"name":"(anonymous_45)","line":1820,"loc":{"start":{"line":1820,"column":20},"end":{"line":1820,"column":36}}},"46":{"name":"(anonymous_46)","line":1868,"loc":{"start":{"line":1868,"column":28},"end":{"line":1868,"column":39}}},"47":{"name":"(anonymous_47)","line":1897,"loc":{"start":{"line":1897,"column":26},"end":{"line":1897,"column":41}}},"48":{"name":"(anonymous_48)","line":1931,"loc":{"start":{"line":1931,"column":26},"end":{"line":1931,"column":58}}},"49":{"name":"(anonymous_49)","line":1957,"loc":{"start":{"line":1957,"column":20},"end":{"line":1957,"column":48}}},"50":{"name":"(anonymous_50)","line":1968,"loc":{"start":{"line":1968,"column":20},"end":{"line":1968,"column":31}}},"51":{"name":"(anonymous_51)","line":1997,"loc":{"start":{"line":1997,"column":22},"end":{"line":1997,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":2062,"column":3}},"2":{"start":{"line":9,"column":0},"end":{"line":59,"column":31}},"3":{"start":{"line":98,"column":0},"end":{"line":2048,"column":3}},"4":{"start":{"line":205,"column":16},"end":{"line":210,"column":17}},"5":{"start":{"line":206,"column":20},"end":{"line":206,"column":36}},"6":{"start":{"line":208,"column":21},"end":{"line":210,"column":17}},"7":{"start":{"line":209,"column":20},"end":{"line":209,"column":54}},"8":{"start":{"line":212,"column":16},"end":{"line":212,"column":29}},"9":{"start":{"line":283,"column":16},"end":{"line":283,"column":36}},"10":{"start":{"line":299,"column":16},"end":{"line":299,"column":36}},"11":{"start":{"line":401,"column":16},"end":{"line":401,"column":36}},"12":{"start":{"line":425,"column":12},"end":{"line":425,"column":32}},"13":{"start":{"line":427,"column":12},"end":{"line":427,"column":62}},"14":{"start":{"line":429,"column":12},"end":{"line":429,"column":41}},"15":{"start":{"line":439,"column":12},"end":{"line":439,"column":32}},"16":{"start":{"line":441,"column":12},"end":{"line":441,"column":36}},"17":{"start":{"line":442,"column":12},"end":{"line":442,"column":38}},"18":{"start":{"line":452,"column":12},"end":{"line":452,"column":32}},"19":{"start":{"line":454,"column":12},"end":{"line":454,"column":41}},"20":{"start":{"line":455,"column":12},"end":{"line":455,"column":47}},"21":{"start":{"line":457,"column":12},"end":{"line":457,"column":94}},"22":{"start":{"line":459,"column":12},"end":{"line":459,"column":70}},"23":{"start":{"line":461,"column":12},"end":{"line":461,"column":68}},"24":{"start":{"line":462,"column":12},"end":{"line":462,"column":70}},"25":{"start":{"line":463,"column":12},"end":{"line":463,"column":74}},"26":{"start":{"line":464,"column":12},"end":{"line":464,"column":76}},"27":{"start":{"line":465,"column":12},"end":{"line":465,"column":70}},"28":{"start":{"line":467,"column":12},"end":{"line":467,"column":72}},"29":{"start":{"line":469,"column":12},"end":{"line":469,"column":81}},"30":{"start":{"line":470,"column":12},"end":{"line":470,"column":87}},"31":{"start":{"line":471,"column":12},"end":{"line":471,"column":89}},"32":{"start":{"line":472,"column":12},"end":{"line":472,"column":83}},"33":{"start":{"line":480,"column":12},"end":{"line":480,"column":50}},"34":{"start":{"line":488,"column":12},"end":{"line":488,"column":48}},"35":{"start":{"line":496,"column":12},"end":{"line":496,"column":50}},"36":{"start":{"line":504,"column":12},"end":{"line":504,"column":42}},"37":{"start":{"line":512,"column":12},"end":{"line":512,"column":44}},"38":{"start":{"line":520,"column":12},"end":{"line":520,"column":43}},"39":{"start":{"line":529,"column":12},"end":{"line":529,"column":46}},"40":{"start":{"line":537,"column":12},"end":{"line":537,"column":44}},"41":{"start":{"line":545,"column":12},"end":{"line":545,"column":45}},"42":{"start":{"line":553,"column":12},"end":{"line":553,"column":46}},"43":{"start":{"line":561,"column":12},"end":{"line":561,"column":43}},"44":{"start":{"line":570,"column":12},"end":{"line":570,"column":49}},"45":{"start":{"line":578,"column":12},"end":{"line":578,"column":44}},"46":{"start":{"line":586,"column":12},"end":{"line":586,"column":46}},"47":{"start":{"line":594,"column":12},"end":{"line":594,"column":45}},"48":{"start":{"line":602,"column":12},"end":{"line":602,"column":43}},"49":{"start":{"line":610,"column":12},"end":{"line":610,"column":42}},"50":{"start":{"line":619,"column":12},"end":{"line":619,"column":52}},"51":{"start":{"line":621,"column":12},"end":{"line":621,"column":90}},"52":{"start":{"line":631,"column":12},"end":{"line":631,"column":32}},"53":{"start":{"line":633,"column":12},"end":{"line":633,"column":67}},"54":{"start":{"line":644,"column":12},"end":{"line":644,"column":32}},"55":{"start":{"line":646,"column":12},"end":{"line":646,"column":39}},"56":{"start":{"line":659,"column":12},"end":{"line":659,"column":24}},"57":{"start":{"line":670,"column":12},"end":{"line":670,"column":24}},"58":{"start":{"line":682,"column":12},"end":{"line":682,"column":32}},"59":{"start":{"line":684,"column":12},"end":{"line":684,"column":42}},"60":{"start":{"line":685,"column":12},"end":{"line":685,"column":38}},"61":{"start":{"line":686,"column":12},"end":{"line":686,"column":42}},"62":{"start":{"line":688,"column":12},"end":{"line":690,"column":13}},"63":{"start":{"line":689,"column":16},"end":{"line":689,"column":48}},"64":{"start":{"line":692,"column":12},"end":{"line":740,"column":13}},"65":{"start":{"line":693,"column":16},"end":{"line":693,"column":53}},"66":{"start":{"line":694,"column":16},"end":{"line":694,"column":50}},"67":{"start":{"line":695,"column":16},"end":{"line":695,"column":41}},"68":{"start":{"line":696,"column":16},"end":{"line":696,"column":39}},"69":{"start":{"line":697,"column":16},"end":{"line":697,"column":56}},"70":{"start":{"line":698,"column":16},"end":{"line":698,"column":63}},"71":{"start":{"line":699,"column":16},"end":{"line":699,"column":71}},"72":{"start":{"line":700,"column":16},"end":{"line":700,"column":45}},"73":{"start":{"line":702,"column":16},"end":{"line":702,"column":65}},"74":{"start":{"line":704,"column":16},"end":{"line":737,"column":17}},"75":{"start":{"line":705,"column":20},"end":{"line":705,"column":47}},"76":{"start":{"line":707,"column":20},"end":{"line":707,"column":41}},"77":{"start":{"line":709,"column":20},"end":{"line":717,"column":21}},"78":{"start":{"line":710,"column":24},"end":{"line":710,"column":43}},"79":{"start":{"line":712,"column":25},"end":{"line":717,"column":21}},"80":{"start":{"line":713,"column":24},"end":{"line":713,"column":46}},"81":{"start":{"line":715,"column":25},"end":{"line":717,"column":21}},"82":{"start":{"line":716,"column":24},"end":{"line":716,"column":66}},"83":{"start":{"line":719,"column":20},"end":{"line":736,"column":21}},"84":{"start":{"line":720,"column":24},"end":{"line":720,"column":42}},"85":{"start":{"line":722,"column":24},"end":{"line":727,"column":25}},"86":{"start":{"line":723,"column":28},"end":{"line":723,"column":84}},"87":{"start":{"line":726,"column":28},"end":{"line":726,"column":112}},"88":{"start":{"line":729,"column":24},"end":{"line":735,"column":25}},"89":{"start":{"line":734,"column":28},"end":{"line":734,"column":60}},"90":{"start":{"line":739,"column":16},"end":{"line":739,"column":51}},"91":{"start":{"line":742,"column":12},"end":{"line":742,"column":28}},"92":{"start":{"line":755,"column":12},"end":{"line":755,"column":37}},"93":{"start":{"line":768,"column":12},"end":{"line":770,"column":14}},"94":{"start":{"line":781,"column":12},"end":{"line":781,"column":32}},"95":{"start":{"line":783,"column":12},"end":{"line":783,"column":42}},"96":{"start":{"line":785,"column":12},"end":{"line":785,"column":41}},"97":{"start":{"line":787,"column":12},"end":{"line":789,"column":13}},"98":{"start":{"line":788,"column":16},"end":{"line":788,"column":39}},"99":{"start":{"line":791,"column":12},"end":{"line":791,"column":49}},"100":{"start":{"line":801,"column":12},"end":{"line":801,"column":32}},"101":{"start":{"line":803,"column":12},"end":{"line":803,"column":42}},"102":{"start":{"line":805,"column":12},"end":{"line":805,"column":33}},"103":{"start":{"line":807,"column":12},"end":{"line":809,"column":13}},"104":{"start":{"line":808,"column":16},"end":{"line":808,"column":64}},"105":{"start":{"line":811,"column":12},"end":{"line":811,"column":42}},"106":{"start":{"line":821,"column":12},"end":{"line":821,"column":32}},"107":{"start":{"line":823,"column":12},"end":{"line":827,"column":13}},"108":{"start":{"line":824,"column":16},"end":{"line":824,"column":57}},"109":{"start":{"line":826,"column":16},"end":{"line":826,"column":49}},"110":{"start":{"line":839,"column":12},"end":{"line":839,"column":32}},"111":{"start":{"line":841,"column":12},"end":{"line":841,"column":54}},"112":{"start":{"line":842,"column":12},"end":{"line":845,"column":14}},"113":{"start":{"line":847,"column":12},"end":{"line":849,"column":13}},"114":{"start":{"line":848,"column":16},"end":{"line":848,"column":85}},"115":{"start":{"line":851,"column":12},"end":{"line":851,"column":64}},"116":{"start":{"line":864,"column":12},"end":{"line":864,"column":32}},"117":{"start":{"line":866,"column":12},"end":{"line":866,"column":103}},"118":{"start":{"line":868,"column":12},"end":{"line":868,"column":56}},"119":{"start":{"line":869,"column":12},"end":{"line":869,"column":34}},"120":{"start":{"line":871,"column":12},"end":{"line":871,"column":64}},"121":{"start":{"line":873,"column":12},"end":{"line":888,"column":13}},"122":{"start":{"line":874,"column":16},"end":{"line":883,"column":17}},"123":{"start":{"line":875,"column":20},"end":{"line":875,"column":45}},"124":{"start":{"line":877,"column":20},"end":{"line":882,"column":21}},"125":{"start":{"line":878,"column":24},"end":{"line":878,"column":52}},"126":{"start":{"line":880,"column":25},"end":{"line":882,"column":21}},"127":{"start":{"line":881,"column":24},"end":{"line":881,"column":46}},"128":{"start":{"line":885,"column":16},"end":{"line":887,"column":19}},"129":{"start":{"line":890,"column":12},"end":{"line":890,"column":70}},"130":{"start":{"line":891,"column":12},"end":{"line":891,"column":76}},"131":{"start":{"line":893,"column":12},"end":{"line":893,"column":45}},"132":{"start":{"line":895,"column":12},"end":{"line":897,"column":13}},"133":{"start":{"line":896,"column":16},"end":{"line":896,"column":55}},"134":{"start":{"line":899,"column":12},"end":{"line":899,"column":51}},"135":{"start":{"line":900,"column":12},"end":{"line":900,"column":59}},"136":{"start":{"line":902,"column":12},"end":{"line":902,"column":45}},"137":{"start":{"line":904,"column":12},"end":{"line":904,"column":48}},"138":{"start":{"line":906,"column":12},"end":{"line":929,"column":13}},"139":{"start":{"line":907,"column":16},"end":{"line":928,"column":17}},"140":{"start":{"line":908,"column":20},"end":{"line":908,"column":53}},"141":{"start":{"line":911,"column":20},"end":{"line":911,"column":64}},"142":{"start":{"line":913,"column":20},"end":{"line":918,"column":22}},"143":{"start":{"line":920,"column":20},"end":{"line":920,"column":69}},"144":{"start":{"line":922,"column":20},"end":{"line":927,"column":23}},"145":{"start":{"line":931,"column":12},"end":{"line":931,"column":43}},"146":{"start":{"line":941,"column":12},"end":{"line":941,"column":32}},"147":{"start":{"line":943,"column":12},"end":{"line":943,"column":62}},"148":{"start":{"line":945,"column":12},"end":{"line":947,"column":13}},"149":{"start":{"line":946,"column":16},"end":{"line":946,"column":109}},"150":{"start":{"line":959,"column":12},"end":{"line":959,"column":32}},"151":{"start":{"line":961,"column":12},"end":{"line":961,"column":54}},"152":{"start":{"line":962,"column":12},"end":{"line":962,"column":32}},"153":{"start":{"line":963,"column":12},"end":{"line":963,"column":41}},"154":{"start":{"line":965,"column":12},"end":{"line":965,"column":47}},"155":{"start":{"line":967,"column":12},"end":{"line":973,"column":13}},"156":{"start":{"line":968,"column":16},"end":{"line":968,"column":59}},"157":{"start":{"line":970,"column":16},"end":{"line":972,"column":17}},"158":{"start":{"line":971,"column":20},"end":{"line":971,"column":42}},"159":{"start":{"line":975,"column":12},"end":{"line":983,"column":13}},"160":{"start":{"line":976,"column":16},"end":{"line":982,"column":17}},"161":{"start":{"line":977,"column":20},"end":{"line":981,"column":21}},"162":{"start":{"line":978,"column":24},"end":{"line":978,"column":37}},"163":{"start":{"line":980,"column":24},"end":{"line":980,"column":30}},"164":{"start":{"line":985,"column":12},"end":{"line":998,"column":13}},"165":{"start":{"line":986,"column":16},"end":{"line":986,"column":44}},"166":{"start":{"line":988,"column":16},"end":{"line":990,"column":17}},"167":{"start":{"line":989,"column":20},"end":{"line":989,"column":36}},"168":{"start":{"line":992,"column":16},"end":{"line":992,"column":58}},"169":{"start":{"line":994,"column":16},"end":{"line":994,"column":52}},"170":{"start":{"line":997,"column":16},"end":{"line":997,"column":30}},"171":{"start":{"line":1000,"column":12},"end":{"line":1003,"column":14}},"172":{"start":{"line":1013,"column":12},"end":{"line":1013,"column":32}},"173":{"start":{"line":1015,"column":12},"end":{"line":1020,"column":14}},"174":{"start":{"line":1017,"column":20},"end":{"line":1017,"column":47}},"175":{"start":{"line":1031,"column":12},"end":{"line":1031,"column":32}},"176":{"start":{"line":1033,"column":12},"end":{"line":1038,"column":13}},"177":{"start":{"line":1034,"column":16},"end":{"line":1034,"column":62}},"178":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":49}},"179":{"start":{"line":1050,"column":12},"end":{"line":1050,"column":32}},"180":{"start":{"line":1052,"column":12},"end":{"line":1152,"column":13}},"181":{"start":{"line":1053,"column":16},"end":{"line":1053,"column":60}},"182":{"start":{"line":1054,"column":16},"end":{"line":1054,"column":38}},"183":{"start":{"line":1056,"column":16},"end":{"line":1058,"column":17}},"184":{"start":{"line":1057,"column":20},"end":{"line":1057,"column":92}},"185":{"start":{"line":1060,"column":16},"end":{"line":1060,"column":52}},"186":{"start":{"line":1062,"column":16},"end":{"line":1064,"column":17}},"187":{"start":{"line":1063,"column":20},"end":{"line":1063,"column":52}},"188":{"start":{"line":1066,"column":16},"end":{"line":1068,"column":17}},"189":{"start":{"line":1067,"column":20},"end":{"line":1067,"column":64}},"190":{"start":{"line":1070,"column":16},"end":{"line":1072,"column":17}},"191":{"start":{"line":1071,"column":20},"end":{"line":1071,"column":37}},"192":{"start":{"line":1074,"column":16},"end":{"line":1076,"column":17}},"193":{"start":{"line":1075,"column":20},"end":{"line":1075,"column":27}},"194":{"start":{"line":1078,"column":16},"end":{"line":1082,"column":17}},"195":{"start":{"line":1079,"column":20},"end":{"line":1079,"column":69}},"196":{"start":{"line":1081,"column":20},"end":{"line":1081,"column":66}},"197":{"start":{"line":1084,"column":16},"end":{"line":1093,"column":17}},"198":{"start":{"line":1085,"column":20},"end":{"line":1090,"column":21}},"199":{"start":{"line":1086,"column":24},"end":{"line":1086,"column":107}},"200":{"start":{"line":1089,"column":24},"end":{"line":1089,"column":80}},"201":{"start":{"line":1092,"column":20},"end":{"line":1092,"column":27}},"202":{"start":{"line":1095,"column":16},"end":{"line":1099,"column":17}},"203":{"start":{"line":1096,"column":20},"end":{"line":1096,"column":53}},"204":{"start":{"line":1098,"column":20},"end":{"line":1098,"column":27}},"205":{"start":{"line":1101,"column":16},"end":{"line":1101,"column":93}},"206":{"start":{"line":1103,"column":16},"end":{"line":1103,"column":66}},"207":{"start":{"line":1105,"column":16},"end":{"line":1105,"column":69}},"208":{"start":{"line":1106,"column":16},"end":{"line":1106,"column":71}},"209":{"start":{"line":1108,"column":16},"end":{"line":1109,"column":62}},"210":{"start":{"line":1111,"column":16},"end":{"line":1143,"column":17}},"211":{"start":{"line":1115,"column":20},"end":{"line":1115,"column":42}},"212":{"start":{"line":1116,"column":20},"end":{"line":1116,"column":63}},"213":{"start":{"line":1117,"column":20},"end":{"line":1117,"column":77}},"214":{"start":{"line":1119,"column":20},"end":{"line":1119,"column":70}},"215":{"start":{"line":1120,"column":20},"end":{"line":1120,"column":70}},"216":{"start":{"line":1121,"column":20},"end":{"line":1121,"column":73}},"217":{"start":{"line":1123,"column":20},"end":{"line":1138,"column":21}},"218":{"start":{"line":1124,"column":24},"end":{"line":1129,"column":25}},"219":{"start":{"line":1125,"column":28},"end":{"line":1125,"column":70}},"220":{"start":{"line":1127,"column":29},"end":{"line":1129,"column":25}},"221":{"start":{"line":1128,"column":28},"end":{"line":1128,"column":49}},"222":{"start":{"line":1132,"column":24},"end":{"line":1137,"column":25}},"223":{"start":{"line":1133,"column":28},"end":{"line":1133,"column":49}},"224":{"start":{"line":1135,"column":29},"end":{"line":1137,"column":25}},"225":{"start":{"line":1136,"column":28},"end":{"line":1136,"column":70}},"226":{"start":{"line":1140,"column":20},"end":{"line":1142,"column":21}},"227":{"start":{"line":1141,"column":24},"end":{"line":1141,"column":65}},"228":{"start":{"line":1145,"column":16},"end":{"line":1145,"column":63}},"229":{"start":{"line":1147,"column":16},"end":{"line":1147,"column":60}},"230":{"start":{"line":1149,"column":16},"end":{"line":1151,"column":17}},"231":{"start":{"line":1150,"column":20},"end":{"line":1150,"column":57}},"232":{"start":{"line":1163,"column":12},"end":{"line":1163,"column":32}},"233":{"start":{"line":1165,"column":12},"end":{"line":1165,"column":25}},"234":{"start":{"line":1167,"column":12},"end":{"line":1167,"column":30}},"235":{"start":{"line":1169,"column":12},"end":{"line":1169,"column":71}},"236":{"start":{"line":1180,"column":12},"end":{"line":1180,"column":32}},"237":{"start":{"line":1182,"column":12},"end":{"line":1182,"column":38}},"238":{"start":{"line":1183,"column":12},"end":{"line":1183,"column":63}},"239":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":25}},"240":{"start":{"line":1187,"column":12},"end":{"line":1206,"column":13}},"241":{"start":{"line":1188,"column":16},"end":{"line":1199,"column":17}},"242":{"start":{"line":1190,"column":24},"end":{"line":1190,"column":31}},"243":{"start":{"line":1193,"column":24},"end":{"line":1193,"column":64}},"244":{"start":{"line":1194,"column":24},"end":{"line":1194,"column":53}},"245":{"start":{"line":1195,"column":24},"end":{"line":1195,"column":31}},"246":{"start":{"line":1198,"column":24},"end":{"line":1198,"column":30}},"247":{"start":{"line":1201,"column":16},"end":{"line":1201,"column":50}},"248":{"start":{"line":1203,"column":16},"end":{"line":1205,"column":17}},"249":{"start":{"line":1204,"column":20},"end":{"line":1204,"column":67}},"250":{"start":{"line":1217,"column":12},"end":{"line":1217,"column":32}},"251":{"start":{"line":1219,"column":12},"end":{"line":1219,"column":38}},"252":{"start":{"line":1220,"column":12},"end":{"line":1220,"column":63}},"253":{"start":{"line":1222,"column":12},"end":{"line":1253,"column":13}},"254":{"start":{"line":1223,"column":16},"end":{"line":1246,"column":17}},"255":{"start":{"line":1225,"column":24},"end":{"line":1225,"column":31}},"256":{"start":{"line":1228,"column":24},"end":{"line":1228,"column":66}},"257":{"start":{"line":1229,"column":24},"end":{"line":1229,"column":62}},"258":{"start":{"line":1230,"column":24},"end":{"line":1230,"column":30}},"259":{"start":{"line":1233,"column":24},"end":{"line":1233,"column":81}},"260":{"start":{"line":1234,"column":24},"end":{"line":1234,"column":30}},"261":{"start":{"line":1237,"column":24},"end":{"line":1241,"column":25}},"262":{"start":{"line":1238,"column":28},"end":{"line":1238,"column":60}},"263":{"start":{"line":1240,"column":28},"end":{"line":1240,"column":35}},"264":{"start":{"line":1242,"column":24},"end":{"line":1242,"column":30}},"265":{"start":{"line":1245,"column":24},"end":{"line":1245,"column":30}},"266":{"start":{"line":1248,"column":16},"end":{"line":1248,"column":50}},"267":{"start":{"line":1250,"column":16},"end":{"line":1252,"column":17}},"268":{"start":{"line":1251,"column":20},"end":{"line":1251,"column":67}},"269":{"start":{"line":1264,"column":12},"end":{"line":1264,"column":32}},"270":{"start":{"line":1266,"column":12},"end":{"line":1266,"column":38}},"271":{"start":{"line":1267,"column":12},"end":{"line":1267,"column":63}},"272":{"start":{"line":1269,"column":12},"end":{"line":1295,"column":13}},"273":{"start":{"line":1270,"column":16},"end":{"line":1288,"column":17}},"274":{"start":{"line":1272,"column":24},"end":{"line":1272,"column":31}},"275":{"start":{"line":1275,"column":24},"end":{"line":1275,"column":64}},"276":{"start":{"line":1276,"column":24},"end":{"line":1276,"column":62}},"277":{"start":{"line":1277,"column":24},"end":{"line":1277,"column":30}},"278":{"start":{"line":1280,"column":24},"end":{"line":1283,"column":25}},"279":{"start":{"line":1281,"column":28},"end":{"line":1281,"column":59}},"280":{"start":{"line":1282,"column":28},"end":{"line":1282,"column":35}},"281":{"start":{"line":1284,"column":24},"end":{"line":1284,"column":30}},"282":{"start":{"line":1287,"column":24},"end":{"line":1287,"column":30}},"283":{"start":{"line":1290,"column":16},"end":{"line":1290,"column":50}},"284":{"start":{"line":1292,"column":16},"end":{"line":1294,"column":17}},"285":{"start":{"line":1293,"column":20},"end":{"line":1293,"column":67}},"286":{"start":{"line":1306,"column":12},"end":{"line":1306,"column":32}},"287":{"start":{"line":1308,"column":12},"end":{"line":1308,"column":30}},"288":{"start":{"line":1319,"column":12},"end":{"line":1319,"column":32}},"289":{"start":{"line":1321,"column":12},"end":{"line":1321,"column":59}},"290":{"start":{"line":1322,"column":12},"end":{"line":1322,"column":48}},"291":{"start":{"line":1324,"column":12},"end":{"line":1328,"column":13}},"292":{"start":{"line":1325,"column":16},"end":{"line":1325,"column":47}},"293":{"start":{"line":1327,"column":16},"end":{"line":1327,"column":46}},"294":{"start":{"line":1339,"column":12},"end":{"line":1339,"column":32}},"295":{"start":{"line":1341,"column":12},"end":{"line":1376,"column":13}},"296":{"start":{"line":1342,"column":16},"end":{"line":1360,"column":17}},"297":{"start":{"line":1343,"column":20},"end":{"line":1343,"column":72}},"298":{"start":{"line":1345,"column":20},"end":{"line":1345,"column":73}},"299":{"start":{"line":1347,"column":20},"end":{"line":1359,"column":21}},"300":{"start":{"line":1348,"column":24},"end":{"line":1353,"column":25}},"301":{"start":{"line":1349,"column":28},"end":{"line":1349,"column":55}},"302":{"start":{"line":1352,"column":28},"end":{"line":1352,"column":89}},"303":{"start":{"line":1356,"column":24},"end":{"line":1358,"column":25}},"304":{"start":{"line":1357,"column":28},"end":{"line":1357,"column":66}},"305":{"start":{"line":1362,"column":16},"end":{"line":1362,"column":42}},"306":{"start":{"line":1364,"column":16},"end":{"line":1364,"column":32}},"307":{"start":{"line":1366,"column":16},"end":{"line":1368,"column":17}},"308":{"start":{"line":1367,"column":20},"end":{"line":1367,"column":51}},"309":{"start":{"line":1370,"column":16},"end":{"line":1370,"column":45}},"310":{"start":{"line":1372,"column":16},"end":{"line":1372,"column":49}},"311":{"start":{"line":1375,"column":16},"end":{"line":1375,"column":34}},"312":{"start":{"line":1387,"column":12},"end":{"line":1387,"column":32}},"313":{"start":{"line":1389,"column":12},"end":{"line":1395,"column":13}},"314":{"start":{"line":1390,"column":16},"end":{"line":1390,"column":71}},"315":{"start":{"line":1391,"column":16},"end":{"line":1391,"column":33}},"316":{"start":{"line":1392,"column":16},"end":{"line":1392,"column":75}},"317":{"start":{"line":1394,"column":16},"end":{"line":1394,"column":46}},"318":{"start":{"line":1406,"column":12},"end":{"line":1406,"column":32}},"319":{"start":{"line":1408,"column":12},"end":{"line":1408,"column":40}},"320":{"start":{"line":1410,"column":12},"end":{"line":1412,"column":13}},"321":{"start":{"line":1411,"column":16},"end":{"line":1411,"column":57}},"322":{"start":{"line":1414,"column":12},"end":{"line":1467,"column":13}},"323":{"start":{"line":1415,"column":16},"end":{"line":1426,"column":17}},"324":{"start":{"line":1416,"column":20},"end":{"line":1420,"column":21}},"325":{"start":{"line":1417,"column":24},"end":{"line":1419,"column":25}},"326":{"start":{"line":1418,"column":28},"end":{"line":1418,"column":41}},"327":{"start":{"line":1422,"column":20},"end":{"line":1422,"column":66}},"328":{"start":{"line":1425,"column":20},"end":{"line":1425,"column":53}},"329":{"start":{"line":1428,"column":17},"end":{"line":1467,"column":13}},"330":{"start":{"line":1429,"column":16},"end":{"line":1440,"column":17}},"331":{"start":{"line":1430,"column":20},"end":{"line":1434,"column":21}},"332":{"start":{"line":1431,"column":24},"end":{"line":1433,"column":25}},"333":{"start":{"line":1432,"column":28},"end":{"line":1432,"column":41}},"334":{"start":{"line":1436,"column":20},"end":{"line":1436,"column":66}},"335":{"start":{"line":1439,"column":20},"end":{"line":1439,"column":53}},"336":{"start":{"line":1442,"column":17},"end":{"line":1467,"column":13}},"337":{"start":{"line":1443,"column":16},"end":{"line":1443,"column":49}},"338":{"start":{"line":1445,"column":17},"end":{"line":1467,"column":13}},"339":{"start":{"line":1446,"column":16},"end":{"line":1450,"column":17}},"340":{"start":{"line":1447,"column":20},"end":{"line":1447,"column":33}},"341":{"start":{"line":1449,"column":20},"end":{"line":1449,"column":53}},"342":{"start":{"line":1452,"column":17},"end":{"line":1467,"column":13}},"343":{"start":{"line":1453,"column":16},"end":{"line":1453,"column":42}},"344":{"start":{"line":1455,"column":17},"end":{"line":1467,"column":13}},"345":{"start":{"line":1456,"column":16},"end":{"line":1460,"column":17}},"346":{"start":{"line":1457,"column":20},"end":{"line":1457,"column":33}},"347":{"start":{"line":1459,"column":20},"end":{"line":1459,"column":53}},"348":{"start":{"line":1463,"column":16},"end":{"line":1463,"column":47}},"349":{"start":{"line":1464,"column":16},"end":{"line":1464,"column":75}},"350":{"start":{"line":1466,"column":16},"end":{"line":1466,"column":53}},"351":{"start":{"line":1469,"column":12},"end":{"line":1471,"column":13}},"352":{"start":{"line":1470,"column":16},"end":{"line":1470,"column":52}},"353":{"start":{"line":1473,"column":12},"end":{"line":1473,"column":40}},"354":{"start":{"line":1484,"column":12},"end":{"line":1484,"column":32}},"355":{"start":{"line":1486,"column":12},"end":{"line":1486,"column":40}},"356":{"start":{"line":1488,"column":12},"end":{"line":1513,"column":13}},"357":{"start":{"line":1489,"column":16},"end":{"line":1500,"column":17}},"358":{"start":{"line":1490,"column":20},"end":{"line":1492,"column":21}},"359":{"start":{"line":1491,"column":24},"end":{"line":1491,"column":37}},"360":{"start":{"line":1494,"column":20},"end":{"line":1499,"column":21}},"361":{"start":{"line":1495,"column":24},"end":{"line":1495,"column":70}},"362":{"start":{"line":1498,"column":24},"end":{"line":1498,"column":57}},"363":{"start":{"line":1502,"column":17},"end":{"line":1513,"column":13}},"364":{"start":{"line":1503,"column":16},"end":{"line":1512,"column":17}},"365":{"start":{"line":1504,"column":20},"end":{"line":1504,"column":33}},"366":{"start":{"line":1506,"column":20},"end":{"line":1511,"column":21}},"367":{"start":{"line":1507,"column":24},"end":{"line":1507,"column":70}},"368":{"start":{"line":1510,"column":24},"end":{"line":1510,"column":57}},"369":{"start":{"line":1515,"column":12},"end":{"line":1517,"column":13}},"370":{"start":{"line":1516,"column":16},"end":{"line":1516,"column":52}},"371":{"start":{"line":1528,"column":12},"end":{"line":1528,"column":32}},"372":{"start":{"line":1530,"column":12},"end":{"line":1530,"column":43}},"373":{"start":{"line":1532,"column":12},"end":{"line":1532,"column":43}},"374":{"start":{"line":1534,"column":12},"end":{"line":1536,"column":13}},"375":{"start":{"line":1535,"column":16},"end":{"line":1535,"column":23}},"376":{"start":{"line":1538,"column":12},"end":{"line":1538,"column":39}},"377":{"start":{"line":1549,"column":12},"end":{"line":1549,"column":32}},"378":{"start":{"line":1551,"column":12},"end":{"line":1553,"column":13}},"379":{"start":{"line":1552,"column":16},"end":{"line":1552,"column":57}},"380":{"start":{"line":1555,"column":12},"end":{"line":1555,"column":38}},"381":{"start":{"line":1556,"column":12},"end":{"line":1556,"column":42}},"382":{"start":{"line":1557,"column":12},"end":{"line":1557,"column":42}},"383":{"start":{"line":1558,"column":12},"end":{"line":1558,"column":41}},"384":{"start":{"line":1560,"column":12},"end":{"line":1562,"column":13}},"385":{"start":{"line":1561,"column":16},"end":{"line":1561,"column":64}},"386":{"start":{"line":1564,"column":12},"end":{"line":1564,"column":54}},"387":{"start":{"line":1566,"column":12},"end":{"line":1652,"column":13}},"388":{"start":{"line":1567,"column":16},"end":{"line":1567,"column":51}},"389":{"start":{"line":1569,"column":16},"end":{"line":1569,"column":54}},"390":{"start":{"line":1571,"column":16},"end":{"line":1647,"column":17}},"391":{"start":{"line":1572,"column":20},"end":{"line":1572,"column":65}},"392":{"start":{"line":1574,"column":20},"end":{"line":1574,"column":58}},"393":{"start":{"line":1575,"column":20},"end":{"line":1575,"column":51}},"394":{"start":{"line":1577,"column":20},"end":{"line":1577,"column":60}},"395":{"start":{"line":1578,"column":20},"end":{"line":1578,"column":103}},"396":{"start":{"line":1579,"column":20},"end":{"line":1579,"column":69}},"397":{"start":{"line":1580,"column":20},"end":{"line":1580,"column":60}},"398":{"start":{"line":1582,"column":20},"end":{"line":1587,"column":21}},"399":{"start":{"line":1583,"column":24},"end":{"line":1583,"column":45}},"400":{"start":{"line":1586,"column":24},"end":{"line":1586,"column":49}},"401":{"start":{"line":1589,"column":20},"end":{"line":1644,"column":21}},"402":{"start":{"line":1590,"column":24},"end":{"line":1590,"column":83}},"403":{"start":{"line":1592,"column":24},"end":{"line":1620,"column":26}},"404":{"start":{"line":1594,"column":32},"end":{"line":1618,"column":33}},"405":{"start":{"line":1595,"column":36},"end":{"line":1595,"column":63}},"406":{"start":{"line":1597,"column":36},"end":{"line":1597,"column":57}},"407":{"start":{"line":1599,"column":36},"end":{"line":1607,"column":37}},"408":{"start":{"line":1600,"column":40},"end":{"line":1600,"column":61}},"409":{"start":{"line":1602,"column":41},"end":{"line":1607,"column":37}},"410":{"start":{"line":1603,"column":40},"end":{"line":1603,"column":64}},"411":{"start":{"line":1606,"column":40},"end":{"line":1606,"column":71}},"412":{"start":{"line":1609,"column":36},"end":{"line":1609,"column":68}},"413":{"start":{"line":1611,"column":36},"end":{"line":1611,"column":62}},"414":{"start":{"line":1612,"column":36},"end":{"line":1612,"column":104}},"415":{"start":{"line":1614,"column":36},"end":{"line":1614,"column":65}},"416":{"start":{"line":1617,"column":36},"end":{"line":1617,"column":62}},"417":{"start":{"line":1622,"column":24},"end":{"line":1622,"column":63}},"418":{"start":{"line":1624,"column":24},"end":{"line":1624,"column":78}},"419":{"start":{"line":1626,"column":24},"end":{"line":1636,"column":25}},"420":{"start":{"line":1627,"column":28},"end":{"line":1627,"column":88}},"421":{"start":{"line":1629,"column":28},"end":{"line":1629,"column":77}},"422":{"start":{"line":1630,"column":28},"end":{"line":1630,"column":74}},"423":{"start":{"line":1632,"column":28},"end":{"line":1632,"column":72}},"424":{"start":{"line":1635,"column":28},"end":{"line":1635,"column":87}},"425":{"start":{"line":1638,"column":24},"end":{"line":1638,"column":81}},"426":{"start":{"line":1640,"column":24},"end":{"line":1640,"column":54}},"427":{"start":{"line":1643,"column":24},"end":{"line":1643,"column":57}},"428":{"start":{"line":1646,"column":20},"end":{"line":1646,"column":27}},"429":{"start":{"line":1651,"column":16},"end":{"line":1651,"column":50}},"430":{"start":{"line":1663,"column":12},"end":{"line":1663,"column":32}},"431":{"start":{"line":1665,"column":12},"end":{"line":1665,"column":54}},"432":{"start":{"line":1667,"column":12},"end":{"line":1669,"column":13}},"433":{"start":{"line":1668,"column":16},"end":{"line":1668,"column":85}},"434":{"start":{"line":1679,"column":12},"end":{"line":1679,"column":32}},"435":{"start":{"line":1681,"column":12},"end":{"line":1681,"column":55}},"436":{"start":{"line":1682,"column":12},"end":{"line":1682,"column":46}},"437":{"start":{"line":1684,"column":12},"end":{"line":1698,"column":14}},"438":{"start":{"line":1700,"column":12},"end":{"line":1700,"column":38}},"439":{"start":{"line":1701,"column":12},"end":{"line":1701,"column":35}},"440":{"start":{"line":1703,"column":12},"end":{"line":1710,"column":13}},"441":{"start":{"line":1704,"column":16},"end":{"line":1704,"column":37}},"442":{"start":{"line":1706,"column":16},"end":{"line":1706,"column":47}},"443":{"start":{"line":1708,"column":16},"end":{"line":1708,"column":46}},"444":{"start":{"line":1709,"column":16},"end":{"line":1709,"column":54}},"445":{"start":{"line":1712,"column":12},"end":{"line":1712,"column":74}},"446":{"start":{"line":1714,"column":12},"end":{"line":1718,"column":13}},"447":{"start":{"line":1715,"column":16},"end":{"line":1715,"column":67}},"448":{"start":{"line":1717,"column":16},"end":{"line":1717,"column":75}},"449":{"start":{"line":1720,"column":12},"end":{"line":1720,"column":54}},"450":{"start":{"line":1721,"column":12},"end":{"line":1721,"column":53}},"451":{"start":{"line":1723,"column":12},"end":{"line":1723,"column":68}},"452":{"start":{"line":1735,"column":12},"end":{"line":1735,"column":32}},"453":{"start":{"line":1737,"column":12},"end":{"line":1737,"column":74}},"454":{"start":{"line":1739,"column":12},"end":{"line":1739,"column":49}},"455":{"start":{"line":1741,"column":12},"end":{"line":1741,"column":31}},"456":{"start":{"line":1743,"column":12},"end":{"line":1746,"column":13}},"457":{"start":{"line":1744,"column":16},"end":{"line":1745,"column":79}},"458":{"start":{"line":1748,"column":12},"end":{"line":1748,"column":48}},"459":{"start":{"line":1758,"column":12},"end":{"line":1758,"column":32}},"460":{"start":{"line":1760,"column":12},"end":{"line":1760,"column":54}},"461":{"start":{"line":1762,"column":12},"end":{"line":1762,"column":51}},"462":{"start":{"line":1764,"column":12},"end":{"line":1770,"column":15}},"463":{"start":{"line":1772,"column":12},"end":{"line":1772,"column":54}},"464":{"start":{"line":1774,"column":12},"end":{"line":1774,"column":68}},"465":{"start":{"line":1776,"column":12},"end":{"line":1776,"column":61}},"466":{"start":{"line":1778,"column":12},"end":{"line":1778,"column":29}},"467":{"start":{"line":1780,"column":12},"end":{"line":1780,"column":40}},"468":{"start":{"line":1782,"column":12},"end":{"line":1782,"column":39}},"469":{"start":{"line":1783,"column":12},"end":{"line":1783,"column":55}},"470":{"start":{"line":1785,"column":12},"end":{"line":1785,"column":59}},"471":{"start":{"line":1787,"column":12},"end":{"line":1787,"column":43}},"472":{"start":{"line":1798,"column":12},"end":{"line":1798,"column":32}},"473":{"start":{"line":1800,"column":12},"end":{"line":1800,"column":42}},"474":{"start":{"line":1802,"column":12},"end":{"line":1802,"column":46}},"475":{"start":{"line":1804,"column":12},"end":{"line":1804,"column":71}},"476":{"start":{"line":1806,"column":12},"end":{"line":1806,"column":38}},"477":{"start":{"line":1808,"column":12},"end":{"line":1808,"column":76}},"478":{"start":{"line":1810,"column":12},"end":{"line":1810,"column":45}},"479":{"start":{"line":1821,"column":12},"end":{"line":1821,"column":32}},"480":{"start":{"line":1823,"column":12},"end":{"line":1827,"column":13}},"481":{"start":{"line":1824,"column":16},"end":{"line":1824,"column":49}},"482":{"start":{"line":1826,"column":16},"end":{"line":1826,"column":23}},"483":{"start":{"line":1829,"column":12},"end":{"line":1829,"column":54}},"484":{"start":{"line":1830,"column":12},"end":{"line":1830,"column":64}},"485":{"start":{"line":1832,"column":12},"end":{"line":1838,"column":13}},"486":{"start":{"line":1833,"column":16},"end":{"line":1833,"column":63}},"487":{"start":{"line":1835,"column":16},"end":{"line":1835,"column":41}},"488":{"start":{"line":1837,"column":16},"end":{"line":1837,"column":63}},"489":{"start":{"line":1840,"column":12},"end":{"line":1846,"column":13}},"490":{"start":{"line":1841,"column":16},"end":{"line":1841,"column":45}},"491":{"start":{"line":1843,"column":16},"end":{"line":1843,"column":49}},"492":{"start":{"line":1845,"column":16},"end":{"line":1845,"column":23}},"493":{"start":{"line":1848,"column":12},"end":{"line":1848,"column":46}},"494":{"start":{"line":1850,"column":12},"end":{"line":1852,"column":13}},"495":{"start":{"line":1851,"column":16},"end":{"line":1851,"column":85}},"496":{"start":{"line":1854,"column":12},"end":{"line":1854,"column":58}},"497":{"start":{"line":1856,"column":12},"end":{"line":1856,"column":57}},"498":{"start":{"line":1858,"column":12},"end":{"line":1858,"column":53}},"499":{"start":{"line":1869,"column":12},"end":{"line":1869,"column":32}},"500":{"start":{"line":1871,"column":12},"end":{"line":1871,"column":31}},"501":{"start":{"line":1872,"column":12},"end":{"line":1872,"column":58}},"502":{"start":{"line":1873,"column":12},"end":{"line":1873,"column":66}},"503":{"start":{"line":1875,"column":12},"end":{"line":1885,"column":13}},"504":{"start":{"line":1876,"column":16},"end":{"line":1876,"column":51}},"505":{"start":{"line":1878,"column":16},"end":{"line":1878,"column":73}},"506":{"start":{"line":1880,"column":16},"end":{"line":1884,"column":17}},"507":{"start":{"line":1881,"column":20},"end":{"line":1881,"column":41}},"508":{"start":{"line":1883,"column":20},"end":{"line":1883,"column":26}},"509":{"start":{"line":1887,"column":12},"end":{"line":1887,"column":27}},"510":{"start":{"line":1898,"column":12},"end":{"line":1898,"column":32}},"511":{"start":{"line":1900,"column":12},"end":{"line":1900,"column":43}},"512":{"start":{"line":1902,"column":12},"end":{"line":1904,"column":13}},"513":{"start":{"line":1903,"column":16},"end":{"line":1903,"column":23}},"514":{"start":{"line":1906,"column":12},"end":{"line":1911,"column":13}},"515":{"start":{"line":1907,"column":16},"end":{"line":1907,"column":75}},"516":{"start":{"line":1909,"column":16},"end":{"line":1909,"column":45}},"517":{"start":{"line":1910,"column":16},"end":{"line":1910,"column":46}},"518":{"start":{"line":1913,"column":12},"end":{"line":1920,"column":13}},"519":{"start":{"line":1914,"column":16},"end":{"line":1914,"column":31}},"520":{"start":{"line":1915,"column":16},"end":{"line":1915,"column":49}},"521":{"start":{"line":1918,"column":16},"end":{"line":1918,"column":31}},"522":{"start":{"line":1919,"column":16},"end":{"line":1919,"column":51}},"523":{"start":{"line":1932,"column":12},"end":{"line":1932,"column":32}},"524":{"start":{"line":1934,"column":12},"end":{"line":1945,"column":13}},"525":{"start":{"line":1935,"column":16},"end":{"line":1938,"column":17}},"526":{"start":{"line":1936,"column":20},"end":{"line":1936,"column":70}},"527":{"start":{"line":1937,"column":20},"end":{"line":1937,"column":51}},"528":{"start":{"line":1940,"column":16},"end":{"line":1944,"column":17}},"529":{"start":{"line":1941,"column":20},"end":{"line":1941,"column":57}},"530":{"start":{"line":1943,"column":20},"end":{"line":1943,"column":60}},"531":{"start":{"line":1958,"column":12},"end":{"line":1958,"column":32}},"532":{"start":{"line":1960,"column":12},"end":{"line":1962,"column":13}},"533":{"start":{"line":1961,"column":16},"end":{"line":1961,"column":23}},"534":{"start":{"line":1964,"column":12},"end":{"line":1964,"column":64}},"535":{"start":{"line":1966,"column":12},"end":{"line":1985,"column":13}},"536":{"start":{"line":1967,"column":16},"end":{"line":1984,"column":18}},"537":{"start":{"line":1969,"column":24},"end":{"line":1969,"column":50}},"538":{"start":{"line":1971,"column":24},"end":{"line":1971,"column":49}},"539":{"start":{"line":1973,"column":24},"end":{"line":1973,"column":58}},"540":{"start":{"line":1975,"column":24},"end":{"line":1975,"column":55}},"541":{"start":{"line":1977,"column":24},"end":{"line":1977,"column":66}},"542":{"start":{"line":1979,"column":24},"end":{"line":1979,"column":71}},"543":{"start":{"line":1981,"column":24},"end":{"line":1981,"column":67}},"544":{"start":{"line":1998,"column":12},"end":{"line":1998,"column":32}},"545":{"start":{"line":2000,"column":12},"end":{"line":2034,"column":13}},"546":{"start":{"line":2001,"column":16},"end":{"line":2001,"column":47}},"547":{"start":{"line":2002,"column":16},"end":{"line":2002,"column":58}},"548":{"start":{"line":2004,"column":16},"end":{"line":2004,"column":58}},"549":{"start":{"line":2006,"column":16},"end":{"line":2006,"column":69}},"550":{"start":{"line":2008,"column":16},"end":{"line":2008,"column":34}},"551":{"start":{"line":2010,"column":16},"end":{"line":2021,"column":17}},"552":{"start":{"line":2011,"column":20},"end":{"line":2011,"column":56}},"553":{"start":{"line":2013,"column":20},"end":{"line":2013,"column":56}},"554":{"start":{"line":2015,"column":20},"end":{"line":2017,"column":21}},"555":{"start":{"line":2016,"column":24},"end":{"line":2016,"column":40}},"556":{"start":{"line":2020,"column":20},"end":{"line":2020,"column":43}},"557":{"start":{"line":2023,"column":16},"end":{"line":2023,"column":45}},"558":{"start":{"line":2025,"column":16},"end":{"line":2027,"column":17}},"559":{"start":{"line":2026,"column":20},"end":{"line":2026,"column":70}},"560":{"start":{"line":2029,"column":16},"end":{"line":2029,"column":42}},"561":{"start":{"line":2031,"column":16},"end":{"line":2031,"column":43}},"562":{"start":{"line":2033,"column":16},"end":{"line":2033,"column":53}},"563":{"start":{"line":2050,"column":0},"end":{"line":2050,"column":40}}},"branchMap":{"1":{"line":205,"type":"if","locations":[{"start":{"line":205,"column":16},"end":{"line":205,"column":16}},{"start":{"line":205,"column":16},"end":{"line":205,"column":16}}]},"2":{"line":205,"type":"binary-expr","locations":[{"start":{"line":205,"column":20},"end":{"line":205,"column":35}},{"start":{"line":205,"column":40},"end":{"line":205,"column":56}}]},"3":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":21},"end":{"line":208,"column":21}},{"start":{"line":208,"column":21},"end":{"line":208,"column":21}}]},"4":{"line":688,"type":"if","locations":[{"start":{"line":688,"column":12},"end":{"line":688,"column":12}},{"start":{"line":688,"column":12},"end":{"line":688,"column":12}}]},"5":{"line":688,"type":"binary-expr","locations":[{"start":{"line":688,"column":16},"end":{"line":688,"column":24}},{"start":{"line":688,"column":28},"end":{"line":688,"column":45}},{"start":{"line":688,"column":49},"end":{"line":688,"column":72}}]},"6":{"line":692,"type":"if","locations":[{"start":{"line":692,"column":12},"end":{"line":692,"column":12}},{"start":{"line":692,"column":12},"end":{"line":692,"column":12}}]},"7":{"line":709,"type":"if","locations":[{"start":{"line":709,"column":20},"end":{"line":709,"column":20}},{"start":{"line":709,"column":20},"end":{"line":709,"column":20}}]},"8":{"line":712,"type":"if","locations":[{"start":{"line":712,"column":25},"end":{"line":712,"column":25}},{"start":{"line":712,"column":25},"end":{"line":712,"column":25}}]},"9":{"line":715,"type":"if","locations":[{"start":{"line":715,"column":25},"end":{"line":715,"column":25}},{"start":{"line":715,"column":25},"end":{"line":715,"column":25}}]},"10":{"line":716,"type":"binary-expr","locations":[{"start":{"line":716,"column":43},"end":{"line":716,"column":51}},{"start":{"line":716,"column":55},"end":{"line":716,"column":64}}]},"11":{"line":719,"type":"if","locations":[{"start":{"line":719,"column":20},"end":{"line":719,"column":20}},{"start":{"line":719,"column":20},"end":{"line":719,"column":20}}]},"12":{"line":722,"type":"if","locations":[{"start":{"line":722,"column":24},"end":{"line":722,"column":24}},{"start":{"line":722,"column":24},"end":{"line":722,"column":24}}]},"13":{"line":729,"type":"if","locations":[{"start":{"line":729,"column":24},"end":{"line":729,"column":24}},{"start":{"line":729,"column":24},"end":{"line":729,"column":24}}]},"14":{"line":730,"type":"binary-expr","locations":[{"start":{"line":730,"column":29},"end":{"line":730,"column":36}},{"start":{"line":731,"column":29},"end":{"line":731,"column":43}},{"start":{"line":731,"column":48},"end":{"line":731,"column":62}},{"start":{"line":732,"column":29},"end":{"line":732,"column":42}},{"start":{"line":732,"column":47},"end":{"line":732,"column":60}}]},"15":{"line":755,"type":"binary-expr","locations":[{"start":{"line":755,"column":19},"end":{"line":755,"column":30}},{"start":{"line":755,"column":34},"end":{"line":755,"column":36}}]},"16":{"line":787,"type":"if","locations":[{"start":{"line":787,"column":12},"end":{"line":787,"column":12}},{"start":{"line":787,"column":12},"end":{"line":787,"column":12}}]},"17":{"line":807,"type":"if","locations":[{"start":{"line":807,"column":12},"end":{"line":807,"column":12}},{"start":{"line":807,"column":12},"end":{"line":807,"column":12}}]},"18":{"line":823,"type":"if","locations":[{"start":{"line":823,"column":12},"end":{"line":823,"column":12}},{"start":{"line":823,"column":12},"end":{"line":823,"column":12}}]},"19":{"line":847,"type":"if","locations":[{"start":{"line":847,"column":12},"end":{"line":847,"column":12}},{"start":{"line":847,"column":12},"end":{"line":847,"column":12}}]},"20":{"line":873,"type":"if","locations":[{"start":{"line":873,"column":12},"end":{"line":873,"column":12}},{"start":{"line":873,"column":12},"end":{"line":873,"column":12}}]},"21":{"line":874,"type":"if","locations":[{"start":{"line":874,"column":16},"end":{"line":874,"column":16}},{"start":{"line":874,"column":16},"end":{"line":874,"column":16}}]},"22":{"line":877,"type":"if","locations":[{"start":{"line":877,"column":20},"end":{"line":877,"column":20}},{"start":{"line":877,"column":20},"end":{"line":877,"column":20}}]},"23":{"line":880,"type":"if","locations":[{"start":{"line":880,"column":25},"end":{"line":880,"column":25}},{"start":{"line":880,"column":25},"end":{"line":880,"column":25}}]},"24":{"line":895,"type":"if","locations":[{"start":{"line":895,"column":12},"end":{"line":895,"column":12}},{"start":{"line":895,"column":12},"end":{"line":895,"column":12}}]},"25":{"line":906,"type":"if","locations":[{"start":{"line":906,"column":12},"end":{"line":906,"column":12}},{"start":{"line":906,"column":12},"end":{"line":906,"column":12}}]},"26":{"line":907,"type":"if","locations":[{"start":{"line":907,"column":16},"end":{"line":907,"column":16}},{"start":{"line":907,"column":16},"end":{"line":907,"column":16}}]},"27":{"line":920,"type":"binary-expr","locations":[{"start":{"line":920,"column":33},"end":{"line":920,"column":57}},{"start":{"line":920,"column":61},"end":{"line":920,"column":68}}]},"28":{"line":945,"type":"if","locations":[{"start":{"line":945,"column":12},"end":{"line":945,"column":12}},{"start":{"line":945,"column":12},"end":{"line":945,"column":12}}]},"29":{"line":945,"type":"binary-expr","locations":[{"start":{"line":945,"column":16},"end":{"line":945,"column":42}},{"start":{"line":945,"column":46},"end":{"line":945,"column":59}}]},"30":{"line":970,"type":"if","locations":[{"start":{"line":970,"column":16},"end":{"line":970,"column":16}},{"start":{"line":970,"column":16},"end":{"line":970,"column":16}}]},"31":{"line":975,"type":"if","locations":[{"start":{"line":975,"column":12},"end":{"line":975,"column":12}},{"start":{"line":975,"column":12},"end":{"line":975,"column":12}}]},"32":{"line":977,"type":"if","locations":[{"start":{"line":977,"column":20},"end":{"line":977,"column":20}},{"start":{"line":977,"column":20},"end":{"line":977,"column":20}}]},"33":{"line":985,"type":"if","locations":[{"start":{"line":985,"column":12},"end":{"line":985,"column":12}},{"start":{"line":985,"column":12},"end":{"line":985,"column":12}}]},"34":{"line":1033,"type":"if","locations":[{"start":{"line":1033,"column":12},"end":{"line":1033,"column":12}},{"start":{"line":1033,"column":12},"end":{"line":1033,"column":12}}]},"35":{"line":1052,"type":"if","locations":[{"start":{"line":1052,"column":12},"end":{"line":1052,"column":12}},{"start":{"line":1052,"column":12},"end":{"line":1052,"column":12}}]},"36":{"line":1056,"type":"if","locations":[{"start":{"line":1056,"column":16},"end":{"line":1056,"column":16}},{"start":{"line":1056,"column":16},"end":{"line":1056,"column":16}}]},"37":{"line":1062,"type":"if","locations":[{"start":{"line":1062,"column":16},"end":{"line":1062,"column":16}},{"start":{"line":1062,"column":16},"end":{"line":1062,"column":16}}]},"38":{"line":1066,"type":"if","locations":[{"start":{"line":1066,"column":16},"end":{"line":1066,"column":16}},{"start":{"line":1066,"column":16},"end":{"line":1066,"column":16}}]},"39":{"line":1070,"type":"if","locations":[{"start":{"line":1070,"column":16},"end":{"line":1070,"column":16}},{"start":{"line":1070,"column":16},"end":{"line":1070,"column":16}}]},"40":{"line":1074,"type":"if","locations":[{"start":{"line":1074,"column":16},"end":{"line":1074,"column":16}},{"start":{"line":1074,"column":16},"end":{"line":1074,"column":16}}]},"41":{"line":1078,"type":"if","locations":[{"start":{"line":1078,"column":16},"end":{"line":1078,"column":16}},{"start":{"line":1078,"column":16},"end":{"line":1078,"column":16}}]},"42":{"line":1084,"type":"if","locations":[{"start":{"line":1084,"column":16},"end":{"line":1084,"column":16}},{"start":{"line":1084,"column":16},"end":{"line":1084,"column":16}}]},"43":{"line":1085,"type":"if","locations":[{"start":{"line":1085,"column":20},"end":{"line":1085,"column":20}},{"start":{"line":1085,"column":20},"end":{"line":1085,"column":20}}]},"44":{"line":1095,"type":"if","locations":[{"start":{"line":1095,"column":16},"end":{"line":1095,"column":16}},{"start":{"line":1095,"column":16},"end":{"line":1095,"column":16}}]},"45":{"line":1108,"type":"binary-expr","locations":[{"start":{"line":1108,"column":32},"end":{"line":1108,"column":57}},{"start":{"line":1108,"column":63},"end":{"line":1108,"column":90}},{"start":{"line":1108,"column":96},"end":{"line":1109,"column":26}},{"start":{"line":1109,"column":32},"end":{"line":1109,"column":60}}]},"46":{"line":1111,"type":"if","locations":[{"start":{"line":1111,"column":16},"end":{"line":1111,"column":16}},{"start":{"line":1111,"column":16},"end":{"line":1111,"column":16}}]},"47":{"line":1111,"type":"binary-expr","locations":[{"start":{"line":1111,"column":20},"end":{"line":1111,"column":28}},{"start":{"line":1112,"column":21},"end":{"line":1112,"column":38}},{"start":{"line":1113,"column":21},"end":{"line":1113,"column":60}}]},"48":{"line":1123,"type":"if","locations":[{"start":{"line":1123,"column":20},"end":{"line":1123,"column":20}},{"start":{"line":1123,"column":20},"end":{"line":1123,"column":20}}]},"49":{"line":1124,"type":"if","locations":[{"start":{"line":1124,"column":24},"end":{"line":1124,"column":24}},{"start":{"line":1124,"column":24},"end":{"line":1124,"column":24}}]},"50":{"line":1127,"type":"if","locations":[{"start":{"line":1127,"column":29},"end":{"line":1127,"column":29}},{"start":{"line":1127,"column":29},"end":{"line":1127,"column":29}}]},"51":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":24},"end":{"line":1132,"column":24}},{"start":{"line":1132,"column":24},"end":{"line":1132,"column":24}}]},"52":{"line":1135,"type":"if","locations":[{"start":{"line":1135,"column":29},"end":{"line":1135,"column":29}},{"start":{"line":1135,"column":29},"end":{"line":1135,"column":29}}]},"53":{"line":1140,"type":"if","locations":[{"start":{"line":1140,"column":20},"end":{"line":1140,"column":20}},{"start":{"line":1140,"column":20},"end":{"line":1140,"column":20}}]},"54":{"line":1149,"type":"if","locations":[{"start":{"line":1149,"column":16},"end":{"line":1149,"column":16}},{"start":{"line":1149,"column":16},"end":{"line":1149,"column":16}}]},"55":{"line":1187,"type":"binary-expr","locations":[{"start":{"line":1187,"column":19},"end":{"line":1187,"column":25}},{"start":{"line":1187,"column":30},"end":{"line":1187,"column":48}}]},"56":{"line":1188,"type":"switch","locations":[{"start":{"line":1189,"column":20},"end":{"line":1190,"column":31}},{"start":{"line":1192,"column":20},"end":{"line":1195,"column":31}},{"start":{"line":1197,"column":20},"end":{"line":1198,"column":30}}]},"57":{"line":1203,"type":"if","locations":[{"start":{"line":1203,"column":16},"end":{"line":1203,"column":16}},{"start":{"line":1203,"column":16},"end":{"line":1203,"column":16}}]},"58":{"line":1222,"type":"binary-expr","locations":[{"start":{"line":1222,"column":19},"end":{"line":1222,"column":25}},{"start":{"line":1222,"column":30},"end":{"line":1222,"column":48}}]},"59":{"line":1223,"type":"switch","locations":[{"start":{"line":1224,"column":20},"end":{"line":1225,"column":31}},{"start":{"line":1227,"column":20},"end":{"line":1230,"column":30}},{"start":{"line":1232,"column":20},"end":{"line":1234,"column":30}},{"start":{"line":1236,"column":20},"end":{"line":1242,"column":30}},{"start":{"line":1244,"column":20},"end":{"line":1245,"column":30}}]},"60":{"line":1237,"type":"if","locations":[{"start":{"line":1237,"column":24},"end":{"line":1237,"column":24}},{"start":{"line":1237,"column":24},"end":{"line":1237,"column":24}}]},"61":{"line":1250,"type":"if","locations":[{"start":{"line":1250,"column":16},"end":{"line":1250,"column":16}},{"start":{"line":1250,"column":16},"end":{"line":1250,"column":16}}]},"62":{"line":1269,"type":"binary-expr","locations":[{"start":{"line":1269,"column":19},"end":{"line":1269,"column":25}},{"start":{"line":1269,"column":30},"end":{"line":1269,"column":48}}]},"63":{"line":1270,"type":"switch","locations":[{"start":{"line":1271,"column":20},"end":{"line":1272,"column":31}},{"start":{"line":1274,"column":20},"end":{"line":1277,"column":30}},{"start":{"line":1279,"column":20},"end":{"line":1284,"column":30}},{"start":{"line":1286,"column":20},"end":{"line":1287,"column":30}}]},"64":{"line":1280,"type":"if","locations":[{"start":{"line":1280,"column":24},"end":{"line":1280,"column":24}},{"start":{"line":1280,"column":24},"end":{"line":1280,"column":24}}]},"65":{"line":1292,"type":"if","locations":[{"start":{"line":1292,"column":16},"end":{"line":1292,"column":16}},{"start":{"line":1292,"column":16},"end":{"line":1292,"column":16}}]},"66":{"line":1324,"type":"if","locations":[{"start":{"line":1324,"column":12},"end":{"line":1324,"column":12}},{"start":{"line":1324,"column":12},"end":{"line":1324,"column":12}}]},"67":{"line":1341,"type":"if","locations":[{"start":{"line":1341,"column":12},"end":{"line":1341,"column":12}},{"start":{"line":1341,"column":12},"end":{"line":1341,"column":12}}]},"68":{"line":1341,"type":"binary-expr","locations":[{"start":{"line":1341,"column":16},"end":{"line":1341,"column":40}},{"start":{"line":1341,"column":44},"end":{"line":1341,"column":80}}]},"69":{"line":1342,"type":"if","locations":[{"start":{"line":1342,"column":16},"end":{"line":1342,"column":16}},{"start":{"line":1342,"column":16},"end":{"line":1342,"column":16}}]},"70":{"line":1347,"type":"if","locations":[{"start":{"line":1347,"column":20},"end":{"line":1347,"column":20}},{"start":{"line":1347,"column":20},"end":{"line":1347,"column":20}}]},"71":{"line":1347,"type":"binary-expr","locations":[{"start":{"line":1347,"column":24},"end":{"line":1347,"column":39}},{"start":{"line":1347,"column":44},"end":{"line":1347,"column":58}},{"start":{"line":1347,"column":62},"end":{"line":1347,"column":85}}]},"72":{"line":1348,"type":"if","locations":[{"start":{"line":1348,"column":24},"end":{"line":1348,"column":24}},{"start":{"line":1348,"column":24},"end":{"line":1348,"column":24}}]},"73":{"line":1356,"type":"if","locations":[{"start":{"line":1356,"column":24},"end":{"line":1356,"column":24}},{"start":{"line":1356,"column":24},"end":{"line":1356,"column":24}}]},"74":{"line":1366,"type":"if","locations":[{"start":{"line":1366,"column":16},"end":{"line":1366,"column":16}},{"start":{"line":1366,"column":16},"end":{"line":1366,"column":16}}]},"75":{"line":1389,"type":"if","locations":[{"start":{"line":1389,"column":12},"end":{"line":1389,"column":12}},{"start":{"line":1389,"column":12},"end":{"line":1389,"column":12}}]},"76":{"line":1410,"type":"if","locations":[{"start":{"line":1410,"column":12},"end":{"line":1410,"column":12}},{"start":{"line":1410,"column":12},"end":{"line":1410,"column":12}}]},"77":{"line":1414,"type":"if","locations":[{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}},{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}}]},"78":{"line":1415,"type":"if","locations":[{"start":{"line":1415,"column":16},"end":{"line":1415,"column":16}},{"start":{"line":1415,"column":16},"end":{"line":1415,"column":16}}]},"79":{"line":1416,"type":"if","locations":[{"start":{"line":1416,"column":20},"end":{"line":1416,"column":20}},{"start":{"line":1416,"column":20},"end":{"line":1416,"column":20}}]},"80":{"line":1416,"type":"binary-expr","locations":[{"start":{"line":1416,"column":24},"end":{"line":1416,"column":49}},{"start":{"line":1416,"column":53},"end":{"line":1416,"column":81}}]},"81":{"line":1417,"type":"if","locations":[{"start":{"line":1417,"column":24},"end":{"line":1417,"column":24}},{"start":{"line":1417,"column":24},"end":{"line":1417,"column":24}}]},"82":{"line":1428,"type":"if","locations":[{"start":{"line":1428,"column":17},"end":{"line":1428,"column":17}},{"start":{"line":1428,"column":17},"end":{"line":1428,"column":17}}]},"83":{"line":1429,"type":"if","locations":[{"start":{"line":1429,"column":16},"end":{"line":1429,"column":16}},{"start":{"line":1429,"column":16},"end":{"line":1429,"column":16}}]},"84":{"line":1430,"type":"if","locations":[{"start":{"line":1430,"column":20},"end":{"line":1430,"column":20}},{"start":{"line":1430,"column":20},"end":{"line":1430,"column":20}}]},"85":{"line":1431,"type":"if","locations":[{"start":{"line":1431,"column":24},"end":{"line":1431,"column":24}},{"start":{"line":1431,"column":24},"end":{"line":1431,"column":24}}]},"86":{"line":1442,"type":"if","locations":[{"start":{"line":1442,"column":17},"end":{"line":1442,"column":17}},{"start":{"line":1442,"column":17},"end":{"line":1442,"column":17}}]},"87":{"line":1445,"type":"if","locations":[{"start":{"line":1445,"column":17},"end":{"line":1445,"column":17}},{"start":{"line":1445,"column":17},"end":{"line":1445,"column":17}}]},"88":{"line":1446,"type":"if","locations":[{"start":{"line":1446,"column":16},"end":{"line":1446,"column":16}},{"start":{"line":1446,"column":16},"end":{"line":1446,"column":16}}]},"89":{"line":1452,"type":"if","locations":[{"start":{"line":1452,"column":17},"end":{"line":1452,"column":17}},{"start":{"line":1452,"column":17},"end":{"line":1452,"column":17}}]},"90":{"line":1455,"type":"if","locations":[{"start":{"line":1455,"column":17},"end":{"line":1455,"column":17}},{"start":{"line":1455,"column":17},"end":{"line":1455,"column":17}}]},"91":{"line":1456,"type":"if","locations":[{"start":{"line":1456,"column":16},"end":{"line":1456,"column":16}},{"start":{"line":1456,"column":16},"end":{"line":1456,"column":16}}]},"92":{"line":1469,"type":"if","locations":[{"start":{"line":1469,"column":12},"end":{"line":1469,"column":12}},{"start":{"line":1469,"column":12},"end":{"line":1469,"column":12}}]},"93":{"line":1488,"type":"if","locations":[{"start":{"line":1488,"column":12},"end":{"line":1488,"column":12}},{"start":{"line":1488,"column":12},"end":{"line":1488,"column":12}}]},"94":{"line":1489,"type":"if","locations":[{"start":{"line":1489,"column":16},"end":{"line":1489,"column":16}},{"start":{"line":1489,"column":16},"end":{"line":1489,"column":16}}]},"95":{"line":1490,"type":"if","locations":[{"start":{"line":1490,"column":20},"end":{"line":1490,"column":20}},{"start":{"line":1490,"column":20},"end":{"line":1490,"column":20}}]},"96":{"line":1494,"type":"if","locations":[{"start":{"line":1494,"column":20},"end":{"line":1494,"column":20}},{"start":{"line":1494,"column":20},"end":{"line":1494,"column":20}}]},"97":{"line":1502,"type":"if","locations":[{"start":{"line":1502,"column":17},"end":{"line":1502,"column":17}},{"start":{"line":1502,"column":17},"end":{"line":1502,"column":17}}]},"98":{"line":1503,"type":"if","locations":[{"start":{"line":1503,"column":16},"end":{"line":1503,"column":16}},{"start":{"line":1503,"column":16},"end":{"line":1503,"column":16}}]},"99":{"line":1506,"type":"if","locations":[{"start":{"line":1506,"column":20},"end":{"line":1506,"column":20}},{"start":{"line":1506,"column":20},"end":{"line":1506,"column":20}}]},"100":{"line":1515,"type":"if","locations":[{"start":{"line":1515,"column":12},"end":{"line":1515,"column":12}},{"start":{"line":1515,"column":12},"end":{"line":1515,"column":12}}]},"101":{"line":1534,"type":"if","locations":[{"start":{"line":1534,"column":12},"end":{"line":1534,"column":12}},{"start":{"line":1534,"column":12},"end":{"line":1534,"column":12}}]},"102":{"line":1534,"type":"binary-expr","locations":[{"start":{"line":1534,"column":16},"end":{"line":1534,"column":36}},{"start":{"line":1534,"column":40},"end":{"line":1534,"column":63}}]},"103":{"line":1551,"type":"if","locations":[{"start":{"line":1551,"column":12},"end":{"line":1551,"column":12}},{"start":{"line":1551,"column":12},"end":{"line":1551,"column":12}}]},"104":{"line":1560,"type":"if","locations":[{"start":{"line":1560,"column":12},"end":{"line":1560,"column":12}},{"start":{"line":1560,"column":12},"end":{"line":1560,"column":12}}]},"105":{"line":1560,"type":"binary-expr","locations":[{"start":{"line":1560,"column":16},"end":{"line":1560,"column":24}},{"start":{"line":1560,"column":28},"end":{"line":1560,"column":45}},{"start":{"line":1560,"column":49},"end":{"line":1560,"column":72}}]},"106":{"line":1566,"type":"if","locations":[{"start":{"line":1566,"column":12},"end":{"line":1566,"column":12}},{"start":{"line":1566,"column":12},"end":{"line":1566,"column":12}}]},"107":{"line":1566,"type":"binary-expr","locations":[{"start":{"line":1566,"column":16},"end":{"line":1566,"column":18}},{"start":{"line":1566,"column":22},"end":{"line":1566,"column":34}}]},"108":{"line":1571,"type":"if","locations":[{"start":{"line":1571,"column":16},"end":{"line":1571,"column":16}},{"start":{"line":1571,"column":16},"end":{"line":1571,"column":16}}]},"109":{"line":1571,"type":"binary-expr","locations":[{"start":{"line":1571,"column":20},"end":{"line":1571,"column":27}},{"start":{"line":1571,"column":31},"end":{"line":1571,"column":38}},{"start":{"line":1571,"column":42},"end":{"line":1571,"column":58}}]},"110":{"line":1582,"type":"if","locations":[{"start":{"line":1582,"column":20},"end":{"line":1582,"column":20}},{"start":{"line":1582,"column":20},"end":{"line":1582,"column":20}}]},"111":{"line":1582,"type":"binary-expr","locations":[{"start":{"line":1582,"column":24},"end":{"line":1582,"column":33}},{"start":{"line":1582,"column":37},"end":{"line":1582,"column":43}}]},"112":{"line":1586,"type":"binary-expr","locations":[{"start":{"line":1586,"column":35},"end":{"line":1586,"column":43}},{"start":{"line":1586,"column":47},"end":{"line":1586,"column":48}}]},"113":{"line":1589,"type":"if","locations":[{"start":{"line":1589,"column":20},"end":{"line":1589,"column":20}},{"start":{"line":1589,"column":20},"end":{"line":1589,"column":20}}]},"114":{"line":1594,"type":"if","locations":[{"start":{"line":1594,"column":32},"end":{"line":1594,"column":32}},{"start":{"line":1594,"column":32},"end":{"line":1594,"column":32}}]},"115":{"line":1599,"type":"if","locations":[{"start":{"line":1599,"column":36},"end":{"line":1599,"column":36}},{"start":{"line":1599,"column":36},"end":{"line":1599,"column":36}}]},"116":{"line":1602,"type":"if","locations":[{"start":{"line":1602,"column":41},"end":{"line":1602,"column":41}},{"start":{"line":1602,"column":41},"end":{"line":1602,"column":41}}]},"117":{"line":1626,"type":"if","locations":[{"start":{"line":1626,"column":24},"end":{"line":1626,"column":24}},{"start":{"line":1626,"column":24},"end":{"line":1626,"column":24}}]},"118":{"line":1626,"type":"binary-expr","locations":[{"start":{"line":1626,"column":28},"end":{"line":1626,"column":40}},{"start":{"line":1626,"column":44},"end":{"line":1626,"column":73}}]},"119":{"line":1667,"type":"if","locations":[{"start":{"line":1667,"column":12},"end":{"line":1667,"column":12}},{"start":{"line":1667,"column":12},"end":{"line":1667,"column":12}}]},"120":{"line":1703,"type":"if","locations":[{"start":{"line":1703,"column":12},"end":{"line":1703,"column":12}},{"start":{"line":1703,"column":12},"end":{"line":1703,"column":12}}]},"121":{"line":1714,"type":"if","locations":[{"start":{"line":1714,"column":12},"end":{"line":1714,"column":12}},{"start":{"line":1714,"column":12},"end":{"line":1714,"column":12}}]},"122":{"line":1823,"type":"if","locations":[{"start":{"line":1823,"column":12},"end":{"line":1823,"column":12}},{"start":{"line":1823,"column":12},"end":{"line":1823,"column":12}}]},"123":{"line":1832,"type":"if","locations":[{"start":{"line":1832,"column":12},"end":{"line":1832,"column":12}},{"start":{"line":1832,"column":12},"end":{"line":1832,"column":12}}]},"124":{"line":1840,"type":"if","locations":[{"start":{"line":1840,"column":12},"end":{"line":1840,"column":12}},{"start":{"line":1840,"column":12},"end":{"line":1840,"column":12}}]},"125":{"line":1840,"type":"binary-expr","locations":[{"start":{"line":1840,"column":17},"end":{"line":1840,"column":22}},{"start":{"line":1840,"column":27},"end":{"line":1840,"column":56}},{"start":{"line":1840,"column":63},"end":{"line":1840,"column":69}},{"start":{"line":1840,"column":73},"end":{"line":1840,"column":91}}]},"126":{"line":1850,"type":"if","locations":[{"start":{"line":1850,"column":12},"end":{"line":1850,"column":12}},{"start":{"line":1850,"column":12},"end":{"line":1850,"column":12}}]},"127":{"line":1880,"type":"if","locations":[{"start":{"line":1880,"column":16},"end":{"line":1880,"column":16}},{"start":{"line":1880,"column":16},"end":{"line":1880,"column":16}}]},"128":{"line":1902,"type":"if","locations":[{"start":{"line":1902,"column":12},"end":{"line":1902,"column":12}},{"start":{"line":1902,"column":12},"end":{"line":1902,"column":12}}]},"129":{"line":1902,"type":"binary-expr","locations":[{"start":{"line":1902,"column":16},"end":{"line":1902,"column":51}},{"start":{"line":1902,"column":55},"end":{"line":1902,"column":77}}]},"130":{"line":1906,"type":"if","locations":[{"start":{"line":1906,"column":12},"end":{"line":1906,"column":12}},{"start":{"line":1906,"column":12},"end":{"line":1906,"column":12}}]},"131":{"line":1913,"type":"if","locations":[{"start":{"line":1913,"column":12},"end":{"line":1913,"column":12}},{"start":{"line":1913,"column":12},"end":{"line":1913,"column":12}}]},"132":{"line":1934,"type":"if","locations":[{"start":{"line":1934,"column":12},"end":{"line":1934,"column":12}},{"start":{"line":1934,"column":12},"end":{"line":1934,"column":12}}]},"133":{"line":1935,"type":"if","locations":[{"start":{"line":1935,"column":16},"end":{"line":1935,"column":16}},{"start":{"line":1935,"column":16},"end":{"line":1935,"column":16}}]},"134":{"line":1940,"type":"if","locations":[{"start":{"line":1940,"column":16},"end":{"line":1940,"column":16}},{"start":{"line":1940,"column":16},"end":{"line":1940,"column":16}}]},"135":{"line":1960,"type":"if","locations":[{"start":{"line":1960,"column":12},"end":{"line":1960,"column":12}},{"start":{"line":1960,"column":12},"end":{"line":1960,"column":12}}]},"136":{"line":1960,"type":"binary-expr","locations":[{"start":{"line":1960,"column":16},"end":{"line":1960,"column":42}},{"start":{"line":1960,"column":46},"end":{"line":1960,"column":88}}]},"137":{"line":1966,"type":"if","locations":[{"start":{"line":1966,"column":12},"end":{"line":1966,"column":12}},{"start":{"line":1966,"column":12},"end":{"line":1966,"column":12}}]},"138":{"line":1966,"type":"binary-expr","locations":[{"start":{"line":1966,"column":16},"end":{"line":1966,"column":41}},{"start":{"line":1966,"column":45},"end":{"line":1966,"column":68}}]},"139":{"line":2000,"type":"if","locations":[{"start":{"line":2000,"column":12},"end":{"line":2000,"column":12}},{"start":{"line":2000,"column":12},"end":{"line":2000,"column":12}}]},"140":{"line":2006,"type":"binary-expr","locations":[{"start":{"line":2006,"column":29},"end":{"line":2006,"column":38}},{"start":{"line":2006,"column":42},"end":{"line":2006,"column":54}},{"start":{"line":2006,"column":59},"end":{"line":2006,"column":68}}]},"141":{"line":2010,"type":"if","locations":[{"start":{"line":2010,"column":16},"end":{"line":2010,"column":16}},{"start":{"line":2010,"column":16},"end":{"line":2010,"column":16}}]},"142":{"line":2015,"type":"if","locations":[{"start":{"line":2015,"column":20},"end":{"line":2015,"column":20}},{"start":{"line":2015,"column":20},"end":{"line":2015,"column":20}}]},"143":{"line":2025,"type":"if","locations":[{"start":{"line":2025,"column":16},"end":{"line":2025,"column":16}},{"start":{"line":2025,"column":16},"end":{"line":2025,"column":16}}]}},"code":["(function () { YUI.add('aui-autocomplete-deprecated', function (A, NAME) {","","/**"," * The AutoComplete Utility"," *"," * @module aui-autocomplete"," */","","var Lang = A.Lang,"," isArray = Lang.isArray,"," isString = Lang.isString,"," isNull = Lang.isNull,"," isFunction = Lang.isFunction,",""," getClassName = A.getClassName,",""," KeyMap = A.Event.KeyMap,",""," ALERT = 'alert',"," CONTENT = 'content',"," HELPER = 'helper',"," HIDDEN = 'hidden',"," ICON = 'icon',"," ITEM = 'item',"," LIST = 'list',"," LOADING = 'loading',"," NAME = 'autocomplete',"," RESET = 'reset',"," RESULTS = 'results',"," SELECTED = 'selected',",""," ICON_DEFAULT = 'icon-circle-arrow-down',"," ICON_ERROR = ALERT,"," ICON_LOADING = LOADING,",""," CSS_HIGLIGHT = getClassName(NAME, SELECTED),"," CSS_HIDDEN = getClassName(HELPER, HIDDEN),"," CSS_LIST_ITEM = getClassName(NAME, LIST, ITEM),"," CSS_RESULTS_LIST = getClassName(HELPER, RESET),"," CSS_RESULTS_OVERLAY = getClassName(NAME, RESULTS),"," CSS_RESULTS_OVERLAY_CONTENT = getClassName(NAME, RESULTS, CONTENT),",""," BACKSPACE = 'BACKSPACE',"," TAB = 'TAB',"," ENTER = 'ENTER',"," ALT = 'ALT',"," ESC = 'ESC',"," UP = 'UP',"," DOWN = 'DOWN',"," RIGHT = 'RIGHT',"," WIN_IME = 'WIN_IME',",""," OVERLAY_ALIGN = {"," node: null,"," points: ['tl', 'bl']"," },",""," BOUNDING_BOX = 'boundingBox',"," CONTENT_BOX = 'contentBox';","","/**"," *
"," *"," * A base class for AutoComplete, providing:"," * "," * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor) "," * Presenting users choices based on their input "," * Separating selected items "," * Keyboard interaction for selecting items "," * "," *"," * Quick Example: "," *"," * var instance = new A.AutoCompleteDeprecated({"," *\tdataSource: [['AL', 'Alabama', 'The Heart of Dixie'],"," * \t['AK', 'Alaska', 'The Land of the Midnight Sun'],"," *\t['AZ', 'Arizona', 'The Grand Canyon State']],"," *\tschema: {"," *\t\tresultFields: ['key', 'name', 'description']"," *\t},"," *\tmatchKey: 'name',"," *\tdelimChar: ',',"," *\ttypeAhead: true,"," *\tcontentBox: '#myAutoComplete'"," * }).render();"," *
"," *"," * Check the list of Configuration Attributes available for"," * AutoComplete."," *"," * @param config {Object} Object literal specifying widget configuration properties."," *"," * @class AutoComplete"," * @constructor"," * @extends Component"," */","","var AutoComplete = A.Component.create({",""," /**"," * Static property provides a string to identify the class."," *"," * @property AutoComplete.NAME"," * @type String"," * @static"," */",""," NAME: NAME,",""," /**"," * Static property used to define the default attribute"," * configuration for the AutoComplete."," *"," * @property AutoComplete.ATTRS"," * @type Object"," * @static"," */",""," ATTRS: {"," /**"," * Always show the results container, instead of only showing when the"," * user is requesting them."," *"," * @attribute alwaysShowContainer"," * @default false"," * @type Boolean"," */"," alwaysShowContainer: {"," value: false"," },",""," /**"," * Automatically highlight the first item in the list when the results are"," * made visible."," *"," * @attribute autoHighlight"," * @default true"," * @type Boolean"," */"," autoHighlight: {"," value: true"," },",""," /**"," * If set to true, the filterResults "," * method will be run on the response from the data source."," *"," * @attribute applyLocalFilter"," * @default true"," * @type Boolean"," */"," applyLocalFilter: {"," value: null"," },",""," /**"," * To use a button"," *"," * @attribute button"," * @default true"," * @type Boolean"," * @deprecated"," */"," button: {"," value: true"," },",""," /**"," * The data source that results will be read from. This can either be"," * an existing DataSource object, or it can be a"," * value that would be passed to DataSource ."," *"," * @attribute dataSource"," * @default null"," * @type Object | String | Function | Array"," */"," dataSource: {"," value: null"," },",""," /**"," * The type of the data source passed into dataSource ."," * This can be used to explicitly declare what kind of DataSource object will"," * be created."," *"," * @attribute dataSourceType"," * @default null"," * @type String"," */"," dataSourceType: {"," value: null"," },",""," /**"," * The character used to indicate the beginning or ending of a new value. Most commonly used"," * is a \",\"."," *"," * @attribute delimChar"," * @default null"," * @type String"," */"," delimChar: {"," value: null,"," setter: function(value) {"," if (isString(value) && (value.length > 0)) {"," value = [value];"," }"," else if (!isArray(value)) {"," value = A.Attribute.INVALID_VALUE;"," }",""," return value;"," }"," },",""," /**"," * If typeAhead is true, this"," * will clear a selection when the overlay closes unless a user explicitly selects an item."," *"," * @attribute forceSelection"," * @default false"," * @type Boolean"," */"," forceSelection: {"," value: false"," },",""," /**"," * The input field which will recieve the users input."," *"," * @attribute input"," * @default null"," * @type String | Node"," */"," input: {"," value: null"," },",""," /**"," * The key or numeric index in the schema to match the result against."," *"," * @attribute matchKey"," * @default 0"," * @type String | Number"," */"," matchKey: {"," value: 0"," },",""," /**"," * The maximum number of results to display."," *"," *"," * @attribute maxResultsDisplayed"," * @default 10"," * @type Number"," */"," maxResultsDisplayed: {"," value: 10"," },",""," /**"," * The minimum number of characters required to query the data source."," *"," * @attribute minQueryLength"," * @default 1"," * @type Number"," */"," minQueryLength: {"," value: 1"," },",""," /**"," * The amount of time in seconds to delay before submitting the query."," *"," * @attribute queryDelay"," * @default 0.2"," * @type Number"," */"," queryDelay: {"," value: 0.2,"," getter: function(value) {"," return value * 1000;"," }"," },",""," /**"," * When IME usage is detected or interval detection is explicitly enabled,"," * AutoComplete will detect the input value at the given interval and send a"," * query if the value has changed."," *"," * @attribute queryInterval"," * @default 0.5"," * @type Number"," */"," queryInterval: {"," value: 0.5,"," getter: function(value) {"," return value * 1000;"," }"," },",""," /**"," * When applyLocalFilter is true,"," * setting this to true will match only results with the same case."," *"," * @attribute queryMatchCase"," * @default false"," * @type Boolean"," */"," queryMatchCase: {"," value: false"," },",""," /**"," * When applyLocalFilter is true,"," * setting this to true will match results which contain the query anywhere in the text,"," * instead of just matching just items that start with the query."," *"," * @attribute queryMatchContains"," * @default false"," * @type Boolean"," */"," queryMatchContains: {"," value: false"," },",""," /**"," * For IO DataSources, AutoComplete will automatically insert a \"?\" between the server URI and"," * the encoded query string. To prevent this behavior, you can"," * set this value to false. If you need to customize this even further, you"," * can override the generateRequest method."," *"," * @attribute queryQuestionMark"," * @default true"," * @type Boolean"," */"," queryQuestionMark: {"," value: true"," },",""," /**"," * A valid configuration object for any of DataSource schema plugins."," *"," * @attribute schema"," * @default null"," * @type Object"," */"," schema: {"," value: null"," },",""," /**"," * A valid type of DataSource schema plugin, such as array, json, xml, etc."," *"," * @attribute schemaType"," * @default array"," * @type String"," */"," schemaType: {"," value: '',"," validator: isString"," },",""," /**"," * Whether or not the input field should be updated with selections."," *"," * @attribute suppressInputUpdate"," * @default false"," * @type Boolean"," */"," suppressInputUpdate: {"," value: false"," },",""," /**"," * If autoHighlight is enabled, whether or not the"," * input field should be automatically updated with the first result as the user types,"," * automatically selecting the portion of the text the user has not typed yet."," *"," * @attribute typeAhead"," * @default false"," * @type Boolean"," */"," typeAhead: {"," value: false"," },",""," /**"," * If typeAhead is true, number of seconds"," * to delay before updating the input. In order to prevent certain race conditions, this value must"," * always be greater than the queryDelay ."," *"," * @attribute typeAheadDelay"," * @default 0.2"," * @type Number"," */"," typeAheadDelay: {"," value: 0.2,"," getter: function(value) {"," return value * 1000;"," }"," },",""," /**"," * The unique ID of the input element."," *"," * @attribute uniqueName"," * @default null"," * @type String"," */"," uniqueName: {"," value: null"," }"," },",""," prototype: {"," /**"," * Construction logic executed during AutoComplete instantiation. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function(config) {"," var instance = this;",""," instance._overlayAlign = A.mix({}, OVERLAY_ALIGN);",""," instance._createDataSource();"," },",""," /**"," * Create the DOM structure for the AutoComplete. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," var instance = this;",""," instance._renderInput();"," instance._renderOverlay();"," },",""," /**"," * Bind the events on the AutoComplete UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," var instance = this;",""," var button = instance.button;"," var inputNode = instance.inputNode;",""," instance.dataSource.on('request', A.bind(button.set, button, ICON, ICON_LOADING));",""," button.on('click', instance._onButtonMouseDown, instance);",""," inputNode.on('blur', instance._onTextboxBlur, instance);"," inputNode.on('focus', instance._onTextboxFocus, instance);"," inputNode.on('keydown', instance._onTextboxKeyDown, instance);"," inputNode.on('keypress', instance._onTextboxKeyPress, instance);"," inputNode.on('keyup', instance._onTextboxKeyUp, instance);",""," var overlayBoundingBox = instance.overlay.get(BOUNDING_BOX);",""," overlayBoundingBox.on('click', instance._onContainerClick, instance);"," overlayBoundingBox.on('mouseout', instance._onContainerMouseout, instance);"," overlayBoundingBox.on('mouseover', instance._onContainerMouseover, instance);"," overlayBoundingBox.on('scroll', instance._onContainerScroll, instance);",""," /**"," * Handles the containerCollapse event. Fired when the container is hidden."," *"," * @event containerCollapse"," * @param {Event.Facade} event The containerCollapse event."," */"," instance.publish('containerCollapse');",""," /**"," * Handles the containerExpand event. Fired when the container is shown."," *"," * @event containerExpand"," * @param {Event.Facade} event The containerExpand event."," */"," instance.publish('containerExpand');",""," /**"," * Handles the containerPopulate event. Fired when the container is populated."," *"," * @event containerPopulate"," * @param {Event.Facade} event The containerPopulate event."," */"," instance.publish('containerPopulate');",""," /**"," * Handles the dataError event. Fired when there is an error accessing the data."," *"," * @event dataError"," * @param {Event.Facade} event The dataError event."," */"," instance.publish('dataError');",""," /**"," * Handles the dataRequest event. Fired when ever a query is sent to the data source."," *"," * @event dataRequest"," * @param {Event.Facade} event The dataRequest event."," */"," instance.publish('dataRequest');",""," /**"," * Handles the dataReturn event. Fired when data successfully comes back from the data request."," *"," * @event dataReturn"," * @param {Event.Facade} event The dataReturn event."," */"," instance.publish('dataReturn');",""," /**"," * Handles the itemArrowFrom event. Fired when the user navigates via the keyboard away from"," * a selected item."," *"," * @event itemArrowFrom"," * @param {Event.Facade} event The itemArrowFrom event."," */"," instance.publish('itemArrowFrom');",""," /**"," * Handles the itemArrowTo event. Fired when the user navigates via the keyboard to a selected item."," *"," * @event itemArrowTo"," * @param {Event.Facade} event The itemArrowTo event."," */"," instance.publish('itemArrowTo');",""," /**"," * Handles the itemMouseOut event. Fired when the user mouses away from an item."," *"," * @event itemMouseOut"," * @param {Event.Facade} event The itemMouseOut event."," */"," instance.publish('itemMouseOut');",""," /**"," * Handles the itemMouseOver event. Fired when the user mouses over an item."," *"," * @event itemMouseOver"," * @param {Event.Facade} event The itemMouseOver event."," */"," instance.publish('itemMouseOver');",""," /**"," * Handles the itemSelect event. Fired when an item in the list is selected."," *"," * @event itemSelect"," * @param {Event.Facade} event The itemSelect event."," */"," instance.publish('itemSelect');",""," /**"," * Handles the selectionEnforce event. Fired if forceSelection "," * is enabled and the users input element has been cleared because it did not match one of the results."," *"," * @event selectionEnforce"," * @param {Event.Facade} event The selectionEnforce event."," */"," instance.publish('selectionEnforce');",""," /**"," * Handles the textboxBlur event. Fired when the user leaves the input element."," *"," * @event textboxBlur"," * @param {Event.Facade} event The textboxBlur event."," */"," instance.publish('textboxBlur');",""," /**"," * Handles the textboxChange event. Fired when the value in the input element is changed."," *"," * @event textboxChange"," * @param {Event.Facade} event The textboxChange event."," */"," instance.publish('textboxChange');",""," /**"," * Handles the textboxFocus event. Fired when user moves focus to the input element."," *"," * @event textboxFocus"," * @param {Event.Facade} event The textboxFocus event."," */"," instance.publish('textboxFocus');",""," /**"," * Handles the textboxKey event. Fired when the input element receives key input."," *"," * @event textboxKey"," * @param {Event.Facade} event The textboxKey event."," */"," instance.publish('textboxKey');",""," /**"," * Handles the typeAhead event. Fired when the input element has been pre-filled by the type-ahead feature."," *"," * @event typeAhead"," * @param {Event.Facade} event The typeAhead event."," */"," instance.publish('typeAhead');",""," /**"," * Handles the unmatchedItemSelect event. Fired when a user selects something that does"," * not match any of the displayed results."," *"," * @event unmatchedItemSelect"," * @param {Event.Facade} event The unmatchedItemSelect event."," */"," instance.publish('unmatchedItemSelect');",""," instance.overlay.after('visibleChange', instance._realignContainer, instance);"," },",""," /**"," * Sync the AutoComplete UI. Lifecycle."," *"," * @method syncUI"," * @protected"," */"," syncUI: function() {"," var instance = this;",""," instance.inputNode.setAttribute('autocomplete', 'off');"," },",""," /**"," * Destructor lifecycle implementation for the Autocomplete class."," * Purges events attached to the node (and all child nodes)."," *"," * @method destructor"," * @protected"," */"," destructor: function() {"," var instance = this;",""," instance.overlay.destroy();"," },",""," /**"," * An overridable method that is executed before the result container is shown."," * The method can return false to prevent the container from being shown."," *"," * @method doBeforeExpandContainer"," * @param {String} query The query that was submitted to the data source"," * @param {Object} allResults The parsed results"," * @return {Boolean}"," */"," doBeforeExpandContainer: function() {"," return true;"," },",""," /**"," * An overridable method that is executed before the result overlay is loaded with results."," *"," * @method doBeforeLoadData"," * @param {EventFacade} event"," * @return {Boolean}"," */"," doBeforeLoadData: function(event) {"," return true;"," },",""," /**"," * Executed by the data source as a mechanism to do simple client-side"," * filtering of the results."," *"," * @method filterResults"," * @param {EventFacade} event"," * @return {Object} Filtered response object"," */"," filterResults: function(event) {"," var instance = this;",""," var callback = event.callback;"," var query = event.request;"," var response = event.response;",""," if (callback && callback.argument && callback.argument.query) {"," query = callback.argument.query;"," }",""," if (query) {"," var dataSource = instance.dataSource;"," var allResults = response.results;"," var filteredResults = [];"," var matchFound = false;"," var matchKey = instance.get('matchKey');"," var matchCase = instance.get('queryMatchCase');"," var matchContains = instance.get('queryMatchContains');"," var showAll = (query == '*');",""," var fields = instance.get('schema.resultFields');",""," for (var i = allResults.length - 1; i >= 0; i--) {"," var result = allResults[i];",""," var strResult = null;",""," if (isString(result)) {"," strResult = result;"," }"," else if (isArray(result)) {"," strResult = result[0];"," }"," else if (fields) {"," strResult = result[matchKey || fields[0]];"," }",""," if (isString(strResult)) {"," var keyIndex = -1;",""," if (matchCase) {"," keyIndex = strResult.indexOf(decodeURIComponent(query));"," }"," else {"," keyIndex = strResult.toLowerCase().indexOf(decodeURIComponent(query).toLowerCase());"," }",""," if ("," (showAll) ||"," (!matchContains && (keyIndex === 0)) ||"," (matchContains && (keyIndex > -1))"," ) {"," filteredResults.unshift(result);"," }"," }"," }",""," response.results = filteredResults;"," }",""," return response;"," },",""," /**"," * An overridable method for formatting the result of the query before it's displayed in the overlay."," *"," * @method formatResult"," * @param {Object} result The result data object"," * @param {String} request The current query string"," * @param {String} resultMatch The string from the results that matches the query"," * @return {String}"," */"," formatResult: function(result, request, resultMatch) {"," return resultMatch || '';"," },",""," /**"," * An overridable method that creates an object to be passed to the sendRequest"," * method of the data source object. Useful to overwrite if you wish to create"," * a custom request object before it's sent."," *"," * @method generateRequest"," * @param {String} query The string currently being entered"," * @return {Object}"," */"," generateRequest: function(query) {"," return {"," request: query"," };"," },",""," /**"," * Handles the response for the display of the results. This is a callback method"," * that is fired by the sendRequest method so that results are ready to be accessed."," *"," * @method handleResponse"," * @param {EventFacade} event"," */"," handleResponse: function(event) {"," var instance = this;",""," instance._populateList(event);",""," var iconClass = ICON_DEFAULT;",""," if (event.error) {"," iconClass = ICON_ERROR;"," }",""," instance.button.set(ICON, iconClass);"," },",""," /**"," * Sends a query request to the data source object."," *"," * @method sendQuery"," * @param {String} query Query string"," */"," sendQuery: function(query) {"," var instance = this;",""," instance.set('focused', null);",""," var newQuery = query;",""," if (instance.get('delimChar')) {"," query = instance.inputNode.get('value') + query;"," }",""," instance._sendQuery(newQuery);"," },",""," /**"," * Clears the query interval"," *"," * @method _clearInterval"," * @private"," */"," _clearInterval: function() {"," var instance = this;",""," if (instance._queryIntervalId) {"," clearInterval(instance._queryIntervalId);",""," instance._queryIntervalId = null;"," }"," },",""," /**"," * When forceSelection is true and"," * the user tries to leave the input element without selecting an item from the results,"," * the user selection is cleared."," *"," * @method _clearSelection"," * @protected"," */"," _clearSelection: function() {"," var instance = this;",""," var delimChar = instance.get('delimChar');"," var extraction = {"," previous: '',"," query: instance.inputNode.get('value')"," };",""," if (delimChar) {"," extraction = instance._extractQuery(instance.inputNode.get('value'));"," }",""," instance.fire('selectionEnforce', extraction.query);"," },",""," /**"," * Creates the data source object using the passed in dataSource ,"," * and if it is a string, will use the dataSourceType to"," * create a new DataSource object."," *"," * @method _createDataSource"," * @protected"," * @return {String}"," */"," _createDataSource: function() {"," var instance = this;",""," instance._queryTask = A.debounce(instance.sendQuery, instance.get('queryDelay'), instance);",""," var dataSource = instance.get('dataSource');"," var data = dataSource;",""," var dataSourceType = instance.get('dataSourceType');",""," if (!(dataSource instanceof A.DataSource.Local)) {"," if (!dataSourceType) {"," dataSourceType = 'Local';",""," if (isFunction(data)) {"," dataSourceType = 'Function';"," }"," else if (isString(data)) {"," dataSourceType = 'IO';"," }"," }",""," dataSource = new A.DataSource[dataSourceType]({"," source: data"," });"," }",""," dataSource.on('error', instance.handleResponse, instance);"," dataSource.after('response', instance.handleResponse, instance);",""," dataSourceType = dataSource.name;",""," if (dataSourceType == 'dataSourceLocal') {"," instance.set('applyLocalFilter', true);"," }",""," instance.set('dataSource', dataSource);"," instance.set('dataSourceType', dataSourceType);",""," instance.dataSource = dataSource;",""," var schema = instance.get('schema');",""," if (schema) {"," if (schema.fn) {"," instance.dataSource.plug(schema);"," }"," else {"," var schemaType = instance.get('schemaType');",""," var schemaTypes = {"," array: A.Plugin.DataSourceArraySchema,"," json: A.Plugin.DataSourceJSONSchema,"," text: A.Plugin.DataSourceTextSchema,"," xml: A.Plugin.DataSourceXMLSchema"," };",""," schemaType = schemaType.toLowerCase() || 'array';",""," instance.dataSource.plug({"," fn: schemaTypes[schemaType],"," cfg: {"," schema: schema"," }"," });"," }"," }",""," instance.set('schema', schema);"," },",""," /**"," * Enables query interval detection for IME support."," *"," * @method _enableIntervalDetection"," * @protected"," */"," _enableIntervalDetection: function() {"," var instance = this;",""," var queryInterval = instance.get('queryInterval');",""," if (!instance._queryIntervalId && queryInterval) {"," instance._queryInterval = setInterval(A.bind(instance._onInterval, instance), queryInterval);"," }"," },",""," /**"," * Extracts the right most query from the delimited string in the input."," *"," * @method _extractQuery"," * @param {String} query String to parse"," * @protected"," * @return {String}"," */"," _extractQuery: function(query) {"," var instance = this;",""," var delimChar = instance.get('delimChar');"," var delimIndex = -1;"," var i = delimChar.length - 1;",""," var newIndex, queryStart, previous;",""," for (; i >= 0; i--) {"," newIndex = query.lastIndexOf(delimChar[i]);",""," if (newIndex > delimIndex) {"," delimIndex = newIndex;"," }"," }",""," if (delimChar[i] == ' ') {"," for (var j = delimChar.length - 1; j >= 0; j--) {"," if (query[delimIndex - 1] == delimChar[j]) {"," delimIndex--;",""," break;"," }"," }"," }",""," if (delimIndex > -1) {"," queryStart = delimIndex + 1;",""," while (query.charAt(queryStart) == ' ') {"," queryStart += 1;"," }",""," previous = query.substring(0, queryStart);",""," query = query.substring(queryStart);"," }"," else {"," previous = '';"," }",""," return {"," previous: previous,"," query: query"," };"," },",""," /**"," * Focuses the input element."," *"," * @method _focus"," * @protected"," */"," _focus: function() {"," var instance = this;",""," setTimeout("," function() {"," instance.inputNode.focus();"," },"," 0"," );"," },",""," /**"," * If there is a currently selected item, the right arrow key will select"," * that item and jump to the end of the input element, otherwise the container is closed."," *"," * @method _jumpSelection"," * @protected"," */"," _jumpSelection: function() {"," var instance = this;",""," if (instance._elCurListItem) {"," instance._selectItem(instance._elCurListItem);"," }"," else {"," instance._toggleContainer(false);"," }"," },",""," /**"," * Triggered by the up and down arrow keys, changes the currently selected list element item, and scrolls the"," * container if necessary."," *"," * @method _moveSelection"," * @param {Number} keyCode The numeric code of the key pressed"," * @protected"," */"," _moveSelection: function(keyCode) {"," var instance = this;",""," if (instance.overlay.get('visible')) {"," var elCurListItem = instance._elCurListItem;"," var curItemIndex = -1;",""," if (elCurListItem) {"," curItemIndex = Number(elCurListItem.getAttribute('data-listItemIndex'));"," }",""," var newItemIndex = curItemIndex - 1;",""," if (KeyMap.isKey(keyCode, DOWN)) {"," newItemIndex = curItemIndex + 1;"," }",""," if (newItemIndex == -1) {"," newItemIndex = instance._displayedItems - 1;"," }",""," if (newItemIndex >= instance._displayedItems) {"," newItemIndex = 0;"," }",""," if (newItemIndex < -2) {"," return;"," }",""," if (elCurListItem) {"," instance._toggleHighlight(elCurListItem, 'from');",""," instance.fire('itemArrowFrom', elCurListItem);"," }",""," if (newItemIndex == -1) {"," if (instance.get('delimChar')) {"," instance.inputNode.set('value', instance._pastSelections + instance._currentQuery);"," }"," else {"," instance.inputNode.set('value', instance._currentQuery);"," }",""," return;"," }",""," if (newItemIndex == -2) {"," instance._toggleContainer(false);",""," return;"," }",""," var elNewListItem = instance.resultList.get('childNodes').item(newItemIndex);",""," var elContent = instance.overlay.get(CONTENT_BOX);",""," var contentOverflow = elContent.getStyle('overflow');"," var contentOverflowY = elContent.getStyle('overflowY');",""," var scrollOn = (contentOverflow == 'auto') || (contentOverflow == 'scroll') || (contentOverflowY =="," 'auto') || (contentOverflowY == 'scroll');",""," if (scrollOn &&"," (newItemIndex > -1) &&"," (newItemIndex < instance._displayedItems)) {",""," var newScrollTop = -1;"," var liTop = elNewListItem.get('offsetTop');"," var liBottom = liTop + elNewListItem.get('offsetHeight');",""," var contentHeight = elContent.get('offsetHeight');"," var contentScrollTop = elContent.get('scrollTop');"," var contentBottom = contentHeight + contentScrollTop;",""," if (KeyMap.isKey(keyCode, DOWN)) {"," if (liBottom > contentBottom) {"," newScrollTop = (liBottom - contentHeight);"," }"," else if (liBottom < contentScrollTop) {"," newScrollTop = liTop;"," }"," }"," else {"," if (liTop < contentHeight) {"," newScrollTop = liTop;"," }"," else if (liTop > contentBottom) {"," newScrollTop = (liBottom - contentHeight);"," }"," }",""," if (newScrollTop > -1) {"," elContent.set('scrollTop', newScrollTop);"," }"," }",""," instance._toggleHighlight(elNewListItem, 'to');",""," instance.fire('itemArrowTo', elNewListItem);",""," if (instance.get('typeAhead')) {"," instance._updateValue(elNewListItem);"," }"," }"," },",""," /**"," * Called when the user mouses down on the button element in the combobox."," *"," * @method _onButtonMouseDown"," * @param {EventFacade} event"," * @protected"," */"," _onButtonMouseDown: function(event) {"," var instance = this;",""," event.halt();",""," instance._focus();",""," instance._sendQuery(instance.inputNode.get('value') + '*');"," },",""," /**"," * Handles when a user clicks on the container."," *"," * @method _onContainerClick"," * @param {EventFacade} event"," * @protected"," */"," _onContainerClick: function(event) {"," var instance = this;",""," var target = event.target;"," var tagName = target.get('nodeName').toLowerCase();",""," event.halt();",""," while (target && (tagName != 'table')) {"," switch (tagName) {"," case 'body':"," return;",""," case 'li':"," instance._toggleHighlight(target, 'to');"," instance._selectItem(target);"," return;",""," default:"," break;"," }",""," target = target.get('parentNode');",""," if (target) {"," tagName = target.get('nodeName').toLowerCase();"," }"," }"," },",""," /**"," * Handles when a user mouses out of the container."," *"," * @method _onContainerMouseout"," * @param {EventFacade} event"," * @protected"," */"," _onContainerMouseout: function(event) {"," var instance = this;",""," var target = event.target;"," var tagName = target.get('nodeName').toLowerCase();",""," while (target && (tagName != 'table')) {"," switch (tagName) {"," case 'body':"," return;",""," case 'li':"," instance._toggleHighlight(target, 'from');"," instance.fire('itemMouseOut', target);"," break;",""," case 'ul':"," instance._toggleHighlight(instance._elCurListItem, 'to');"," break;",""," case 'div':"," if (target.hasClass(CSS_RESULTS_OVERLAY)) {"," instance._overContainer = false;",""," return;"," }"," break;",""," default:"," break;"," }",""," target = target.get('parentNode');",""," if (target) {"," tagName = target.get('nodeName').toLowerCase();"," }"," }"," },",""," /**"," * Handles when a user mouses over the container."," *"," * @method _onContainerMouseover"," * @param {EventFacade} event"," * @protected"," */"," _onContainerMouseover: function(event) {"," var instance = this;",""," var target = event.target;"," var tagName = target.get('nodeName').toLowerCase();",""," while (target && (tagName != 'table')) {"," switch (tagName) {"," case 'body':"," return;",""," case 'li':"," instance._toggleHighlight(target, 'to');"," instance.fire('itemMouseOut', target);"," break;",""," case 'div':"," if (target.hasClass(CSS_RESULTS_OVERLAY)) {"," instance._overContainer = true;"," return;"," }"," break;",""," default:"," break;"," }",""," target = target.get('parentNode');",""," if (target) {"," tagName = target.get('nodeName').toLowerCase();"," }"," }"," },",""," /**"," * Handles the container scroll events."," *"," * @method _onContainerScroll"," * @param {EventFacade} event"," * @protected"," */"," _onContainerScroll: function(event) {"," var instance = this;",""," instance._focus();"," },",""," /**"," * Enables the query to be triggered based on detecting text input via intervals instead of via"," * key events."," *"," * @method _onInterval"," * @protected"," */"," _onInterval: function() {"," var instance = this;",""," var curValue = instance.inputNode.get('value');"," var lastValue = instance._lastValue;",""," if (curValue != lastValue) {"," instance._lastValue = curValue;",""," instance._sendQuery(curValue);"," }"," },",""," /**"," * Handles the input element losing focus."," *"," * @method _onTextboxBlur"," * @param {EventFacade} event"," * @protected"," */"," _onTextboxBlur: function(event) {"," var instance = this;",""," if (!instance._overContainer || KeyMap.isKey(instance._keyCode, TAB)) {"," if (!instance._itemSelected) {"," var elMatchListItem = instance._textMatchesOption();",""," var overlayVisible = instance.overlay.get('visible');",""," if (!overlayVisible || (overlayVisible && isNull(elMatchListItem))) {"," if (instance.get('forceSelection')) {"," instance._clearSelection();"," }"," else {"," instance.fire('unmatchedItemSelect', instance._currentQuery);"," }"," }"," else {"," if (instance.get('forceSelection')) {"," instance._selectItem(elMatchListItem);"," }"," }"," }",""," instance._clearInterval();",""," instance.blur();",""," if (instance._initInputValue !== instance.inputNode.get('value')) {"," instance.fire('textboxChange');"," }",""," instance.fire('textboxBlur');",""," instance._toggleContainer(false);"," }"," else {"," instance._focus();"," }"," },",""," /**"," * Handles the input element gaining focus."," *"," * @method _onTextboxFocus"," * @param {EventFacade} event"," * @protected"," */"," _onTextboxFocus: function(event) {"," var instance = this;",""," if (!instance.get('focused')) {"," instance.inputNode.setAttribute('autocomplete', 'off');"," instance.focus();"," instance._initInputValue = instance.inputNode.get('value');",""," instance.fire('textboxFocus');"," }"," },",""," /**"," * Handles the keydown events on the input element for functional keys."," *"," * @method _onTextboxKeyDown"," * @param {EventFacade} event"," * @protected"," */"," _onTextboxKeyDown: function(event) {"," var instance = this;",""," var keyCode = event.keyCode;",""," if (instance._typeAheadDelayId != -1) {"," clearTimeout(instance._typeAheadDelayId);"," }",""," if (event.isKey(TAB)) {"," if (instance._elCurListItem) {"," if (instance.get('delimChar') && instance._keyCode != keyCode) {"," if (instance.overlay.get('visible')) {"," event.halt();"," }"," }",""," instance._selectItem(instance._elCurListItem);"," }"," else {"," instance._toggleContainer(false);"," }"," }"," else if (event.isKey(ENTER)) {"," if (instance._elCurListItem) {"," if (instance._keyCode != keyCode) {"," if (instance.overlay.get('visible')) {"," event.halt();"," }"," }",""," instance._selectItem(instance._elCurListItem);"," }"," else {"," instance._toggleContainer(false);"," }"," }"," else if (event.isKey(ESC)) {"," instance._toggleContainer(false);"," }"," else if (event.isKey(UP)) {"," if (instance.overlay.get('visible')) {"," event.halt();",""," instance._moveSelection(keyCode);"," }"," }"," else if (event.isKey(RIGHT)) {"," instance._jumpSelection();"," }"," else if (event.isKey(DOWN)) {"," if (instance.overlay.get('visible')) {"," event.halt();",""," instance._moveSelection(keyCode);"," }"," }"," else {"," instance._itemSelected = false;"," instance._toggleHighlight(instance._elCurListItem, 'from');",""," instance.fire('textboxKey', keyCode);"," }",""," if (event.isKey(ALT)) {"," instance._enableIntervalDetection();"," }",""," instance._keyCode = keyCode;"," },",""," /**"," * Handles the key press events of the input element."," *"," * @method _onTextboxKeyPress"," * @param {EventFacade} event"," * @protected"," */"," _onTextboxKeyPress: function(event) {"," var instance = this;",""," var keyCode = event.keyCode;",""," if (event.isKey(TAB)) {"," if (instance.overlay.get('visible')) {"," if (instance.get('delimChar')) {"," event.halt();"," }",""," if (instance._elCurListItem) {"," instance._selectItem(instance._elCurListItem);"," }"," else {"," instance._toggleContainer(false);"," }"," }"," }"," else if (event.isKey(ENTER)) {"," if (instance.overlay.get('visible')) {"," event.halt();",""," if (instance._elCurListItem) {"," instance._selectItem(instance._elCurListItem);"," }"," else {"," instance._toggleContainer(false);"," }"," }"," }",""," if (event.isKey(WIN_IME)) {"," instance._enableIntervalDetection();"," }"," },",""," /**"," * Handles the keyup events of the input element."," *"," * @method _onTextboxKeyUp"," * @param {EventFacade} event"," * @protected"," */"," _onTextboxKeyUp: function(event) {"," var instance = this;",""," var input = instance.inputNode;",""," var value = input.get('value');",""," if (event.isSpecialKey() && !event.isKey(BACKSPACE)) {"," return;"," }",""," instance._queryTask(value);"," },",""," /**"," * Populates the container with list items of the query results."," *"," * @method _populateList"," * @param {EventFacade} event"," * @protected"," */"," _populateList: function(event) {"," var instance = this;",""," if (instance._typeAheadDelayId != -1) {"," clearTimeout(instance._typeAheadDelayId);"," }",""," var query = event.request;"," var response = event.response;"," var callback = event.callback;"," var showAll = (query == '*');",""," if (callback && callback.argument && callback.argument.query) {"," event.request = query = callback.argument.query;"," }",""," var ok = instance.doBeforeLoadData(event);",""," if (ok && !event.error) {"," instance.fire('dataReturn', event);",""," var focused = instance.get('focused');",""," if (showAll || focused || focused === null) {"," var currentQuery = decodeURIComponent(query);",""," instance._currentQuery = currentQuery;"," instance._itemSelected = false;",""," var allResults = event.response.results;"," var itemsToShow = Math.min(allResults.length, instance.get('maxResultsDisplayed'));"," var fields = instance.get('schema.resultFields');"," var matchKey = instance.get('matchKey');",""," if (!matchKey && fields) {"," matchKey = fields[0];"," }"," else {"," matchKey = matchKey || 0;"," }",""," if (itemsToShow > 0) {"," var allListItemEls = instance.resultList.get('childNodes');",""," allListItemEls.each("," function(node, i, nodeList) {"," if (i < itemsToShow) {"," var result = allResults[i];",""," var resultMatch = '';",""," if (isString(result)) {"," resultMatch = result;"," }"," else if (isArray(result)) {"," resultMatch = result[0];"," }"," else {"," resultMatch = result[matchKey];"," }",""," node._resultMatch = resultMatch;",""," node._resultData = result;"," node.html(instance.formatResult(result, currentQuery, resultMatch));",""," node.removeClass(CSS_HIDDEN);"," }"," else {"," node.addClass(CSS_HIDDEN);"," }"," }"," );",""," instance._displayedItems = itemsToShow;",""," instance.fire('containerPopulate', query, allResults);",""," if (query != '*' && instance.get('autoHighlight')) {"," var elFirstListItem = instance.resultList.get('firstChild');",""," instance._toggleHighlight(elFirstListItem, 'to');"," instance.fire('itemArrowTo', elFirstListItem);",""," instance._typeAhead(elFirstListItem, query);"," }"," else {"," instance._toggleHighlight(instance._elCurListItem, 'from');"," }",""," ok = instance.doBeforeExpandContainer(query, allResults);",""," instance._toggleContainer(ok);"," }"," else {"," instance._toggleContainer(false);"," }",""," return;"," }",""," }"," else {"," instance.fire('dataError', query);"," }"," },",""," /**"," * Realigns the container to the input element."," *"," * @method _realignContainer"," * @param {EventFacade} event"," * @protected"," */"," _realignContainer: function(event) {"," var instance = this;",""," var overlayAlign = instance._overlayAlign;",""," if (event.newVal) {"," instance.overlay._uiSetAlign(overlayAlign.node, overlayAlign.points);"," }"," },",""," /**"," * Handles the rendering of the input element."," *"," * @method _renderInput"," * @protected"," */"," _renderInput: function() {"," var instance = this;",""," var contentBox = instance.get(CONTENT_BOX);"," var input = instance.get('input');",""," var comboConfig = {"," field: {"," labelText: false"," },"," icons: ["," {"," icon: 'icon-circle-arrow-down',"," id: 'trigger',"," handler: {"," fn: instance._onButtonMouseDown,"," context: instance"," }"," }"," ]"," };",""," var inputReference = null;"," var inputParent = null;",""," if (input) {"," input = A.one(input);",""," comboConfig.field.node = input;",""," inputReference = input.next();"," inputParent = input.get('parentNode');"," }",""," var comboBox = new A.Combobox(comboConfig).render(contentBox);",""," if (inputParent) {"," var comboBoundingBox = comboBox.get('boundingBox');",""," inputParent.insertBefore(comboBoundingBox, inputReference);"," }",""," instance.inputNode = comboBox.get('node');"," instance.button = comboBox.icons.item(0);",""," instance.set('uniqueName', A.stamp(instance.inputNode));"," },",""," /**"," * Pre-populates the container with the"," * maxResultsDisplayed "," * number of list items."," *"," * @method _renderListElements"," * @protected"," */"," _renderListElements: function() {"," var instance = this;",""," var maxResultsDisplayed = instance.get('maxResultsDisplayed');",""," var resultList = instance.resultList;",""," var listItems = [];",""," while (maxResultsDisplayed--) {"," listItems[maxResultsDisplayed] = ' ';"," }",""," resultList.html(listItems.join(''));"," },",""," /**"," * Handles the creation of the overlay where the result list will be displayed."," *"," * @method _renderOverlay"," * @protected"," */"," _renderOverlay: function() {"," var instance = this;",""," var overlayAlign = instance._overlayAlign;",""," overlayAlign.node = instance.inputNode;",""," var overlay = new A.OverlayBase({"," align: overlayAlign,"," bodyContent: '',"," visible: false,"," width: instance.inputNode.get('offsetWidth'),"," zIndex: 1"," });",""," var contentBox = overlay.get(CONTENT_BOX);",""," overlay.get(BOUNDING_BOX).addClass(CSS_RESULTS_OVERLAY);",""," contentBox.addClass(CSS_RESULTS_OVERLAY_CONTENT);",""," overlay.render();",""," overlay.addTarget(instance);",""," instance.overlay = overlay;"," instance.resultList = contentBox.one('ul');",""," instance.resultList.addClass(CSS_RESULTS_LIST);",""," instance._renderListElements();"," },",""," /**"," * Selects a list item from the query results."," *"," * @method _selectItem"," * @param {Node} elListItem The list item to select"," * @protected"," */"," _selectItem: function(elListItem) {"," var instance = this;",""," instance._itemSelected = true;",""," instance._updateValue(elListItem);",""," instance._pastSelections = instance.inputNode.get('value');",""," instance._clearInterval();",""," instance.fire('itemSelect', elListItem, elListItem._resultData);",""," instance._toggleContainer(false);"," },",""," /**"," * Makes a query request to the data source."," *"," * @method _sendQuery"," * @param {String} query The query string"," * @protected"," */"," _sendQuery: function(query) {"," var instance = this;",""," if (instance.get('disabled')) {"," instance._toggleContainer(false);",""," return;"," }",""," var delimChar = instance.get('delimChar');"," var minQueryLength = instance.get('minQueryLength');",""," if (delimChar) {"," var extraction = instance._extractQuery(query);",""," query = extraction.query;",""," instance._pastSelections = extraction.previous;"," }",""," if ((query && (query.length < minQueryLength)) || (!query && minQueryLength > 0)) {"," instance._queryTask.cancel();",""," instance._toggleContainer(false);",""," return;"," }",""," query = encodeURIComponent(query);",""," if (instance.get('applyLocalFilter')) {"," instance.dataSource.on('response', instance.filterResults, instance);"," }",""," var request = instance.generateRequest(query);",""," instance.fire('dataRequest', query, request);",""," instance.dataSource.sendRequest(request);"," },",""," /**"," * Checks to see if the value typed by the user matches any of the"," * query results."," *"," * @method _textMatchesOption"," * @protected"," */"," _textMatchesOption: function() {"," var instance = this;",""," var elMatch = null;"," var displayedItems = instance._displayedItems;"," var listItems = instance.resultList.get('childNodes');",""," for (var i = 0; i < displayedItems.length; i++) {"," var elListItem = listItems.item(i);",""," var match = ('' + elListItem._resultMatch).toLowerCase();",""," if (match == instance._currentQuery.toLowerCase()) {"," elMatch = elListItem;",""," break;"," }"," }",""," return elMatch;"," },",""," /**"," * Toggles the display of the results container."," *"," * @method _toggleContainer"," * @param {Boolean} show Flag to force the showing or hiding of the container"," * @protected"," */"," _toggleContainer: function(show) {"," var instance = this;",""," var overlay = instance.overlay;",""," if (instance.get('alwaysShowContainer') && overlay.get('visible')) {"," return;"," }",""," if (!show) {"," instance._toggleHighlight(instance._elCurListItem, 'from');",""," instance._displayedItems = 0;"," instance._currentQuery = null;"," }",""," if (show) {"," overlay.show();"," instance.fire('containerExpand');"," }"," else {"," overlay.hide();"," instance.fire('containerCollapse');"," }"," },",""," /**"," * Toggles the highlighting of a list item, and removes the highlighting from the previous item"," *"," * @method _toggleHighlight"," * @param {Node} elNewListItem The item to be highlighted"," * @param {String} action Whether we are moving to or from an item. Valid values are \"to\" or \"from\"."," * @protected"," */"," _toggleHighlight: function(elNewListItem, action) {"," var instance = this;",""," if (elNewListItem) {"," if (instance._elCurListItem) {"," instance._elCurListItem.removeClass(CSS_HIGLIGHT);"," instance._elCurListItem = null;"," }",""," if (action == 'to') {"," elNewListItem.addClass(CSS_HIGLIGHT);",""," instance._elCurListItem = elNewListItem;"," }"," }"," },",""," /**"," * Updates in the input element with the first result as the user types,"," * selecting the text the user has not typed yet."," *"," * @method _typeAhead"," * @param {Node} elListItem The selected list item"," * @param {String} query The query string"," * @protected"," */"," _typeAhead: function(elListItem, query) {"," var instance = this;",""," if (!instance.get('typeAhead') || KeyMap.isKey(instance._keyCode, BACKSPACE)) {"," return;"," }",""," var inputEl = A.Node.getDOMNode(instance.inputNode);",""," if (inputEl.setSelectionRange || inputEl.createTextRange) {"," instance._typeAheadDelayId = setTimeout("," function() {"," var value = inputEl.value;",""," var start = value.length;",""," instance._updateValue(elListItem);",""," var end = inputEl.value.length;",""," instance.inputNode.selectText(start, end);",""," var prefill = inputEl.value.substr(start, end);",""," instance.fire('typeAhead', query, prefill);"," },"," instance.get('typeAheadDelay')"," );"," }"," },",""," /**"," * Updates the input element with the selected query result. If"," * delimChar has been set,"," * then the value gets appended with the delimiter."," *"," * @method _updateValue"," * @param {Node} elListItem The selected list item"," * @protected"," */"," _updateValue: function(elListItem) {"," var instance = this;",""," if (!instance.get('suppressInputUpdate')) {"," var input = instance.inputNode;"," var resultMatch = elListItem._resultMatch;",""," var delimChar = instance.get('delimChar');",""," delimChar = (delimChar && delimChar[0]) || delimChar;",""," var newValue = '';",""," if (delimChar) {"," newValue = instance._pastSelections;",""," newValue += resultMatch + delimChar;",""," if (delimChar != ' ') {"," newValue += ' ';"," }"," }"," else {"," newValue = resultMatch;"," }",""," input.set('value', newValue);",""," if (input.get('type') == 'textarea') {"," input.set('scrollTop', input.get('scrollHeight'));"," }",""," var end = newValue.length;",""," input.selectText(end, end);",""," instance._elCurListItem = elListItem;"," }"," },",""," _currentQuery: null,"," _displayedItems: 0,"," _elCurListItem: null,"," _initInputValue: null,"," _itemSelected: false,"," _keyCode: null,"," _lastValue: null,"," _overContainer: false,"," _pastSelections: '',"," _typeAheadDelayId: -1"," }","});","","A.AutoCompleteDeprecated = AutoComplete;","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-overlay-base-deprecated\","," \"datasource\","," \"dataschema\","," \"aui-form-combobox-deprecated\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_Y1fZ8T10pAylzY2EJrD8Mg = __coverage__['build/aui-autocomplete-deprecated/aui-autocomplete-deprecated.js'];
+__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['1']++;YUI.add('aui-autocomplete-deprecated',function(A,NAME){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['1']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['2']++;var Lang=A.Lang,isArray=Lang.isArray,isString=Lang.isString,isNull=Lang.isNull,isFunction=Lang.isFunction,getClassName=A.getClassName,KeyMap=A.Event.KeyMap,ALERT='alert',CONTENT='content',HELPER='helper',HIDDEN='hidden',ICON='icon',ITEM='item',LIST='list',LOADING='loading',NAME='autocomplete',RESET='reset',RESULTS='results',SELECTED='selected',ICON_DEFAULT='icon-circle-arrow-down',ICON_ERROR=ALERT,ICON_LOADING=LOADING,CSS_HIGLIGHT=getClassName(NAME,SELECTED),CSS_HIDDEN=getClassName(HELPER,HIDDEN),CSS_LIST_ITEM=getClassName(NAME,LIST,ITEM),CSS_RESULTS_LIST=getClassName(HELPER,RESET),CSS_RESULTS_OVERLAY=getClassName(NAME,RESULTS),CSS_RESULTS_OVERLAY_CONTENT=getClassName(NAME,RESULTS,CONTENT),BACKSPACE='BACKSPACE',TAB='TAB',ENTER='ENTER',ALT='ALT',ESC='ESC',UP='UP',DOWN='DOWN',RIGHT='RIGHT',WIN_IME='WIN_IME',OVERLAY_ALIGN={node:null,points:['tl','bl']},BOUNDING_BOX='boundingBox',CONTENT_BOX='contentBox';__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['3']++;var AutoComplete=A.Component.create({NAME:NAME,ATTRS:{alwaysShowContainer:{value:false},autoHighlight:{value:true},applyLocalFilter:{value:null},button:{value:true},dataSource:{value:null},dataSourceType:{value:null},delimChar:{value:null,setter:function(value){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['2']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['4']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['2'][0]++,isString(value))&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['2'][1]++,value.length>0)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['1'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['5']++;value=[value];}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['1'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['6']++;if(!isArray(value)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['3'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['7']++;value=A.Attribute.INVALID_VALUE;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['3'][1]++;}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['8']++;return value;}},forceSelection:{value:false},input:{value:null},matchKey:{value:0},maxResultsDisplayed:{value:10},minQueryLength:{value:1},queryDelay:{value:0.2,getter:function(value){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['3']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['9']++;return value*1000;}},queryInterval:{value:0.5,getter:function(value){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['4']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['10']++;return value*1000;}},queryMatchCase:{value:false},queryMatchContains:{value:false},queryQuestionMark:{value:true},schema:{value:null},schemaType:{value:'',validator:isString},suppressInputUpdate:{value:false},typeAhead:{value:false},typeAheadDelay:{value:0.2,getter:function(value){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['5']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['11']++;return value*1000;}},uniqueName:{value:null}},prototype:{initializer:function(config){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['6']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['12']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['13']++;instance._overlayAlign=A.mix({},OVERLAY_ALIGN);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['14']++;instance._createDataSource();},renderUI:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['7']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['15']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['16']++;instance._renderInput();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['17']++;instance._renderOverlay();},bindUI:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['8']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['18']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['19']++;var button=instance.button;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['20']++;var inputNode=instance.inputNode;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['21']++;instance.dataSource.on('request',A.bind(button.set,button,ICON,ICON_LOADING));__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['22']++;button.on('click',instance._onButtonMouseDown,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['23']++;inputNode.on('blur',instance._onTextboxBlur,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['24']++;inputNode.on('focus',instance._onTextboxFocus,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['25']++;inputNode.on('keydown',instance._onTextboxKeyDown,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['26']++;inputNode.on('keypress',instance._onTextboxKeyPress,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['27']++;inputNode.on('keyup',instance._onTextboxKeyUp,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['28']++;var overlayBoundingBox=instance.overlay.get(BOUNDING_BOX);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['29']++;overlayBoundingBox.on('click',instance._onContainerClick,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['30']++;overlayBoundingBox.on('mouseout',instance._onContainerMouseout,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['31']++;overlayBoundingBox.on('mouseover',instance._onContainerMouseover,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['32']++;overlayBoundingBox.on('scroll',instance._onContainerScroll,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['33']++;instance.publish('containerCollapse');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['34']++;instance.publish('containerExpand');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['35']++;instance.publish('containerPopulate');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['36']++;instance.publish('dataError');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['37']++;instance.publish('dataRequest');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['38']++;instance.publish('dataReturn');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['39']++;instance.publish('itemArrowFrom');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['40']++;instance.publish('itemArrowTo');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['41']++;instance.publish('itemMouseOut');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['42']++;instance.publish('itemMouseOver');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['43']++;instance.publish('itemSelect');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['44']++;instance.publish('selectionEnforce');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['45']++;instance.publish('textboxBlur');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['46']++;instance.publish('textboxChange');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['47']++;instance.publish('textboxFocus');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['48']++;instance.publish('textboxKey');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['49']++;instance.publish('typeAhead');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['50']++;instance.publish('unmatchedItemSelect');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['51']++;instance.overlay.after('visibleChange',instance._realignContainer,instance);},syncUI:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['9']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['52']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['53']++;instance.inputNode.setAttribute('autocomplete','off');},destructor:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['10']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['54']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['55']++;instance.overlay.destroy();},doBeforeExpandContainer:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['11']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['56']++;return true;},doBeforeLoadData:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['12']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['57']++;return true;},filterResults:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['13']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['58']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['59']++;var callback=event.callback;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['60']++;var query=event.request;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['61']++;var response=event.response;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['62']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['5'][0]++,callback)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['5'][1]++,callback.argument)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['5'][2]++,callback.argument.query)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['4'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['63']++;query=callback.argument.query;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['4'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['64']++;if(query){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['6'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['65']++;var dataSource=instance.dataSource;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['66']++;var allResults=response.results;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['67']++;var filteredResults=[];__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['68']++;var matchFound=false;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['69']++;var matchKey=instance.get('matchKey');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['70']++;var matchCase=instance.get('queryMatchCase');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['71']++;var matchContains=instance.get('queryMatchContains');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['72']++;var showAll=query=='*';__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['73']++;var fields=instance.get('schema.resultFields');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['74']++;for(var i=allResults.length-1;i>=0;i--){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['75']++;var result=allResults[i];__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['76']++;var strResult=null;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['77']++;if(isString(result)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['7'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['78']++;strResult=result;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['7'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['79']++;if(isArray(result)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['8'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['80']++;strResult=result[0];}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['8'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['81']++;if(fields){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['9'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['82']++;strResult=result[(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['10'][0]++,matchKey)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['10'][1]++,fields[0])];}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['9'][1]++;}}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['83']++;if(isString(strResult)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['11'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['84']++;var keyIndex=-1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['85']++;if(matchCase){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['12'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['86']++;keyIndex=strResult.indexOf(decodeURIComponent(query));}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['12'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['87']++;keyIndex=strResult.toLowerCase().indexOf(decodeURIComponent(query).toLowerCase());}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['88']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['14'][0]++,showAll)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['14'][1]++,!matchContains)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['14'][2]++,keyIndex===0)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['14'][3]++,matchContains)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['14'][4]++,keyIndex>-1)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['13'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['89']++;filteredResults.unshift(result);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['13'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['11'][1]++;}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['90']++;response.results=filteredResults;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['6'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['91']++;return response;},formatResult:function(result,request,resultMatch){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['14']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['92']++;return(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['15'][0]++,resultMatch)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['15'][1]++,'');},generateRequest:function(query){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['15']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['93']++;return{request:query};},handleResponse:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['16']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['94']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['95']++;instance._populateList(event);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['96']++;var iconClass=ICON_DEFAULT;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['97']++;if(event.error){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['16'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['98']++;iconClass=ICON_ERROR;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['16'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['99']++;instance.button.set(ICON,iconClass);},sendQuery:function(query){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['17']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['100']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['101']++;instance.set('focused',null);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['102']++;var newQuery=query;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['103']++;if(instance.get('delimChar')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['17'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['104']++;query=instance.inputNode.get('value')+query;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['17'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['105']++;instance._sendQuery(newQuery);},_clearInterval:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['18']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['106']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['107']++;if(instance._queryIntervalId){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['18'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['108']++;clearInterval(instance._queryIntervalId);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['109']++;instance._queryIntervalId=null;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['18'][1]++;}},_clearSelection:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['19']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['110']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['111']++;var delimChar=instance.get('delimChar');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['112']++;var extraction={previous:'',query:instance.inputNode.get('value')};__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['113']++;if(delimChar){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['19'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['114']++;extraction=instance._extractQuery(instance.inputNode.get('value'));}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['19'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['115']++;instance.fire('selectionEnforce',extraction.query);},_createDataSource:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['20']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['116']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['117']++;instance._queryTask=A.debounce(instance.sendQuery,instance.get('queryDelay'),instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['118']++;var dataSource=instance.get('dataSource');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['119']++;var data=dataSource;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['120']++;var dataSourceType=instance.get('dataSourceType');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['121']++;if(!(dataSource instanceof A.DataSource.Local)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['20'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['122']++;if(!dataSourceType){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['21'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['123']++;dataSourceType='Local';__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['124']++;if(isFunction(data)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['22'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['125']++;dataSourceType='Function';}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['22'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['126']++;if(isString(data)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['23'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['127']++;dataSourceType='IO';}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['23'][1]++;}}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['21'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['128']++;dataSource=new A.DataSource[dataSourceType]({source:data});}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['20'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['129']++;dataSource.on('error',instance.handleResponse,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['130']++;dataSource.after('response',instance.handleResponse,instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['131']++;dataSourceType=dataSource.name;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['132']++;if(dataSourceType=='dataSourceLocal'){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['24'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['133']++;instance.set('applyLocalFilter',true);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['24'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['134']++;instance.set('dataSource',dataSource);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['135']++;instance.set('dataSourceType',dataSourceType);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['136']++;instance.dataSource=dataSource;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['137']++;var schema=instance.get('schema');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['138']++;if(schema){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['25'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['139']++;if(schema.fn){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['26'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['140']++;instance.dataSource.plug(schema);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['26'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['141']++;var schemaType=instance.get('schemaType');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['142']++;var schemaTypes={array:A.Plugin.DataSourceArraySchema,json:A.Plugin.DataSourceJSONSchema,text:A.Plugin.DataSourceTextSchema,xml:A.Plugin.DataSourceXMLSchema};__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['143']++;schemaType=(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['27'][0]++,schemaType.toLowerCase())||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['27'][1]++,'array');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['144']++;instance.dataSource.plug({fn:schemaTypes[schemaType],cfg:{schema:schema}});}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['25'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['145']++;instance.set('schema',schema);},_enableIntervalDetection:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['21']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['146']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['147']++;var queryInterval=instance.get('queryInterval');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['148']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['29'][0]++,!instance._queryIntervalId)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['29'][1]++,queryInterval)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['28'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['149']++;instance._queryInterval=setInterval(A.bind(instance._onInterval,instance),queryInterval);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['28'][1]++;}},_extractQuery:function(query){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['22']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['150']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['151']++;var delimChar=instance.get('delimChar');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['152']++;var delimIndex=-1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['153']++;var i=delimChar.length-1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['154']++;var newIndex,queryStart,previous;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['155']++;for(;i>=0;i--){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['156']++;newIndex=query.lastIndexOf(delimChar[i]);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['157']++;if(newIndex>delimIndex){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['30'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['158']++;delimIndex=newIndex;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['30'][1]++;}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['159']++;if(delimChar[i]==' '){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['31'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['160']++;for(var j=delimChar.length-1;j>=0;j--){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['161']++;if(query[delimIndex-1]==delimChar[j]){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['32'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['162']++;delimIndex--;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['163']++;break;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['32'][1]++;}}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['31'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['164']++;if(delimIndex>-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['33'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['165']++;queryStart=delimIndex+1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['166']++;while(query.charAt(queryStart)==' '){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['167']++;queryStart+=1;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['168']++;previous=query.substring(0,queryStart);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['169']++;query=query.substring(queryStart);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['33'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['170']++;previous='';}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['171']++;return{previous:previous,query:query};},_focus:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['23']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['172']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['173']++;setTimeout(function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['24']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['174']++;instance.inputNode.focus();},0);},_jumpSelection:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['25']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['175']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['176']++;if(instance._elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['34'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['177']++;instance._selectItem(instance._elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['34'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['178']++;instance._toggleContainer(false);}},_moveSelection:function(keyCode){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['26']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['179']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['180']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['35'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['181']++;var elCurListItem=instance._elCurListItem;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['182']++;var curItemIndex=-1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['183']++;if(elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['36'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['184']++;curItemIndex=Number(elCurListItem.getAttribute('data-listItemIndex'));}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['36'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['185']++;var newItemIndex=curItemIndex-1;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['186']++;if(KeyMap.isKey(keyCode,DOWN)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['37'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['187']++;newItemIndex=curItemIndex+1;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['37'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['188']++;if(newItemIndex==-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['38'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['189']++;newItemIndex=instance._displayedItems-1;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['38'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['190']++;if(newItemIndex>=instance._displayedItems){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['39'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['191']++;newItemIndex=0;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['39'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['192']++;if(newItemIndex<-2){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['40'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['193']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['40'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['194']++;if(elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['41'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['195']++;instance._toggleHighlight(elCurListItem,'from');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['196']++;instance.fire('itemArrowFrom',elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['41'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['197']++;if(newItemIndex==-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['42'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['198']++;if(instance.get('delimChar')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['43'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['199']++;instance.inputNode.set('value',instance._pastSelections+instance._currentQuery);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['43'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['200']++;instance.inputNode.set('value',instance._currentQuery);}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['201']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['42'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['202']++;if(newItemIndex==-2){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['44'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['203']++;instance._toggleContainer(false);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['204']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['44'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['205']++;var elNewListItem=instance.resultList.get('childNodes').item(newItemIndex);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['206']++;var elContent=instance.overlay.get(CONTENT_BOX);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['207']++;var contentOverflow=elContent.getStyle('overflow');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['208']++;var contentOverflowY=elContent.getStyle('overflowY');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['209']++;var scrollOn=(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['45'][0]++,contentOverflow=='auto')||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['45'][1]++,contentOverflow=='scroll')||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['45'][2]++,contentOverflowY=='auto')||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['45'][3]++,contentOverflowY=='scroll');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['210']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['47'][0]++,scrollOn)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['47'][1]++,newItemIndex>-1)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['47'][2]++,newItemIndexcontentBottom){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['49'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['219']++;newScrollTop=liBottom-contentHeight;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['49'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['220']++;if(liBottomcontentBottom){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['52'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['225']++;newScrollTop=liBottom-contentHeight;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['52'][1]++;}}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['226']++;if(newScrollTop>-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['53'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['227']++;elContent.set('scrollTop',newScrollTop);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['53'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['46'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['228']++;instance._toggleHighlight(elNewListItem,'to');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['229']++;instance.fire('itemArrowTo',elNewListItem);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['230']++;if(instance.get('typeAhead')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['54'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['231']++;instance._updateValue(elNewListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['54'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['35'][1]++;}},_onButtonMouseDown:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['27']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['232']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['233']++;event.halt();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['234']++;instance._focus();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['235']++;instance._sendQuery(instance.inputNode.get('value')+'*');},_onContainerClick:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['28']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['236']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['237']++;var target=event.target;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['238']++;var tagName=target.get('nodeName').toLowerCase();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['239']++;event.halt();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['240']++;while((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['55'][0]++,target)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['55'][1]++,tagName!='table')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['241']++;switch(tagName){case'body':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['56'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['242']++;return;case'li':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['56'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['243']++;instance._toggleHighlight(target,'to');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['244']++;instance._selectItem(target);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['245']++;return;default:__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['56'][2]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['246']++;break;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['247']++;target=target.get('parentNode');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['248']++;if(target){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['57'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['249']++;tagName=target.get('nodeName').toLowerCase();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['57'][1]++;}}},_onContainerMouseout:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['29']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['250']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['251']++;var target=event.target;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['252']++;var tagName=target.get('nodeName').toLowerCase();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['253']++;while((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['58'][0]++,target)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['58'][1]++,tagName!='table')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['254']++;switch(tagName){case'body':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['59'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['255']++;return;case'li':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['59'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['256']++;instance._toggleHighlight(target,'from');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['257']++;instance.fire('itemMouseOut',target);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['258']++;break;case'ul':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['59'][2]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['259']++;instance._toggleHighlight(instance._elCurListItem,'to');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['260']++;break;case'div':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['59'][3]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['261']++;if(target.hasClass(CSS_RESULTS_OVERLAY)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['60'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['262']++;instance._overContainer=false;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['263']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['60'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['264']++;break;default:__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['59'][4]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['265']++;break;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['266']++;target=target.get('parentNode');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['267']++;if(target){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['61'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['268']++;tagName=target.get('nodeName').toLowerCase();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['61'][1]++;}}},_onContainerMouseover:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['30']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['269']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['270']++;var target=event.target;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['271']++;var tagName=target.get('nodeName').toLowerCase();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['272']++;while((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['62'][0]++,target)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['62'][1]++,tagName!='table')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['273']++;switch(tagName){case'body':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['63'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['274']++;return;case'li':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['63'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['275']++;instance._toggleHighlight(target,'to');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['276']++;instance.fire('itemMouseOut',target);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['277']++;break;case'div':__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['63'][2]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['278']++;if(target.hasClass(CSS_RESULTS_OVERLAY)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['64'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['279']++;instance._overContainer=true;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['280']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['64'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['281']++;break;default:__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['63'][3]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['282']++;break;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['283']++;target=target.get('parentNode');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['284']++;if(target){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['65'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['285']++;tagName=target.get('nodeName').toLowerCase();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['65'][1]++;}}},_onContainerScroll:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['31']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['286']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['287']++;instance._focus();},_onInterval:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['32']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['288']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['289']++;var curValue=instance.inputNode.get('value');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['290']++;var lastValue=instance._lastValue;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['291']++;if(curValue!=lastValue){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['66'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['292']++;instance._lastValue=curValue;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['293']++;instance._sendQuery(curValue);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['66'][1]++;}},_onTextboxBlur:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['33']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['294']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['295']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['68'][0]++,!instance._overContainer)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['68'][1]++,KeyMap.isKey(instance._keyCode,TAB))){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['67'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['296']++;if(!instance._itemSelected){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['69'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['297']++;var elMatchListItem=instance._textMatchesOption();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['298']++;var overlayVisible=instance.overlay.get('visible');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['299']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['71'][0]++,!overlayVisible)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['71'][1]++,overlayVisible)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['71'][2]++,isNull(elMatchListItem))){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['70'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['300']++;if(instance.get('forceSelection')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['72'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['301']++;instance._clearSelection();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['72'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['302']++;instance.fire('unmatchedItemSelect',instance._currentQuery);}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['70'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['303']++;if(instance.get('forceSelection')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['73'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['304']++;instance._selectItem(elMatchListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['73'][1]++;}}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['69'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['305']++;instance._clearInterval();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['306']++;instance.blur();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['307']++;if(instance._initInputValue!==instance.inputNode.get('value')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['74'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['308']++;instance.fire('textboxChange');}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['74'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['309']++;instance.fire('textboxBlur');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['310']++;instance._toggleContainer(false);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['67'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['311']++;instance._focus();}},_onTextboxFocus:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['34']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['312']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['313']++;if(!instance.get('focused')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['75'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['314']++;instance.inputNode.setAttribute('autocomplete','off');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['315']++;instance.focus();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['316']++;instance._initInputValue=instance.inputNode.get('value');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['317']++;instance.fire('textboxFocus');}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['75'][1]++;}},_onTextboxKeyDown:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['35']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['318']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['319']++;var keyCode=event.keyCode;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['320']++;if(instance._typeAheadDelayId!=-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['76'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['321']++;clearTimeout(instance._typeAheadDelayId);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['76'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['322']++;if(event.isKey(TAB)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['77'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['323']++;if(instance._elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['78'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['324']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['80'][0]++,instance.get('delimChar'))&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['80'][1]++,instance._keyCode!=keyCode)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['79'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['325']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['81'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['326']++;event.halt();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['81'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['79'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['327']++;instance._selectItem(instance._elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['78'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['328']++;instance._toggleContainer(false);}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['77'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['329']++;if(event.isKey(ENTER)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['82'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['330']++;if(instance._elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['83'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['331']++;if(instance._keyCode!=keyCode){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['84'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['332']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['85'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['333']++;event.halt();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['85'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['84'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['334']++;instance._selectItem(instance._elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['83'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['335']++;instance._toggleContainer(false);}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['82'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['336']++;if(event.isKey(ESC)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['86'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['337']++;instance._toggleContainer(false);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['86'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['338']++;if(event.isKey(UP)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['87'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['339']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['88'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['340']++;event.halt();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['341']++;instance._moveSelection(keyCode);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['88'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['87'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['342']++;if(event.isKey(RIGHT)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['89'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['343']++;instance._jumpSelection();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['89'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['344']++;if(event.isKey(DOWN)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['90'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['345']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['91'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['346']++;event.halt();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['347']++;instance._moveSelection(keyCode);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['91'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['90'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['348']++;instance._itemSelected=false;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['349']++;instance._toggleHighlight(instance._elCurListItem,'from');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['350']++;instance.fire('textboxKey',keyCode);}}}}}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['351']++;if(event.isKey(ALT)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['92'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['352']++;instance._enableIntervalDetection();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['92'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['353']++;instance._keyCode=keyCode;},_onTextboxKeyPress:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['36']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['354']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['355']++;var keyCode=event.keyCode;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['356']++;if(event.isKey(TAB)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['93'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['357']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['94'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['358']++;if(instance.get('delimChar')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['95'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['359']++;event.halt();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['95'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['360']++;if(instance._elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['96'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['361']++;instance._selectItem(instance._elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['96'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['362']++;instance._toggleContainer(false);}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['94'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['93'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['363']++;if(event.isKey(ENTER)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['97'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['364']++;if(instance.overlay.get('visible')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['98'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['365']++;event.halt();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['366']++;if(instance._elCurListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['99'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['367']++;instance._selectItem(instance._elCurListItem);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['99'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['368']++;instance._toggleContainer(false);}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['98'][1]++;}}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['97'][1]++;}}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['369']++;if(event.isKey(WIN_IME)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['100'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['370']++;instance._enableIntervalDetection();}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['100'][1]++;}},_onTextboxKeyUp:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['37']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['371']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['372']++;var input=instance.inputNode;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['373']++;var value=input.get('value');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['374']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['102'][0]++,event.isSpecialKey())&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['102'][1]++,!event.isKey(BACKSPACE))){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['101'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['375']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['101'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['376']++;instance._queryTask(value);},_populateList:function(event){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['38']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['377']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['378']++;if(instance._typeAheadDelayId!=-1){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['103'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['379']++;clearTimeout(instance._typeAheadDelayId);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['103'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['380']++;var query=event.request;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['381']++;var response=event.response;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['382']++;var callback=event.callback;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['383']++;var showAll=query=='*';__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['384']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['105'][0]++,callback)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['105'][1]++,callback.argument)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['105'][2]++,callback.argument.query)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['104'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['385']++;event.request=query=callback.argument.query;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['104'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['386']++;var ok=instance.doBeforeLoadData(event);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['387']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['107'][0]++,ok)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['107'][1]++,!event.error)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['106'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['388']++;instance.fire('dataReturn',event);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['389']++;var focused=instance.get('focused');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['390']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['109'][0]++,showAll)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['109'][1]++,focused)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['109'][2]++,focused===null)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['108'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['391']++;var currentQuery=decodeURIComponent(query);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['392']++;instance._currentQuery=currentQuery;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['393']++;instance._itemSelected=false;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['394']++;var allResults=event.response.results;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['395']++;var itemsToShow=Math.min(allResults.length,instance.get('maxResultsDisplayed'));__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['396']++;var fields=instance.get('schema.resultFields');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['397']++;var matchKey=instance.get('matchKey');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['398']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['111'][0]++,!matchKey)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['111'][1]++,fields)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['110'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['399']++;matchKey=fields[0];}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['110'][1]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['400']++;matchKey=(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['112'][0]++,matchKey)||(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['112'][1]++,0);}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['401']++;if(itemsToShow>0){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['113'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['402']++;var allListItemEls=instance.resultList.get('childNodes');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['403']++;allListItemEls.each(function(node,i,nodeList){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['39']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['404']++;if(i';}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['458']++;resultList.html(listItems.join(''));},_renderOverlay:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['43']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['459']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['460']++;var overlayAlign=instance._overlayAlign;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['461']++;overlayAlign.node=instance.inputNode;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['462']++;var overlay=new A.OverlayBase({align:overlayAlign,bodyContent:'',visible:false,width:instance.inputNode.get('offsetWidth'),zIndex:1});__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['463']++;var contentBox=overlay.get(CONTENT_BOX);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['464']++;overlay.get(BOUNDING_BOX).addClass(CSS_RESULTS_OVERLAY);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['465']++;contentBox.addClass(CSS_RESULTS_OVERLAY_CONTENT);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['466']++;overlay.render();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['467']++;overlay.addTarget(instance);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['468']++;instance.overlay=overlay;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['469']++;instance.resultList=contentBox.one('ul');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['470']++;instance.resultList.addClass(CSS_RESULTS_LIST);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['471']++;instance._renderListElements();},_selectItem:function(elListItem){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['44']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['472']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['473']++;instance._itemSelected=true;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['474']++;instance._updateValue(elListItem);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['475']++;instance._pastSelections=instance.inputNode.get('value');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['476']++;instance._clearInterval();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['477']++;instance.fire('itemSelect',elListItem,elListItem._resultData);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['478']++;instance._toggleContainer(false);},_sendQuery:function(query){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['45']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['479']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['480']++;if(instance.get('disabled')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['122'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['481']++;instance._toggleContainer(false);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['482']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['122'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['483']++;var delimChar=instance.get('delimChar');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['484']++;var minQueryLength=instance.get('minQueryLength');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['485']++;if(delimChar){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['123'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['486']++;var extraction=instance._extractQuery(query);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['487']++;query=extraction.query;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['488']++;instance._pastSelections=extraction.previous;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['123'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['489']++;if((__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['125'][0]++,query)&&(__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['125'][1]++,query.length0)){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['124'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['490']++;instance._queryTask.cancel();__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['491']++;instance._toggleContainer(false);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['492']++;return;}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['124'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['493']++;query=encodeURIComponent(query);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['494']++;if(instance.get('applyLocalFilter')){__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['126'][0]++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['495']++;instance.dataSource.on('response',instance.filterResults,instance);}else{__cov_Y1fZ8T10pAylzY2EJrD8Mg.b['126'][1]++;}__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['496']++;var request=instance.generateRequest(query);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['497']++;instance.fire('dataRequest',query,request);__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['498']++;instance.dataSource.sendRequest(request);},_textMatchesOption:function(){__cov_Y1fZ8T10pAylzY2EJrD8Mg.f['46']++;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['499']++;var instance=this;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['500']++;var elMatch=null;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['501']++;var displayedItems=instance._displayedItems;__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['502']++;var listItems=instance.resultList.get('childNodes');__cov_Y1fZ8T10pAylzY2EJrD8Mg.s['503']++;for(var i=0;i
+ *
+ * A base class for AutoComplete, providing:
+ *
+ * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor)
+ * Presenting users choices based on their input
+ * Separating selected items
+ * Keyboard interaction for selecting items
+ *
+ *
+ * Quick Example:
+ *
+ * var instance = new A.AutoCompleteDeprecated({
+ * dataSource: [['AL', 'Alabama', 'The Heart of Dixie'],
+ * ['AK', 'Alaska', 'The Land of the Midnight Sun'],
+ * ['AZ', 'Arizona', 'The Grand Canyon State']],
+ * schema: {
+ * resultFields: ['key', 'name', 'description']
+ * },
+ * matchKey: 'name',
+ * delimChar: ',',
+ * typeAhead: true,
+ * contentBox: '#myAutoComplete'
+ * }).render();
+ *
+ *
+ * Check the list of Configuration Attributes available for
+ * AutoComplete.
+ *
+ * @param config {Object} Object literal specifying widget configuration properties.
+ *
+ * @class AutoComplete
+ * @constructor
+ * @extends Component
+ */
+
+var AutoComplete = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property AutoComplete.NAME
+ * @type String
+ * @static
+ */
+
+ NAME: NAME,
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the AutoComplete.
+ *
+ * @property AutoComplete.ATTRS
+ * @type Object
+ * @static
+ */
+
+ ATTRS: {
+ /**
+ * Always show the results container, instead of only showing when the
+ * user is requesting them.
+ *
+ * @attribute alwaysShowContainer
+ * @default false
+ * @type Boolean
+ */
+ alwaysShowContainer: {
+ value: false
+ },
+
+ /**
+ * Automatically highlight the first item in the list when the results are
+ * made visible.
+ *
+ * @attribute autoHighlight
+ * @default true
+ * @type Boolean
+ */
+ autoHighlight: {
+ value: true
+ },
+
+ /**
+ * If set to true, the filterResults
+ * method will be run on the response from the data source.
+ *
+ * @attribute applyLocalFilter
+ * @default true
+ * @type Boolean
+ */
+ applyLocalFilter: {
+ value: null
+ },
+
+ /**
+ * To use a button
+ *
+ * @attribute button
+ * @default true
+ * @type Boolean
+ * @deprecated
+ */
+ button: {
+ value: true
+ },
+
+ /**
+ * The data source that results will be read from. This can either be
+ * an existing DataSource object, or it can be a
+ * value that would be passed to DataSource .
+ *
+ * @attribute dataSource
+ * @default null
+ * @type Object | String | Function | Array
+ */
+ dataSource: {
+ value: null
+ },
+
+ /**
+ * The type of the data source passed into dataSource .
+ * This can be used to explicitly declare what kind of DataSource object will
+ * be created.
+ *
+ * @attribute dataSourceType
+ * @default null
+ * @type String
+ */
+ dataSourceType: {
+ value: null
+ },
+
+ /**
+ * The character used to indicate the beginning or ending of a new value. Most commonly used
+ * is a ",".
+ *
+ * @attribute delimChar
+ * @default null
+ * @type String
+ */
+ delimChar: {
+ value: null,
+ setter: function(value) {
+ if (isString(value) && (value.length > 0)) {
+ value = [value];
+ }
+ else if (!isArray(value)) {
+ value = A.Attribute.INVALID_VALUE;
+ }
+
+ return value;
+ }
+ },
+
+ /**
+ * If typeAhead is true, this
+ * will clear a selection when the overlay closes unless a user explicitly selects an item.
+ *
+ * @attribute forceSelection
+ * @default false
+ * @type Boolean
+ */
+ forceSelection: {
+ value: false
+ },
+
+ /**
+ * The input field which will recieve the users input.
+ *
+ * @attribute input
+ * @default null
+ * @type String | Node
+ */
+ input: {
+ value: null
+ },
+
+ /**
+ * The key or numeric index in the schema to match the result against.
+ *
+ * @attribute matchKey
+ * @default 0
+ * @type String | Number
+ */
+ matchKey: {
+ value: 0
+ },
+
+ /**
+ * The maximum number of results to display.
+ *
+ *
+ * @attribute maxResultsDisplayed
+ * @default 10
+ * @type Number
+ */
+ maxResultsDisplayed: {
+ value: 10
+ },
+
+ /**
+ * The minimum number of characters required to query the data source.
+ *
+ * @attribute minQueryLength
+ * @default 1
+ * @type Number
+ */
+ minQueryLength: {
+ value: 1
+ },
+
+ /**
+ * The amount of time in seconds to delay before submitting the query.
+ *
+ * @attribute queryDelay
+ * @default 0.2
+ * @type Number
+ */
+ queryDelay: {
+ value: 0.2,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * When IME usage is detected or interval detection is explicitly enabled,
+ * AutoComplete will detect the input value at the given interval and send a
+ * query if the value has changed.
+ *
+ * @attribute queryInterval
+ * @default 0.5
+ * @type Number
+ */
+ queryInterval: {
+ value: 0.5,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * When applyLocalFilter is true,
+ * setting this to true will match only results with the same case.
+ *
+ * @attribute queryMatchCase
+ * @default false
+ * @type Boolean
+ */
+ queryMatchCase: {
+ value: false
+ },
+
+ /**
+ * When applyLocalFilter is true,
+ * setting this to true will match results which contain the query anywhere in the text,
+ * instead of just matching just items that start with the query.
+ *
+ * @attribute queryMatchContains
+ * @default false
+ * @type Boolean
+ */
+ queryMatchContains: {
+ value: false
+ },
+
+ /**
+ * For IO DataSources, AutoComplete will automatically insert a "?" between the server URI and
+ * the encoded query string. To prevent this behavior, you can
+ * set this value to false. If you need to customize this even further, you
+ * can override the generateRequest method.
+ *
+ * @attribute queryQuestionMark
+ * @default true
+ * @type Boolean
+ */
+ queryQuestionMark: {
+ value: true
+ },
+
+ /**
+ * A valid configuration object for any of DataSource schema plugins.
+ *
+ * @attribute schema
+ * @default null
+ * @type Object
+ */
+ schema: {
+ value: null
+ },
+
+ /**
+ * A valid type of DataSource schema plugin, such as array, json, xml, etc.
+ *
+ * @attribute schemaType
+ * @default array
+ * @type String
+ */
+ schemaType: {
+ value: '',
+ validator: isString
+ },
+
+ /**
+ * Whether or not the input field should be updated with selections.
+ *
+ * @attribute suppressInputUpdate
+ * @default false
+ * @type Boolean
+ */
+ suppressInputUpdate: {
+ value: false
+ },
+
+ /**
+ * If autoHighlight is enabled, whether or not the
+ * input field should be automatically updated with the first result as the user types,
+ * automatically selecting the portion of the text the user has not typed yet.
+ *
+ * @attribute typeAhead
+ * @default false
+ * @type Boolean
+ */
+ typeAhead: {
+ value: false
+ },
+
+ /**
+ * If typeAhead is true, number of seconds
+ * to delay before updating the input. In order to prevent certain race conditions, this value must
+ * always be greater than the queryDelay .
+ *
+ * @attribute typeAheadDelay
+ * @default 0.2
+ * @type Number
+ */
+ typeAheadDelay: {
+ value: 0.2,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * The unique ID of the input element.
+ *
+ * @attribute uniqueName
+ * @default null
+ * @type String
+ */
+ uniqueName: {
+ value: null
+ }
+ },
+
+ prototype: {
+ /**
+ * Construction logic executed during AutoComplete instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function(config) {
+ var instance = this;
+
+ instance._overlayAlign = A.mix({}, OVERLAY_ALIGN);
+
+ instance._createDataSource();
+ },
+
+ /**
+ * Create the DOM structure for the AutoComplete. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderInput();
+ instance._renderOverlay();
+ },
+
+ /**
+ * Bind the events on the AutoComplete UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ var button = instance.button;
+ var inputNode = instance.inputNode;
+
+ instance.dataSource.on('request', A.bind(button.set, button, ICON, ICON_LOADING));
+
+ button.on('click', instance._onButtonMouseDown, instance);
+
+ inputNode.on('blur', instance._onTextboxBlur, instance);
+ inputNode.on('focus', instance._onTextboxFocus, instance);
+ inputNode.on('keydown', instance._onTextboxKeyDown, instance);
+ inputNode.on('keypress', instance._onTextboxKeyPress, instance);
+ inputNode.on('keyup', instance._onTextboxKeyUp, instance);
+
+ var overlayBoundingBox = instance.overlay.get(BOUNDING_BOX);
+
+ overlayBoundingBox.on('click', instance._onContainerClick, instance);
+ overlayBoundingBox.on('mouseout', instance._onContainerMouseout, instance);
+ overlayBoundingBox.on('mouseover', instance._onContainerMouseover, instance);
+ overlayBoundingBox.on('scroll', instance._onContainerScroll, instance);
+
+ /**
+ * Handles the containerCollapse event. Fired when the container is hidden.
+ *
+ * @event containerCollapse
+ * @param {Event.Facade} event The containerCollapse event.
+ */
+ instance.publish('containerCollapse');
+
+ /**
+ * Handles the containerExpand event. Fired when the container is shown.
+ *
+ * @event containerExpand
+ * @param {Event.Facade} event The containerExpand event.
+ */
+ instance.publish('containerExpand');
+
+ /**
+ * Handles the containerPopulate event. Fired when the container is populated.
+ *
+ * @event containerPopulate
+ * @param {Event.Facade} event The containerPopulate event.
+ */
+ instance.publish('containerPopulate');
+
+ /**
+ * Handles the dataError event. Fired when there is an error accessing the data.
+ *
+ * @event dataError
+ * @param {Event.Facade} event The dataError event.
+ */
+ instance.publish('dataError');
+
+ /**
+ * Handles the dataRequest event. Fired when ever a query is sent to the data source.
+ *
+ * @event dataRequest
+ * @param {Event.Facade} event The dataRequest event.
+ */
+ instance.publish('dataRequest');
+
+ /**
+ * Handles the dataReturn event. Fired when data successfully comes back from the data request.
+ *
+ * @event dataReturn
+ * @param {Event.Facade} event The dataReturn event.
+ */
+ instance.publish('dataReturn');
+
+ /**
+ * Handles the itemArrowFrom event. Fired when the user navigates via the keyboard away from
+ * a selected item.
+ *
+ * @event itemArrowFrom
+ * @param {Event.Facade} event The itemArrowFrom event.
+ */
+ instance.publish('itemArrowFrom');
+
+ /**
+ * Handles the itemArrowTo event. Fired when the user navigates via the keyboard to a selected item.
+ *
+ * @event itemArrowTo
+ * @param {Event.Facade} event The itemArrowTo event.
+ */
+ instance.publish('itemArrowTo');
+
+ /**
+ * Handles the itemMouseOut event. Fired when the user mouses away from an item.
+ *
+ * @event itemMouseOut
+ * @param {Event.Facade} event The itemMouseOut event.
+ */
+ instance.publish('itemMouseOut');
+
+ /**
+ * Handles the itemMouseOver event. Fired when the user mouses over an item.
+ *
+ * @event itemMouseOver
+ * @param {Event.Facade} event The itemMouseOver event.
+ */
+ instance.publish('itemMouseOver');
+
+ /**
+ * Handles the itemSelect event. Fired when an item in the list is selected.
+ *
+ * @event itemSelect
+ * @param {Event.Facade} event The itemSelect event.
+ */
+ instance.publish('itemSelect');
+
+ /**
+ * Handles the selectionEnforce event. Fired if forceSelection
+ * is enabled and the users input element has been cleared because it did not match one of the results.
+ *
+ * @event selectionEnforce
+ * @param {Event.Facade} event The selectionEnforce event.
+ */
+ instance.publish('selectionEnforce');
+
+ /**
+ * Handles the textboxBlur event. Fired when the user leaves the input element.
+ *
+ * @event textboxBlur
+ * @param {Event.Facade} event The textboxBlur event.
+ */
+ instance.publish('textboxBlur');
+
+ /**
+ * Handles the textboxChange event. Fired when the value in the input element is changed.
+ *
+ * @event textboxChange
+ * @param {Event.Facade} event The textboxChange event.
+ */
+ instance.publish('textboxChange');
+
+ /**
+ * Handles the textboxFocus event. Fired when user moves focus to the input element.
+ *
+ * @event textboxFocus
+ * @param {Event.Facade} event The textboxFocus event.
+ */
+ instance.publish('textboxFocus');
+
+ /**
+ * Handles the textboxKey event. Fired when the input element receives key input.
+ *
+ * @event textboxKey
+ * @param {Event.Facade} event The textboxKey event.
+ */
+ instance.publish('textboxKey');
+
+ /**
+ * Handles the typeAhead event. Fired when the input element has been pre-filled by the type-ahead feature.
+ *
+ * @event typeAhead
+ * @param {Event.Facade} event The typeAhead event.
+ */
+ instance.publish('typeAhead');
+
+ /**
+ * Handles the unmatchedItemSelect event. Fired when a user selects something that does
+ * not match any of the displayed results.
+ *
+ * @event unmatchedItemSelect
+ * @param {Event.Facade} event The unmatchedItemSelect event.
+ */
+ instance.publish('unmatchedItemSelect');
+
+ instance.overlay.after('visibleChange', instance._realignContainer, instance);
+ },
+
+ /**
+ * Sync the AutoComplete UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ instance.inputNode.setAttribute('autocomplete', 'off');
+ },
+
+ /**
+ * Destructor lifecycle implementation for the Autocomplete class.
+ * Purges events attached to the node (and all child nodes).
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ var instance = this;
+
+ instance.overlay.destroy();
+ },
+
+ /**
+ * An overridable method that is executed before the result container is shown.
+ * The method can return false to prevent the container from being shown.
+ *
+ * @method doBeforeExpandContainer
+ * @param {String} query The query that was submitted to the data source
+ * @param {Object} allResults The parsed results
+ * @return {Boolean}
+ */
+ doBeforeExpandContainer: function() {
+ return true;
+ },
+
+ /**
+ * An overridable method that is executed before the result overlay is loaded with results.
+ *
+ * @method doBeforeLoadData
+ * @param {EventFacade} event
+ * @return {Boolean}
+ */
+ doBeforeLoadData: function(event) {
+ return true;
+ },
+
+ /**
+ * Executed by the data source as a mechanism to do simple client-side
+ * filtering of the results.
+ *
+ * @method filterResults
+ * @param {EventFacade} event
+ * @return {Object} Filtered response object
+ */
+ filterResults: function(event) {
+ var instance = this;
+
+ var callback = event.callback;
+ var query = event.request;
+ var response = event.response;
+
+ if (callback && callback.argument && callback.argument.query) {
+ query = callback.argument.query;
+ }
+
+ if (query) {
+ var dataSource = instance.dataSource;
+ var allResults = response.results;
+ var filteredResults = [];
+ var matchFound = false;
+ var matchKey = instance.get('matchKey');
+ var matchCase = instance.get('queryMatchCase');
+ var matchContains = instance.get('queryMatchContains');
+ var showAll = (query == '*');
+
+ var fields = instance.get('schema.resultFields');
+
+ for (var i = allResults.length - 1; i >= 0; i--) {
+ var result = allResults[i];
+
+ var strResult = null;
+
+ if (isString(result)) {
+ strResult = result;
+ }
+ else if (isArray(result)) {
+ strResult = result[0];
+ }
+ else if (fields) {
+ strResult = result[matchKey || fields[0]];
+ }
+
+ if (isString(strResult)) {
+ var keyIndex = -1;
+
+ if (matchCase) {
+ keyIndex = strResult.indexOf(decodeURIComponent(query));
+ }
+ else {
+ keyIndex = strResult.toLowerCase().indexOf(decodeURIComponent(query).toLowerCase());
+ }
+
+ if (
+ (showAll) ||
+ (!matchContains && (keyIndex === 0)) ||
+ (matchContains && (keyIndex > -1))
+ ) {
+ filteredResults.unshift(result);
+ }
+ }
+ }
+
+ response.results = filteredResults;
+ }
+
+ return response;
+ },
+
+ /**
+ * An overridable method for formatting the result of the query before it's displayed in the overlay.
+ *
+ * @method formatResult
+ * @param {Object} result The result data object
+ * @param {String} request The current query string
+ * @param {String} resultMatch The string from the results that matches the query
+ * @return {String}
+ */
+ formatResult: function(result, request, resultMatch) {
+ return resultMatch || '';
+ },
+
+ /**
+ * An overridable method that creates an object to be passed to the sendRequest
+ * method of the data source object. Useful to overwrite if you wish to create
+ * a custom request object before it's sent.
+ *
+ * @method generateRequest
+ * @param {String} query The string currently being entered
+ * @return {Object}
+ */
+ generateRequest: function(query) {
+ return {
+ request: query
+ };
+ },
+
+ /**
+ * Handles the response for the display of the results. This is a callback method
+ * that is fired by the sendRequest method so that results are ready to be accessed.
+ *
+ * @method handleResponse
+ * @param {EventFacade} event
+ */
+ handleResponse: function(event) {
+ var instance = this;
+
+ instance._populateList(event);
+
+ var iconClass = ICON_DEFAULT;
+
+ if (event.error) {
+ iconClass = ICON_ERROR;
+ }
+
+ instance.button.set(ICON, iconClass);
+ },
+
+ /**
+ * Sends a query request to the data source object.
+ *
+ * @method sendQuery
+ * @param {String} query Query string
+ */
+ sendQuery: function(query) {
+ var instance = this;
+
+ instance.set('focused', null);
+
+ var newQuery = query;
+
+ if (instance.get('delimChar')) {
+ query = instance.inputNode.get('value') + query;
+ }
+
+ instance._sendQuery(newQuery);
+ },
+
+ /**
+ * Clears the query interval
+ *
+ * @method _clearInterval
+ * @private
+ */
+ _clearInterval: function() {
+ var instance = this;
+
+ if (instance._queryIntervalId) {
+ clearInterval(instance._queryIntervalId);
+
+ instance._queryIntervalId = null;
+ }
+ },
+
+ /**
+ * When forceSelection is true and
+ * the user tries to leave the input element without selecting an item from the results,
+ * the user selection is cleared.
+ *
+ * @method _clearSelection
+ * @protected
+ */
+ _clearSelection: function() {
+ var instance = this;
+
+ var delimChar = instance.get('delimChar');
+ var extraction = {
+ previous: '',
+ query: instance.inputNode.get('value')
+ };
+
+ if (delimChar) {
+ extraction = instance._extractQuery(instance.inputNode.get('value'));
+ }
+
+ instance.fire('selectionEnforce', extraction.query);
+ },
+
+ /**
+ * Creates the data source object using the passed in dataSource ,
+ * and if it is a string, will use the dataSourceType to
+ * create a new DataSource object.
+ *
+ * @method _createDataSource
+ * @protected
+ * @return {String}
+ */
+ _createDataSource: function() {
+ var instance = this;
+
+ instance._queryTask = A.debounce(instance.sendQuery, instance.get('queryDelay'), instance);
+
+ var dataSource = instance.get('dataSource');
+ var data = dataSource;
+
+ var dataSourceType = instance.get('dataSourceType');
+
+ if (!(dataSource instanceof A.DataSource.Local)) {
+ if (!dataSourceType) {
+ dataSourceType = 'Local';
+
+ if (isFunction(data)) {
+ dataSourceType = 'Function';
+ }
+ else if (isString(data)) {
+ dataSourceType = 'IO';
+ }
+ }
+
+ dataSource = new A.DataSource[dataSourceType]({
+ source: data
+ });
+ }
+
+ dataSource.on('error', instance.handleResponse, instance);
+ dataSource.after('response', instance.handleResponse, instance);
+
+ dataSourceType = dataSource.name;
+
+ if (dataSourceType == 'dataSourceLocal') {
+ instance.set('applyLocalFilter', true);
+ }
+
+ instance.set('dataSource', dataSource);
+ instance.set('dataSourceType', dataSourceType);
+
+ instance.dataSource = dataSource;
+
+ var schema = instance.get('schema');
+
+ if (schema) {
+ if (schema.fn) {
+ instance.dataSource.plug(schema);
+ }
+ else {
+ var schemaType = instance.get('schemaType');
+
+ var schemaTypes = {
+ array: A.Plugin.DataSourceArraySchema,
+ json: A.Plugin.DataSourceJSONSchema,
+ text: A.Plugin.DataSourceTextSchema,
+ xml: A.Plugin.DataSourceXMLSchema
+ };
+
+ schemaType = schemaType.toLowerCase() || 'array';
+
+ instance.dataSource.plug({
+ fn: schemaTypes[schemaType],
+ cfg: {
+ schema: schema
+ }
+ });
+ }
+ }
+
+ instance.set('schema', schema);
+ },
+
+ /**
+ * Enables query interval detection for IME support.
+ *
+ * @method _enableIntervalDetection
+ * @protected
+ */
+ _enableIntervalDetection: function() {
+ var instance = this;
+
+ var queryInterval = instance.get('queryInterval');
+
+ if (!instance._queryIntervalId && queryInterval) {
+ instance._queryInterval = setInterval(A.bind(instance._onInterval, instance), queryInterval);
+ }
+ },
+
+ /**
+ * Extracts the right most query from the delimited string in the input.
+ *
+ * @method _extractQuery
+ * @param {String} query String to parse
+ * @protected
+ * @return {String}
+ */
+ _extractQuery: function(query) {
+ var instance = this;
+
+ var delimChar = instance.get('delimChar');
+ var delimIndex = -1;
+ var i = delimChar.length - 1;
+
+ var newIndex, queryStart, previous;
+
+ for (; i >= 0; i--) {
+ newIndex = query.lastIndexOf(delimChar[i]);
+
+ if (newIndex > delimIndex) {
+ delimIndex = newIndex;
+ }
+ }
+
+ if (delimChar[i] == ' ') {
+ for (var j = delimChar.length - 1; j >= 0; j--) {
+ if (query[delimIndex - 1] == delimChar[j]) {
+ delimIndex--;
+
+ break;
+ }
+ }
+ }
+
+ if (delimIndex > -1) {
+ queryStart = delimIndex + 1;
+
+ while (query.charAt(queryStart) == ' ') {
+ queryStart += 1;
+ }
+
+ previous = query.substring(0, queryStart);
+
+ query = query.substring(queryStart);
+ }
+ else {
+ previous = '';
+ }
+
+ return {
+ previous: previous,
+ query: query
+ };
+ },
+
+ /**
+ * Focuses the input element.
+ *
+ * @method _focus
+ * @protected
+ */
+ _focus: function() {
+ var instance = this;
+
+ setTimeout(
+ function() {
+ instance.inputNode.focus();
+ },
+ 0
+ );
+ },
+
+ /**
+ * If there is a currently selected item, the right arrow key will select
+ * that item and jump to the end of the input element, otherwise the container is closed.
+ *
+ * @method _jumpSelection
+ * @protected
+ */
+ _jumpSelection: function() {
+ var instance = this;
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ },
+
+ /**
+ * Triggered by the up and down arrow keys, changes the currently selected list element item, and scrolls the
+ * container if necessary.
+ *
+ * @method _moveSelection
+ * @param {Number} keyCode The numeric code of the key pressed
+ * @protected
+ */
+ _moveSelection: function(keyCode) {
+ var instance = this;
+
+ if (instance.overlay.get('visible')) {
+ var elCurListItem = instance._elCurListItem;
+ var curItemIndex = -1;
+
+ if (elCurListItem) {
+ curItemIndex = Number(elCurListItem.getAttribute('data-listItemIndex'));
+ }
+
+ var newItemIndex = curItemIndex - 1;
+
+ if (KeyMap.isKey(keyCode, DOWN)) {
+ newItemIndex = curItemIndex + 1;
+ }
+
+ if (newItemIndex == -1) {
+ newItemIndex = instance._displayedItems - 1;
+ }
+
+ if (newItemIndex >= instance._displayedItems) {
+ newItemIndex = 0;
+ }
+
+ if (newItemIndex < -2) {
+ return;
+ }
+
+ if (elCurListItem) {
+ instance._toggleHighlight(elCurListItem, 'from');
+
+ instance.fire('itemArrowFrom', elCurListItem);
+ }
+
+ if (newItemIndex == -1) {
+ if (instance.get('delimChar')) {
+ instance.inputNode.set('value', instance._pastSelections + instance._currentQuery);
+ }
+ else {
+ instance.inputNode.set('value', instance._currentQuery);
+ }
+
+ return;
+ }
+
+ if (newItemIndex == -2) {
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ var elNewListItem = instance.resultList.get('childNodes').item(newItemIndex);
+
+ var elContent = instance.overlay.get(CONTENT_BOX);
+
+ var contentOverflow = elContent.getStyle('overflow');
+ var contentOverflowY = elContent.getStyle('overflowY');
+
+ var scrollOn = (contentOverflow == 'auto') || (contentOverflow == 'scroll') || (contentOverflowY ==
+ 'auto') || (contentOverflowY == 'scroll');
+
+ if (scrollOn &&
+ (newItemIndex > -1) &&
+ (newItemIndex < instance._displayedItems)) {
+
+ var newScrollTop = -1;
+ var liTop = elNewListItem.get('offsetTop');
+ var liBottom = liTop + elNewListItem.get('offsetHeight');
+
+ var contentHeight = elContent.get('offsetHeight');
+ var contentScrollTop = elContent.get('scrollTop');
+ var contentBottom = contentHeight + contentScrollTop;
+
+ if (KeyMap.isKey(keyCode, DOWN)) {
+ if (liBottom > contentBottom) {
+ newScrollTop = (liBottom - contentHeight);
+ }
+ else if (liBottom < contentScrollTop) {
+ newScrollTop = liTop;
+ }
+ }
+ else {
+ if (liTop < contentHeight) {
+ newScrollTop = liTop;
+ }
+ else if (liTop > contentBottom) {
+ newScrollTop = (liBottom - contentHeight);
+ }
+ }
+
+ if (newScrollTop > -1) {
+ elContent.set('scrollTop', newScrollTop);
+ }
+ }
+
+ instance._toggleHighlight(elNewListItem, 'to');
+
+ instance.fire('itemArrowTo', elNewListItem);
+
+ if (instance.get('typeAhead')) {
+ instance._updateValue(elNewListItem);
+ }
+ }
+ },
+
+ /**
+ * Called when the user mouses down on the button element in the combobox.
+ *
+ * @method _onButtonMouseDown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onButtonMouseDown: function(event) {
+ var instance = this;
+
+ event.halt();
+
+ instance._focus();
+
+ instance._sendQuery(instance.inputNode.get('value') + '*');
+ },
+
+ /**
+ * Handles when a user clicks on the container.
+ *
+ * @method _onContainerClick
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerClick: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ event.halt();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'to');
+ instance._selectItem(target);
+ return;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles when a user mouses out of the container.
+ *
+ * @method _onContainerMouseout
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerMouseout: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'from');
+ instance.fire('itemMouseOut', target);
+ break;
+
+ case 'ul':
+ instance._toggleHighlight(instance._elCurListItem, 'to');
+ break;
+
+ case 'div':
+ if (target.hasClass(CSS_RESULTS_OVERLAY)) {
+ instance._overContainer = false;
+
+ return;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles when a user mouses over the container.
+ *
+ * @method _onContainerMouseover
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerMouseover: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'to');
+ instance.fire('itemMouseOut', target);
+ break;
+
+ case 'div':
+ if (target.hasClass(CSS_RESULTS_OVERLAY)) {
+ instance._overContainer = true;
+ return;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles the container scroll events.
+ *
+ * @method _onContainerScroll
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerScroll: function(event) {
+ var instance = this;
+
+ instance._focus();
+ },
+
+ /**
+ * Enables the query to be triggered based on detecting text input via intervals instead of via
+ * key events.
+ *
+ * @method _onInterval
+ * @protected
+ */
+ _onInterval: function() {
+ var instance = this;
+
+ var curValue = instance.inputNode.get('value');
+ var lastValue = instance._lastValue;
+
+ if (curValue != lastValue) {
+ instance._lastValue = curValue;
+
+ instance._sendQuery(curValue);
+ }
+ },
+
+ /**
+ * Handles the input element losing focus.
+ *
+ * @method _onTextboxBlur
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxBlur: function(event) {
+ var instance = this;
+
+ if (!instance._overContainer || KeyMap.isKey(instance._keyCode, TAB)) {
+ if (!instance._itemSelected) {
+ var elMatchListItem = instance._textMatchesOption();
+
+ var overlayVisible = instance.overlay.get('visible');
+
+ if (!overlayVisible || (overlayVisible && isNull(elMatchListItem))) {
+ if (instance.get('forceSelection')) {
+ instance._clearSelection();
+ }
+ else {
+ instance.fire('unmatchedItemSelect', instance._currentQuery);
+ }
+ }
+ else {
+ if (instance.get('forceSelection')) {
+ instance._selectItem(elMatchListItem);
+ }
+ }
+ }
+
+ instance._clearInterval();
+
+ instance.blur();
+
+ if (instance._initInputValue !== instance.inputNode.get('value')) {
+ instance.fire('textboxChange');
+ }
+
+ instance.fire('textboxBlur');
+
+ instance._toggleContainer(false);
+ }
+ else {
+ instance._focus();
+ }
+ },
+
+ /**
+ * Handles the input element gaining focus.
+ *
+ * @method _onTextboxFocus
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxFocus: function(event) {
+ var instance = this;
+
+ if (!instance.get('focused')) {
+ instance.inputNode.setAttribute('autocomplete', 'off');
+ instance.focus();
+ instance._initInputValue = instance.inputNode.get('value');
+
+ instance.fire('textboxFocus');
+ }
+ },
+
+ /**
+ * Handles the keydown events on the input element for functional keys.
+ *
+ * @method _onTextboxKeyDown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyDown: function(event) {
+ var instance = this;
+
+ var keyCode = event.keyCode;
+
+ if (instance._typeAheadDelayId != -1) {
+ clearTimeout(instance._typeAheadDelayId);
+ }
+
+ if (event.isKey(TAB)) {
+ if (instance._elCurListItem) {
+ if (instance.get('delimChar') && instance._keyCode != keyCode) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+ }
+ }
+
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ else if (event.isKey(ENTER)) {
+ if (instance._elCurListItem) {
+ if (instance._keyCode != keyCode) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+ }
+ }
+
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ else if (event.isKey(ESC)) {
+ instance._toggleContainer(false);
+ }
+ else if (event.isKey(UP)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ instance._moveSelection(keyCode);
+ }
+ }
+ else if (event.isKey(RIGHT)) {
+ instance._jumpSelection();
+ }
+ else if (event.isKey(DOWN)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ instance._moveSelection(keyCode);
+ }
+ }
+ else {
+ instance._itemSelected = false;
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+
+ instance.fire('textboxKey', keyCode);
+ }
+
+ if (event.isKey(ALT)) {
+ instance._enableIntervalDetection();
+ }
+
+ instance._keyCode = keyCode;
+ },
+
+ /**
+ * Handles the key press events of the input element.
+ *
+ * @method _onTextboxKeyPress
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyPress: function(event) {
+ var instance = this;
+
+ var keyCode = event.keyCode;
+
+ if (event.isKey(TAB)) {
+ if (instance.overlay.get('visible')) {
+ if (instance.get('delimChar')) {
+ event.halt();
+ }
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ }
+ else if (event.isKey(ENTER)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ }
+
+ if (event.isKey(WIN_IME)) {
+ instance._enableIntervalDetection();
+ }
+ },
+
+ /**
+ * Handles the keyup events of the input element.
+ *
+ * @method _onTextboxKeyUp
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyUp: function(event) {
+ var instance = this;
+
+ var input = instance.inputNode;
+
+ var value = input.get('value');
+
+ if (event.isSpecialKey() && !event.isKey(BACKSPACE)) {
+ return;
+ }
+
+ instance._queryTask(value);
+ },
+
+ /**
+ * Populates the container with list items of the query results.
+ *
+ * @method _populateList
+ * @param {EventFacade} event
+ * @protected
+ */
+ _populateList: function(event) {
+ var instance = this;
+
+ if (instance._typeAheadDelayId != -1) {
+ clearTimeout(instance._typeAheadDelayId);
+ }
+
+ var query = event.request;
+ var response = event.response;
+ var callback = event.callback;
+ var showAll = (query == '*');
+
+ if (callback && callback.argument && callback.argument.query) {
+ event.request = query = callback.argument.query;
+ }
+
+ var ok = instance.doBeforeLoadData(event);
+
+ if (ok && !event.error) {
+ instance.fire('dataReturn', event);
+
+ var focused = instance.get('focused');
+
+ if (showAll || focused || focused === null) {
+ var currentQuery = decodeURIComponent(query);
+
+ instance._currentQuery = currentQuery;
+ instance._itemSelected = false;
+
+ var allResults = event.response.results;
+ var itemsToShow = Math.min(allResults.length, instance.get('maxResultsDisplayed'));
+ var fields = instance.get('schema.resultFields');
+ var matchKey = instance.get('matchKey');
+
+ if (!matchKey && fields) {
+ matchKey = fields[0];
+ }
+ else {
+ matchKey = matchKey || 0;
+ }
+
+ if (itemsToShow > 0) {
+ var allListItemEls = instance.resultList.get('childNodes');
+
+ allListItemEls.each(
+ function(node, i, nodeList) {
+ if (i < itemsToShow) {
+ var result = allResults[i];
+
+ var resultMatch = '';
+
+ if (isString(result)) {
+ resultMatch = result;
+ }
+ else if (isArray(result)) {
+ resultMatch = result[0];
+ }
+ else {
+ resultMatch = result[matchKey];
+ }
+
+ node._resultMatch = resultMatch;
+
+ node._resultData = result;
+ node.html(instance.formatResult(result, currentQuery, resultMatch));
+
+ node.removeClass(CSS_HIDDEN);
+ }
+ else {
+ node.addClass(CSS_HIDDEN);
+ }
+ }
+ );
+
+ instance._displayedItems = itemsToShow;
+
+ instance.fire('containerPopulate', query, allResults);
+
+ if (query != '*' && instance.get('autoHighlight')) {
+ var elFirstListItem = instance.resultList.get('firstChild');
+
+ instance._toggleHighlight(elFirstListItem, 'to');
+ instance.fire('itemArrowTo', elFirstListItem);
+
+ instance._typeAhead(elFirstListItem, query);
+ }
+ else {
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+ }
+
+ ok = instance.doBeforeExpandContainer(query, allResults);
+
+ instance._toggleContainer(ok);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+
+ return;
+ }
+
+ }
+ else {
+ instance.fire('dataError', query);
+ }
+ },
+
+ /**
+ * Realigns the container to the input element.
+ *
+ * @method _realignContainer
+ * @param {EventFacade} event
+ * @protected
+ */
+ _realignContainer: function(event) {
+ var instance = this;
+
+ var overlayAlign = instance._overlayAlign;
+
+ if (event.newVal) {
+ instance.overlay._uiSetAlign(overlayAlign.node, overlayAlign.points);
+ }
+ },
+
+ /**
+ * Handles the rendering of the input element.
+ *
+ * @method _renderInput
+ * @protected
+ */
+ _renderInput: function() {
+ var instance = this;
+
+ var contentBox = instance.get(CONTENT_BOX);
+ var input = instance.get('input');
+
+ var comboConfig = {
+ field: {
+ labelText: false
+ },
+ icons: [
+ {
+ icon: 'icon-circle-arrow-down',
+ id: 'trigger',
+ handler: {
+ fn: instance._onButtonMouseDown,
+ context: instance
+ }
+ }
+ ]
+ };
+
+ var inputReference = null;
+ var inputParent = null;
+
+ if (input) {
+ input = A.one(input);
+
+ comboConfig.field.node = input;
+
+ inputReference = input.next();
+ inputParent = input.get('parentNode');
+ }
+
+ var comboBox = new A.Combobox(comboConfig).render(contentBox);
+
+ if (inputParent) {
+ var comboBoundingBox = comboBox.get('boundingBox');
+
+ inputParent.insertBefore(comboBoundingBox, inputReference);
+ }
+
+ instance.inputNode = comboBox.get('node');
+ instance.button = comboBox.icons.item(0);
+
+ instance.set('uniqueName', A.stamp(instance.inputNode));
+ },
+
+ /**
+ * Pre-populates the container with the
+ * maxResultsDisplayed
+ * number of list items.
+ *
+ * @method _renderListElements
+ * @protected
+ */
+ _renderListElements: function() {
+ var instance = this;
+
+ var maxResultsDisplayed = instance.get('maxResultsDisplayed');
+
+ var resultList = instance.resultList;
+
+ var listItems = [];
+
+ while (maxResultsDisplayed--) {
+ listItems[maxResultsDisplayed] = ' ';
+ }
+
+ resultList.html(listItems.join(''));
+ },
+
+ /**
+ * Handles the creation of the overlay where the result list will be displayed.
+ *
+ * @method _renderOverlay
+ * @protected
+ */
+ _renderOverlay: function() {
+ var instance = this;
+
+ var overlayAlign = instance._overlayAlign;
+
+ overlayAlign.node = instance.inputNode;
+
+ var overlay = new A.OverlayBase({
+ align: overlayAlign,
+ bodyContent: '',
+ visible: false,
+ width: instance.inputNode.get('offsetWidth'),
+ zIndex: 1
+ });
+
+ var contentBox = overlay.get(CONTENT_BOX);
+
+ overlay.get(BOUNDING_BOX).addClass(CSS_RESULTS_OVERLAY);
+
+ contentBox.addClass(CSS_RESULTS_OVERLAY_CONTENT);
+
+ overlay.render();
+
+ overlay.addTarget(instance);
+
+ instance.overlay = overlay;
+ instance.resultList = contentBox.one('ul');
+
+ instance.resultList.addClass(CSS_RESULTS_LIST);
+
+ instance._renderListElements();
+ },
+
+ /**
+ * Selects a list item from the query results.
+ *
+ * @method _selectItem
+ * @param {Node} elListItem The list item to select
+ * @protected
+ */
+ _selectItem: function(elListItem) {
+ var instance = this;
+
+ instance._itemSelected = true;
+
+ instance._updateValue(elListItem);
+
+ instance._pastSelections = instance.inputNode.get('value');
+
+ instance._clearInterval();
+
+ instance.fire('itemSelect', elListItem, elListItem._resultData);
+
+ instance._toggleContainer(false);
+ },
+
+ /**
+ * Makes a query request to the data source.
+ *
+ * @method _sendQuery
+ * @param {String} query The query string
+ * @protected
+ */
+ _sendQuery: function(query) {
+ var instance = this;
+
+ if (instance.get('disabled')) {
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ var delimChar = instance.get('delimChar');
+ var minQueryLength = instance.get('minQueryLength');
+
+ if (delimChar) {
+ var extraction = instance._extractQuery(query);
+
+ query = extraction.query;
+
+ instance._pastSelections = extraction.previous;
+ }
+
+ if ((query && (query.length < minQueryLength)) || (!query && minQueryLength > 0)) {
+ instance._queryTask.cancel();
+
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ query = encodeURIComponent(query);
+
+ if (instance.get('applyLocalFilter')) {
+ instance.dataSource.on('response', instance.filterResults, instance);
+ }
+
+ var request = instance.generateRequest(query);
+
+ instance.fire('dataRequest', query, request);
+
+ instance.dataSource.sendRequest(request);
+ },
+
+ /**
+ * Checks to see if the value typed by the user matches any of the
+ * query results.
+ *
+ * @method _textMatchesOption
+ * @protected
+ */
+ _textMatchesOption: function() {
+ var instance = this;
+
+ var elMatch = null;
+ var displayedItems = instance._displayedItems;
+ var listItems = instance.resultList.get('childNodes');
+
+ for (var i = 0; i < displayedItems.length; i++) {
+ var elListItem = listItems.item(i);
+
+ var match = ('' + elListItem._resultMatch).toLowerCase();
+
+ if (match == instance._currentQuery.toLowerCase()) {
+ elMatch = elListItem;
+
+ break;
+ }
+ }
+
+ return elMatch;
+ },
+
+ /**
+ * Toggles the display of the results container.
+ *
+ * @method _toggleContainer
+ * @param {Boolean} show Flag to force the showing or hiding of the container
+ * @protected
+ */
+ _toggleContainer: function(show) {
+ var instance = this;
+
+ var overlay = instance.overlay;
+
+ if (instance.get('alwaysShowContainer') && overlay.get('visible')) {
+ return;
+ }
+
+ if (!show) {
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+
+ instance._displayedItems = 0;
+ instance._currentQuery = null;
+ }
+
+ if (show) {
+ overlay.show();
+ instance.fire('containerExpand');
+ }
+ else {
+ overlay.hide();
+ instance.fire('containerCollapse');
+ }
+ },
+
+ /**
+ * Toggles the highlighting of a list item, and removes the highlighting from the previous item
+ *
+ * @method _toggleHighlight
+ * @param {Node} elNewListItem The item to be highlighted
+ * @param {String} action Whether we are moving to or from an item. Valid values are "to" or "from".
+ * @protected
+ */
+ _toggleHighlight: function(elNewListItem, action) {
+ var instance = this;
+
+ if (elNewListItem) {
+ if (instance._elCurListItem) {
+ instance._elCurListItem.removeClass(CSS_HIGLIGHT);
+ instance._elCurListItem = null;
+ }
+
+ if (action == 'to') {
+ elNewListItem.addClass(CSS_HIGLIGHT);
+
+ instance._elCurListItem = elNewListItem;
+ }
+ }
+ },
+
+ /**
+ * Updates in the input element with the first result as the user types,
+ * selecting the text the user has not typed yet.
+ *
+ * @method _typeAhead
+ * @param {Node} elListItem The selected list item
+ * @param {String} query The query string
+ * @protected
+ */
+ _typeAhead: function(elListItem, query) {
+ var instance = this;
+
+ if (!instance.get('typeAhead') || KeyMap.isKey(instance._keyCode, BACKSPACE)) {
+ return;
+ }
+
+ var inputEl = A.Node.getDOMNode(instance.inputNode);
+
+ if (inputEl.setSelectionRange || inputEl.createTextRange) {
+ instance._typeAheadDelayId = setTimeout(
+ function() {
+ var value = inputEl.value;
+
+ var start = value.length;
+
+ instance._updateValue(elListItem);
+
+ var end = inputEl.value.length;
+
+ instance.inputNode.selectText(start, end);
+
+ var prefill = inputEl.value.substr(start, end);
+
+ instance.fire('typeAhead', query, prefill);
+ },
+ instance.get('typeAheadDelay')
+ );
+ }
+ },
+
+ /**
+ * Updates the input element with the selected query result. If
+ * delimChar has been set,
+ * then the value gets appended with the delimiter.
+ *
+ * @method _updateValue
+ * @param {Node} elListItem The selected list item
+ * @protected
+ */
+ _updateValue: function(elListItem) {
+ var instance = this;
+
+ if (!instance.get('suppressInputUpdate')) {
+ var input = instance.inputNode;
+ var resultMatch = elListItem._resultMatch;
+
+ var delimChar = instance.get('delimChar');
+
+ delimChar = (delimChar && delimChar[0]) || delimChar;
+
+ var newValue = '';
+
+ if (delimChar) {
+ newValue = instance._pastSelections;
+
+ newValue += resultMatch + delimChar;
+
+ if (delimChar != ' ') {
+ newValue += ' ';
+ }
+ }
+ else {
+ newValue = resultMatch;
+ }
+
+ input.set('value', newValue);
+
+ if (input.get('type') == 'textarea') {
+ input.set('scrollTop', input.get('scrollHeight'));
+ }
+
+ var end = newValue.length;
+
+ input.selectText(end, end);
+
+ instance._elCurListItem = elListItem;
+ }
+ },
+
+ _currentQuery: null,
+ _displayedItems: 0,
+ _elCurListItem: null,
+ _initInputValue: null,
+ _itemSelected: false,
+ _keyCode: null,
+ _lastValue: null,
+ _overContainer: false,
+ _pastSelections: '',
+ _typeAheadDelayId: -1
+ }
+});
+
+A.AutoCompleteDeprecated = AutoComplete;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated",
+ "datasource",
+ "dataschema",
+ "aui-form-combobox-deprecated"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-min.js b/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-min.js
new file mode 100644
index 00000000000..e3f93abf8fe
--- /dev/null
+++ b/build/aui-autocomplete-deprecated/aui-autocomplete-deprecated-min.js
@@ -0,0 +1,3 @@
+YUI.add("aui-autocomplete-deprecated",function(e,t){var n=e.Lang,r=n.isArray,i=n.isString,s=n.isNull,o=n.isFunction,u=e.getClassName,a=e.Event.KeyMap,f="alert",l="content",c="helper",h="hidden",p="icon",d="item",v="list",m="loading",t="autocomplete",g="reset",y="results",b="selected",w="icon-circle-arrow-down",E=f,S=m,x=u(t,b),T=u(c,h),N=u(t,v,d),C=u(c,g),k=u(t,y),L=u(t,y,l),A="BACKSPACE",O="TAB",M="ENTER",_="ALT",D="ESC",P="UP",H="DOWN",B="RIGHT",j="WIN_IME",F={node:null,points:["tl","bl"]},I="boundingBox",q="contentBox",R=e.Component.create({NAME:t,ATTRS:{alwaysShowContainer:{value:!1},autoHighlight:{value:!0},applyLocalFilter:{value:null},button:{value:!0},dataSource:{value:null},dataSourceType:{value:null},delimChar:{value:null,setter:function(t){return i(t)&&t.length>0?t=[t]:r(t)||(t=e.Attribute.INVALID_VALUE),t}},forceSelection:{value:!1},input:{value:null},matchKey:{value:0},maxResultsDisplayed:{value:10},minQueryLength:{value:1},queryDelay:{value:.2,getter:function(e){return e*1e3}},queryInterval:{value:.5,getter:function(e){return e*1e3}},queryMatchCase:{value:!1},queryMatchContains:{value:!1},queryQuestionMark:{value:!0},schema:{value:null},schemaType:{value:"",validator:i},suppressInputUpdate:{value:!1},typeAhead:{value:!1},typeAheadDelay:{value:.2,getter:function(e){return e*1e3}},uniqueName:{value:null}},prototype:{initializer:function(t){var n=this;n._overlayAlign=e.mix({},F),n._createDataSource()},renderUI:function(){var e=this;e._renderInput(),e._renderOverlay()},bindUI:function(){var t=this,n=t.button,r=t.inputNode;t.dataSource.on("request",e.bind(n.set,n,p,S)),n.on("click",t._onButtonMouseDown,t),r.on("blur",t._onTextboxBlur,t),r.on("focus",t._onTextboxFocus,t),r.on("keydown",t._onTextboxKeyDown,t),r.on("keypress",t._onTextboxKeyPress,t),r.on("keyup",t._onTextboxKeyUp,t);var i=t.overlay.get(I);i.on("click",t._onContainerClick,t),i.on("mouseout",t._onContainerMouseout,t),i.on("mouseover",t._onContainerMouseover,t),i.on("scroll",t._onContainerScroll,t),t.publish("containerCollapse"),t.publish("containerExpand"),t.publish("containerPopulate"),t.publish("dataError"),t.publish("dataRequest"),t.publish("dataReturn"),t.publish("itemArrowFrom"),t.publish("itemArrowTo"),t.publish("itemMouseOut"),t.publish("itemMouseOver"),t.publish("itemSelect"),t.publish("selectionEnforce"),t.publish("textboxBlur"),t.publish("textboxChange"),t.publish("textboxFocus"),t.publish("textboxKey"),t.publish("typeAhead"),t.publish("unmatchedItemSelect"),t.overlay.after("visibleChange",t._realignContainer,t)},syncUI:function(){var e=this;e.inputNode.setAttribute("autocomplete","off")},destructor:function(){var e=this;e.overlay.destroy()},doBeforeExpandContainer:function(){return!0},doBeforeLoadData:function(e){return!0},filterResults:function(e){var t=this,n=e.callback,s=e.request,o=e.response;n&&n.argument&&n.argument.query&&(s=n.argument.query);if(s){var u=t.dataSource,a=o.results,f=[],l=!1,c=t.get("matchKey"),h=t.get("queryMatchCase"),p=t.get("queryMatchContains"),d=s=="*",v=t.get("schema.resultFields");for(var m=a.length-1;m>=0;m--){var g=a[m],y=null;i(g)?y=g:r(g)?y=g[0]:v&&(y=g[c||v[0]]);if(i(y)){var b=-1;h?b=y.indexOf(decodeURIComponent(s)):b=y.toLowerCase().indexOf(decodeURIComponent(s).toLowerCase()),(d||!p&&b===0||p&&b>-1)&&f.unshift(g)}}o.results=f}return o},formatResult:function(e,t,n){return n||""},generateRequest:function(e){return{request:e}},handleResponse:function(e){var t=this;t._populateList(e);var n=w;e.error&&(n=E),t.button.set(p,n)},sendQuery:function(e){var t=this;t.set("focused",null);var n=e;t.get("delimChar")&&(e=t.inputNode.get("value")+e),t._sendQuery(n)},_clearInterval:function(){var e=this;e._queryIntervalId&&(clearInterval(e._queryIntervalId),e._queryIntervalId=null)},_clearSelection:function(){var e=this,t=e.get("delimChar"),n={previous:"",query:e.inputNode.get("value")};t&&(n=e._extractQuery(e.inputNode.get("value"))),e.fire("selectionEnforce",n.query)},_createDataSource:function(){var t=this;t._queryTask=e.debounce(t.sendQuery,t.get("queryDelay"),t);var n=t.get("dataSource"),r=n,s=t.get("dataSourceType");n instanceof e.DataSource.Local||(s||(s="Local",o(r)?s="Function":i(r)&&(s="IO")),n=new e.DataSource[s]({source:r})),n.on("error",t.handleResponse,t),n.after("response",t.handleResponse,t),s=n.name,s=="dataSourceLocal"&&t.set("applyLocalFilter",!0),t.set("dataSource",n),t.set("dataSourceType",s),t.dataSource=n;var u=t.get("schema");if(u)if(u.fn)t.dataSource.plug(u);else{var a=t.get("schemaType"),f={array:e.Plugin.DataSourceArraySchema,json:e.Plugin.DataSourceJSONSchema,text:e.Plugin.DataSourceTextSchema,xml:e.Plugin.DataSourceXMLSchema};a=a.toLowerCase()||"array",t.dataSource.plug({fn:f[a],cfg:{schema:u}})}t.set("schema",u)},_enableIntervalDetection:function(){var t=this,n=t.get("queryInterval");!t._queryIntervalId&&n&&(t._queryInterval=setInterval(e.bind(t._onInterval,t),n))},_extractQuery:function(e){var t=this,n=t.get("delimChar"),r=-1,i=n.length-1,s,o,u;for(;i>=0;i--)s=e.lastIndexOf(n[i]),s>r&&(r=s);if(n[i]==" ")for(var a=n.length-1;a>=0;a--)if(e[r-1]==n[a]){r--;break}if(r>-1){o=r+1;while(e.charAt(o)==" ")o+=1;u=e.substring(0,o),e=e.substring(o)}else u="";return{previous:u,query:e}},_focus:function(){var e=this;setTimeout(function(){e.inputNode.focus()},0)},_jumpSelection:function(){var e=this;e._elCurListItem?e._selectItem(e._elCurListItem):e._toggleContainer(!1)},_moveSelection:function(e){var t=this;if(t.overlay.get("visible")){var n=t._elCurListItem,r=-1;n&&(r=Number(n.getAttribute("data-listItemIndex")));var i=r-1;a.isKey(e,H)&&(i=r+1),i==-1&&(i=t._displayedItems-1),i>=t._displayedItems&&(i=0);if(i<-2)return;n&&(t._toggleHighlight(n,"from"),t.fire("itemArrowFrom",n));if(i==-1){t.get("delimChar")?t.inputNode.set("value",t._pastSelections+t._currentQuery):t.inputNode.set("value",t._currentQuery);return}if(i==-2){t._toggleContainer(!1);return}var s=t.resultList.get("childNodes").item(i),o=t.overlay.get(q),u=o.getStyle("overflow"),f=o.getStyle("overflowY"),l=u=="auto"||
+u=="scroll"||f=="auto"||f=="scroll";if(l&&i>-1&&im?c=p-d:pm&&(c=p-d),c>-1&&o.set("scrollTop",c)}t._toggleHighlight(s,"to"),t.fire("itemArrowTo",s),t.get("typeAhead")&&t._updateValue(s)}},_onButtonMouseDown:function(e){var t=this;e.halt(),t._focus(),t._sendQuery(t.inputNode.get("value")+"*")},_onContainerClick:function(e){var t=this,n=e.target,r=n.get("nodeName").toLowerCase();e.halt();while(n&&r!="table"){switch(r){case"body":return;case"li":t._toggleHighlight(n,"to"),t._selectItem(n);return;default:}n=n.get("parentNode"),n&&(r=n.get("nodeName").toLowerCase())}},_onContainerMouseout:function(e){var t=this,n=e.target,r=n.get("nodeName").toLowerCase();while(n&&r!="table"){switch(r){case"body":return;case"li":t._toggleHighlight(n,"from"),t.fire("itemMouseOut",n);break;case"ul":t._toggleHighlight(t._elCurListItem,"to");break;case"div":if(n.hasClass(k)){t._overContainer=!1;return}break;default:}n=n.get("parentNode"),n&&(r=n.get("nodeName").toLowerCase())}},_onContainerMouseover:function(e){var t=this,n=e.target,r=n.get("nodeName").toLowerCase();while(n&&r!="table"){switch(r){case"body":return;case"li":t._toggleHighlight(n,"to"),t.fire("itemMouseOut",n);break;case"div":if(n.hasClass(k)){t._overContainer=!0;return}break;default:}n=n.get("parentNode"),n&&(r=n.get("nodeName").toLowerCase())}},_onContainerScroll:function(e){var t=this;t._focus()},_onInterval:function(){var e=this,t=e.inputNode.get("value"),n=e._lastValue;t!=n&&(e._lastValue=t,e._sendQuery(t))},_onTextboxBlur:function(e){var t=this;if(!t._overContainer||a.isKey(t._keyCode,O)){if(!t._itemSelected){var n=t._textMatchesOption(),r=t.overlay.get("visible");!r||r&&s(n)?t.get("forceSelection")?t._clearSelection():t.fire("unmatchedItemSelect",t._currentQuery):t.get("forceSelection")&&t._selectItem(n)}t._clearInterval(),t.blur(),t._initInputValue!==t.inputNode.get("value")&&t.fire("textboxChange"),t.fire("textboxBlur"),t._toggleContainer(!1)}else t._focus()},_onTextboxFocus:function(e){var t=this;t.get("focused")||(t.inputNode.setAttribute("autocomplete","off"),t.focus(),t._initInputValue=t.inputNode.get("value"),t.fire("textboxFocus"))},_onTextboxKeyDown:function(e){var t=this,n=e.keyCode;t._typeAheadDelayId!=-1&&clearTimeout(t._typeAheadDelayId),e.isKey(O)?t._elCurListItem?(t.get("delimChar")&&t._keyCode!=n&&t.overlay.get("visible")&&e.halt(),t._selectItem(t._elCurListItem)):t._toggleContainer(!1):e.isKey(M)?t._elCurListItem?(t._keyCode!=n&&t.overlay.get("visible")&&e.halt(),t._selectItem(t._elCurListItem)):t._toggleContainer(!1):e.isKey(D)?t._toggleContainer(!1):e.isKey(P)?t.overlay.get("visible")&&(e.halt(),t._moveSelection(n)):e.isKey(B)?t._jumpSelection():e.isKey(H)?t.overlay.get("visible")&&(e.halt(),t._moveSelection(n)):(t._itemSelected=!1,t._toggleHighlight(t._elCurListItem,"from"),t.fire("textboxKey",n)),e.isKey(_)&&t._enableIntervalDetection(),t._keyCode=n},_onTextboxKeyPress:function(e){var t=this,n=e.keyCode;e.isKey(O)?t.overlay.get("visible")&&(t.get("delimChar")&&e.halt(),t._elCurListItem?t._selectItem(t._elCurListItem):t._toggleContainer(!1)):e.isKey(M)&&t.overlay.get("visible")&&(e.halt(),t._elCurListItem?t._selectItem(t._elCurListItem):t._toggleContainer(!1)),e.isKey(j)&&t._enableIntervalDetection()},_onTextboxKeyUp:function(e){var t=this,n=t.inputNode,r=n.get("value");if(e.isSpecialKey()&&!e.isKey(A))return;t._queryTask(r)},_populateList:function(e){var t=this;t._typeAheadDelayId!=-1&&clearTimeout(t._typeAheadDelayId);var n=e.request,s=e.response,o=e.callback,u=n=="*";o&&o.argument&&o.argument.query&&(e.request=n=o.argument.query);var a=t.doBeforeLoadData(e);if(a&&!e.error){t.fire("dataReturn",e);var f=t.get("focused");if(u||f||f===null){var l=decodeURIComponent(n);t._currentQuery=l,t._itemSelected=!1;var c=e.response.results,h=Math.min(c.length,t.get("maxResultsDisplayed")),p=t.get("schema.resultFields"),d=t.get("matchKey");!d&&p?d=p[0]:d=d||0;if(h>0){var v=t.resultList.get("childNodes");v.each(function(e,n,s){if(n';n.html(r.join(""))},_renderOverlay:function(){var t=this,n=t._overlayAlign;n.node=t.inputNode;var r=new e.OverlayBase({align:n,bodyContent:"",visible:!1,width:t.inputNode.get("offsetWidth"),zIndex:1}),i=r.get(q);r.get(I).addClass(k),i.addClass(L),r.render(),r.addTarget(t),t.overlay=r,t.resultList=i.one("ul"),t.resultList.addClass(C),t._renderListElements()},_selectItem:function(e){var t=this;t._itemSelected=!0,t._updateValue(e),t._pastSelections=t.inputNode.get("value"),t._clearInterval(),t.fire("itemSelect",e,e._resultData),t._toggleContainer(!1)},_sendQuery:function(e){var t=this;if(t.get("disabled")){t._toggleContainer(!1);return}var n=
+t.get("delimChar"),r=t.get("minQueryLength");if(n){var i=t._extractQuery(e);e=i.query,t._pastSelections=i.previous}if(e&&e.length0){t._queryTask.cancel(),t._toggleContainer(!1);return}e=encodeURIComponent(e),t.get("applyLocalFilter")&&t.dataSource.on("response",t.filterResults,t);var s=t.generateRequest(e);t.fire("dataRequest",e,s),t.dataSource.sendRequest(s)},_textMatchesOption:function(){var e=this,t=null,n=e._displayedItems,r=e.resultList.get("childNodes");for(var i=0;i
+ *
+ * A base class for AutoComplete, providing:
+ *
+ * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor)
+ * Presenting users choices based on their input
+ * Separating selected items
+ * Keyboard interaction for selecting items
+ *
+ *
+ * Quick Example:
+ *
+ * var instance = new A.AutoCompleteDeprecated({
+ * dataSource: [['AL', 'Alabama', 'The Heart of Dixie'],
+ * ['AK', 'Alaska', 'The Land of the Midnight Sun'],
+ * ['AZ', 'Arizona', 'The Grand Canyon State']],
+ * schema: {
+ * resultFields: ['key', 'name', 'description']
+ * },
+ * matchKey: 'name',
+ * delimChar: ',',
+ * typeAhead: true,
+ * contentBox: '#myAutoComplete'
+ * }).render();
+ *
+ *
+ * Check the list of Configuration Attributes available for
+ * AutoComplete.
+ *
+ * @param config {Object} Object literal specifying widget configuration properties.
+ *
+ * @class AutoComplete
+ * @constructor
+ * @extends Component
+ */
+
+var AutoComplete = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property AutoComplete.NAME
+ * @type String
+ * @static
+ */
+
+ NAME: NAME,
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the AutoComplete.
+ *
+ * @property AutoComplete.ATTRS
+ * @type Object
+ * @static
+ */
+
+ ATTRS: {
+ /**
+ * Always show the results container, instead of only showing when the
+ * user is requesting them.
+ *
+ * @attribute alwaysShowContainer
+ * @default false
+ * @type Boolean
+ */
+ alwaysShowContainer: {
+ value: false
+ },
+
+ /**
+ * Automatically highlight the first item in the list when the results are
+ * made visible.
+ *
+ * @attribute autoHighlight
+ * @default true
+ * @type Boolean
+ */
+ autoHighlight: {
+ value: true
+ },
+
+ /**
+ * If set to true, the filterResults
+ * method will be run on the response from the data source.
+ *
+ * @attribute applyLocalFilter
+ * @default true
+ * @type Boolean
+ */
+ applyLocalFilter: {
+ value: null
+ },
+
+ /**
+ * To use a button
+ *
+ * @attribute button
+ * @default true
+ * @type Boolean
+ * @deprecated
+ */
+ button: {
+ value: true
+ },
+
+ /**
+ * The data source that results will be read from. This can either be
+ * an existing DataSource object, or it can be a
+ * value that would be passed to DataSource .
+ *
+ * @attribute dataSource
+ * @default null
+ * @type Object | String | Function | Array
+ */
+ dataSource: {
+ value: null
+ },
+
+ /**
+ * The type of the data source passed into dataSource .
+ * This can be used to explicitly declare what kind of DataSource object will
+ * be created.
+ *
+ * @attribute dataSourceType
+ * @default null
+ * @type String
+ */
+ dataSourceType: {
+ value: null
+ },
+
+ /**
+ * The character used to indicate the beginning or ending of a new value. Most commonly used
+ * is a ",".
+ *
+ * @attribute delimChar
+ * @default null
+ * @type String
+ */
+ delimChar: {
+ value: null,
+ setter: function(value) {
+ if (isString(value) && (value.length > 0)) {
+ value = [value];
+ }
+ else if (!isArray(value)) {
+ value = A.Attribute.INVALID_VALUE;
+ }
+
+ return value;
+ }
+ },
+
+ /**
+ * If typeAhead is true, this
+ * will clear a selection when the overlay closes unless a user explicitly selects an item.
+ *
+ * @attribute forceSelection
+ * @default false
+ * @type Boolean
+ */
+ forceSelection: {
+ value: false
+ },
+
+ /**
+ * The input field which will recieve the users input.
+ *
+ * @attribute input
+ * @default null
+ * @type String | Node
+ */
+ input: {
+ value: null
+ },
+
+ /**
+ * The key or numeric index in the schema to match the result against.
+ *
+ * @attribute matchKey
+ * @default 0
+ * @type String | Number
+ */
+ matchKey: {
+ value: 0
+ },
+
+ /**
+ * The maximum number of results to display.
+ *
+ *
+ * @attribute maxResultsDisplayed
+ * @default 10
+ * @type Number
+ */
+ maxResultsDisplayed: {
+ value: 10
+ },
+
+ /**
+ * The minimum number of characters required to query the data source.
+ *
+ * @attribute minQueryLength
+ * @default 1
+ * @type Number
+ */
+ minQueryLength: {
+ value: 1
+ },
+
+ /**
+ * The amount of time in seconds to delay before submitting the query.
+ *
+ * @attribute queryDelay
+ * @default 0.2
+ * @type Number
+ */
+ queryDelay: {
+ value: 0.2,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * When IME usage is detected or interval detection is explicitly enabled,
+ * AutoComplete will detect the input value at the given interval and send a
+ * query if the value has changed.
+ *
+ * @attribute queryInterval
+ * @default 0.5
+ * @type Number
+ */
+ queryInterval: {
+ value: 0.5,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * When applyLocalFilter is true,
+ * setting this to true will match only results with the same case.
+ *
+ * @attribute queryMatchCase
+ * @default false
+ * @type Boolean
+ */
+ queryMatchCase: {
+ value: false
+ },
+
+ /**
+ * When applyLocalFilter is true,
+ * setting this to true will match results which contain the query anywhere in the text,
+ * instead of just matching just items that start with the query.
+ *
+ * @attribute queryMatchContains
+ * @default false
+ * @type Boolean
+ */
+ queryMatchContains: {
+ value: false
+ },
+
+ /**
+ * For IO DataSources, AutoComplete will automatically insert a "?" between the server URI and
+ * the encoded query string. To prevent this behavior, you can
+ * set this value to false. If you need to customize this even further, you
+ * can override the generateRequest method.
+ *
+ * @attribute queryQuestionMark
+ * @default true
+ * @type Boolean
+ */
+ queryQuestionMark: {
+ value: true
+ },
+
+ /**
+ * A valid configuration object for any of DataSource schema plugins.
+ *
+ * @attribute schema
+ * @default null
+ * @type Object
+ */
+ schema: {
+ value: null
+ },
+
+ /**
+ * A valid type of DataSource schema plugin, such as array, json, xml, etc.
+ *
+ * @attribute schemaType
+ * @default array
+ * @type String
+ */
+ schemaType: {
+ value: '',
+ validator: isString
+ },
+
+ /**
+ * Whether or not the input field should be updated with selections.
+ *
+ * @attribute suppressInputUpdate
+ * @default false
+ * @type Boolean
+ */
+ suppressInputUpdate: {
+ value: false
+ },
+
+ /**
+ * If autoHighlight is enabled, whether or not the
+ * input field should be automatically updated with the first result as the user types,
+ * automatically selecting the portion of the text the user has not typed yet.
+ *
+ * @attribute typeAhead
+ * @default false
+ * @type Boolean
+ */
+ typeAhead: {
+ value: false
+ },
+
+ /**
+ * If typeAhead is true, number of seconds
+ * to delay before updating the input. In order to prevent certain race conditions, this value must
+ * always be greater than the queryDelay .
+ *
+ * @attribute typeAheadDelay
+ * @default 0.2
+ * @type Number
+ */
+ typeAheadDelay: {
+ value: 0.2,
+ getter: function(value) {
+ return value * 1000;
+ }
+ },
+
+ /**
+ * The unique ID of the input element.
+ *
+ * @attribute uniqueName
+ * @default null
+ * @type String
+ */
+ uniqueName: {
+ value: null
+ }
+ },
+
+ prototype: {
+ /**
+ * Construction logic executed during AutoComplete instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function(config) {
+ var instance = this;
+
+ instance._overlayAlign = A.mix({}, OVERLAY_ALIGN);
+
+ instance._createDataSource();
+ },
+
+ /**
+ * Create the DOM structure for the AutoComplete. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderInput();
+ instance._renderOverlay();
+ },
+
+ /**
+ * Bind the events on the AutoComplete UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ var button = instance.button;
+ var inputNode = instance.inputNode;
+
+ instance.dataSource.on('request', A.bind(button.set, button, ICON, ICON_LOADING));
+
+ button.on('click', instance._onButtonMouseDown, instance);
+
+ inputNode.on('blur', instance._onTextboxBlur, instance);
+ inputNode.on('focus', instance._onTextboxFocus, instance);
+ inputNode.on('keydown', instance._onTextboxKeyDown, instance);
+ inputNode.on('keypress', instance._onTextboxKeyPress, instance);
+ inputNode.on('keyup', instance._onTextboxKeyUp, instance);
+
+ var overlayBoundingBox = instance.overlay.get(BOUNDING_BOX);
+
+ overlayBoundingBox.on('click', instance._onContainerClick, instance);
+ overlayBoundingBox.on('mouseout', instance._onContainerMouseout, instance);
+ overlayBoundingBox.on('mouseover', instance._onContainerMouseover, instance);
+ overlayBoundingBox.on('scroll', instance._onContainerScroll, instance);
+
+ /**
+ * Handles the containerCollapse event. Fired when the container is hidden.
+ *
+ * @event containerCollapse
+ * @param {Event.Facade} event The containerCollapse event.
+ */
+ instance.publish('containerCollapse');
+
+ /**
+ * Handles the containerExpand event. Fired when the container is shown.
+ *
+ * @event containerExpand
+ * @param {Event.Facade} event The containerExpand event.
+ */
+ instance.publish('containerExpand');
+
+ /**
+ * Handles the containerPopulate event. Fired when the container is populated.
+ *
+ * @event containerPopulate
+ * @param {Event.Facade} event The containerPopulate event.
+ */
+ instance.publish('containerPopulate');
+
+ /**
+ * Handles the dataError event. Fired when there is an error accessing the data.
+ *
+ * @event dataError
+ * @param {Event.Facade} event The dataError event.
+ */
+ instance.publish('dataError');
+
+ /**
+ * Handles the dataRequest event. Fired when ever a query is sent to the data source.
+ *
+ * @event dataRequest
+ * @param {Event.Facade} event The dataRequest event.
+ */
+ instance.publish('dataRequest');
+
+ /**
+ * Handles the dataReturn event. Fired when data successfully comes back from the data request.
+ *
+ * @event dataReturn
+ * @param {Event.Facade} event The dataReturn event.
+ */
+ instance.publish('dataReturn');
+
+ /**
+ * Handles the itemArrowFrom event. Fired when the user navigates via the keyboard away from
+ * a selected item.
+ *
+ * @event itemArrowFrom
+ * @param {Event.Facade} event The itemArrowFrom event.
+ */
+ instance.publish('itemArrowFrom');
+
+ /**
+ * Handles the itemArrowTo event. Fired when the user navigates via the keyboard to a selected item.
+ *
+ * @event itemArrowTo
+ * @param {Event.Facade} event The itemArrowTo event.
+ */
+ instance.publish('itemArrowTo');
+
+ /**
+ * Handles the itemMouseOut event. Fired when the user mouses away from an item.
+ *
+ * @event itemMouseOut
+ * @param {Event.Facade} event The itemMouseOut event.
+ */
+ instance.publish('itemMouseOut');
+
+ /**
+ * Handles the itemMouseOver event. Fired when the user mouses over an item.
+ *
+ * @event itemMouseOver
+ * @param {Event.Facade} event The itemMouseOver event.
+ */
+ instance.publish('itemMouseOver');
+
+ /**
+ * Handles the itemSelect event. Fired when an item in the list is selected.
+ *
+ * @event itemSelect
+ * @param {Event.Facade} event The itemSelect event.
+ */
+ instance.publish('itemSelect');
+
+ /**
+ * Handles the selectionEnforce event. Fired if forceSelection
+ * is enabled and the users input element has been cleared because it did not match one of the results.
+ *
+ * @event selectionEnforce
+ * @param {Event.Facade} event The selectionEnforce event.
+ */
+ instance.publish('selectionEnforce');
+
+ /**
+ * Handles the textboxBlur event. Fired when the user leaves the input element.
+ *
+ * @event textboxBlur
+ * @param {Event.Facade} event The textboxBlur event.
+ */
+ instance.publish('textboxBlur');
+
+ /**
+ * Handles the textboxChange event. Fired when the value in the input element is changed.
+ *
+ * @event textboxChange
+ * @param {Event.Facade} event The textboxChange event.
+ */
+ instance.publish('textboxChange');
+
+ /**
+ * Handles the textboxFocus event. Fired when user moves focus to the input element.
+ *
+ * @event textboxFocus
+ * @param {Event.Facade} event The textboxFocus event.
+ */
+ instance.publish('textboxFocus');
+
+ /**
+ * Handles the textboxKey event. Fired when the input element receives key input.
+ *
+ * @event textboxKey
+ * @param {Event.Facade} event The textboxKey event.
+ */
+ instance.publish('textboxKey');
+
+ /**
+ * Handles the typeAhead event. Fired when the input element has been pre-filled by the type-ahead feature.
+ *
+ * @event typeAhead
+ * @param {Event.Facade} event The typeAhead event.
+ */
+ instance.publish('typeAhead');
+
+ /**
+ * Handles the unmatchedItemSelect event. Fired when a user selects something that does
+ * not match any of the displayed results.
+ *
+ * @event unmatchedItemSelect
+ * @param {Event.Facade} event The unmatchedItemSelect event.
+ */
+ instance.publish('unmatchedItemSelect');
+
+ instance.overlay.after('visibleChange', instance._realignContainer, instance);
+ },
+
+ /**
+ * Sync the AutoComplete UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ instance.inputNode.setAttribute('autocomplete', 'off');
+ },
+
+ /**
+ * Destructor lifecycle implementation for the Autocomplete class.
+ * Purges events attached to the node (and all child nodes).
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ var instance = this;
+
+ instance.overlay.destroy();
+ },
+
+ /**
+ * An overridable method that is executed before the result container is shown.
+ * The method can return false to prevent the container from being shown.
+ *
+ * @method doBeforeExpandContainer
+ * @param {String} query The query that was submitted to the data source
+ * @param {Object} allResults The parsed results
+ * @return {Boolean}
+ */
+ doBeforeExpandContainer: function() {
+ return true;
+ },
+
+ /**
+ * An overridable method that is executed before the result overlay is loaded with results.
+ *
+ * @method doBeforeLoadData
+ * @param {EventFacade} event
+ * @return {Boolean}
+ */
+ doBeforeLoadData: function(event) {
+ return true;
+ },
+
+ /**
+ * Executed by the data source as a mechanism to do simple client-side
+ * filtering of the results.
+ *
+ * @method filterResults
+ * @param {EventFacade} event
+ * @return {Object} Filtered response object
+ */
+ filterResults: function(event) {
+ var instance = this;
+
+ var callback = event.callback;
+ var query = event.request;
+ var response = event.response;
+
+ if (callback && callback.argument && callback.argument.query) {
+ query = callback.argument.query;
+ }
+
+ if (query) {
+ var dataSource = instance.dataSource;
+ var allResults = response.results;
+ var filteredResults = [];
+ var matchFound = false;
+ var matchKey = instance.get('matchKey');
+ var matchCase = instance.get('queryMatchCase');
+ var matchContains = instance.get('queryMatchContains');
+ var showAll = (query == '*');
+
+ var fields = instance.get('schema.resultFields');
+
+ for (var i = allResults.length - 1; i >= 0; i--) {
+ var result = allResults[i];
+
+ var strResult = null;
+
+ if (isString(result)) {
+ strResult = result;
+ }
+ else if (isArray(result)) {
+ strResult = result[0];
+ }
+ else if (fields) {
+ strResult = result[matchKey || fields[0]];
+ }
+
+ if (isString(strResult)) {
+ var keyIndex = -1;
+
+ if (matchCase) {
+ keyIndex = strResult.indexOf(decodeURIComponent(query));
+ }
+ else {
+ keyIndex = strResult.toLowerCase().indexOf(decodeURIComponent(query).toLowerCase());
+ }
+
+ if (
+ (showAll) ||
+ (!matchContains && (keyIndex === 0)) ||
+ (matchContains && (keyIndex > -1))
+ ) {
+ filteredResults.unshift(result);
+ }
+ }
+ }
+
+ response.results = filteredResults;
+ }
+
+ return response;
+ },
+
+ /**
+ * An overridable method for formatting the result of the query before it's displayed in the overlay.
+ *
+ * @method formatResult
+ * @param {Object} result The result data object
+ * @param {String} request The current query string
+ * @param {String} resultMatch The string from the results that matches the query
+ * @return {String}
+ */
+ formatResult: function(result, request, resultMatch) {
+ return resultMatch || '';
+ },
+
+ /**
+ * An overridable method that creates an object to be passed to the sendRequest
+ * method of the data source object. Useful to overwrite if you wish to create
+ * a custom request object before it's sent.
+ *
+ * @method generateRequest
+ * @param {String} query The string currently being entered
+ * @return {Object}
+ */
+ generateRequest: function(query) {
+ return {
+ request: query
+ };
+ },
+
+ /**
+ * Handles the response for the display of the results. This is a callback method
+ * that is fired by the sendRequest method so that results are ready to be accessed.
+ *
+ * @method handleResponse
+ * @param {EventFacade} event
+ */
+ handleResponse: function(event) {
+ var instance = this;
+
+ instance._populateList(event);
+
+ var iconClass = ICON_DEFAULT;
+
+ if (event.error) {
+ iconClass = ICON_ERROR;
+ }
+
+ instance.button.set(ICON, iconClass);
+ },
+
+ /**
+ * Sends a query request to the data source object.
+ *
+ * @method sendQuery
+ * @param {String} query Query string
+ */
+ sendQuery: function(query) {
+ var instance = this;
+
+ instance.set('focused', null);
+
+ var newQuery = query;
+
+ if (instance.get('delimChar')) {
+ query = instance.inputNode.get('value') + query;
+ }
+
+ instance._sendQuery(newQuery);
+ },
+
+ /**
+ * Clears the query interval
+ *
+ * @method _clearInterval
+ * @private
+ */
+ _clearInterval: function() {
+ var instance = this;
+
+ if (instance._queryIntervalId) {
+ clearInterval(instance._queryIntervalId);
+
+ instance._queryIntervalId = null;
+ }
+ },
+
+ /**
+ * When forceSelection is true and
+ * the user tries to leave the input element without selecting an item from the results,
+ * the user selection is cleared.
+ *
+ * @method _clearSelection
+ * @protected
+ */
+ _clearSelection: function() {
+ var instance = this;
+
+ var delimChar = instance.get('delimChar');
+ var extraction = {
+ previous: '',
+ query: instance.inputNode.get('value')
+ };
+
+ if (delimChar) {
+ extraction = instance._extractQuery(instance.inputNode.get('value'));
+ }
+
+ instance.fire('selectionEnforce', extraction.query);
+ },
+
+ /**
+ * Creates the data source object using the passed in dataSource ,
+ * and if it is a string, will use the dataSourceType to
+ * create a new DataSource object.
+ *
+ * @method _createDataSource
+ * @protected
+ * @return {String}
+ */
+ _createDataSource: function() {
+ var instance = this;
+
+ instance._queryTask = A.debounce(instance.sendQuery, instance.get('queryDelay'), instance);
+
+ var dataSource = instance.get('dataSource');
+ var data = dataSource;
+
+ var dataSourceType = instance.get('dataSourceType');
+
+ if (!(dataSource instanceof A.DataSource.Local)) {
+ if (!dataSourceType) {
+ dataSourceType = 'Local';
+
+ if (isFunction(data)) {
+ dataSourceType = 'Function';
+ }
+ else if (isString(data)) {
+ dataSourceType = 'IO';
+ }
+ }
+
+ dataSource = new A.DataSource[dataSourceType]({
+ source: data
+ });
+ }
+
+ dataSource.on('error', instance.handleResponse, instance);
+ dataSource.after('response', instance.handleResponse, instance);
+
+ dataSourceType = dataSource.name;
+
+ if (dataSourceType == 'dataSourceLocal') {
+ instance.set('applyLocalFilter', true);
+ }
+
+ instance.set('dataSource', dataSource);
+ instance.set('dataSourceType', dataSourceType);
+
+ instance.dataSource = dataSource;
+
+ var schema = instance.get('schema');
+
+ if (schema) {
+ if (schema.fn) {
+ instance.dataSource.plug(schema);
+ }
+ else {
+ var schemaType = instance.get('schemaType');
+
+ var schemaTypes = {
+ array: A.Plugin.DataSourceArraySchema,
+ json: A.Plugin.DataSourceJSONSchema,
+ text: A.Plugin.DataSourceTextSchema,
+ xml: A.Plugin.DataSourceXMLSchema
+ };
+
+ schemaType = schemaType.toLowerCase() || 'array';
+
+ instance.dataSource.plug({
+ fn: schemaTypes[schemaType],
+ cfg: {
+ schema: schema
+ }
+ });
+ }
+ }
+
+ instance.set('schema', schema);
+ },
+
+ /**
+ * Enables query interval detection for IME support.
+ *
+ * @method _enableIntervalDetection
+ * @protected
+ */
+ _enableIntervalDetection: function() {
+ var instance = this;
+
+ var queryInterval = instance.get('queryInterval');
+
+ if (!instance._queryIntervalId && queryInterval) {
+ instance._queryInterval = setInterval(A.bind(instance._onInterval, instance), queryInterval);
+ }
+ },
+
+ /**
+ * Extracts the right most query from the delimited string in the input.
+ *
+ * @method _extractQuery
+ * @param {String} query String to parse
+ * @protected
+ * @return {String}
+ */
+ _extractQuery: function(query) {
+ var instance = this;
+
+ var delimChar = instance.get('delimChar');
+ var delimIndex = -1;
+ var i = delimChar.length - 1;
+
+ var newIndex, queryStart, previous;
+
+ for (; i >= 0; i--) {
+ newIndex = query.lastIndexOf(delimChar[i]);
+
+ if (newIndex > delimIndex) {
+ delimIndex = newIndex;
+ }
+ }
+
+ if (delimChar[i] == ' ') {
+ for (var j = delimChar.length - 1; j >= 0; j--) {
+ if (query[delimIndex - 1] == delimChar[j]) {
+ delimIndex--;
+
+ break;
+ }
+ }
+ }
+
+ if (delimIndex > -1) {
+ queryStart = delimIndex + 1;
+
+ while (query.charAt(queryStart) == ' ') {
+ queryStart += 1;
+ }
+
+ previous = query.substring(0, queryStart);
+
+ query = query.substring(queryStart);
+ }
+ else {
+ previous = '';
+ }
+
+ return {
+ previous: previous,
+ query: query
+ };
+ },
+
+ /**
+ * Focuses the input element.
+ *
+ * @method _focus
+ * @protected
+ */
+ _focus: function() {
+ var instance = this;
+
+ setTimeout(
+ function() {
+ instance.inputNode.focus();
+ },
+ 0
+ );
+ },
+
+ /**
+ * If there is a currently selected item, the right arrow key will select
+ * that item and jump to the end of the input element, otherwise the container is closed.
+ *
+ * @method _jumpSelection
+ * @protected
+ */
+ _jumpSelection: function() {
+ var instance = this;
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ },
+
+ /**
+ * Triggered by the up and down arrow keys, changes the currently selected list element item, and scrolls the
+ * container if necessary.
+ *
+ * @method _moveSelection
+ * @param {Number} keyCode The numeric code of the key pressed
+ * @protected
+ */
+ _moveSelection: function(keyCode) {
+ var instance = this;
+
+ if (instance.overlay.get('visible')) {
+ var elCurListItem = instance._elCurListItem;
+ var curItemIndex = -1;
+
+ if (elCurListItem) {
+ curItemIndex = Number(elCurListItem.getAttribute('data-listItemIndex'));
+ }
+
+ var newItemIndex = curItemIndex - 1;
+
+ if (KeyMap.isKey(keyCode, DOWN)) {
+ newItemIndex = curItemIndex + 1;
+ }
+
+ if (newItemIndex == -1) {
+ newItemIndex = instance._displayedItems - 1;
+ }
+
+ if (newItemIndex >= instance._displayedItems) {
+ newItemIndex = 0;
+ }
+
+ if (newItemIndex < -2) {
+ return;
+ }
+
+ if (elCurListItem) {
+ instance._toggleHighlight(elCurListItem, 'from');
+
+ instance.fire('itemArrowFrom', elCurListItem);
+ }
+
+ if (newItemIndex == -1) {
+ if (instance.get('delimChar')) {
+ instance.inputNode.set('value', instance._pastSelections + instance._currentQuery);
+ }
+ else {
+ instance.inputNode.set('value', instance._currentQuery);
+ }
+
+ return;
+ }
+
+ if (newItemIndex == -2) {
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ var elNewListItem = instance.resultList.get('childNodes').item(newItemIndex);
+
+ var elContent = instance.overlay.get(CONTENT_BOX);
+
+ var contentOverflow = elContent.getStyle('overflow');
+ var contentOverflowY = elContent.getStyle('overflowY');
+
+ var scrollOn = (contentOverflow == 'auto') || (contentOverflow == 'scroll') || (contentOverflowY ==
+ 'auto') || (contentOverflowY == 'scroll');
+
+ if (scrollOn &&
+ (newItemIndex > -1) &&
+ (newItemIndex < instance._displayedItems)) {
+
+ var newScrollTop = -1;
+ var liTop = elNewListItem.get('offsetTop');
+ var liBottom = liTop + elNewListItem.get('offsetHeight');
+
+ var contentHeight = elContent.get('offsetHeight');
+ var contentScrollTop = elContent.get('scrollTop');
+ var contentBottom = contentHeight + contentScrollTop;
+
+ if (KeyMap.isKey(keyCode, DOWN)) {
+ if (liBottom > contentBottom) {
+ newScrollTop = (liBottom - contentHeight);
+ }
+ else if (liBottom < contentScrollTop) {
+ newScrollTop = liTop;
+ }
+ }
+ else {
+ if (liTop < contentHeight) {
+ newScrollTop = liTop;
+ }
+ else if (liTop > contentBottom) {
+ newScrollTop = (liBottom - contentHeight);
+ }
+ }
+
+ if (newScrollTop > -1) {
+ elContent.set('scrollTop', newScrollTop);
+ }
+ }
+
+ instance._toggleHighlight(elNewListItem, 'to');
+
+ instance.fire('itemArrowTo', elNewListItem);
+
+ if (instance.get('typeAhead')) {
+ instance._updateValue(elNewListItem);
+ }
+ }
+ },
+
+ /**
+ * Called when the user mouses down on the button element in the combobox.
+ *
+ * @method _onButtonMouseDown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onButtonMouseDown: function(event) {
+ var instance = this;
+
+ event.halt();
+
+ instance._focus();
+
+ instance._sendQuery(instance.inputNode.get('value') + '*');
+ },
+
+ /**
+ * Handles when a user clicks on the container.
+ *
+ * @method _onContainerClick
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerClick: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ event.halt();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'to');
+ instance._selectItem(target);
+ return;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles when a user mouses out of the container.
+ *
+ * @method _onContainerMouseout
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerMouseout: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'from');
+ instance.fire('itemMouseOut', target);
+ break;
+
+ case 'ul':
+ instance._toggleHighlight(instance._elCurListItem, 'to');
+ break;
+
+ case 'div':
+ if (target.hasClass(CSS_RESULTS_OVERLAY)) {
+ instance._overContainer = false;
+
+ return;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles when a user mouses over the container.
+ *
+ * @method _onContainerMouseover
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerMouseover: function(event) {
+ var instance = this;
+
+ var target = event.target;
+ var tagName = target.get('nodeName').toLowerCase();
+
+ while (target && (tagName != 'table')) {
+ switch (tagName) {
+ case 'body':
+ return;
+
+ case 'li':
+ instance._toggleHighlight(target, 'to');
+ instance.fire('itemMouseOut', target);
+ break;
+
+ case 'div':
+ if (target.hasClass(CSS_RESULTS_OVERLAY)) {
+ instance._overContainer = true;
+ return;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ target = target.get('parentNode');
+
+ if (target) {
+ tagName = target.get('nodeName').toLowerCase();
+ }
+ }
+ },
+
+ /**
+ * Handles the container scroll events.
+ *
+ * @method _onContainerScroll
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onContainerScroll: function(event) {
+ var instance = this;
+
+ instance._focus();
+ },
+
+ /**
+ * Enables the query to be triggered based on detecting text input via intervals instead of via
+ * key events.
+ *
+ * @method _onInterval
+ * @protected
+ */
+ _onInterval: function() {
+ var instance = this;
+
+ var curValue = instance.inputNode.get('value');
+ var lastValue = instance._lastValue;
+
+ if (curValue != lastValue) {
+ instance._lastValue = curValue;
+
+ instance._sendQuery(curValue);
+ }
+ },
+
+ /**
+ * Handles the input element losing focus.
+ *
+ * @method _onTextboxBlur
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxBlur: function(event) {
+ var instance = this;
+
+ if (!instance._overContainer || KeyMap.isKey(instance._keyCode, TAB)) {
+ if (!instance._itemSelected) {
+ var elMatchListItem = instance._textMatchesOption();
+
+ var overlayVisible = instance.overlay.get('visible');
+
+ if (!overlayVisible || (overlayVisible && isNull(elMatchListItem))) {
+ if (instance.get('forceSelection')) {
+ instance._clearSelection();
+ }
+ else {
+ instance.fire('unmatchedItemSelect', instance._currentQuery);
+ }
+ }
+ else {
+ if (instance.get('forceSelection')) {
+ instance._selectItem(elMatchListItem);
+ }
+ }
+ }
+
+ instance._clearInterval();
+
+ instance.blur();
+
+ if (instance._initInputValue !== instance.inputNode.get('value')) {
+ instance.fire('textboxChange');
+ }
+
+ instance.fire('textboxBlur');
+
+ instance._toggleContainer(false);
+ }
+ else {
+ instance._focus();
+ }
+ },
+
+ /**
+ * Handles the input element gaining focus.
+ *
+ * @method _onTextboxFocus
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxFocus: function(event) {
+ var instance = this;
+
+ if (!instance.get('focused')) {
+ instance.inputNode.setAttribute('autocomplete', 'off');
+ instance.focus();
+ instance._initInputValue = instance.inputNode.get('value');
+
+ instance.fire('textboxFocus');
+ }
+ },
+
+ /**
+ * Handles the keydown events on the input element for functional keys.
+ *
+ * @method _onTextboxKeyDown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyDown: function(event) {
+ var instance = this;
+
+ var keyCode = event.keyCode;
+
+ if (instance._typeAheadDelayId != -1) {
+ clearTimeout(instance._typeAheadDelayId);
+ }
+
+ if (event.isKey(TAB)) {
+ if (instance._elCurListItem) {
+ if (instance.get('delimChar') && instance._keyCode != keyCode) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+ }
+ }
+
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ else if (event.isKey(ENTER)) {
+ if (instance._elCurListItem) {
+ if (instance._keyCode != keyCode) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+ }
+ }
+
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ else if (event.isKey(ESC)) {
+ instance._toggleContainer(false);
+ }
+ else if (event.isKey(UP)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ instance._moveSelection(keyCode);
+ }
+ }
+ else if (event.isKey(RIGHT)) {
+ instance._jumpSelection();
+ }
+ else if (event.isKey(DOWN)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ instance._moveSelection(keyCode);
+ }
+ }
+ else {
+ instance._itemSelected = false;
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+
+ instance.fire('textboxKey', keyCode);
+ }
+
+ if (event.isKey(ALT)) {
+ instance._enableIntervalDetection();
+ }
+
+ instance._keyCode = keyCode;
+ },
+
+ /**
+ * Handles the key press events of the input element.
+ *
+ * @method _onTextboxKeyPress
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyPress: function(event) {
+ var instance = this;
+
+ var keyCode = event.keyCode;
+
+ if (event.isKey(TAB)) {
+ if (instance.overlay.get('visible')) {
+ if (instance.get('delimChar')) {
+ event.halt();
+ }
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ }
+ else if (event.isKey(ENTER)) {
+ if (instance.overlay.get('visible')) {
+ event.halt();
+
+ if (instance._elCurListItem) {
+ instance._selectItem(instance._elCurListItem);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+ }
+ }
+
+ if (event.isKey(WIN_IME)) {
+ instance._enableIntervalDetection();
+ }
+ },
+
+ /**
+ * Handles the keyup events of the input element.
+ *
+ * @method _onTextboxKeyUp
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onTextboxKeyUp: function(event) {
+ var instance = this;
+
+ var input = instance.inputNode;
+
+ var value = input.get('value');
+
+ if (event.isSpecialKey() && !event.isKey(BACKSPACE)) {
+ return;
+ }
+
+ instance._queryTask(value);
+ },
+
+ /**
+ * Populates the container with list items of the query results.
+ *
+ * @method _populateList
+ * @param {EventFacade} event
+ * @protected
+ */
+ _populateList: function(event) {
+ var instance = this;
+
+ if (instance._typeAheadDelayId != -1) {
+ clearTimeout(instance._typeAheadDelayId);
+ }
+
+ var query = event.request;
+ var response = event.response;
+ var callback = event.callback;
+ var showAll = (query == '*');
+
+ if (callback && callback.argument && callback.argument.query) {
+ event.request = query = callback.argument.query;
+ }
+
+ var ok = instance.doBeforeLoadData(event);
+
+ if (ok && !event.error) {
+ instance.fire('dataReturn', event);
+
+ var focused = instance.get('focused');
+
+ if (showAll || focused || focused === null) {
+ var currentQuery = decodeURIComponent(query);
+
+ instance._currentQuery = currentQuery;
+ instance._itemSelected = false;
+
+ var allResults = event.response.results;
+ var itemsToShow = Math.min(allResults.length, instance.get('maxResultsDisplayed'));
+ var fields = instance.get('schema.resultFields');
+ var matchKey = instance.get('matchKey');
+
+ if (!matchKey && fields) {
+ matchKey = fields[0];
+ }
+ else {
+ matchKey = matchKey || 0;
+ }
+
+ if (itemsToShow > 0) {
+ var allListItemEls = instance.resultList.get('childNodes');
+
+ allListItemEls.each(
+ function(node, i, nodeList) {
+ if (i < itemsToShow) {
+ var result = allResults[i];
+
+ var resultMatch = '';
+
+ if (isString(result)) {
+ resultMatch = result;
+ }
+ else if (isArray(result)) {
+ resultMatch = result[0];
+ }
+ else {
+ resultMatch = result[matchKey];
+ }
+
+ node._resultMatch = resultMatch;
+
+ node._resultData = result;
+ node.html(instance.formatResult(result, currentQuery, resultMatch));
+
+ node.removeClass(CSS_HIDDEN);
+ }
+ else {
+ node.addClass(CSS_HIDDEN);
+ }
+ }
+ );
+
+ instance._displayedItems = itemsToShow;
+
+ instance.fire('containerPopulate', query, allResults);
+
+ if (query != '*' && instance.get('autoHighlight')) {
+ var elFirstListItem = instance.resultList.get('firstChild');
+
+ instance._toggleHighlight(elFirstListItem, 'to');
+ instance.fire('itemArrowTo', elFirstListItem);
+
+ instance._typeAhead(elFirstListItem, query);
+ }
+ else {
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+ }
+
+ ok = instance.doBeforeExpandContainer(query, allResults);
+
+ instance._toggleContainer(ok);
+ }
+ else {
+ instance._toggleContainer(false);
+ }
+
+ return;
+ }
+
+ }
+ else {
+ instance.fire('dataError', query);
+ }
+ },
+
+ /**
+ * Realigns the container to the input element.
+ *
+ * @method _realignContainer
+ * @param {EventFacade} event
+ * @protected
+ */
+ _realignContainer: function(event) {
+ var instance = this;
+
+ var overlayAlign = instance._overlayAlign;
+
+ if (event.newVal) {
+ instance.overlay._uiSetAlign(overlayAlign.node, overlayAlign.points);
+ }
+ },
+
+ /**
+ * Handles the rendering of the input element.
+ *
+ * @method _renderInput
+ * @protected
+ */
+ _renderInput: function() {
+ var instance = this;
+
+ var contentBox = instance.get(CONTENT_BOX);
+ var input = instance.get('input');
+
+ var comboConfig = {
+ field: {
+ labelText: false
+ },
+ icons: [
+ {
+ icon: 'icon-circle-arrow-down',
+ id: 'trigger',
+ handler: {
+ fn: instance._onButtonMouseDown,
+ context: instance
+ }
+ }
+ ]
+ };
+
+ var inputReference = null;
+ var inputParent = null;
+
+ if (input) {
+ input = A.one(input);
+
+ comboConfig.field.node = input;
+
+ inputReference = input.next();
+ inputParent = input.get('parentNode');
+ }
+
+ var comboBox = new A.Combobox(comboConfig).render(contentBox);
+
+ if (inputParent) {
+ var comboBoundingBox = comboBox.get('boundingBox');
+
+ inputParent.insertBefore(comboBoundingBox, inputReference);
+ }
+
+ instance.inputNode = comboBox.get('node');
+ instance.button = comboBox.icons.item(0);
+
+ instance.set('uniqueName', A.stamp(instance.inputNode));
+ },
+
+ /**
+ * Pre-populates the container with the
+ * maxResultsDisplayed
+ * number of list items.
+ *
+ * @method _renderListElements
+ * @protected
+ */
+ _renderListElements: function() {
+ var instance = this;
+
+ var maxResultsDisplayed = instance.get('maxResultsDisplayed');
+
+ var resultList = instance.resultList;
+
+ var listItems = [];
+
+ while (maxResultsDisplayed--) {
+ listItems[maxResultsDisplayed] = ' ';
+ }
+
+ resultList.html(listItems.join(''));
+ },
+
+ /**
+ * Handles the creation of the overlay where the result list will be displayed.
+ *
+ * @method _renderOverlay
+ * @protected
+ */
+ _renderOverlay: function() {
+ var instance = this;
+
+ var overlayAlign = instance._overlayAlign;
+
+ overlayAlign.node = instance.inputNode;
+
+ var overlay = new A.OverlayBase({
+ align: overlayAlign,
+ bodyContent: '',
+ visible: false,
+ width: instance.inputNode.get('offsetWidth'),
+ zIndex: 1
+ });
+
+ var contentBox = overlay.get(CONTENT_BOX);
+
+ overlay.get(BOUNDING_BOX).addClass(CSS_RESULTS_OVERLAY);
+
+ contentBox.addClass(CSS_RESULTS_OVERLAY_CONTENT);
+
+ overlay.render();
+
+ overlay.addTarget(instance);
+
+ instance.overlay = overlay;
+ instance.resultList = contentBox.one('ul');
+
+ instance.resultList.addClass(CSS_RESULTS_LIST);
+
+ instance._renderListElements();
+ },
+
+ /**
+ * Selects a list item from the query results.
+ *
+ * @method _selectItem
+ * @param {Node} elListItem The list item to select
+ * @protected
+ */
+ _selectItem: function(elListItem) {
+ var instance = this;
+
+ instance._itemSelected = true;
+
+ instance._updateValue(elListItem);
+
+ instance._pastSelections = instance.inputNode.get('value');
+
+ instance._clearInterval();
+
+ instance.fire('itemSelect', elListItem, elListItem._resultData);
+
+ instance._toggleContainer(false);
+ },
+
+ /**
+ * Makes a query request to the data source.
+ *
+ * @method _sendQuery
+ * @param {String} query The query string
+ * @protected
+ */
+ _sendQuery: function(query) {
+ var instance = this;
+
+ if (instance.get('disabled')) {
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ var delimChar = instance.get('delimChar');
+ var minQueryLength = instance.get('minQueryLength');
+
+ if (delimChar) {
+ var extraction = instance._extractQuery(query);
+
+ query = extraction.query;
+
+ instance._pastSelections = extraction.previous;
+ }
+
+ if ((query && (query.length < minQueryLength)) || (!query && minQueryLength > 0)) {
+ instance._queryTask.cancel();
+
+ instance._toggleContainer(false);
+
+ return;
+ }
+
+ query = encodeURIComponent(query);
+
+ if (instance.get('applyLocalFilter')) {
+ instance.dataSource.on('response', instance.filterResults, instance);
+ }
+
+ var request = instance.generateRequest(query);
+
+ instance.fire('dataRequest', query, request);
+
+ instance.dataSource.sendRequest(request);
+ },
+
+ /**
+ * Checks to see if the value typed by the user matches any of the
+ * query results.
+ *
+ * @method _textMatchesOption
+ * @protected
+ */
+ _textMatchesOption: function() {
+ var instance = this;
+
+ var elMatch = null;
+ var displayedItems = instance._displayedItems;
+ var listItems = instance.resultList.get('childNodes');
+
+ for (var i = 0; i < displayedItems.length; i++) {
+ var elListItem = listItems.item(i);
+
+ var match = ('' + elListItem._resultMatch).toLowerCase();
+
+ if (match == instance._currentQuery.toLowerCase()) {
+ elMatch = elListItem;
+
+ break;
+ }
+ }
+
+ return elMatch;
+ },
+
+ /**
+ * Toggles the display of the results container.
+ *
+ * @method _toggleContainer
+ * @param {Boolean} show Flag to force the showing or hiding of the container
+ * @protected
+ */
+ _toggleContainer: function(show) {
+ var instance = this;
+
+ var overlay = instance.overlay;
+
+ if (instance.get('alwaysShowContainer') && overlay.get('visible')) {
+ return;
+ }
+
+ if (!show) {
+ instance._toggleHighlight(instance._elCurListItem, 'from');
+
+ instance._displayedItems = 0;
+ instance._currentQuery = null;
+ }
+
+ if (show) {
+ overlay.show();
+ instance.fire('containerExpand');
+ }
+ else {
+ overlay.hide();
+ instance.fire('containerCollapse');
+ }
+ },
+
+ /**
+ * Toggles the highlighting of a list item, and removes the highlighting from the previous item
+ *
+ * @method _toggleHighlight
+ * @param {Node} elNewListItem The item to be highlighted
+ * @param {String} action Whether we are moving to or from an item. Valid values are "to" or "from".
+ * @protected
+ */
+ _toggleHighlight: function(elNewListItem, action) {
+ var instance = this;
+
+ if (elNewListItem) {
+ if (instance._elCurListItem) {
+ instance._elCurListItem.removeClass(CSS_HIGLIGHT);
+ instance._elCurListItem = null;
+ }
+
+ if (action == 'to') {
+ elNewListItem.addClass(CSS_HIGLIGHT);
+
+ instance._elCurListItem = elNewListItem;
+ }
+ }
+ },
+
+ /**
+ * Updates in the input element with the first result as the user types,
+ * selecting the text the user has not typed yet.
+ *
+ * @method _typeAhead
+ * @param {Node} elListItem The selected list item
+ * @param {String} query The query string
+ * @protected
+ */
+ _typeAhead: function(elListItem, query) {
+ var instance = this;
+
+ if (!instance.get('typeAhead') || KeyMap.isKey(instance._keyCode, BACKSPACE)) {
+ return;
+ }
+
+ var inputEl = A.Node.getDOMNode(instance.inputNode);
+
+ if (inputEl.setSelectionRange || inputEl.createTextRange) {
+ instance._typeAheadDelayId = setTimeout(
+ function() {
+ var value = inputEl.value;
+
+ var start = value.length;
+
+ instance._updateValue(elListItem);
+
+ var end = inputEl.value.length;
+
+ instance.inputNode.selectText(start, end);
+
+ var prefill = inputEl.value.substr(start, end);
+
+ instance.fire('typeAhead', query, prefill);
+ },
+ instance.get('typeAheadDelay')
+ );
+ }
+ },
+
+ /**
+ * Updates the input element with the selected query result. If
+ * delimChar has been set,
+ * then the value gets appended with the delimiter.
+ *
+ * @method _updateValue
+ * @param {Node} elListItem The selected list item
+ * @protected
+ */
+ _updateValue: function(elListItem) {
+ var instance = this;
+
+ if (!instance.get('suppressInputUpdate')) {
+ var input = instance.inputNode;
+ var resultMatch = elListItem._resultMatch;
+
+ var delimChar = instance.get('delimChar');
+
+ delimChar = (delimChar && delimChar[0]) || delimChar;
+
+ var newValue = '';
+
+ if (delimChar) {
+ newValue = instance._pastSelections;
+
+ newValue += resultMatch + delimChar;
+
+ if (delimChar != ' ') {
+ newValue += ' ';
+ }
+ }
+ else {
+ newValue = resultMatch;
+ }
+
+ input.set('value', newValue);
+
+ if (input.get('type') == 'textarea') {
+ input.set('scrollTop', input.get('scrollHeight'));
+ }
+
+ var end = newValue.length;
+
+ input.selectText(end, end);
+
+ instance._elCurListItem = elListItem;
+ }
+ },
+
+ _currentQuery: null,
+ _displayedItems: 0,
+ _elCurListItem: null,
+ _initInputValue: null,
+ _itemSelected: false,
+ _keyCode: null,
+ _lastValue: null,
+ _overContainer: false,
+ _pastSelections: '',
+ _typeAheadDelayId: -1
+ }
+});
+
+A.AutoCompleteDeprecated = AutoComplete;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated",
+ "datasource",
+ "dataschema",
+ "aui-form-combobox-deprecated"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-autosize-deprecated/assets/aui-autosize-deprecated-core.css b/build/aui-autosize-deprecated/assets/aui-autosize-deprecated-core.css
new file mode 100644
index 00000000000..b5697097f33
--- /dev/null
+++ b/build/aui-autosize-deprecated/assets/aui-autosize-deprecated-core.css
@@ -0,0 +1,16 @@
+.autosize-height-monitor {
+ line-height: normal;
+ left: 0;
+ padding: 0;
+ position: absolute;
+ top: 0;
+ white-space: pre-wrap;
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ word-wrap: break-word;
+}
+.ie .autosize-height-monitor {
+ border: 1px solid #000;
+ zoom: 1;
+}
\ No newline at end of file
diff --git a/build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated-skin.css b/build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated.css b/build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated.css
new file mode 100644
index 00000000000..5997af275b1
--- /dev/null
+++ b/build/aui-autosize-deprecated/assets/skins/sam/aui-autosize-deprecated.css
@@ -0,0 +1 @@
+.autosize-height-monitor{line-height:normal;left:0;padding:0;position:absolute;top:0;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.ie .autosize-height-monitor{border:1px solid #000;zoom:1}#yui3-css-stamp.skin-sam-aui-autosize-deprecated{display:none}
diff --git a/build/aui-autosize-deprecated/aui-autosize-deprecated-coverage.js b/build/aui-autosize-deprecated/aui-autosize-deprecated-coverage.js
new file mode 100644
index 00000000000..730cf474e7f
--- /dev/null
+++ b/build/aui-autosize-deprecated/aui-autosize-deprecated-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-autosize-deprecated/aui-autosize-deprecated.js']) {
+ __coverage__['build/aui-autosize-deprecated/aui-autosize-deprecated.js'] = {"path":"build/aui-autosize-deprecated/aui-autosize-deprecated.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":35},"end":{"line":1,"column":54}}},"2":{"name":"(anonymous_2)","line":53,"loc":{"start":{"line":53,"column":21},"end":{"line":53,"column":32}}},"3":{"name":"(anonymous_3)","line":61,"loc":{"start":{"line":61,"column":17},"end":{"line":61,"column":28}}},"4":{"name":"(anonymous_4)","line":68,"loc":{"start":{"line":68,"column":16},"end":{"line":68,"column":32}}},"5":{"name":"(anonymous_5)","line":78,"loc":{"start":{"line":78,"column":24},"end":{"line":78,"column":40}}},"6":{"name":"(anonymous_6)","line":84,"loc":{"start":{"line":84,"column":19},"end":{"line":84,"column":30}}},"7":{"name":"(anonymous_7)","line":128,"loc":{"start":{"line":128,"column":27},"end":{"line":128,"column":48}}},"8":{"name":"(anonymous_8)","line":134,"loc":{"start":{"line":134,"column":17},"end":{"line":134,"column":28}}},"9":{"name":"(anonymous_9)","line":140,"loc":{"start":{"line":140,"column":21},"end":{"line":140,"column":37}}},"10":{"name":"(anonymous_10)","line":177,"loc":{"start":{"line":177,"column":21},"end":{"line":177,"column":32}}},"11":{"name":"(anonymous_11)","line":207,"loc":{"start":{"line":207,"column":19},"end":{"line":207,"column":41}}},"12":{"name":"(anonymous_12)","line":215,"loc":{"start":{"line":215,"column":29},"end":{"line":215,"column":47}}},"13":{"name":"(anonymous_13)","line":221,"loc":{"start":{"line":221,"column":29},"end":{"line":221,"column":47}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":234,"column":115}},"2":{"start":{"line":3,"column":0},"end":{"line":31,"column":6}},"3":{"start":{"line":33,"column":0},"end":{"line":229,"column":3}},"4":{"start":{"line":54,"column":12},"end":{"line":54,"column":32}},"5":{"start":{"line":56,"column":12},"end":{"line":56,"column":33}},"6":{"start":{"line":57,"column":12},"end":{"line":57,"column":31}},"7":{"start":{"line":58,"column":12},"end":{"line":58,"column":31}},"8":{"start":{"line":62,"column":12},"end":{"line":62,"column":32}},"9":{"start":{"line":64,"column":12},"end":{"line":64,"column":83}},"10":{"start":{"line":66,"column":12},"end":{"line":73,"column":14}},"11":{"start":{"line":69,"column":20},"end":{"line":71,"column":21}},"12":{"start":{"line":70,"column":24},"end":{"line":70,"column":52}},"13":{"start":{"line":75,"column":12},"end":{"line":75,"column":61}},"14":{"start":{"line":79,"column":12},"end":{"line":79,"column":32}},"15":{"start":{"line":81,"column":12},"end":{"line":81,"column":38}},"16":{"start":{"line":85,"column":12},"end":{"line":85,"column":32}},"17":{"start":{"line":87,"column":12},"end":{"line":87,"column":66}},"18":{"start":{"line":89,"column":12},"end":{"line":89,"column":42}},"19":{"start":{"line":91,"column":12},"end":{"line":91,"column":46}},"20":{"start":{"line":98,"column":12},"end":{"line":98,"column":64}},"21":{"start":{"line":100,"column":12},"end":{"line":100,"column":52}},"22":{"start":{"line":102,"column":12},"end":{"line":102,"column":65}},"23":{"start":{"line":103,"column":12},"end":{"line":103,"column":61}},"24":{"start":{"line":104,"column":12},"end":{"line":104,"column":63}},"25":{"start":{"line":105,"column":12},"end":{"line":105,"column":65}},"26":{"start":{"line":106,"column":12},"end":{"line":106,"column":65}},"27":{"start":{"line":107,"column":12},"end":{"line":107,"column":71}},"28":{"start":{"line":108,"column":12},"end":{"line":108,"column":71}},"29":{"start":{"line":110,"column":12},"end":{"line":118,"column":15}},"30":{"start":{"line":120,"column":12},"end":{"line":125,"column":13}},"31":{"start":{"line":121,"column":16},"end":{"line":121,"column":71}},"32":{"start":{"line":124,"column":16},"end":{"line":124,"column":71}},"33":{"start":{"line":129,"column":12},"end":{"line":129,"column":32}},"34":{"start":{"line":131,"column":12},"end":{"line":131,"column":40}},"35":{"start":{"line":135,"column":12},"end":{"line":135,"column":32}},"36":{"start":{"line":137,"column":12},"end":{"line":137,"column":35}},"37":{"start":{"line":141,"column":12},"end":{"line":141,"column":32}},"38":{"start":{"line":143,"column":12},"end":{"line":143,"column":42}},"39":{"start":{"line":145,"column":12},"end":{"line":145,"column":56}},"40":{"start":{"line":147,"column":12},"end":{"line":147,"column":48}},"41":{"start":{"line":150,"column":12},"end":{"line":150,"column":86}},"42":{"start":{"line":151,"column":12},"end":{"line":151,"column":86}},"43":{"start":{"line":153,"column":12},"end":{"line":153,"column":37}},"44":{"start":{"line":155,"column":12},"end":{"line":155,"column":79}},"45":{"start":{"line":156,"column":12},"end":{"line":156,"column":41}},"46":{"start":{"line":160,"column":12},"end":{"line":167,"column":13}},"47":{"start":{"line":161,"column":16},"end":{"line":166,"column":17}},"48":{"start":{"line":162,"column":20},"end":{"line":162,"column":42}},"49":{"start":{"line":165,"column":20},"end":{"line":165,"column":42}},"50":{"start":{"line":169,"column":12},"end":{"line":169,"column":58}},"51":{"start":{"line":171,"column":12},"end":{"line":171,"column":55}},"52":{"start":{"line":172,"column":12},"end":{"line":172,"column":55}},"53":{"start":{"line":174,"column":12},"end":{"line":174,"column":70}},"54":{"start":{"line":178,"column":12},"end":{"line":178,"column":32}},"55":{"start":{"line":180,"column":12},"end":{"line":180,"column":42}},"56":{"start":{"line":181,"column":12},"end":{"line":181,"column":56}},"57":{"start":{"line":183,"column":12},"end":{"line":183,"column":48}},"58":{"start":{"line":184,"column":12},"end":{"line":184,"column":48}},"59":{"start":{"line":186,"column":12},"end":{"line":186,"column":37}},"60":{"start":{"line":188,"column":12},"end":{"line":188,"column":67}},"61":{"start":{"line":190,"column":12},"end":{"line":190,"column":72}},"62":{"start":{"line":192,"column":12},"end":{"line":192,"column":76}},"63":{"start":{"line":194,"column":12},"end":{"line":194,"column":45}},"64":{"start":{"line":196,"column":12},"end":{"line":196,"column":86}},"65":{"start":{"line":198,"column":12},"end":{"line":202,"column":13}},"66":{"start":{"line":199,"column":16},"end":{"line":199,"column":46}},"67":{"start":{"line":201,"column":16},"end":{"line":201,"column":51}},"68":{"start":{"line":204,"column":12},"end":{"line":204,"column":45}},"69":{"start":{"line":208,"column":12},"end":{"line":208,"column":32}},"70":{"start":{"line":210,"column":12},"end":{"line":210,"column":42}},"71":{"start":{"line":212,"column":12},"end":{"line":212,"column":39}},"72":{"start":{"line":216,"column":12},"end":{"line":216,"column":32}},"73":{"start":{"line":218,"column":12},"end":{"line":218,"column":67}},"74":{"start":{"line":222,"column":12},"end":{"line":222,"column":32}},"75":{"start":{"line":224,"column":12},"end":{"line":224,"column":55}},"76":{"start":{"line":226,"column":12},"end":{"line":226,"column":57}},"77":{"start":{"line":231,"column":0},"end":{"line":231,"column":29}}},"branchMap":{"1":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":20},"end":{"line":69,"column":20}},{"start":{"line":69,"column":20},"end":{"line":69,"column":20}}]},"2":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":12}},{"start":{"line":120,"column":12},"end":{"line":120,"column":12}}]},"3":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":12},"end":{"line":160,"column":12}},{"start":{"line":160,"column":12},"end":{"line":160,"column":12}}]},"4":{"line":161,"type":"if","locations":[{"start":{"line":161,"column":16},"end":{"line":161,"column":16}},{"start":{"line":161,"column":16},"end":{"line":161,"column":16}}]},"5":{"line":161,"type":"binary-expr","locations":[{"start":{"line":161,"column":20},"end":{"line":161,"column":25}},{"start":{"line":161,"column":29},"end":{"line":161,"column":58}}]},"6":{"line":198,"type":"if","locations":[{"start":{"line":198,"column":12},"end":{"line":198,"column":12}},{"start":{"line":198,"column":12},"end":{"line":198,"column":12}}]}},"code":["(function () { YUI.add('aui-autosize-deprecated', function (A, NAME) {","","var Lang = A.Lang,",""," DOC = A.config.doc,",""," AUTOSIZE = 'autosize',",""," getClassName = A.getClassName,",""," ADJUSTSIZE = 'adjustSize',"," HEIGHT = 'height',"," HOST = 'host',"," INNERHTML = 'innerHTML',"," MAXHEIGHT = 'maxHeight',"," MINHEIGHT = 'minHeight',"," WIDTH = 'width',",""," CSS_HEIGHT_MONITOR = ["," getClassName(AUTOSIZE, HEIGHT, 'monitor'),"," getClassName('field', 'text', 'input'),"," getClassName('helper', 'hidden', 'accessible')"," ].join(' '),",""," DEFAULT_APPEND_CONTENT = ' \\n ',",""," TPL_HEIGHT_MONITOR = '' + DEFAULT_APPEND_CONTENT + ' ',",""," UI_SRC = {"," src: 'ui'"," };","","Autosize = A.Component.create({"," NAME: AUTOSIZE,",""," NS: AUTOSIZE,",""," ATTRS: {"," maxHeight: {"," value: 1000,"," setter: '_setAutoDimension'"," },",""," minHeight: {"," value: 45,"," setter: '_setAutoDimension'"," }"," },",""," EXTENDS: A.Plugin.Base,",""," prototype: {"," initializer: function() {"," var instance = this;",""," instance._renderUI();"," instance._bindUI();"," instance._syncUI();"," },",""," _bindUI: function() {"," var instance = this;",""," instance.onHostEvent('valuechange', instance._onValueChange, instance);",""," instance.after("," ['maxHeightChange', 'minHeightChange'],"," function(event) {"," if (event.src !== UI_SRC.src) {"," instance._syncHeight(event);"," }"," }"," );",""," instance.after(ADJUSTSIZE, instance._uiAutoSize);"," },",""," _onValueChange: function(event) {"," var instance = this;",""," instance.fire(ADJUSTSIZE);"," },",""," _renderUI: function() {"," var instance = this;",""," var heightMonitor = A.Node.create(TPL_HEIGHT_MONITOR);",""," var node = instance.get(HOST);",""," A.getBody().append(heightMonitor);",""," // Calculating this value gives us the base height that"," // an empty textarea will have."," // We do this because we need to append a new line to match"," // the height of the textarea, and we don't want the size to shift"," // the first time the value of the textarea changes"," instance._defaultMinHeight = heightMonitor.height();",""," instance._heightMonitor = heightMonitor;",""," var fontFamily = node.getComputedStyle('fontFamily');"," var fontSize = node.getComputedStyle('fontSize');"," var fontStyle = node.getComputedStyle('fontStyle');"," var fontWeight = node.getComputedStyle('fontWeight');"," var lineHeight = node.getComputedStyle('lineHeight');"," var letterSpacing = node.getComputedStyle('letterSpacing');"," var textTransform = node.getComputedStyle('textTransform');",""," heightMonitor.setStyles({"," fontFamily: fontFamily,"," fontSize: fontSize,"," fontStyle: fontStyle,"," fontWeight: fontWeight,"," lineHeight: lineHeight,"," letterSpacing: letterSpacing,"," textTransform: textTransform"," });",""," if ('outerHTML' in heightMonitor.getDOM()) {"," instance._updateContent = instance._updateOuterContent;"," }"," else {"," instance._updateContent = instance._updateInnerContent;"," }"," },",""," _setAutoDimension: function(value, key) {"," var instance = this;",""," instance['_' + key] = value;"," },",""," _syncUI: function() {"," var instance = this;",""," instance._syncHeight();"," },",""," _syncHeight: function(event) {"," var instance = this;",""," var node = instance.get(HOST);",""," var heightMonitor = instance._heightMonitor;",""," var height = heightMonitor.height();",""," // This converts non-PX values such as 1em to a PX value"," var defMaxHeight = heightMonitor.height(instance.get(MAXHEIGHT)).height();"," var defMinHeight = heightMonitor.height(instance.get(MINHEIGHT)).height();",""," heightMonitor.height('');",""," var minHeight = Math.max(instance._defaultMinHeight, defMinHeight);"," var maxHeight = defMaxHeight;",""," // We also need to handle if min/max heights are"," // being set to non-sensical range, like min: 100, max: 50"," if (minHeight > maxHeight) {"," if (event && event.attrName == 'maxHeight') {"," minHeight = maxHeight;"," }"," else {"," maxHeight = minHeight;"," }"," }",""," instance._setAutoDimension(minHeight, HEIGHT);",""," instance.set(MINHEIGHT, minHeight, UI_SRC);"," instance.set(MAXHEIGHT, maxHeight, UI_SRC);",""," node.height(Lang.constrain(height, minHeight, maxHeight));"," },",""," _uiAutoSize: function() {"," var instance = this;",""," var node = instance.get(HOST);"," var heightMonitor = instance._heightMonitor;",""," var minHeight = instance._minHeight;"," var maxHeight = instance._maxHeight;",""," var content = node.val();",""," heightMonitor.appendChild(DOC.createTextNode(content));",""," heightMonitor.setStyle(WIDTH, node.getComputedStyle(WIDTH));",""," content = heightMonitor.get(INNERHTML) + DEFAULT_APPEND_CONTENT;",""," instance._updateContent(content);",""," var height = Lang.constrain(heightMonitor.height(), minHeight, maxHeight);",""," if (height != instance._lastHeight) {"," instance._lastHeight = height;",""," instance._uiSetDim(HEIGHT, height);"," }",""," heightMonitor.set(INNERHTML, '');"," },",""," _uiSetDim: function(key, newVal) {"," var instance = this;",""," var node = instance.get(HOST);",""," node.setStyle(key, newVal);"," },",""," _updateInnerContent: function(content) {"," var instance = this;",""," return instance._heightMonitor.set(INNERHTML, content);"," },",""," _updateOuterContent: function(content) {"," var instance = this;",""," content = content.replace(/\\n/g, ' ');",""," return instance._updateInnerContent(content);"," }"," }","});","","A.Plugin.Autosize = Autosize;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"event-valuechange\", \"plugin\", \"aui-base-deprecated\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_S$EfPkfFnTaPfy2CECvleg = __coverage__['build/aui-autosize-deprecated/aui-autosize-deprecated.js'];
+__cov_S$EfPkfFnTaPfy2CECvleg.s['1']++;YUI.add('aui-autosize-deprecated',function(A,NAME){__cov_S$EfPkfFnTaPfy2CECvleg.f['1']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['2']++;var Lang=A.Lang,DOC=A.config.doc,AUTOSIZE='autosize',getClassName=A.getClassName,ADJUSTSIZE='adjustSize',HEIGHT='height',HOST='host',INNERHTML='innerHTML',MAXHEIGHT='maxHeight',MINHEIGHT='minHeight',WIDTH='width',CSS_HEIGHT_MONITOR=[getClassName(AUTOSIZE,HEIGHT,'monitor'),getClassName('field','text','input'),getClassName('helper','hidden','accessible')].join(' '),DEFAULT_APPEND_CONTENT=' \n ',TPL_HEIGHT_MONITOR=''+DEFAULT_APPEND_CONTENT+' ',UI_SRC={src:'ui'};__cov_S$EfPkfFnTaPfy2CECvleg.s['3']++;Autosize=A.Component.create({NAME:AUTOSIZE,NS:AUTOSIZE,ATTRS:{maxHeight:{value:1000,setter:'_setAutoDimension'},minHeight:{value:45,setter:'_setAutoDimension'}},EXTENDS:A.Plugin.Base,prototype:{initializer:function(){__cov_S$EfPkfFnTaPfy2CECvleg.f['2']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['4']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['5']++;instance._renderUI();__cov_S$EfPkfFnTaPfy2CECvleg.s['6']++;instance._bindUI();__cov_S$EfPkfFnTaPfy2CECvleg.s['7']++;instance._syncUI();},_bindUI:function(){__cov_S$EfPkfFnTaPfy2CECvleg.f['3']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['8']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['9']++;instance.onHostEvent('valuechange',instance._onValueChange,instance);__cov_S$EfPkfFnTaPfy2CECvleg.s['10']++;instance.after(['maxHeightChange','minHeightChange'],function(event){__cov_S$EfPkfFnTaPfy2CECvleg.f['4']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['11']++;if(event.src!==UI_SRC.src){__cov_S$EfPkfFnTaPfy2CECvleg.b['1'][0]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['12']++;instance._syncHeight(event);}else{__cov_S$EfPkfFnTaPfy2CECvleg.b['1'][1]++;}});__cov_S$EfPkfFnTaPfy2CECvleg.s['13']++;instance.after(ADJUSTSIZE,instance._uiAutoSize);},_onValueChange:function(event){__cov_S$EfPkfFnTaPfy2CECvleg.f['5']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['14']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['15']++;instance.fire(ADJUSTSIZE);},_renderUI:function(){__cov_S$EfPkfFnTaPfy2CECvleg.f['6']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['16']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['17']++;var heightMonitor=A.Node.create(TPL_HEIGHT_MONITOR);__cov_S$EfPkfFnTaPfy2CECvleg.s['18']++;var node=instance.get(HOST);__cov_S$EfPkfFnTaPfy2CECvleg.s['19']++;A.getBody().append(heightMonitor);__cov_S$EfPkfFnTaPfy2CECvleg.s['20']++;instance._defaultMinHeight=heightMonitor.height();__cov_S$EfPkfFnTaPfy2CECvleg.s['21']++;instance._heightMonitor=heightMonitor;__cov_S$EfPkfFnTaPfy2CECvleg.s['22']++;var fontFamily=node.getComputedStyle('fontFamily');__cov_S$EfPkfFnTaPfy2CECvleg.s['23']++;var fontSize=node.getComputedStyle('fontSize');__cov_S$EfPkfFnTaPfy2CECvleg.s['24']++;var fontStyle=node.getComputedStyle('fontStyle');__cov_S$EfPkfFnTaPfy2CECvleg.s['25']++;var fontWeight=node.getComputedStyle('fontWeight');__cov_S$EfPkfFnTaPfy2CECvleg.s['26']++;var lineHeight=node.getComputedStyle('lineHeight');__cov_S$EfPkfFnTaPfy2CECvleg.s['27']++;var letterSpacing=node.getComputedStyle('letterSpacing');__cov_S$EfPkfFnTaPfy2CECvleg.s['28']++;var textTransform=node.getComputedStyle('textTransform');__cov_S$EfPkfFnTaPfy2CECvleg.s['29']++;heightMonitor.setStyles({fontFamily:fontFamily,fontSize:fontSize,fontStyle:fontStyle,fontWeight:fontWeight,lineHeight:lineHeight,letterSpacing:letterSpacing,textTransform:textTransform});__cov_S$EfPkfFnTaPfy2CECvleg.s['30']++;if('outerHTML'in heightMonitor.getDOM()){__cov_S$EfPkfFnTaPfy2CECvleg.b['2'][0]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['31']++;instance._updateContent=instance._updateOuterContent;}else{__cov_S$EfPkfFnTaPfy2CECvleg.b['2'][1]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['32']++;instance._updateContent=instance._updateInnerContent;}},_setAutoDimension:function(value,key){__cov_S$EfPkfFnTaPfy2CECvleg.f['7']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['33']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['34']++;instance['_'+key]=value;},_syncUI:function(){__cov_S$EfPkfFnTaPfy2CECvleg.f['8']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['35']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['36']++;instance._syncHeight();},_syncHeight:function(event){__cov_S$EfPkfFnTaPfy2CECvleg.f['9']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['37']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['38']++;var node=instance.get(HOST);__cov_S$EfPkfFnTaPfy2CECvleg.s['39']++;var heightMonitor=instance._heightMonitor;__cov_S$EfPkfFnTaPfy2CECvleg.s['40']++;var height=heightMonitor.height();__cov_S$EfPkfFnTaPfy2CECvleg.s['41']++;var defMaxHeight=heightMonitor.height(instance.get(MAXHEIGHT)).height();__cov_S$EfPkfFnTaPfy2CECvleg.s['42']++;var defMinHeight=heightMonitor.height(instance.get(MINHEIGHT)).height();__cov_S$EfPkfFnTaPfy2CECvleg.s['43']++;heightMonitor.height('');__cov_S$EfPkfFnTaPfy2CECvleg.s['44']++;var minHeight=Math.max(instance._defaultMinHeight,defMinHeight);__cov_S$EfPkfFnTaPfy2CECvleg.s['45']++;var maxHeight=defMaxHeight;__cov_S$EfPkfFnTaPfy2CECvleg.s['46']++;if(minHeight>maxHeight){__cov_S$EfPkfFnTaPfy2CECvleg.b['3'][0]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['47']++;if((__cov_S$EfPkfFnTaPfy2CECvleg.b['5'][0]++,event)&&(__cov_S$EfPkfFnTaPfy2CECvleg.b['5'][1]++,event.attrName=='maxHeight')){__cov_S$EfPkfFnTaPfy2CECvleg.b['4'][0]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['48']++;minHeight=maxHeight;}else{__cov_S$EfPkfFnTaPfy2CECvleg.b['4'][1]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['49']++;maxHeight=minHeight;}}else{__cov_S$EfPkfFnTaPfy2CECvleg.b['3'][1]++;}__cov_S$EfPkfFnTaPfy2CECvleg.s['50']++;instance._setAutoDimension(minHeight,HEIGHT);__cov_S$EfPkfFnTaPfy2CECvleg.s['51']++;instance.set(MINHEIGHT,minHeight,UI_SRC);__cov_S$EfPkfFnTaPfy2CECvleg.s['52']++;instance.set(MAXHEIGHT,maxHeight,UI_SRC);__cov_S$EfPkfFnTaPfy2CECvleg.s['53']++;node.height(Lang.constrain(height,minHeight,maxHeight));},_uiAutoSize:function(){__cov_S$EfPkfFnTaPfy2CECvleg.f['10']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['54']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['55']++;var node=instance.get(HOST);__cov_S$EfPkfFnTaPfy2CECvleg.s['56']++;var heightMonitor=instance._heightMonitor;__cov_S$EfPkfFnTaPfy2CECvleg.s['57']++;var minHeight=instance._minHeight;__cov_S$EfPkfFnTaPfy2CECvleg.s['58']++;var maxHeight=instance._maxHeight;__cov_S$EfPkfFnTaPfy2CECvleg.s['59']++;var content=node.val();__cov_S$EfPkfFnTaPfy2CECvleg.s['60']++;heightMonitor.appendChild(DOC.createTextNode(content));__cov_S$EfPkfFnTaPfy2CECvleg.s['61']++;heightMonitor.setStyle(WIDTH,node.getComputedStyle(WIDTH));__cov_S$EfPkfFnTaPfy2CECvleg.s['62']++;content=heightMonitor.get(INNERHTML)+DEFAULT_APPEND_CONTENT;__cov_S$EfPkfFnTaPfy2CECvleg.s['63']++;instance._updateContent(content);__cov_S$EfPkfFnTaPfy2CECvleg.s['64']++;var height=Lang.constrain(heightMonitor.height(),minHeight,maxHeight);__cov_S$EfPkfFnTaPfy2CECvleg.s['65']++;if(height!=instance._lastHeight){__cov_S$EfPkfFnTaPfy2CECvleg.b['6'][0]++;__cov_S$EfPkfFnTaPfy2CECvleg.s['66']++;instance._lastHeight=height;__cov_S$EfPkfFnTaPfy2CECvleg.s['67']++;instance._uiSetDim(HEIGHT,height);}else{__cov_S$EfPkfFnTaPfy2CECvleg.b['6'][1]++;}__cov_S$EfPkfFnTaPfy2CECvleg.s['68']++;heightMonitor.set(INNERHTML,'');},_uiSetDim:function(key,newVal){__cov_S$EfPkfFnTaPfy2CECvleg.f['11']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['69']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['70']++;var node=instance.get(HOST);__cov_S$EfPkfFnTaPfy2CECvleg.s['71']++;node.setStyle(key,newVal);},_updateInnerContent:function(content){__cov_S$EfPkfFnTaPfy2CECvleg.f['12']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['72']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['73']++;return instance._heightMonitor.set(INNERHTML,content);},_updateOuterContent:function(content){__cov_S$EfPkfFnTaPfy2CECvleg.f['13']++;__cov_S$EfPkfFnTaPfy2CECvleg.s['74']++;var instance=this;__cov_S$EfPkfFnTaPfy2CECvleg.s['75']++;content=content.replace(/\n/g,' ');__cov_S$EfPkfFnTaPfy2CECvleg.s['76']++;return instance._updateInnerContent(content);}}});__cov_S$EfPkfFnTaPfy2CECvleg.s['77']++;A.Plugin.Autosize=Autosize;},'3.1.0-deprecated.52',{'requires':['event-valuechange','plugin','aui-base-deprecated'],'skinnable':true});
diff --git a/build/aui-autosize-deprecated/aui-autosize-deprecated-debug.js b/build/aui-autosize-deprecated/aui-autosize-deprecated-debug.js
new file mode 100644
index 00000000000..9280cc32373
--- /dev/null
+++ b/build/aui-autosize-deprecated/aui-autosize-deprecated-debug.js
@@ -0,0 +1,234 @@
+YUI.add('aui-autosize-deprecated', function (A, NAME) {
+
+var Lang = A.Lang,
+
+ DOC = A.config.doc,
+
+ AUTOSIZE = 'autosize',
+
+ getClassName = A.getClassName,
+
+ ADJUSTSIZE = 'adjustSize',
+ HEIGHT = 'height',
+ HOST = 'host',
+ INNERHTML = 'innerHTML',
+ MAXHEIGHT = 'maxHeight',
+ MINHEIGHT = 'minHeight',
+ WIDTH = 'width',
+
+ CSS_HEIGHT_MONITOR = [
+ getClassName(AUTOSIZE, HEIGHT, 'monitor'),
+ getClassName('field', 'text', 'input'),
+ getClassName('helper', 'hidden', 'accessible')
+ ].join(' '),
+
+ DEFAULT_APPEND_CONTENT = ' \n ',
+
+ TPL_HEIGHT_MONITOR = '' + DEFAULT_APPEND_CONTENT + ' ',
+
+ UI_SRC = {
+ src: 'ui'
+ };
+
+Autosize = A.Component.create({
+ NAME: AUTOSIZE,
+
+ NS: AUTOSIZE,
+
+ ATTRS: {
+ maxHeight: {
+ value: 1000,
+ setter: '_setAutoDimension'
+ },
+
+ minHeight: {
+ value: 45,
+ setter: '_setAutoDimension'
+ }
+ },
+
+ EXTENDS: A.Plugin.Base,
+
+ prototype: {
+ initializer: function() {
+ var instance = this;
+
+ instance._renderUI();
+ instance._bindUI();
+ instance._syncUI();
+ },
+
+ _bindUI: function() {
+ var instance = this;
+
+ instance.onHostEvent('valuechange', instance._onValueChange, instance);
+
+ instance.after(
+ ['maxHeightChange', 'minHeightChange'],
+ function(event) {
+ if (event.src !== UI_SRC.src) {
+ instance._syncHeight(event);
+ }
+ }
+ );
+
+ instance.after(ADJUSTSIZE, instance._uiAutoSize);
+ },
+
+ _onValueChange: function(event) {
+ var instance = this;
+
+ instance.fire(ADJUSTSIZE);
+ },
+
+ _renderUI: function() {
+ var instance = this;
+
+ var heightMonitor = A.Node.create(TPL_HEIGHT_MONITOR);
+
+ var node = instance.get(HOST);
+
+ A.getBody().append(heightMonitor);
+
+ // Calculating this value gives us the base height that
+ // an empty textarea will have.
+ // We do this because we need to append a new line to match
+ // the height of the textarea, and we don't want the size to shift
+ // the first time the value of the textarea changes
+ instance._defaultMinHeight = heightMonitor.height();
+
+ instance._heightMonitor = heightMonitor;
+
+ var fontFamily = node.getComputedStyle('fontFamily');
+ var fontSize = node.getComputedStyle('fontSize');
+ var fontStyle = node.getComputedStyle('fontStyle');
+ var fontWeight = node.getComputedStyle('fontWeight');
+ var lineHeight = node.getComputedStyle('lineHeight');
+ var letterSpacing = node.getComputedStyle('letterSpacing');
+ var textTransform = node.getComputedStyle('textTransform');
+
+ heightMonitor.setStyles({
+ fontFamily: fontFamily,
+ fontSize: fontSize,
+ fontStyle: fontStyle,
+ fontWeight: fontWeight,
+ lineHeight: lineHeight,
+ letterSpacing: letterSpacing,
+ textTransform: textTransform
+ });
+
+ if ('outerHTML' in heightMonitor.getDOM()) {
+ instance._updateContent = instance._updateOuterContent;
+ }
+ else {
+ instance._updateContent = instance._updateInnerContent;
+ }
+ },
+
+ _setAutoDimension: function(value, key) {
+ var instance = this;
+
+ instance['_' + key] = value;
+ },
+
+ _syncUI: function() {
+ var instance = this;
+
+ instance._syncHeight();
+ },
+
+ _syncHeight: function(event) {
+ var instance = this;
+
+ var node = instance.get(HOST);
+
+ var heightMonitor = instance._heightMonitor;
+
+ var height = heightMonitor.height();
+
+ // This converts non-PX values such as 1em to a PX value
+ var defMaxHeight = heightMonitor.height(instance.get(MAXHEIGHT)).height();
+ var defMinHeight = heightMonitor.height(instance.get(MINHEIGHT)).height();
+
+ heightMonitor.height('');
+
+ var minHeight = Math.max(instance._defaultMinHeight, defMinHeight);
+ var maxHeight = defMaxHeight;
+
+ // We also need to handle if min/max heights are
+ // being set to non-sensical range, like min: 100, max: 50
+ if (minHeight > maxHeight) {
+ if (event && event.attrName == 'maxHeight') {
+ minHeight = maxHeight;
+ }
+ else {
+ maxHeight = minHeight;
+ }
+ }
+
+ instance._setAutoDimension(minHeight, HEIGHT);
+
+ instance.set(MINHEIGHT, minHeight, UI_SRC);
+ instance.set(MAXHEIGHT, maxHeight, UI_SRC);
+
+ node.height(Lang.constrain(height, minHeight, maxHeight));
+ },
+
+ _uiAutoSize: function() {
+ var instance = this;
+
+ var node = instance.get(HOST);
+ var heightMonitor = instance._heightMonitor;
+
+ var minHeight = instance._minHeight;
+ var maxHeight = instance._maxHeight;
+
+ var content = node.val();
+
+ heightMonitor.appendChild(DOC.createTextNode(content));
+
+ heightMonitor.setStyle(WIDTH, node.getComputedStyle(WIDTH));
+
+ content = heightMonitor.get(INNERHTML) + DEFAULT_APPEND_CONTENT;
+
+ instance._updateContent(content);
+
+ var height = Lang.constrain(heightMonitor.height(), minHeight, maxHeight);
+
+ if (height != instance._lastHeight) {
+ instance._lastHeight = height;
+
+ instance._uiSetDim(HEIGHT, height);
+ }
+
+ heightMonitor.set(INNERHTML, '');
+ },
+
+ _uiSetDim: function(key, newVal) {
+ var instance = this;
+
+ var node = instance.get(HOST);
+
+ node.setStyle(key, newVal);
+ },
+
+ _updateInnerContent: function(content) {
+ var instance = this;
+
+ return instance._heightMonitor.set(INNERHTML, content);
+ },
+
+ _updateOuterContent: function(content) {
+ var instance = this;
+
+ content = content.replace(/\n/g, ' ');
+
+ return instance._updateInnerContent(content);
+ }
+ }
+});
+
+A.Plugin.Autosize = Autosize;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["event-valuechange", "plugin", "aui-base-deprecated"], "skinnable": true});
diff --git a/build/aui-autosize-deprecated/aui-autosize-deprecated-min.js b/build/aui-autosize-deprecated/aui-autosize-deprecated-min.js
new file mode 100644
index 00000000000..ae477a3de13
--- /dev/null
+++ b/build/aui-autosize-deprecated/aui-autosize-deprecated-min.js
@@ -0,0 +1 @@
+YUI.add("aui-autosize-deprecated",function(e,t){var n=e.Lang,r=e.config.doc,i="autosize",s=e.getClassName,o="adjustSize",u="height",a="host",f="innerHTML",l="maxHeight",c="minHeight",h="width",p=[s(i,u,"monitor"),s("field","text","input"),s("helper","hidden","accessible")].join(" "),d=" \n ",v=''+d+" ",m={src:"ui"};Autosize=e.Component.create({NAME:i,NS:i,ATTRS:{maxHeight:{value:1e3,setter:"_setAutoDimension"},minHeight:{value:45,setter:"_setAutoDimension"}},EXTENDS:e.Plugin.Base,prototype:{initializer:function(){var e=this;e._renderUI(),e._bindUI(),e._syncUI()},_bindUI:function(){var e=this;e.onHostEvent("valuechange",e._onValueChange,e),e.after(["maxHeightChange","minHeightChange"],function(t){t.src!==m.src&&e._syncHeight(t)}),e.after(o,e._uiAutoSize)},_onValueChange:function(e){var t=this;t.fire(o)},_renderUI:function(){var t=this,n=e.Node.create(v),r=t.get(a);e.getBody().append(n),t._defaultMinHeight=n.height(),t._heightMonitor=n;var i=r.getComputedStyle("fontFamily"),s=r.getComputedStyle("fontSize"),o=r.getComputedStyle("fontStyle"),u=r.getComputedStyle("fontWeight"),f=r.getComputedStyle("lineHeight"),l=r.getComputedStyle("letterSpacing"),c=r.getComputedStyle("textTransform");n.setStyles({fontFamily:i,fontSize:s,fontStyle:o,fontWeight:u,lineHeight:f,letterSpacing:l,textTransform:c}),"outerHTML"in n.getDOM()?t._updateContent=t._updateOuterContent:t._updateContent=t._updateInnerContent},_setAutoDimension:function(e,t){var n=this;n["_"+t]=e},_syncUI:function(){var e=this;e._syncHeight()},_syncHeight:function(e){var t=this,r=t.get(a),i=t._heightMonitor,s=i.height(),o=i.height(t.get(l)).height(),f=i.height(t.get(c)).height();i.height("");var h=Math.max(t._defaultMinHeight,f),p=o;h>p&&(e&&e.attrName=="maxHeight"?h=p:p=h),t._setAutoDimension(h,u),t.set(c,h,m),t.set(l,p,m),r.height(n.constrain(s,h,p))},_uiAutoSize:function(){var e=this,t=e.get(a),i=e._heightMonitor,s=e._minHeight,o=e._maxHeight,l=t.val();i.appendChild(r.createTextNode(l)),i.setStyle(h,t.getComputedStyle(h)),l=i.get(f)+d,e._updateContent(l);var c=n.constrain(i.height(),s,o);c!=e._lastHeight&&(e._lastHeight=c,e._uiSetDim(u,c)),i.set(f,"")},_uiSetDim:function(e,t){var n=this,r=n.get(a);r.setStyle(e,t)},_updateInnerContent:function(e){var t=this;return t._heightMonitor.set(f,e)},_updateOuterContent:function(e){var t=this;return e=e.replace(/\n/g," "),t._updateInnerContent(e)}}}),e.Plugin.Autosize=Autosize},"3.1.0-deprecated.52",{requires:["event-valuechange","plugin","aui-base-deprecated"],skinnable:!0});
diff --git a/build/aui-autosize-deprecated/aui-autosize-deprecated.js b/build/aui-autosize-deprecated/aui-autosize-deprecated.js
new file mode 100644
index 00000000000..9280cc32373
--- /dev/null
+++ b/build/aui-autosize-deprecated/aui-autosize-deprecated.js
@@ -0,0 +1,234 @@
+YUI.add('aui-autosize-deprecated', function (A, NAME) {
+
+var Lang = A.Lang,
+
+ DOC = A.config.doc,
+
+ AUTOSIZE = 'autosize',
+
+ getClassName = A.getClassName,
+
+ ADJUSTSIZE = 'adjustSize',
+ HEIGHT = 'height',
+ HOST = 'host',
+ INNERHTML = 'innerHTML',
+ MAXHEIGHT = 'maxHeight',
+ MINHEIGHT = 'minHeight',
+ WIDTH = 'width',
+
+ CSS_HEIGHT_MONITOR = [
+ getClassName(AUTOSIZE, HEIGHT, 'monitor'),
+ getClassName('field', 'text', 'input'),
+ getClassName('helper', 'hidden', 'accessible')
+ ].join(' '),
+
+ DEFAULT_APPEND_CONTENT = ' \n ',
+
+ TPL_HEIGHT_MONITOR = '' + DEFAULT_APPEND_CONTENT + ' ',
+
+ UI_SRC = {
+ src: 'ui'
+ };
+
+Autosize = A.Component.create({
+ NAME: AUTOSIZE,
+
+ NS: AUTOSIZE,
+
+ ATTRS: {
+ maxHeight: {
+ value: 1000,
+ setter: '_setAutoDimension'
+ },
+
+ minHeight: {
+ value: 45,
+ setter: '_setAutoDimension'
+ }
+ },
+
+ EXTENDS: A.Plugin.Base,
+
+ prototype: {
+ initializer: function() {
+ var instance = this;
+
+ instance._renderUI();
+ instance._bindUI();
+ instance._syncUI();
+ },
+
+ _bindUI: function() {
+ var instance = this;
+
+ instance.onHostEvent('valuechange', instance._onValueChange, instance);
+
+ instance.after(
+ ['maxHeightChange', 'minHeightChange'],
+ function(event) {
+ if (event.src !== UI_SRC.src) {
+ instance._syncHeight(event);
+ }
+ }
+ );
+
+ instance.after(ADJUSTSIZE, instance._uiAutoSize);
+ },
+
+ _onValueChange: function(event) {
+ var instance = this;
+
+ instance.fire(ADJUSTSIZE);
+ },
+
+ _renderUI: function() {
+ var instance = this;
+
+ var heightMonitor = A.Node.create(TPL_HEIGHT_MONITOR);
+
+ var node = instance.get(HOST);
+
+ A.getBody().append(heightMonitor);
+
+ // Calculating this value gives us the base height that
+ // an empty textarea will have.
+ // We do this because we need to append a new line to match
+ // the height of the textarea, and we don't want the size to shift
+ // the first time the value of the textarea changes
+ instance._defaultMinHeight = heightMonitor.height();
+
+ instance._heightMonitor = heightMonitor;
+
+ var fontFamily = node.getComputedStyle('fontFamily');
+ var fontSize = node.getComputedStyle('fontSize');
+ var fontStyle = node.getComputedStyle('fontStyle');
+ var fontWeight = node.getComputedStyle('fontWeight');
+ var lineHeight = node.getComputedStyle('lineHeight');
+ var letterSpacing = node.getComputedStyle('letterSpacing');
+ var textTransform = node.getComputedStyle('textTransform');
+
+ heightMonitor.setStyles({
+ fontFamily: fontFamily,
+ fontSize: fontSize,
+ fontStyle: fontStyle,
+ fontWeight: fontWeight,
+ lineHeight: lineHeight,
+ letterSpacing: letterSpacing,
+ textTransform: textTransform
+ });
+
+ if ('outerHTML' in heightMonitor.getDOM()) {
+ instance._updateContent = instance._updateOuterContent;
+ }
+ else {
+ instance._updateContent = instance._updateInnerContent;
+ }
+ },
+
+ _setAutoDimension: function(value, key) {
+ var instance = this;
+
+ instance['_' + key] = value;
+ },
+
+ _syncUI: function() {
+ var instance = this;
+
+ instance._syncHeight();
+ },
+
+ _syncHeight: function(event) {
+ var instance = this;
+
+ var node = instance.get(HOST);
+
+ var heightMonitor = instance._heightMonitor;
+
+ var height = heightMonitor.height();
+
+ // This converts non-PX values such as 1em to a PX value
+ var defMaxHeight = heightMonitor.height(instance.get(MAXHEIGHT)).height();
+ var defMinHeight = heightMonitor.height(instance.get(MINHEIGHT)).height();
+
+ heightMonitor.height('');
+
+ var minHeight = Math.max(instance._defaultMinHeight, defMinHeight);
+ var maxHeight = defMaxHeight;
+
+ // We also need to handle if min/max heights are
+ // being set to non-sensical range, like min: 100, max: 50
+ if (minHeight > maxHeight) {
+ if (event && event.attrName == 'maxHeight') {
+ minHeight = maxHeight;
+ }
+ else {
+ maxHeight = minHeight;
+ }
+ }
+
+ instance._setAutoDimension(minHeight, HEIGHT);
+
+ instance.set(MINHEIGHT, minHeight, UI_SRC);
+ instance.set(MAXHEIGHT, maxHeight, UI_SRC);
+
+ node.height(Lang.constrain(height, minHeight, maxHeight));
+ },
+
+ _uiAutoSize: function() {
+ var instance = this;
+
+ var node = instance.get(HOST);
+ var heightMonitor = instance._heightMonitor;
+
+ var minHeight = instance._minHeight;
+ var maxHeight = instance._maxHeight;
+
+ var content = node.val();
+
+ heightMonitor.appendChild(DOC.createTextNode(content));
+
+ heightMonitor.setStyle(WIDTH, node.getComputedStyle(WIDTH));
+
+ content = heightMonitor.get(INNERHTML) + DEFAULT_APPEND_CONTENT;
+
+ instance._updateContent(content);
+
+ var height = Lang.constrain(heightMonitor.height(), minHeight, maxHeight);
+
+ if (height != instance._lastHeight) {
+ instance._lastHeight = height;
+
+ instance._uiSetDim(HEIGHT, height);
+ }
+
+ heightMonitor.set(INNERHTML, '');
+ },
+
+ _uiSetDim: function(key, newVal) {
+ var instance = this;
+
+ var node = instance.get(HOST);
+
+ node.setStyle(key, newVal);
+ },
+
+ _updateInnerContent: function(content) {
+ var instance = this;
+
+ return instance._heightMonitor.set(INNERHTML, content);
+ },
+
+ _updateOuterContent: function(content) {
+ var instance = this;
+
+ content = content.replace(/\n/g, ' ');
+
+ return instance._updateInnerContent(content);
+ }
+ }
+});
+
+A.Plugin.Autosize = Autosize;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["event-valuechange", "plugin", "aui-base-deprecated"], "skinnable": true});
diff --git a/build/aui-autosize-iframe/assets/aui-autosize-iframe-core.css b/build/aui-autosize-iframe/assets/aui-autosize-iframe-core.css
new file mode 100644
index 00000000000..0004f8f6218
--- /dev/null
+++ b/build/aui-autosize-iframe/assets/aui-autosize-iframe-core.css
@@ -0,0 +1,3 @@
+.autosizeiframe-monitored-height {
+ overflow: hidden;
+}
\ No newline at end of file
diff --git a/build/aui-autosize-iframe/assets/skins/sam/aui-autosize-iframe-skin.css b/build/aui-autosize-iframe/assets/skins/sam/aui-autosize-iframe-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-autosize-iframe/aui-autosize-iframe-coverage.js b/build/aui-autosize-iframe/aui-autosize-iframe-coverage.js
new file mode 100644
index 00000000000..47e0b05a2a8
--- /dev/null
+++ b/build/aui-autosize-iframe/aui-autosize-iframe-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-autosize-iframe/aui-autosize-iframe.js']) {
+ __coverage__['build/aui-autosize-iframe/aui-autosize-iframe.js'] = {"path":"build/aui-autosize-iframe/aui-autosize-iframe.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":50}}},"2":{"name":"(anonymous_2)","line":105,"loc":{"start":{"line":105,"column":21},"end":{"line":105,"column":38}}},"3":{"name":"(anonymous_3)","line":125,"loc":{"start":{"line":125,"column":16},"end":{"line":125,"column":27}}},"4":{"name":"(anonymous_4)","line":139,"loc":{"start":{"line":139,"column":16},"end":{"line":139,"column":27}}},"5":{"name":"(anonymous_5)","line":151,"loc":{"start":{"line":151,"column":20},"end":{"line":151,"column":31}}},"6":{"name":"(anonymous_6)","line":162,"loc":{"start":{"line":162,"column":22},"end":{"line":162,"column":33}}},"7":{"name":"(anonymous_7)","line":173,"loc":{"start":{"line":173,"column":24},"end":{"line":173,"column":35}}},"8":{"name":"(anonymous_8)","line":188,"loc":{"start":{"line":188,"column":28},"end":{"line":188,"column":44}}},"9":{"name":"(anonymous_9)","line":201,"loc":{"start":{"line":201,"column":35},"end":{"line":201,"column":51}}},"10":{"name":"(anonymous_10)","line":214,"loc":{"start":{"line":214,"column":27},"end":{"line":214,"column":43}}},"11":{"name":"(anonymous_11)","line":226,"loc":{"start":{"line":226,"column":24},"end":{"line":226,"column":35}}},"12":{"name":"(anonymous_12)","line":251,"loc":{"start":{"line":251,"column":19},"end":{"line":251,"column":30}}},"13":{"name":"(anonymous_13)","line":290,"loc":{"start":{"line":290,"column":22},"end":{"line":290,"column":33}}},"14":{"name":"(anonymous_14)","line":307,"loc":{"start":{"line":307,"column":22},"end":{"line":307,"column":38}}},"15":{"name":"(anonymous_15)","line":324,"loc":{"start":{"line":324,"column":29},"end":{"line":324,"column":53}}},"16":{"name":"(anonymous_16)","line":354,"loc":{"start":{"line":354,"column":21},"end":{"line":354,"column":37}}},"17":{"name":"(anonymous_17)","line":373,"loc":{"start":{"line":373,"column":22},"end":{"line":373,"column":42}}},"18":{"name":"(anonymous_18)","line":403,"loc":{"start":{"line":403,"column":23},"end":{"line":403,"column":70}}},"19":{"name":"(anonymous_19)","line":432,"loc":{"start":{"line":432,"column":22},"end":{"line":432,"column":42}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":486,"column":99}},"2":{"start":{"line":9,"column":0},"end":{"line":11,"column":97}},"3":{"start":{"line":22,"column":0},"end":{"line":362,"column":3}},"4":{"start":{"line":106,"column":12},"end":{"line":106,"column":32}},"5":{"start":{"line":108,"column":12},"end":{"line":108,"column":45}},"6":{"start":{"line":110,"column":12},"end":{"line":110,"column":34}},"7":{"start":{"line":111,"column":12},"end":{"line":111,"column":48}},"8":{"start":{"line":113,"column":12},"end":{"line":113,"column":52}},"9":{"start":{"line":115,"column":12},"end":{"line":115,"column":30}},"10":{"start":{"line":116,"column":12},"end":{"line":116,"column":30}},"11":{"start":{"line":126,"column":12},"end":{"line":126,"column":32}},"12":{"start":{"line":128,"column":12},"end":{"line":128,"column":72}},"13":{"start":{"line":129,"column":12},"end":{"line":129,"column":70}},"14":{"start":{"line":130,"column":12},"end":{"line":130,"column":86}},"15":{"start":{"line":140,"column":12},"end":{"line":140,"column":32}},"16":{"start":{"line":142,"column":12},"end":{"line":142,"column":72}},"17":{"start":{"line":152,"column":12},"end":{"line":152,"column":32}},"18":{"start":{"line":154,"column":12},"end":{"line":154,"column":48}},"19":{"start":{"line":163,"column":12},"end":{"line":163,"column":32}},"20":{"start":{"line":165,"column":12},"end":{"line":165,"column":38}},"21":{"start":{"line":174,"column":12},"end":{"line":174,"column":32}},"22":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"23":{"start":{"line":177,"column":16},"end":{"line":177,"column":40}},"24":{"start":{"line":189,"column":12},"end":{"line":189,"column":32}},"25":{"start":{"line":191,"column":12},"end":{"line":191,"column":48}},"26":{"start":{"line":202,"column":12},"end":{"line":202,"column":32}},"27":{"start":{"line":204,"column":12},"end":{"line":204,"column":55}},"28":{"start":{"line":215,"column":12},"end":{"line":215,"column":32}},"29":{"start":{"line":217,"column":12},"end":{"line":217,"column":47}},"30":{"start":{"line":227,"column":12},"end":{"line":228,"column":48}},"31":{"start":{"line":230,"column":12},"end":{"line":236,"column":13}},"32":{"start":{"line":231,"column":16},"end":{"line":231,"column":54}},"33":{"start":{"line":233,"column":16},"end":{"line":235,"column":17}},"34":{"start":{"line":234,"column":20},"end":{"line":234,"column":47}},"35":{"start":{"line":238,"column":12},"end":{"line":242,"column":13}},"36":{"start":{"line":239,"column":16},"end":{"line":239,"column":54}},"37":{"start":{"line":241,"column":16},"end":{"line":241,"column":44}},"38":{"start":{"line":252,"column":12},"end":{"line":252,"column":32}},"39":{"start":{"line":254,"column":12},"end":{"line":254,"column":39}},"40":{"start":{"line":256,"column":12},"end":{"line":256,"column":51}},"41":{"start":{"line":258,"column":12},"end":{"line":258,"column":26}},"42":{"start":{"line":259,"column":12},"end":{"line":259,"column":26}},"43":{"start":{"line":261,"column":12},"end":{"line":268,"column":24}},"44":{"start":{"line":262,"column":16},"end":{"line":262,"column":61}},"45":{"start":{"line":264,"column":16},"end":{"line":264,"column":47}},"46":{"start":{"line":266,"column":16},"end":{"line":266,"column":48}},"47":{"start":{"line":270,"column":12},"end":{"line":279,"column":13}},"48":{"start":{"line":271,"column":16},"end":{"line":271,"column":107}},"49":{"start":{"line":273,"column":16},"end":{"line":273,"column":49}},"50":{"start":{"line":275,"column":17},"end":{"line":279,"column":13}},"51":{"start":{"line":276,"column":16},"end":{"line":276,"column":42}},"52":{"start":{"line":278,"column":16},"end":{"line":278,"column":63}},"53":{"start":{"line":291,"column":12},"end":{"line":291,"column":32}},"54":{"start":{"line":293,"column":12},"end":{"line":297,"column":13}},"55":{"start":{"line":294,"column":16},"end":{"line":294,"column":37}},"56":{"start":{"line":296,"column":16},"end":{"line":296,"column":88}},"57":{"start":{"line":308,"column":12},"end":{"line":308,"column":32}},"58":{"start":{"line":310,"column":12},"end":{"line":314,"column":13}},"59":{"start":{"line":311,"column":16},"end":{"line":311,"column":47}},"60":{"start":{"line":313,"column":16},"end":{"line":313,"column":56}},"61":{"start":{"line":325,"column":12},"end":{"line":325,"column":32}},"62":{"start":{"line":327,"column":12},"end":{"line":327,"column":39}},"63":{"start":{"line":329,"column":12},"end":{"line":344,"column":13}},"64":{"start":{"line":330,"column":16},"end":{"line":330,"column":40}},"65":{"start":{"line":332,"column":16},"end":{"line":332,"column":90}},"66":{"start":{"line":334,"column":16},"end":{"line":334,"column":70}},"67":{"start":{"line":337,"column":16},"end":{"line":337,"column":42}},"68":{"start":{"line":339,"column":16},"end":{"line":341,"column":17}},"69":{"start":{"line":340,"column":20},"end":{"line":340,"column":50}},"70":{"start":{"line":343,"column":16},"end":{"line":343,"column":73}},"71":{"start":{"line":355,"column":12},"end":{"line":355,"column":32}},"72":{"start":{"line":357,"column":12},"end":{"line":357,"column":51}},"73":{"start":{"line":364,"column":0},"end":{"line":481,"column":3}},"74":{"start":{"line":374,"column":8},"end":{"line":374,"column":33}},"75":{"start":{"line":376,"column":8},"end":{"line":390,"column":20}},"76":{"start":{"line":377,"column":12},"end":{"line":377,"column":26}},"77":{"start":{"line":379,"column":12},"end":{"line":384,"column":13}},"78":{"start":{"line":380,"column":16},"end":{"line":380,"column":52}},"79":{"start":{"line":382,"column":17},"end":{"line":384,"column":13}},"80":{"start":{"line":383,"column":16},"end":{"line":383,"column":61}},"81":{"start":{"line":386,"column":12},"end":{"line":386,"column":43}},"82":{"start":{"line":388,"column":12},"end":{"line":388,"column":83}},"83":{"start":{"line":392,"column":8},"end":{"line":392,"column":29}},"84":{"start":{"line":404,"column":8},"end":{"line":404,"column":33}},"85":{"start":{"line":406,"column":8},"end":{"line":419,"column":9}},"86":{"start":{"line":407,"column":12},"end":{"line":407,"column":50}},"87":{"start":{"line":409,"column":12},"end":{"line":409,"column":99}},"88":{"start":{"line":411,"column":12},"end":{"line":411,"column":72}},"89":{"start":{"line":413,"column":12},"end":{"line":418,"column":13}},"90":{"start":{"line":414,"column":16},"end":{"line":414,"column":48}},"91":{"start":{"line":417,"column":16},"end":{"line":417,"column":93}},"92":{"start":{"line":421,"column":8},"end":{"line":421,"column":29}},"93":{"start":{"line":433,"column":8},"end":{"line":433,"column":30}},"94":{"start":{"line":435,"column":8},"end":{"line":435,"column":43}},"95":{"start":{"line":436,"column":8},"end":{"line":436,"column":59}},"96":{"start":{"line":437,"column":8},"end":{"line":437,"column":53}},"97":{"start":{"line":439,"column":8},"end":{"line":439,"column":31}},"98":{"start":{"line":441,"column":8},"end":{"line":449,"column":9}},"99":{"start":{"line":442,"column":12},"end":{"line":442,"column":51}},"100":{"start":{"line":444,"column":13},"end":{"line":449,"column":9}},"101":{"start":{"line":445,"column":12},"end":{"line":445,"column":48}},"102":{"start":{"line":447,"column":13},"end":{"line":449,"column":9}},"103":{"start":{"line":448,"column":12},"end":{"line":448,"column":53}},"104":{"start":{"line":451,"column":8},"end":{"line":477,"column":9}},"105":{"start":{"line":452,"column":12},"end":{"line":452,"column":32}},"106":{"start":{"line":453,"column":12},"end":{"line":453,"column":32}},"107":{"start":{"line":454,"column":12},"end":{"line":454,"column":74}},"108":{"start":{"line":456,"column":12},"end":{"line":460,"column":13}},"109":{"start":{"line":457,"column":16},"end":{"line":457,"column":53}},"110":{"start":{"line":458,"column":16},"end":{"line":458,"column":53}},"111":{"start":{"line":459,"column":16},"end":{"line":459,"column":53}},"112":{"start":{"line":462,"column":12},"end":{"line":465,"column":13}},"113":{"start":{"line":463,"column":16},"end":{"line":463,"column":58}},"114":{"start":{"line":464,"column":16},"end":{"line":464,"column":58}},"115":{"start":{"line":467,"column":12},"end":{"line":467,"column":27}},"116":{"start":{"line":469,"column":12},"end":{"line":474,"column":13}},"117":{"start":{"line":470,"column":16},"end":{"line":470,"column":38}},"118":{"start":{"line":473,"column":16},"end":{"line":473,"column":38}},"119":{"start":{"line":476,"column":12},"end":{"line":476,"column":73}},"120":{"start":{"line":479,"column":8},"end":{"line":479,"column":29}},"121":{"start":{"line":483,"column":0},"end":{"line":483,"column":41}}},"branchMap":{"1":{"line":176,"type":"if","locations":[{"start":{"line":176,"column":12},"end":{"line":176,"column":12}},{"start":{"line":176,"column":12},"end":{"line":176,"column":12}}]},"2":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":12},"end":{"line":230,"column":12}},{"start":{"line":230,"column":12},"end":{"line":230,"column":12}}]},"3":{"line":233,"type":"if","locations":[{"start":{"line":233,"column":16},"end":{"line":233,"column":16}},{"start":{"line":233,"column":16},"end":{"line":233,"column":16}}]},"4":{"line":238,"type":"if","locations":[{"start":{"line":238,"column":12},"end":{"line":238,"column":12}},{"start":{"line":238,"column":12},"end":{"line":238,"column":12}}]},"5":{"line":270,"type":"if","locations":[{"start":{"line":270,"column":12},"end":{"line":270,"column":12}},{"start":{"line":270,"column":12},"end":{"line":270,"column":12}}]},"6":{"line":270,"type":"binary-expr","locations":[{"start":{"line":270,"column":16},"end":{"line":270,"column":25}},{"start":{"line":270,"column":29},"end":{"line":270,"column":38}}]},"7":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":17},"end":{"line":275,"column":17}},{"start":{"line":275,"column":17},"end":{"line":275,"column":17}}]},"8":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":12},"end":{"line":293,"column":12}},{"start":{"line":293,"column":12},"end":{"line":293,"column":12}}]},"9":{"line":310,"type":"if","locations":[{"start":{"line":310,"column":12},"end":{"line":310,"column":12}},{"start":{"line":310,"column":12},"end":{"line":310,"column":12}}]},"10":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":12},"end":{"line":329,"column":12}},{"start":{"line":329,"column":12},"end":{"line":329,"column":12}}]},"11":{"line":339,"type":"if","locations":[{"start":{"line":339,"column":16},"end":{"line":339,"column":16}},{"start":{"line":339,"column":16},"end":{"line":339,"column":16}}]},"12":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":12}},{"start":{"line":379,"column":12},"end":{"line":379,"column":12}}]},"13":{"line":379,"type":"binary-expr","locations":[{"start":{"line":379,"column":16},"end":{"line":379,"column":34}},{"start":{"line":379,"column":38},"end":{"line":379,"column":83}}]},"14":{"line":382,"type":"if","locations":[{"start":{"line":382,"column":17},"end":{"line":382,"column":17}},{"start":{"line":382,"column":17},"end":{"line":382,"column":17}}]},"15":{"line":406,"type":"if","locations":[{"start":{"line":406,"column":8},"end":{"line":406,"column":8}},{"start":{"line":406,"column":8},"end":{"line":406,"column":8}}]},"16":{"line":406,"type":"binary-expr","locations":[{"start":{"line":406,"column":12},"end":{"line":406,"column":21}},{"start":{"line":406,"column":25},"end":{"line":406,"column":66}}]},"17":{"line":409,"type":"binary-expr","locations":[{"start":{"line":409,"column":35},"end":{"line":409,"column":40}},{"start":{"line":409,"column":44},"end":{"line":409,"column":92}},{"start":{"line":409,"column":97},"end":{"line":409,"column":98}}]},"18":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":12},"end":{"line":413,"column":12}},{"start":{"line":413,"column":12},"end":{"line":413,"column":12}}]},"19":{"line":413,"type":"binary-expr","locations":[{"start":{"line":413,"column":16},"end":{"line":413,"column":29}},{"start":{"line":413,"column":33},"end":{"line":413,"column":48}}]},"20":{"line":417,"type":"binary-expr","locations":[{"start":{"line":417,"column":32},"end":{"line":417,"column":74}},{"start":{"line":417,"column":78},"end":{"line":417,"column":92}}]},"21":{"line":436,"type":"binary-expr","locations":[{"start":{"line":436,"column":20},"end":{"line":436,"column":29}},{"start":{"line":436,"column":33},"end":{"line":436,"column":58}}]},"22":{"line":437,"type":"binary-expr","locations":[{"start":{"line":437,"column":25},"end":{"line":437,"column":34}},{"start":{"line":437,"column":38},"end":{"line":437,"column":52}}]},"23":{"line":441,"type":"if","locations":[{"start":{"line":441,"column":8},"end":{"line":441,"column":8}},{"start":{"line":441,"column":8},"end":{"line":441,"column":8}}]},"24":{"line":444,"type":"if","locations":[{"start":{"line":444,"column":13},"end":{"line":444,"column":13}},{"start":{"line":444,"column":13},"end":{"line":444,"column":13}}]},"25":{"line":444,"type":"binary-expr","locations":[{"start":{"line":444,"column":17},"end":{"line":444,"column":22}},{"start":{"line":444,"column":26},"end":{"line":444,"column":44}}]},"26":{"line":447,"type":"if","locations":[{"start":{"line":447,"column":13},"end":{"line":447,"column":13}},{"start":{"line":447,"column":13},"end":{"line":447,"column":13}}]},"27":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":8},"end":{"line":451,"column":8}},{"start":{"line":451,"column":8},"end":{"line":451,"column":8}}]},"28":{"line":454,"type":"binary-expr","locations":[{"start":{"line":454,"column":35},"end":{"line":454,"column":45}},{"start":{"line":454,"column":49},"end":{"line":454,"column":72}}]},"29":{"line":456,"type":"if","locations":[{"start":{"line":456,"column":12},"end":{"line":456,"column":12}},{"start":{"line":456,"column":12},"end":{"line":456,"column":12}}]},"30":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":12},"end":{"line":462,"column":12}},{"start":{"line":462,"column":12},"end":{"line":462,"column":12}}]},"31":{"line":462,"type":"binary-expr","locations":[{"start":{"line":462,"column":16},"end":{"line":462,"column":51}},{"start":{"line":462,"column":55},"end":{"line":462,"column":65}}]},"32":{"line":469,"type":"if","locations":[{"start":{"line":469,"column":12},"end":{"line":469,"column":12}},{"start":{"line":469,"column":12},"end":{"line":469,"column":12}}]}},"code":["(function () { YUI.add('aui-autosize-iframe', function (A, NAME) {","","/**"," * The Autosize Iframe Utility"," *"," * @module aui-autosize-iframe"," */","","var getClassName = A.getClassName,",""," CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT = getClassName('autosizeiframe', 'monitored', 'height');","","/**"," * A base class for `A.AutosizeIframe`."," *"," * @class A.AutosizeIframe"," * @extends Plugin.Base"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","var AutosizeIframe = A.Component.create({",""," /**"," * Static property provides a string to identify the class."," *"," * @property NAME"," * @type {String}"," * @static"," */"," NAME: 'autosizeiframe',",""," /**"," * Static property provides a string to identify the namespace."," *"," * @property NS"," * @type {String}"," * @static"," */"," NS: 'autosizeiframe',",""," /**"," * Static property used to define which component it extends."," *"," * @property EXTENDS"," * @type {String}"," * @static"," */"," EXTENDS: A.Plugin.Base,",""," /**"," * Static property used to define the default attribute"," * configuration for the `A.AutosizeIframe`."," *"," * @property ATTRS"," * @type {Object}"," * @static"," */"," ATTRS: {",""," /**"," * The height of the iframe."," *"," * @attribute height"," * @default 0"," * @type {Number}"," */"," height: {"," value: 0"," },",""," /**"," * Indicates if the height should be monitored."," *"," * @attribute monitorHeight"," * @default true"," * @type {Boolean}"," */"," monitorHeight: {"," value: true"," },",""," /**"," * The width of the iframe."," *"," * @attribute width"," * @default null"," * @type {Number}"," */"," width: {"," value: null"," }"," },",""," prototype: {",""," /**"," * Construction logic executed during `A.AutosizeIframe` instantiation."," * Lifecycle."," *"," * @method initializer"," * @param config"," * @protected"," */"," initializer: function(config) {"," var instance = this;",""," var frame = instance.get('host');",""," instance.node = frame;"," instance._iframeEl = frame.getDOM();",""," instance._defaultHeight = config.height;",""," instance.bindUI();"," instance.syncUI();"," },",""," /**"," * Binds the events on the `A.AutosizeIframe` UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," var instance = this;",""," instance.after('heightChange', instance._afterHeightChange);"," instance.after('widthChange', instance._afterWidthChange);"," instance.after('monitorHeightChange', instance._afterMonitorHeightChange);"," },",""," /**"," * Syncs the `A.AutosizeIframe` UI. Lifecycle."," *"," * @method syncUI"," * @protected"," */"," syncUI: function() {"," var instance = this;",""," instance._uiSetMonitorHeight(instance.get('monitorHeight'));"," },",""," /**"," * Destructor lifecycle implementation for the `A.AutosizeIframe` class."," *"," * @method destructor"," * @protected"," */"," destructor: function() {"," var instance = this;",""," instance._uiSetMonitorHeight(false);"," },",""," /**"," * Stops to monitor the height."," *"," * @method pauseMonitor"," */"," pauseMonitor: function() {"," var instance = this;",""," instance._clearInterval();"," },",""," /**"," * Restarts to monitor the height."," *"," * @method restartMonitor"," */"," restartMonitor: function() {"," var instance = this;",""," if (instance.get('monitorHeight')) {"," instance._setInterval();"," }"," },",""," /**"," * Fires after `height` attribute changes."," *"," * @method _afterHeightChange"," * @param event"," * @protected"," */"," _afterHeightChange: function(event) {"," var instance = this;",""," instance._uiSetHeight(event.newVal);"," },",""," /**"," * Fires after `monitorHeight` attribute changes."," *"," * @method _afterMonitorHeightChange"," * @param event"," * @protected"," */"," _afterMonitorHeightChange: function(event) {"," var instance = this;",""," instance._uiSetMonitorHeight(event.newVal);"," },",""," /**"," * Fires after `width` attribute changes."," *"," * @method _afterWidthChange"," * @param event"," * @protected"," */"," _afterWidthChange: function(event) {"," var instance = this;",""," instance._uiSetWidth(event.newVal);"," },",""," /**"," * Cancels repeated action which was set up using `setInterval`."," *"," * @method _clearInterval"," * @protected"," */"," _clearInterval: function() {"," var instance = this,"," iframeDoc = instance._iframeDoc;",""," if (iframeDoc) {"," var docEl = iframeDoc.documentElement;",""," if (docEl) {"," docEl.style.overflowY = '';"," }"," }",""," if (instance._intervalId) {"," A.clearInterval(instance._intervalId);",""," instance._intervalId = null;"," }"," },",""," /**"," * Fires when a window resize happens."," *"," * @method _onResize"," * @protected"," */"," _onResize: function() {"," var instance = this;",""," instance._iframeDoc = null;",""," var newHeight = instance._iframeHeight;",""," var iframeDoc;"," var iframeWin;",""," try {"," iframeWin = instance._iframeEl.contentWindow;",""," iframeDoc = iframeWin.document;",""," instance._iframeDoc = iframeDoc;"," }"," catch (e) {}",""," if (iframeDoc && iframeWin) {"," newHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc, instance._iframeHeight);",""," instance._uiSetHeight(newHeight);"," }"," else if (!iframeDoc) {"," instance._clearInterval();",""," instance._uiSetHeight(instance._defaultHeight);"," }"," },",""," /**"," * Calls a function repeatedly, with a fixed time delay between each"," * call to that function."," *"," * @method _setInterval"," * @param event"," * @protected"," */"," _setInterval: function() {"," var instance = this;",""," if (!instance._intervalId) {"," instance._onResize();",""," instance._intervalId = A.setInterval(instance._onResize, 100, instance);"," }"," },",""," /**"," * Sets the iframe height in the UI."," *"," * @method _uiSetHeight"," * @param value"," * @protected"," */"," _uiSetHeight: function(value) {"," var instance = this;",""," if (instance._iframeHeight !== value) {"," instance._iframeHeight = value;",""," instance.node.setStyle('height', value);"," }"," },",""," /**"," * Sets the monitor height in the UI."," *"," * @method _uiSetMonitorHeight"," * @param monitorHeight"," * @protected"," */"," _uiSetMonitorHeight: function(monitorHeight) {"," var instance = this;",""," var iframe = instance.node;",""," if (monitorHeight) {"," instance._setInterval();",""," instance._loadHandle = iframe.on('load', instance._setInterval, instance);",""," iframe.addClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);"," }"," else {"," instance._clearInterval();",""," if (instance._loadHandle) {"," instance._loadHandle.detach();"," }",""," iframe.removeClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);"," }"," },",""," /**"," * Sets the iframe width in the UI."," *"," * @method _uiSetWidth"," * @param value"," * @protected"," */"," _uiSetWidth: function(value) {"," var instance = this;",""," instance.node.setStyle('width', value);"," },",""," _iframeHeight: 0"," }","});","","A.mix(AutosizeIframe, {",""," /**"," * Returns the content height of a window."," *"," * @method getContentHeight"," * @param iframeWin"," * @return {Number | null}"," */"," getContentHeight: function(iframeWin) {"," var contentHeight = null;",""," try {"," var iframeDoc;",""," if (iframeWin.nodeName && iframeWin.nodeName.toLowerCase() === 'iframe') {"," iframeWin = iframeWin.contentWindow;"," }"," else if (A.instanceOf(iframeWin, A.Node)) {"," iframeWin = iframeWin.getDOM().contentWindow;"," }",""," iframeDoc = iframeWin.document;",""," contentHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc);"," }"," catch (e) {}",""," return contentHeight;"," },",""," /**"," * Returns the content height of a window."," *"," * @method _getContentHeight"," * @param iframeWin, iframeDoc, fallbackHeight"," * @protected"," * @return {Number | null}"," */"," _getContentHeight: function(iframeWin, iframeDoc, fallbackHeight) {"," var contentHeight = null;",""," if (iframeDoc && iframeWin.location.href !== 'about:blank') {"," var docEl = iframeDoc.documentElement;",""," var docOffsetHeight = (docEl && Math.max(docEl.offsetHeight, docEl.scrollHeight)) || 0;",""," var standardsMode = (iframeDoc.compatMode === 'CSS1Compat');",""," if (standardsMode && docOffsetHeight) {"," contentHeight = docOffsetHeight;"," }"," else {"," contentHeight = AutosizeIframe._getQuirksHeight(iframeWin) || fallbackHeight;"," }"," }",""," return contentHeight;"," },",""," /**"," * Returns the quirks content height of a window."," *"," * @method _getQuirksHeight"," * @param iframeWin"," * @protected"," * @return {Number}"," */"," _getQuirksHeight: function(iframeWin) {"," var contentHeight = 0;",""," var iframeDoc = iframeWin.document;"," var docEl = iframeDoc && iframeDoc.documentElement;"," var iframeBody = iframeDoc && iframeDoc.body;",""," var viewPortHeight = 0;",""," if (iframeWin.innerHeight) {"," viewPortHeight = iframeWin.innerHeight;"," }"," else if (docEl && docEl.clientHeight) {"," viewPortHeight = docEl.clientHeight;"," }"," else if (iframeBody) {"," viewPortHeight = iframeBody.clientHeight;"," }",""," if (iframeDoc) {"," var docClientHeight;"," var docScrollHeight;"," var docOffsetHeight = (iframeBody && iframeBody.offsetHeight);",""," if (docEl) {"," docClientHeight = docEl.clientHeight;"," docScrollHeight = docEl.scrollHeight;"," docOffsetHeight = docEl.offsetHeight;"," }",""," if (docClientHeight !== docOffsetHeight && iframeBody) {"," docOffsetHeight = iframeBody.offsetHeight;"," docScrollHeight = iframeBody.scrollHeight;"," }",""," var compareNum;",""," if (docScrollHeight > viewPortHeight) {"," compareNum = Math.max;"," }"," else {"," compareNum = Math.min;"," }",""," contentHeight = compareNum(docScrollHeight, docOffsetHeight);"," }",""," return contentHeight;"," }","});","","A.Plugin.AutosizeIframe = AutosizeIframe;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"plugin\", \"aui-component\", \"aui-timer\", \"aui-node-base\"]});","","}());"]};
+}
+var __cov_GqX5Z0fCzYCNKJOZMEeOxA = __coverage__['build/aui-autosize-iframe/aui-autosize-iframe.js'];
+__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['1']++;YUI.add('aui-autosize-iframe',function(A,NAME){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['1']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['2']++;var getClassName=A.getClassName,CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT=getClassName('autosizeiframe','monitored','height');__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['3']++;var AutosizeIframe=A.Component.create({NAME:'autosizeiframe',NS:'autosizeiframe',EXTENDS:A.Plugin.Base,ATTRS:{height:{value:0},monitorHeight:{value:true},width:{value:null}},prototype:{initializer:function(config){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['2']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['4']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['5']++;var frame=instance.get('host');__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['6']++;instance.node=frame;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['7']++;instance._iframeEl=frame.getDOM();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['8']++;instance._defaultHeight=config.height;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['9']++;instance.bindUI();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['10']++;instance.syncUI();},bindUI:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['3']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['11']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['12']++;instance.after('heightChange',instance._afterHeightChange);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['13']++;instance.after('widthChange',instance._afterWidthChange);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['14']++;instance.after('monitorHeightChange',instance._afterMonitorHeightChange);},syncUI:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['4']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['15']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['16']++;instance._uiSetMonitorHeight(instance.get('monitorHeight'));},destructor:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['5']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['17']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['18']++;instance._uiSetMonitorHeight(false);},pauseMonitor:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['6']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['19']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['20']++;instance._clearInterval();},restartMonitor:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['7']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['21']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['22']++;if(instance.get('monitorHeight')){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['1'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['23']++;instance._setInterval();}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['1'][1]++;}},_afterHeightChange:function(event){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['8']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['24']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['25']++;instance._uiSetHeight(event.newVal);},_afterMonitorHeightChange:function(event){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['9']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['26']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['27']++;instance._uiSetMonitorHeight(event.newVal);},_afterWidthChange:function(event){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['10']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['28']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['29']++;instance._uiSetWidth(event.newVal);},_clearInterval:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['11']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['30']++;var instance=this,iframeDoc=instance._iframeDoc;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['31']++;if(iframeDoc){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['2'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['32']++;var docEl=iframeDoc.documentElement;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['33']++;if(docEl){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['3'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['34']++;docEl.style.overflowY='';}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['3'][1]++;}}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['2'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['35']++;if(instance._intervalId){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['4'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['36']++;A.clearInterval(instance._intervalId);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['37']++;instance._intervalId=null;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['4'][1]++;}},_onResize:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['12']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['38']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['39']++;instance._iframeDoc=null;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['40']++;var newHeight=instance._iframeHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['41']++;var iframeDoc;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['42']++;var iframeWin;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['43']++;try{__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['44']++;iframeWin=instance._iframeEl.contentWindow;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['45']++;iframeDoc=iframeWin.document;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['46']++;instance._iframeDoc=iframeDoc;}catch(e){}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['47']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['6'][0]++,iframeDoc)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['6'][1]++,iframeWin)){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['5'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['48']++;newHeight=AutosizeIframe._getContentHeight(iframeWin,iframeDoc,instance._iframeHeight);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['49']++;instance._uiSetHeight(newHeight);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['5'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['50']++;if(!iframeDoc){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['7'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['51']++;instance._clearInterval();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['52']++;instance._uiSetHeight(instance._defaultHeight);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['7'][1]++;}}},_setInterval:function(){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['13']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['53']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['54']++;if(!instance._intervalId){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['8'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['55']++;instance._onResize();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['56']++;instance._intervalId=A.setInterval(instance._onResize,100,instance);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['8'][1]++;}},_uiSetHeight:function(value){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['14']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['57']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['58']++;if(instance._iframeHeight!==value){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['9'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['59']++;instance._iframeHeight=value;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['60']++;instance.node.setStyle('height',value);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['9'][1]++;}},_uiSetMonitorHeight:function(monitorHeight){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['15']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['61']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['62']++;var iframe=instance.node;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['63']++;if(monitorHeight){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['10'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['64']++;instance._setInterval();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['65']++;instance._loadHandle=iframe.on('load',instance._setInterval,instance);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['66']++;iframe.addClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['10'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['67']++;instance._clearInterval();__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['68']++;if(instance._loadHandle){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['11'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['69']++;instance._loadHandle.detach();}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['11'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['70']++;iframe.removeClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);}},_uiSetWidth:function(value){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['16']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['71']++;var instance=this;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['72']++;instance.node.setStyle('width',value);},_iframeHeight:0}});__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['73']++;A.mix(AutosizeIframe,{getContentHeight:function(iframeWin){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['17']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['74']++;var contentHeight=null;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['75']++;try{__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['76']++;var iframeDoc;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['77']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['13'][0]++,iframeWin.nodeName)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['13'][1]++,iframeWin.nodeName.toLowerCase()==='iframe')){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['12'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['78']++;iframeWin=iframeWin.contentWindow;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['12'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['79']++;if(A.instanceOf(iframeWin,A.Node)){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['14'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['80']++;iframeWin=iframeWin.getDOM().contentWindow;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['14'][1]++;}}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['81']++;iframeDoc=iframeWin.document;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['82']++;contentHeight=AutosizeIframe._getContentHeight(iframeWin,iframeDoc);}catch(e){}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['83']++;return contentHeight;},_getContentHeight:function(iframeWin,iframeDoc,fallbackHeight){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['18']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['84']++;var contentHeight=null;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['85']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['16'][0]++,iframeDoc)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['16'][1]++,iframeWin.location.href!=='about:blank')){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['15'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['86']++;var docEl=iframeDoc.documentElement;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['87']++;var docOffsetHeight=(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['17'][0]++,docEl)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['17'][1]++,Math.max(docEl.offsetHeight,docEl.scrollHeight))||(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['17'][2]++,0);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['88']++;var standardsMode=iframeDoc.compatMode==='CSS1Compat';__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['89']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['19'][0]++,standardsMode)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['19'][1]++,docOffsetHeight)){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['18'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['90']++;contentHeight=docOffsetHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['18'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['91']++;contentHeight=(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['20'][0]++,AutosizeIframe._getQuirksHeight(iframeWin))||(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['20'][1]++,fallbackHeight);}}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['15'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['92']++;return contentHeight;},_getQuirksHeight:function(iframeWin){__cov_GqX5Z0fCzYCNKJOZMEeOxA.f['19']++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['93']++;var contentHeight=0;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['94']++;var iframeDoc=iframeWin.document;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['95']++;var docEl=(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['21'][0]++,iframeDoc)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['21'][1]++,iframeDoc.documentElement);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['96']++;var iframeBody=(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['22'][0]++,iframeDoc)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['22'][1]++,iframeDoc.body);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['97']++;var viewPortHeight=0;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['98']++;if(iframeWin.innerHeight){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['23'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['99']++;viewPortHeight=iframeWin.innerHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['23'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['100']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['25'][0]++,docEl)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['25'][1]++,docEl.clientHeight)){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['24'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['101']++;viewPortHeight=docEl.clientHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['24'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['102']++;if(iframeBody){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['26'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['103']++;viewPortHeight=iframeBody.clientHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['26'][1]++;}}}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['104']++;if(iframeDoc){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['27'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['105']++;var docClientHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['106']++;var docScrollHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['107']++;var docOffsetHeight=(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['28'][0]++,iframeBody)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['28'][1]++,iframeBody.offsetHeight);__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['108']++;if(docEl){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['29'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['109']++;docClientHeight=docEl.clientHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['110']++;docScrollHeight=docEl.scrollHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['111']++;docOffsetHeight=docEl.offsetHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['29'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['112']++;if((__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['31'][0]++,docClientHeight!==docOffsetHeight)&&(__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['31'][1]++,iframeBody)){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['30'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['113']++;docOffsetHeight=iframeBody.offsetHeight;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['114']++;docScrollHeight=iframeBody.scrollHeight;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['30'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['115']++;var compareNum;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['116']++;if(docScrollHeight>viewPortHeight){__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['32'][0]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['117']++;compareNum=Math.max;}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['32'][1]++;__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['118']++;compareNum=Math.min;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['119']++;contentHeight=compareNum(docScrollHeight,docOffsetHeight);}else{__cov_GqX5Z0fCzYCNKJOZMEeOxA.b['27'][1]++;}__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['120']++;return contentHeight;}});__cov_GqX5Z0fCzYCNKJOZMEeOxA.s['121']++;A.Plugin.AutosizeIframe=AutosizeIframe;},'3.1.0-deprecated.52',{'requires':['plugin','aui-component','aui-timer','aui-node-base']});
diff --git a/build/aui-autosize-iframe/aui-autosize-iframe-debug.js b/build/aui-autosize-iframe/aui-autosize-iframe-debug.js
new file mode 100644
index 00000000000..d79cf35afba
--- /dev/null
+++ b/build/aui-autosize-iframe/aui-autosize-iframe-debug.js
@@ -0,0 +1,486 @@
+YUI.add('aui-autosize-iframe', function (A, NAME) {
+
+/**
+ * The Autosize Iframe Utility
+ *
+ * @module aui-autosize-iframe
+ */
+
+var getClassName = A.getClassName,
+
+ CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT = getClassName('autosizeiframe', 'monitored', 'height');
+
+/**
+ * A base class for `A.AutosizeIframe`.
+ *
+ * @class A.AutosizeIframe
+ * @extends Plugin.Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var AutosizeIframe = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type {String}
+ * @static
+ */
+ NAME: 'autosizeiframe',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type {String}
+ * @static
+ */
+ NS: 'autosizeiframe',
+
+ /**
+ * Static property used to define which component it extends.
+ *
+ * @property EXTENDS
+ * @type {String}
+ * @static
+ */
+ EXTENDS: A.Plugin.Base,
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the `A.AutosizeIframe`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The height of the iframe.
+ *
+ * @attribute height
+ * @default 0
+ * @type {Number}
+ */
+ height: {
+ value: 0
+ },
+
+ /**
+ * Indicates if the height should be monitored.
+ *
+ * @attribute monitorHeight
+ * @default true
+ * @type {Boolean}
+ */
+ monitorHeight: {
+ value: true
+ },
+
+ /**
+ * The width of the iframe.
+ *
+ * @attribute width
+ * @default null
+ * @type {Number}
+ */
+ width: {
+ value: null
+ }
+ },
+
+ prototype: {
+
+ /**
+ * Construction logic executed during `A.AutosizeIframe` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ * @param config
+ * @protected
+ */
+ initializer: function(config) {
+ var instance = this;
+
+ var frame = instance.get('host');
+
+ instance.node = frame;
+ instance._iframeEl = frame.getDOM();
+
+ instance._defaultHeight = config.height;
+
+ instance.bindUI();
+ instance.syncUI();
+ },
+
+ /**
+ * Binds the events on the `A.AutosizeIframe` UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.after('heightChange', instance._afterHeightChange);
+ instance.after('widthChange', instance._afterWidthChange);
+ instance.after('monitorHeightChange', instance._afterMonitorHeightChange);
+ },
+
+ /**
+ * Syncs the `A.AutosizeIframe` UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(instance.get('monitorHeight'));
+ },
+
+ /**
+ * Destructor lifecycle implementation for the `A.AutosizeIframe` class.
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(false);
+ },
+
+ /**
+ * Stops to monitor the height.
+ *
+ * @method pauseMonitor
+ */
+ pauseMonitor: function() {
+ var instance = this;
+
+ instance._clearInterval();
+ },
+
+ /**
+ * Restarts to monitor the height.
+ *
+ * @method restartMonitor
+ */
+ restartMonitor: function() {
+ var instance = this;
+
+ if (instance.get('monitorHeight')) {
+ instance._setInterval();
+ }
+ },
+
+ /**
+ * Fires after `height` attribute changes.
+ *
+ * @method _afterHeightChange
+ * @param event
+ * @protected
+ */
+ _afterHeightChange: function(event) {
+ var instance = this;
+
+ instance._uiSetHeight(event.newVal);
+ },
+
+ /**
+ * Fires after `monitorHeight` attribute changes.
+ *
+ * @method _afterMonitorHeightChange
+ * @param event
+ * @protected
+ */
+ _afterMonitorHeightChange: function(event) {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(event.newVal);
+ },
+
+ /**
+ * Fires after `width` attribute changes.
+ *
+ * @method _afterWidthChange
+ * @param event
+ * @protected
+ */
+ _afterWidthChange: function(event) {
+ var instance = this;
+
+ instance._uiSetWidth(event.newVal);
+ },
+
+ /**
+ * Cancels repeated action which was set up using `setInterval`.
+ *
+ * @method _clearInterval
+ * @protected
+ */
+ _clearInterval: function() {
+ var instance = this,
+ iframeDoc = instance._iframeDoc;
+
+ if (iframeDoc) {
+ var docEl = iframeDoc.documentElement;
+
+ if (docEl) {
+ docEl.style.overflowY = '';
+ }
+ }
+
+ if (instance._intervalId) {
+ A.clearInterval(instance._intervalId);
+
+ instance._intervalId = null;
+ }
+ },
+
+ /**
+ * Fires when a window resize happens.
+ *
+ * @method _onResize
+ * @protected
+ */
+ _onResize: function() {
+ var instance = this;
+
+ instance._iframeDoc = null;
+
+ var newHeight = instance._iframeHeight;
+
+ var iframeDoc;
+ var iframeWin;
+
+ try {
+ iframeWin = instance._iframeEl.contentWindow;
+
+ iframeDoc = iframeWin.document;
+
+ instance._iframeDoc = iframeDoc;
+ }
+ catch (e) {}
+
+ if (iframeDoc && iframeWin) {
+ newHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc, instance._iframeHeight);
+
+ instance._uiSetHeight(newHeight);
+ }
+ else if (!iframeDoc) {
+ instance._clearInterval();
+
+ instance._uiSetHeight(instance._defaultHeight);
+ }
+ },
+
+ /**
+ * Calls a function repeatedly, with a fixed time delay between each
+ * call to that function.
+ *
+ * @method _setInterval
+ * @param event
+ * @protected
+ */
+ _setInterval: function() {
+ var instance = this;
+
+ if (!instance._intervalId) {
+ instance._onResize();
+
+ instance._intervalId = A.setInterval(instance._onResize, 100, instance);
+ }
+ },
+
+ /**
+ * Sets the iframe height in the UI.
+ *
+ * @method _uiSetHeight
+ * @param value
+ * @protected
+ */
+ _uiSetHeight: function(value) {
+ var instance = this;
+
+ if (instance._iframeHeight !== value) {
+ instance._iframeHeight = value;
+
+ instance.node.setStyle('height', value);
+ }
+ },
+
+ /**
+ * Sets the monitor height in the UI.
+ *
+ * @method _uiSetMonitorHeight
+ * @param monitorHeight
+ * @protected
+ */
+ _uiSetMonitorHeight: function(monitorHeight) {
+ var instance = this;
+
+ var iframe = instance.node;
+
+ if (monitorHeight) {
+ instance._setInterval();
+
+ instance._loadHandle = iframe.on('load', instance._setInterval, instance);
+
+ iframe.addClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);
+ }
+ else {
+ instance._clearInterval();
+
+ if (instance._loadHandle) {
+ instance._loadHandle.detach();
+ }
+
+ iframe.removeClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);
+ }
+ },
+
+ /**
+ * Sets the iframe width in the UI.
+ *
+ * @method _uiSetWidth
+ * @param value
+ * @protected
+ */
+ _uiSetWidth: function(value) {
+ var instance = this;
+
+ instance.node.setStyle('width', value);
+ },
+
+ _iframeHeight: 0
+ }
+});
+
+A.mix(AutosizeIframe, {
+
+ /**
+ * Returns the content height of a window.
+ *
+ * @method getContentHeight
+ * @param iframeWin
+ * @return {Number | null}
+ */
+ getContentHeight: function(iframeWin) {
+ var contentHeight = null;
+
+ try {
+ var iframeDoc;
+
+ if (iframeWin.nodeName && iframeWin.nodeName.toLowerCase() === 'iframe') {
+ iframeWin = iframeWin.contentWindow;
+ }
+ else if (A.instanceOf(iframeWin, A.Node)) {
+ iframeWin = iframeWin.getDOM().contentWindow;
+ }
+
+ iframeDoc = iframeWin.document;
+
+ contentHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc);
+ }
+ catch (e) {}
+
+ return contentHeight;
+ },
+
+ /**
+ * Returns the content height of a window.
+ *
+ * @method _getContentHeight
+ * @param iframeWin, iframeDoc, fallbackHeight
+ * @protected
+ * @return {Number | null}
+ */
+ _getContentHeight: function(iframeWin, iframeDoc, fallbackHeight) {
+ var contentHeight = null;
+
+ if (iframeDoc && iframeWin.location.href !== 'about:blank') {
+ var docEl = iframeDoc.documentElement;
+
+ var docOffsetHeight = (docEl && Math.max(docEl.offsetHeight, docEl.scrollHeight)) || 0;
+
+ var standardsMode = (iframeDoc.compatMode === 'CSS1Compat');
+
+ if (standardsMode && docOffsetHeight) {
+ contentHeight = docOffsetHeight;
+ }
+ else {
+ contentHeight = AutosizeIframe._getQuirksHeight(iframeWin) || fallbackHeight;
+ }
+ }
+
+ return contentHeight;
+ },
+
+ /**
+ * Returns the quirks content height of a window.
+ *
+ * @method _getQuirksHeight
+ * @param iframeWin
+ * @protected
+ * @return {Number}
+ */
+ _getQuirksHeight: function(iframeWin) {
+ var contentHeight = 0;
+
+ var iframeDoc = iframeWin.document;
+ var docEl = iframeDoc && iframeDoc.documentElement;
+ var iframeBody = iframeDoc && iframeDoc.body;
+
+ var viewPortHeight = 0;
+
+ if (iframeWin.innerHeight) {
+ viewPortHeight = iframeWin.innerHeight;
+ }
+ else if (docEl && docEl.clientHeight) {
+ viewPortHeight = docEl.clientHeight;
+ }
+ else if (iframeBody) {
+ viewPortHeight = iframeBody.clientHeight;
+ }
+
+ if (iframeDoc) {
+ var docClientHeight;
+ var docScrollHeight;
+ var docOffsetHeight = (iframeBody && iframeBody.offsetHeight);
+
+ if (docEl) {
+ docClientHeight = docEl.clientHeight;
+ docScrollHeight = docEl.scrollHeight;
+ docOffsetHeight = docEl.offsetHeight;
+ }
+
+ if (docClientHeight !== docOffsetHeight && iframeBody) {
+ docOffsetHeight = iframeBody.offsetHeight;
+ docScrollHeight = iframeBody.scrollHeight;
+ }
+
+ var compareNum;
+
+ if (docScrollHeight > viewPortHeight) {
+ compareNum = Math.max;
+ }
+ else {
+ compareNum = Math.min;
+ }
+
+ contentHeight = compareNum(docScrollHeight, docOffsetHeight);
+ }
+
+ return contentHeight;
+ }
+});
+
+A.Plugin.AutosizeIframe = AutosizeIframe;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["plugin", "aui-component", "aui-timer", "aui-node-base"]});
diff --git a/build/aui-autosize-iframe/aui-autosize-iframe-min.js b/build/aui-autosize-iframe/aui-autosize-iframe-min.js
new file mode 100644
index 00000000000..b7489fd23d8
--- /dev/null
+++ b/build/aui-autosize-iframe/aui-autosize-iframe-min.js
@@ -0,0 +1 @@
+YUI.add("aui-autosize-iframe",function(e,t){var n=e.getClassName,r=n("autosizeiframe","monitored","height"),i=e.Component.create({NAME:"autosizeiframe",NS:"autosizeiframe",EXTENDS:e.Plugin.Base,ATTRS:{height:{value:0},monitorHeight:{value:!0},width:{value:null}},prototype:{initializer:function(e){var t=this,n=t.get("host");t.node=n,t._iframeEl=n.getDOM(),t._defaultHeight=e.height,t.bindUI(),t.syncUI()},bindUI:function(){var e=this;e.after("heightChange",e._afterHeightChange),e.after("widthChange",e._afterWidthChange),e.after("monitorHeightChange",e._afterMonitorHeightChange)},syncUI:function(){var e=this;e._uiSetMonitorHeight(e.get("monitorHeight"))},destructor:function(){var e=this;e._uiSetMonitorHeight(!1)},pauseMonitor:function(){var e=this;e._clearInterval()},restartMonitor:function(){var e=this;e.get("monitorHeight")&&e._setInterval()},_afterHeightChange:function(e){var t=this;t._uiSetHeight(e.newVal)},_afterMonitorHeightChange:function(e){var t=this;t._uiSetMonitorHeight(e.newVal)},_afterWidthChange:function(e){var t=this;t._uiSetWidth(e.newVal)},_clearInterval:function(){var t=this,n=t._iframeDoc;if(n){var r=n.documentElement;r&&(r.style.overflowY="")}t._intervalId&&(e.clearInterval(t._intervalId),t._intervalId=null)},_onResize:function(){var e=this;e._iframeDoc=null;var t=e._iframeHeight,n,r;try{r=e._iframeEl.contentWindow,n=r.document,e._iframeDoc=n}catch(s){}n&&r?(t=i._getContentHeight(r,n,e._iframeHeight),e._uiSetHeight(t)):n||(e._clearInterval(),e._uiSetHeight(e._defaultHeight))},_setInterval:function(){var t=this;t._intervalId||(t._onResize(),t._intervalId=e.setInterval(t._onResize,100,t))},_uiSetHeight:function(e){var t=this;t._iframeHeight!==e&&(t._iframeHeight=e,t.node.setStyle("height",e))},_uiSetMonitorHeight:function(e){var t=this,n=t.node;e?(t._setInterval(),t._loadHandle=n.on("load",t._setInterval,t),n.addClass(r)):(t._clearInterval(),t._loadHandle&&t._loadHandle.detach(),n.removeClass(r))},_uiSetWidth:function(e){var t=this;t.node.setStyle("width",e)},_iframeHeight:0}});e.mix(i,{getContentHeight:function(t){var n=null;try{var r;t.nodeName&&t.nodeName.toLowerCase()==="iframe"?t=t.contentWindow:e.instanceOf(t,e.Node)&&(t=t.getDOM().contentWindow),r=t.document,n=i._getContentHeight(t,r)}catch(s){}return n},_getContentHeight:function(e,t,n){var r=null;if(t&&e.location.href!=="about:blank"){var s=t.documentElement,o=s&&Math.max(s.offsetHeight,s.scrollHeight)||0,u=t.compatMode==="CSS1Compat";u&&o?r=o:r=i._getQuirksHeight(e)||n}return r},_getQuirksHeight:function(e){var t=0,n=e.document,r=n&&n.documentElement,i=n&&n.body,s=0;e.innerHeight?s=e.innerHeight:r&&r.clientHeight?s=r.clientHeight:i&&(s=i.clientHeight);if(n){var o,u,a=i&&i.offsetHeight;r&&(o=r.clientHeight,u=r.scrollHeight,a=r.offsetHeight),o!==a&&i&&(a=i.offsetHeight,u=i.scrollHeight);var f;u>s?f=Math.max:f=Math.min,t=f(u,a)}return t}}),e.Plugin.AutosizeIframe=i},"3.1.0-deprecated.52",{requires:["plugin","aui-component","aui-timer","aui-node-base"]});
diff --git a/build/aui-autosize-iframe/aui-autosize-iframe.js b/build/aui-autosize-iframe/aui-autosize-iframe.js
new file mode 100644
index 00000000000..d79cf35afba
--- /dev/null
+++ b/build/aui-autosize-iframe/aui-autosize-iframe.js
@@ -0,0 +1,486 @@
+YUI.add('aui-autosize-iframe', function (A, NAME) {
+
+/**
+ * The Autosize Iframe Utility
+ *
+ * @module aui-autosize-iframe
+ */
+
+var getClassName = A.getClassName,
+
+ CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT = getClassName('autosizeiframe', 'monitored', 'height');
+
+/**
+ * A base class for `A.AutosizeIframe`.
+ *
+ * @class A.AutosizeIframe
+ * @extends Plugin.Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var AutosizeIframe = A.Component.create({
+
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property NAME
+ * @type {String}
+ * @static
+ */
+ NAME: 'autosizeiframe',
+
+ /**
+ * Static property provides a string to identify the namespace.
+ *
+ * @property NS
+ * @type {String}
+ * @static
+ */
+ NS: 'autosizeiframe',
+
+ /**
+ * Static property used to define which component it extends.
+ *
+ * @property EXTENDS
+ * @type {String}
+ * @static
+ */
+ EXTENDS: A.Plugin.Base,
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the `A.AutosizeIframe`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * The height of the iframe.
+ *
+ * @attribute height
+ * @default 0
+ * @type {Number}
+ */
+ height: {
+ value: 0
+ },
+
+ /**
+ * Indicates if the height should be monitored.
+ *
+ * @attribute monitorHeight
+ * @default true
+ * @type {Boolean}
+ */
+ monitorHeight: {
+ value: true
+ },
+
+ /**
+ * The width of the iframe.
+ *
+ * @attribute width
+ * @default null
+ * @type {Number}
+ */
+ width: {
+ value: null
+ }
+ },
+
+ prototype: {
+
+ /**
+ * Construction logic executed during `A.AutosizeIframe` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ * @param config
+ * @protected
+ */
+ initializer: function(config) {
+ var instance = this;
+
+ var frame = instance.get('host');
+
+ instance.node = frame;
+ instance._iframeEl = frame.getDOM();
+
+ instance._defaultHeight = config.height;
+
+ instance.bindUI();
+ instance.syncUI();
+ },
+
+ /**
+ * Binds the events on the `A.AutosizeIframe` UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var instance = this;
+
+ instance.after('heightChange', instance._afterHeightChange);
+ instance.after('widthChange', instance._afterWidthChange);
+ instance.after('monitorHeightChange', instance._afterMonitorHeightChange);
+ },
+
+ /**
+ * Syncs the `A.AutosizeIframe` UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(instance.get('monitorHeight'));
+ },
+
+ /**
+ * Destructor lifecycle implementation for the `A.AutosizeIframe` class.
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(false);
+ },
+
+ /**
+ * Stops to monitor the height.
+ *
+ * @method pauseMonitor
+ */
+ pauseMonitor: function() {
+ var instance = this;
+
+ instance._clearInterval();
+ },
+
+ /**
+ * Restarts to monitor the height.
+ *
+ * @method restartMonitor
+ */
+ restartMonitor: function() {
+ var instance = this;
+
+ if (instance.get('monitorHeight')) {
+ instance._setInterval();
+ }
+ },
+
+ /**
+ * Fires after `height` attribute changes.
+ *
+ * @method _afterHeightChange
+ * @param event
+ * @protected
+ */
+ _afterHeightChange: function(event) {
+ var instance = this;
+
+ instance._uiSetHeight(event.newVal);
+ },
+
+ /**
+ * Fires after `monitorHeight` attribute changes.
+ *
+ * @method _afterMonitorHeightChange
+ * @param event
+ * @protected
+ */
+ _afterMonitorHeightChange: function(event) {
+ var instance = this;
+
+ instance._uiSetMonitorHeight(event.newVal);
+ },
+
+ /**
+ * Fires after `width` attribute changes.
+ *
+ * @method _afterWidthChange
+ * @param event
+ * @protected
+ */
+ _afterWidthChange: function(event) {
+ var instance = this;
+
+ instance._uiSetWidth(event.newVal);
+ },
+
+ /**
+ * Cancels repeated action which was set up using `setInterval`.
+ *
+ * @method _clearInterval
+ * @protected
+ */
+ _clearInterval: function() {
+ var instance = this,
+ iframeDoc = instance._iframeDoc;
+
+ if (iframeDoc) {
+ var docEl = iframeDoc.documentElement;
+
+ if (docEl) {
+ docEl.style.overflowY = '';
+ }
+ }
+
+ if (instance._intervalId) {
+ A.clearInterval(instance._intervalId);
+
+ instance._intervalId = null;
+ }
+ },
+
+ /**
+ * Fires when a window resize happens.
+ *
+ * @method _onResize
+ * @protected
+ */
+ _onResize: function() {
+ var instance = this;
+
+ instance._iframeDoc = null;
+
+ var newHeight = instance._iframeHeight;
+
+ var iframeDoc;
+ var iframeWin;
+
+ try {
+ iframeWin = instance._iframeEl.contentWindow;
+
+ iframeDoc = iframeWin.document;
+
+ instance._iframeDoc = iframeDoc;
+ }
+ catch (e) {}
+
+ if (iframeDoc && iframeWin) {
+ newHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc, instance._iframeHeight);
+
+ instance._uiSetHeight(newHeight);
+ }
+ else if (!iframeDoc) {
+ instance._clearInterval();
+
+ instance._uiSetHeight(instance._defaultHeight);
+ }
+ },
+
+ /**
+ * Calls a function repeatedly, with a fixed time delay between each
+ * call to that function.
+ *
+ * @method _setInterval
+ * @param event
+ * @protected
+ */
+ _setInterval: function() {
+ var instance = this;
+
+ if (!instance._intervalId) {
+ instance._onResize();
+
+ instance._intervalId = A.setInterval(instance._onResize, 100, instance);
+ }
+ },
+
+ /**
+ * Sets the iframe height in the UI.
+ *
+ * @method _uiSetHeight
+ * @param value
+ * @protected
+ */
+ _uiSetHeight: function(value) {
+ var instance = this;
+
+ if (instance._iframeHeight !== value) {
+ instance._iframeHeight = value;
+
+ instance.node.setStyle('height', value);
+ }
+ },
+
+ /**
+ * Sets the monitor height in the UI.
+ *
+ * @method _uiSetMonitorHeight
+ * @param monitorHeight
+ * @protected
+ */
+ _uiSetMonitorHeight: function(monitorHeight) {
+ var instance = this;
+
+ var iframe = instance.node;
+
+ if (monitorHeight) {
+ instance._setInterval();
+
+ instance._loadHandle = iframe.on('load', instance._setInterval, instance);
+
+ iframe.addClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);
+ }
+ else {
+ instance._clearInterval();
+
+ if (instance._loadHandle) {
+ instance._loadHandle.detach();
+ }
+
+ iframe.removeClass(CSS_AUTOSIZE_IFRAME_MONITORED_HEIGHT);
+ }
+ },
+
+ /**
+ * Sets the iframe width in the UI.
+ *
+ * @method _uiSetWidth
+ * @param value
+ * @protected
+ */
+ _uiSetWidth: function(value) {
+ var instance = this;
+
+ instance.node.setStyle('width', value);
+ },
+
+ _iframeHeight: 0
+ }
+});
+
+A.mix(AutosizeIframe, {
+
+ /**
+ * Returns the content height of a window.
+ *
+ * @method getContentHeight
+ * @param iframeWin
+ * @return {Number | null}
+ */
+ getContentHeight: function(iframeWin) {
+ var contentHeight = null;
+
+ try {
+ var iframeDoc;
+
+ if (iframeWin.nodeName && iframeWin.nodeName.toLowerCase() === 'iframe') {
+ iframeWin = iframeWin.contentWindow;
+ }
+ else if (A.instanceOf(iframeWin, A.Node)) {
+ iframeWin = iframeWin.getDOM().contentWindow;
+ }
+
+ iframeDoc = iframeWin.document;
+
+ contentHeight = AutosizeIframe._getContentHeight(iframeWin, iframeDoc);
+ }
+ catch (e) {}
+
+ return contentHeight;
+ },
+
+ /**
+ * Returns the content height of a window.
+ *
+ * @method _getContentHeight
+ * @param iframeWin, iframeDoc, fallbackHeight
+ * @protected
+ * @return {Number | null}
+ */
+ _getContentHeight: function(iframeWin, iframeDoc, fallbackHeight) {
+ var contentHeight = null;
+
+ if (iframeDoc && iframeWin.location.href !== 'about:blank') {
+ var docEl = iframeDoc.documentElement;
+
+ var docOffsetHeight = (docEl && Math.max(docEl.offsetHeight, docEl.scrollHeight)) || 0;
+
+ var standardsMode = (iframeDoc.compatMode === 'CSS1Compat');
+
+ if (standardsMode && docOffsetHeight) {
+ contentHeight = docOffsetHeight;
+ }
+ else {
+ contentHeight = AutosizeIframe._getQuirksHeight(iframeWin) || fallbackHeight;
+ }
+ }
+
+ return contentHeight;
+ },
+
+ /**
+ * Returns the quirks content height of a window.
+ *
+ * @method _getQuirksHeight
+ * @param iframeWin
+ * @protected
+ * @return {Number}
+ */
+ _getQuirksHeight: function(iframeWin) {
+ var contentHeight = 0;
+
+ var iframeDoc = iframeWin.document;
+ var docEl = iframeDoc && iframeDoc.documentElement;
+ var iframeBody = iframeDoc && iframeDoc.body;
+
+ var viewPortHeight = 0;
+
+ if (iframeWin.innerHeight) {
+ viewPortHeight = iframeWin.innerHeight;
+ }
+ else if (docEl && docEl.clientHeight) {
+ viewPortHeight = docEl.clientHeight;
+ }
+ else if (iframeBody) {
+ viewPortHeight = iframeBody.clientHeight;
+ }
+
+ if (iframeDoc) {
+ var docClientHeight;
+ var docScrollHeight;
+ var docOffsetHeight = (iframeBody && iframeBody.offsetHeight);
+
+ if (docEl) {
+ docClientHeight = docEl.clientHeight;
+ docScrollHeight = docEl.scrollHeight;
+ docOffsetHeight = docEl.offsetHeight;
+ }
+
+ if (docClientHeight !== docOffsetHeight && iframeBody) {
+ docOffsetHeight = iframeBody.offsetHeight;
+ docScrollHeight = iframeBody.scrollHeight;
+ }
+
+ var compareNum;
+
+ if (docScrollHeight > viewPortHeight) {
+ compareNum = Math.max;
+ }
+ else {
+ compareNum = Math.min;
+ }
+
+ contentHeight = compareNum(docScrollHeight, docOffsetHeight);
+ }
+
+ return contentHeight;
+ }
+});
+
+A.Plugin.AutosizeIframe = AutosizeIframe;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["plugin", "aui-component", "aui-timer", "aui-node-base"]});
diff --git a/build/aui-base-core/aui-base-core-coverage.js b/build/aui-base-core/aui-base-core-coverage.js
new file mode 100644
index 00000000000..729ba4afdf8
--- /dev/null
+++ b/build/aui-base-core/aui-base-core-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-base-core/aui-base-core.js']) {
+ __coverage__['build/aui-base-core/aui-base-core.js'] = {"path":"build/aui-base-core/aui-base-core.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"(anonymous_2)","line":261,"loc":{"start":{"line":261,"column":20},"end":{"line":261,"column":32}}},"3":{"name":"(anonymous_3)","line":750,"loc":{"start":{"line":750,"column":20},"end":{"line":750,"column":32}}},"4":{"name":"(anonymous_4)","line":757,"loc":{"start":{"line":757,"column":18},"end":{"line":757,"column":29}}},"5":{"name":"(anonymous_5)","line":1381,"loc":{"start":{"line":1381,"column":20},"end":{"line":1381,"column":32}}},"6":{"name":"(anonymous_6)","line":2201,"loc":{"start":{"line":2201,"column":13},"end":{"line":2201,"column":24}}},"7":{"name":"(anonymous_7)","line":2211,"loc":{"start":{"line":2211,"column":21},"end":{"line":2211,"column":50}}},"8":{"name":"(anonymous_8)","line":2229,"loc":{"start":{"line":2229,"column":1},"end":{"line":2229,"column":12}}},"9":{"name":"(anonymous_9)","line":2232,"loc":{"start":{"line":2232,"column":26},"end":{"line":2232,"column":37}}},"10":{"name":"(anonymous_10)","line":2239,"loc":{"start":{"line":2239,"column":21},"end":{"line":2239,"column":40}}},"11":{"name":"(anonymous_11)","line":2242,"loc":{"start":{"line":2242,"column":36},"end":{"line":2242,"column":47}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":2251,"column":26}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":10}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":34,"column":3}},"5":{"start":{"line":44,"column":0},"end":{"line":44,"column":62}},"6":{"start":{"line":45,"column":0},"end":{"line":2182,"column":3}},"7":{"start":{"line":262,"column":4},"end":{"line":262,"column":44}},"8":{"start":{"line":751,"column":4},"end":{"line":753,"column":36}},"9":{"start":{"line":755,"column":4},"end":{"line":761,"column":5}},"10":{"start":{"line":756,"column":8},"end":{"line":760,"column":11}},"11":{"start":{"line":758,"column":16},"end":{"line":758,"column":114}},"12":{"start":{"line":763,"column":4},"end":{"line":763,"column":42}},"13":{"start":{"line":1382,"column":4},"end":{"line":1382,"column":24}},"14":{"start":{"line":2183,"column":0},"end":{"line":2183,"column":60}},"15":{"start":{"line":2201,"column":0},"end":{"line":2209,"column":5}},"16":{"start":{"line":2202,"column":4},"end":{"line":2202,"column":63}},"17":{"start":{"line":2204,"column":4},"end":{"line":2206,"column":5}},"18":{"start":{"line":2205,"column":8},"end":{"line":2205,"column":30}},"19":{"start":{"line":2208,"column":4},"end":{"line":2208,"column":13}},"20":{"start":{"line":2211,"column":0},"end":{"line":2228,"column":2}},"21":{"start":{"line":2212,"column":4},"end":{"line":2212,"column":33}},"22":{"start":{"line":2214,"column":4},"end":{"line":2223,"column":5}},"23":{"start":{"line":2215,"column":8},"end":{"line":2217,"column":9}},"24":{"start":{"line":2216,"column":12},"end":{"line":2216,"column":56}},"25":{"start":{"line":2219,"column":8},"end":{"line":2222,"column":9}},"26":{"start":{"line":2220,"column":12},"end":{"line":2220,"column":48}},"27":{"start":{"line":2221,"column":12},"end":{"line":2221,"column":62}},"28":{"start":{"line":2225,"column":4},"end":{"line":2225,"column":19}},"29":{"start":{"line":2227,"column":4},"end":{"line":2227,"column":16}},"30":{"start":{"line":2229,"column":0},"end":{"line":2248,"column":5}},"31":{"start":{"line":2230,"column":4},"end":{"line":2230,"column":38}},"32":{"start":{"line":2232,"column":4},"end":{"line":2247,"column":6}},"33":{"start":{"line":2233,"column":8},"end":{"line":2236,"column":54}},"34":{"start":{"line":2238,"column":8},"end":{"line":2238,"column":38}},"35":{"start":{"line":2239,"column":8},"end":{"line":2245,"column":11}},"36":{"start":{"line":2240,"column":12},"end":{"line":2240,"column":33}},"37":{"start":{"line":2242,"column":12},"end":{"line":2244,"column":15}},"38":{"start":{"line":2243,"column":16},"end":{"line":2243,"column":47}},"39":{"start":{"line":2246,"column":8},"end":{"line":2246,"column":46}}},"branchMap":{"1":{"line":4,"type":"binary-expr","locations":[{"start":{"line":4,"column":18},"end":{"line":4,"column":33}},{"start":{"line":4,"column":37},"end":{"line":4,"column":39}}]},"2":{"line":44,"type":"binary-expr","locations":[{"start":{"line":44,"column":29},"end":{"line":44,"column":55}},{"start":{"line":44,"column":59},"end":{"line":44,"column":61}}]},"3":{"line":262,"type":"binary-expr","locations":[{"start":{"line":262,"column":11},"end":{"line":262,"column":22}},{"start":{"line":262,"column":26},"end":{"line":262,"column":43}}]},"4":{"line":755,"type":"if","locations":[{"start":{"line":755,"column":4},"end":{"line":755,"column":4}},{"start":{"line":755,"column":4},"end":{"line":755,"column":4}}]},"5":{"line":758,"type":"binary-expr","locations":[{"start":{"line":758,"column":23},"end":{"line":758,"column":84}},{"start":{"line":758,"column":89},"end":{"line":758,"column":97}},{"start":{"line":758,"column":101},"end":{"line":758,"column":112}}]},"6":{"line":2204,"type":"if","locations":[{"start":{"line":2204,"column":4},"end":{"line":2204,"column":4}},{"start":{"line":2204,"column":4},"end":{"line":2204,"column":4}}]},"7":{"line":2214,"type":"if","locations":[{"start":{"line":2214,"column":4},"end":{"line":2214,"column":4}},{"start":{"line":2214,"column":4},"end":{"line":2214,"column":4}}]},"8":{"line":2215,"type":"if","locations":[{"start":{"line":2215,"column":8},"end":{"line":2215,"column":8}},{"start":{"line":2215,"column":8},"end":{"line":2215,"column":8}}]},"9":{"line":2219,"type":"if","locations":[{"start":{"line":2219,"column":8},"end":{"line":2219,"column":8}},{"start":{"line":2219,"column":8},"end":{"line":2219,"column":8}}]}},"code":["(function () { YUI.add('aui-base-core', function (A, NAME) {","","var Y = A;","YUI.Env.aliases = YUI.Env.aliases || {};","Y.mix(YUI.Env.aliases, {"," \"aui-autosize\": [\"aui-autosize-iframe\"],"," \"aui-base\": [\"oop\",\"yui-throttle\",\"aui-classnamemanager\",\"aui-debounce\",\"aui-base-core\",\"aui-base-lang\",\"aui-node-base\"],"," \"aui-base-deprecated\": [\"aui-base\",\"aui-node\",\"aui-component\",\"aui-delayed-task-deprecated\",\"aui-selector\",\"aui-event-base\"],"," \"aui-button\": [\"aui-button-core\"],"," \"aui-collection\": [\"aui-map\",\"aui-set\",\"aui-linkedset\"],"," \"aui-color-picker-deprecated\": [\"aui-color-picker-base-deprecated\",\"aui-color-picker-grid-plugin-deprecated\"],"," \"aui-datasource-control-deprecated\": [\"aui-datasource-control-base-deprecated\",\"aui-input-text-control-deprecated\"],"," \"aui-datatable\": [\"aui-datatable-edit\",\"aui-datatable-highlight\",\"aui-datatable-selection\",\"aui-datatable-property-list\"],"," \"aui-datatable-edit\": [\"datatable-base\",\"calendar\",\"overlay\",\"sortable\",\"aui-datatype\",\"aui-toolbar\",\"aui-form-validator\",\"aui-datatable-base-cell-editor\",\"aui-datatable-base-options-cell-editor\",\"aui-datatable-cell-editor-support\",\"aui-datatable-core\",\"aui-datatable-checkbox-cell-editor\",\"aui-datatable-date-cell-editor\",\"aui-datatable-dropdown-cell-editor\",\"aui-datatable-radio-cell-editor\",\"aui-datatable-text-cell-editor\",\"aui-datatable-text-area-cell-editor\"],"," \"aui-datepicker-deprecated\": [\"aui-datepicker-base-deprecated\",\"aui-datepicker-select-deprecated\"],"," \"aui-event\": [\"aui-event-base\"],"," \"aui-form-deprecated\": [\"aui-form-base-deprecated\",\"aui-form-combobox-deprecated\",\"aui-form-field-deprecated\",\"aui-form-select-deprecated\",\"aui-form-textarea-deprecated\",\"aui-form-textfield-deprecated\"],"," \"aui-io\": [\"aui-io-request\"],"," \"aui-io-deprecated\": [\"aui-io-request\",\"aui-io-plugin-deprecated\"],"," \"aui-node\": [\"aui-node-base\"],"," \"aui-overlay-deprecated\": [\"aui-overlay-base-deprecated\",\"aui-overlay-context-deprecated\",\"aui-overlay-context-panel-deprecated\",\"aui-overlay-manager-deprecated\",\"aui-overlay-mask-deprecated\"],"," \"aui-rating\": [\"aui-rating-base\",\"aui-rating-thumb\"],"," \"aui-resize-deprecated\": [\"aui-resize-base-deprecated\",\"aui-resize-constrain-deprecated\"],"," \"aui-scheduler\": [\"event-gestures\",\"aui-scheduler-base\",\"aui-scheduler-event-recorder\",\"aui-scheduler-view-agenda\",\"aui-scheduler-view-day\",\"aui-scheduler-view-month\",\"aui-scheduler-view-table-dd\",\"aui-scheduler-view-table\",\"aui-scheduler-view-week\",\"aui-viewport\"],"," \"aui-search\": [\"aui-search-tst\"],"," \"aui-sortable\": [\"aui-sortable-layout\",\"aui-sortable-list\"],"," \"aui-surface\": [\"aui-surface-app\",\"aui-surface-screen\"],"," \"aui-toggler\": [\"aui-toggler-base\",\"aui-toggler-delegate\"],"," \"aui-tooltip\": [\"aui-tooltip-base\",\"aui-tooltip-delegate\"],"," \"aui-tpl-snippets-deprecated\": [\"aui-tpl-snippets-base-deprecated\",\"aui-tpl-snippets-checkbox-deprecated\",\"aui-tpl-snippets-input-deprecated\",\"aui-tpl-snippets-select-deprecated\",\"aui-tpl-snippets-textarea-deprecated\"],"," \"aui-tree\": [\"aui-tree-data\",\"aui-tree-io\",\"aui-tree-node\",\"aui-tree-paginator\",\"aui-tree-view\"],"," \"aui-widget\": [\"aui-widget-cssclass\",\"aui-widget-toolbars\"],"," \"aui-widget-core\": [\"aui-widget-cssclass\"]","});","/* This file is auto-generated by (yogi loader --yes --mix --js js/aui-loader.js --json js/aui-loader.json --start ../) */","","/*jshint maxlen:900, eqeqeq: false */","","/**"," * YUI 3 module metadata"," * @module loader"," * @submodule loader-yui3"," */","YUI.Env[Y.version].modules = YUI.Env[Y.version].modules || {};","Y.mix(YUI.Env[Y.version].modules, {"," \"aui-ace-autocomplete-base\": {"," \"requires\": ["," \"aui-ace-editor\""," ]"," },"," \"aui-ace-autocomplete-freemarker\": {"," \"requires\": ["," \"aui-ace-autocomplete-templateprocessor\""," ]"," },"," \"aui-ace-autocomplete-list\": {"," \"requires\": ["," \"aui-ace-autocomplete-base\","," \"overlay\","," \"widget-autohide\""," ],"," \"skinnable\": true"," },"," \"aui-ace-autocomplete-plugin\": {"," \"requires\": ["," \"aui-ace-autocomplete-list\","," \"plugin\""," ]"," },"," \"aui-ace-autocomplete-templateprocessor\": {"," \"requires\": ["," \"aui-ace-autocomplete-base\""," ]"," },"," \"aui-ace-autocomplete-velocity\": {"," \"requires\": ["," \"aui-ace-autocomplete-templateprocessor\""," ]"," },"," \"aui-ace-editor\": {"," \"requires\": ["," \"aui-node\","," \"aui-component\""," ]"," },"," \"aui-affix\": {"," \"requires\": ["," \"base\","," \"node-screen\","," \"aui-node\""," ]"," },"," \"aui-alert\": {"," \"requires\": ["," \"aui-aria\","," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-transition\","," \"timers\","," \"widget\","," \"widget-stdmod\""," ],"," \"skinnable\": true"," },"," \"aui-aria\": {"," \"requires\": ["," \"plugin\","," \"aui-component\""," ]"," },"," \"aui-aria-table-sortable\": {"," \"requires\": ["," \"aui-aria\""," ]"," },"," \"aui-arraysort\": {"," \"requires\": ["," \"arraysort\""," ]"," },"," \"aui-audio\": {"," \"requires\": ["," \"aui-aria\","," \"aui-node\","," \"aui-component\","," \"node-event-html5\","," \"querystring-stringify-simple\""," ],"," \"skinnable\": true"," },"," \"aui-autocomplete-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-overlay-base-deprecated\","," \"datasource\","," \"dataschema\","," \"aui-form-combobox-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-autosize\": {"," \"use\": ["," \"aui-autosize-iframe\""," ]"," },"," \"aui-autosize-deprecated\": {"," \"requires\": ["," \"event-valuechange\","," \"plugin\","," \"aui-base-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-autosize-iframe\": {"," \"requires\": ["," \"plugin\","," \"aui-component\","," \"aui-timer\","," \"aui-node-base\""," ]"," },"," \"aui-base\": {"," \"use\": ["," \"oop\","," \"yui-throttle\","," \"aui-classnamemanager\","," \"aui-debounce\","," \"aui-base-core\","," \"aui-base-lang\","," \"aui-node-base\""," ]"," },"," \"aui-base-core\": {},"," \"aui-base-deprecated\": {"," \"use\": ["," \"aui-base\","," \"aui-node\","," \"aui-component\","," \"aui-delayed-task-deprecated\","," \"aui-selector\","," \"aui-event-base\""," ]"," },"," \"aui-base-html5-shiv\": {"," \"condition\": {"," \"name\": \"aui-base-html5-shiv\","," \"trigger\": \"node-base\","," \"ua\": \"ie\""," }"," },"," \"aui-base-lang\": {},"," \"aui-boolean-data-editor\": {"," \"requires\": ["," \"aui-button-switch\","," \"aui-data-editor\""," ]"," },"," \"aui-button\": {"," \"use\": ["," \"aui-button-core\""," ]"," },"," \"aui-button-core\": {"," \"requires\": ["," \"button\","," \"button-group\","," \"button-plugin\","," \"aui-component\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-button-item-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-state-interaction-deprecated\","," \"widget-child\""," ],"," \"skinnable\": true"," },"," \"aui-button-search-cancel\": {"," \"requires\": ["," \"array-invoke\","," \"base\","," \"base-build\","," \"event-focus\","," \"event-move\","," \"event-resize\","," \"node-screen\","," \"node-event-delegate\","," \"aui-node-base\","," \"aui-classnamemanager\","," \"aui-event-input\""," ]"," },"," \"aui-button-switch\": {"," \"requires\": ["," \"aui-node-base\","," \"base-build\","," \"event-key\","," \"transition\","," \"widget\""," ],"," \"skinnable\": true"," },"," \"aui-carousel\": {"," \"requires\": ["," \"anim\","," \"aui-event\","," \"aui-image-viewer-base\","," \"aui-image-viewer-slideshow\","," \"node-event-delegate\","," \"node-focusmanager\""," ],"," \"skinnable\": true"," },"," \"aui-carousel-mobile-touch\": {"," \"condition\": {"," \"name\": \"aui-carousel-mobile-touch\","," \"test\": function(A) {"," return A.UA.mobile && A.UA.touchEnabled;","},"," \"trigger\": \"aui-carousel\""," },"," \"requires\": ["," \"base-build\","," \"aui-carousel\""," ]"," },"," \"aui-carousel-swipe\": {"," \"condition\": {"," \"name\": \"aui-carousel-swipe\","," \"trigger\": \"aui-carousel\","," \"ua\": \"touchEnabled\""," },"," \"requires\": ["," \"aui-carousel\","," \"aui-widget-swipe\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-char-counter\": {"," \"requires\": ["," \"aui-aria\","," \"aui-node\","," \"aui-event-input\","," \"aui-component\""," ]"," },"," \"aui-chart-deprecated\": {"," \"requires\": ["," \"datasource\","," \"json\","," \"aui-swf-deprecated\""," ]"," },"," \"aui-classnamemanager\": {"," \"requires\": ["," \"classnamemanager\""," ]"," },"," \"aui-collection\": {"," \"use\": ["," \"aui-map\","," \"aui-set\","," \"aui-linkedset\""," ]"," },"," \"aui-color-palette\": {"," \"requires\": ["," \"array-extras\","," \"aui-palette\","," \"color-base\","," \"node-core\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-color-picker-base\": {"," \"requires\": ["," \"aui-color-palette\","," \"aui-hsva-palette-modal\","," \"event-outside\""," ],"," \"skinnable\": true"," },"," \"aui-color-picker-base-deprecated\": {"," \"requires\": ["," \"dd-drag\","," \"panel\","," \"slider\","," \"aui-button-item-deprecated\","," \"aui-color-util-deprecated\","," \"aui-form-base-deprecated\","," \"aui-overlay-context-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-color-picker-deprecated\": {"," \"use\": ["," \"aui-color-picker-base-deprecated\","," \"aui-color-picker-grid-plugin-deprecated\""," ]"," },"," \"aui-color-picker-grid-plugin-deprecated\": {"," \"requires\": ["," \"plugin\","," \"aui-color-picker-base-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-color-picker-popover\": {"," \"requires\": ["," \"aui-color-picker-base\","," \"aui-popover\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-color-util-deprecated\": {"," \"requires\": []"," },"," \"aui-component\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"base-build\","," \"widget-base\""," ]"," },"," \"aui-css\": {"," \"type\": \"css\""," },"," \"aui-data-editor\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"base-build\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-data-set-deprecated\": {"," \"requires\": ["," \"oop\","," \"collection\","," \"base\""," ]"," },"," \"aui-datasource-control-base-deprecated\": {"," \"requires\": ["," \"datasource\","," \"dataschema\","," \"aui-base-deprecated\""," ]"," },"," \"aui-datasource-control-deprecated\": {"," \"use\": ["," \"aui-datasource-control-base-deprecated\","," \"aui-input-text-control-deprecated\""," ]"," },"," \"aui-datatable\": {"," \"use\": ["," \"aui-datatable-edit\","," \"aui-datatable-highlight\","," \"aui-datatable-selection\","," \"aui-datatable-property-list\""," ]"," },"," \"aui-datatable-base-cell-editor\": {"," \"requires\": ["," \"datatable-base\","," \"overlay\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-base-options-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-cell-editor\","," \"escape\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-body\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"datatable-base\","," \"event-key\","," \"aui-event-base\""," ]"," },"," \"aui-datatable-cell-editor-support\": {"," \"requires\": ["," \"datatable-base\""," ]"," },"," \"aui-datatable-checkbox-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatable-core\": {"," \"requires\": ["," \"aui-datatable-body\","," \"datatable-base\","," \"event-key\","," \"aui-event-base\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-date-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatable-dropdown-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatable-edit\": {"," \"use\": ["," \"datatable-base\","," \"calendar\","," \"overlay\","," \"sortable\","," \"aui-datatype\","," \"aui-toolbar\","," \"aui-form-validator\","," \"aui-datatable-base-cell-editor\","," \"aui-datatable-base-options-cell-editor\","," \"aui-datatable-cell-editor-support\","," \"aui-datatable-core\","," \"aui-datatable-checkbox-cell-editor\","," \"aui-datatable-date-cell-editor\","," \"aui-datatable-dropdown-cell-editor\","," \"aui-datatable-radio-cell-editor\","," \"aui-datatable-text-cell-editor\","," \"aui-datatable-text-area-cell-editor\""," ]"," },"," \"aui-datatable-highlight\": {"," \"requires\": ["," \"aui-datatable-selection\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-property-list\": {"," \"requires\": ["," \"datatable-scroll\","," \"datatable-sort\","," \"aui-datatable-core\","," \"aui-datatable-edit\","," \"aui-datatable-highlight\","," \"aui-datatable-selection\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-radio-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatable-selection\": {"," \"requires\": ["," \"aui-datatable-core\""," ],"," \"skinnable\": true"," },"," \"aui-datatable-text-area-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatable-text-cell-editor\": {"," \"requires\": ["," \"aui-datatable-base-options-cell-editor\""," ]"," },"," \"aui-datatype\": {"," \"requires\": ["," \"datatype\","," \"aui-datatype-date-parse\""," ]"," },"," \"aui-datatype-date-parse\": {"," \"requires\": ["," \"aui-base-lang\","," \"datatype-date-format\","," \"datatype-date-parse\","," \"intl\""," ]"," },"," \"aui-datepicker\": {"," \"requires\": ["," \"aui-aria\","," \"aui-datepicker-delegate\","," \"aui-datepicker-popover\","," \"base\","," \"base-build\","," \"calendar\""," ],"," \"skinnable\": true"," },"," \"aui-datepicker-base-deprecated\": {"," \"requires\": ["," \"calendar\","," \"aui-datatype\","," \"aui-overlay-context-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-datepicker-delegate\": {"," \"requires\": ["," \"aui-datatype-date-parse\","," \"aui-event-input\","," \"event-focus\","," \"node-event-delegate\""," ]"," },"," \"aui-datepicker-deprecated\": {"," \"skinnable\": true,"," \"use\": ["," \"aui-datepicker-base-deprecated\","," \"aui-datepicker-select-deprecated\""," ]"," },"," \"aui-datepicker-native\": {"," \"requires\": ["," \"aui-datepicker-delegate\","," \"aui-node-base\","," \"base\","," \"base-build\""," ]"," },"," \"aui-datepicker-popover\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-popover\""," ]"," },"," \"aui-datepicker-select-deprecated\": {"," \"requires\": ["," \"aui-datepicker-base-deprecated\","," \"aui-button-item-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-debounce\": {},"," \"aui-delayed-task-deprecated\": {"," \"requires\": ["," \"yui-base\""," ]"," },"," \"aui-diagram-builder\": {"," \"requires\": ["," \"aui-aria\","," \"aui-map\","," \"aui-property-builder\","," \"aui-diagram-builder-connector\","," \"aui-property-builder-settings\","," \"aui-diagram-node-condition\","," \"aui-diagram-node-end\","," \"aui-diagram-node-fork\","," \"aui-diagram-node-join\","," \"aui-diagram-node-start\","," \"aui-diagram-node-state\","," \"aui-diagram-node-task\","," \"overlay\""," ],"," \"skinnable\": true"," },"," \"aui-diagram-builder-connector\": {"," \"requires\": ["," \"arraylist-add\","," \"arraylist-filter\","," \"escape\","," \"json\","," \"graphics\","," \"dd\""," ],"," \"skinnable\": true"," },"," \"aui-diagram-node\": {"," \"requires\": ["," \"aui-aria\","," \"aui-diagram-node-manager-base\","," \"escape\","," \"overlay\""," ]"," },"," \"aui-diagram-node-condition\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-diagram-node-end\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-diagram-node-fork\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-diagram-node-join\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-diagram-node-manager-base\": {"," \"requires\": ["," \"base\""," ]"," },"," \"aui-diagram-node-start\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-diagram-node-state\": {"," \"requires\": ["," \"aui-diagram-node\""," ]"," },"," \"aui-diagram-node-task\": {"," \"requires\": ["," \"aui-diagram-node-state\""," ]"," },"," \"aui-dialog-iframe-deprecated\": {"," \"requires\": ["," \"plugin\","," \"array-invoke\","," \"aui-base-deprecated\","," \"aui-loading-mask-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-dropdown\": {"," \"requires\": ["," \"event-delegate\","," \"event-key\","," \"event-outside\","," \"node-focusmanager\","," \"widget\","," \"widget-stack\","," \"aui-classnamemanager\","," \"aui-node\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"aui-widget-trigger\""," ],"," \"skinnable\": true"," },"," \"aui-editable-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-form-combobox-deprecated\","," \"escape\","," \"event-resize\""," ],"," \"skinnable\": true"," },"," \"aui-event\": {"," \"use\": ["," \"aui-event-base\""," ]"," },"," \"aui-event-base\": {"," \"requires\": ["," \"event-base\""," ]"," },"," \"aui-event-delegate-change\": {"," \"condition\": {"," \"name\": \"aui-event-delegate-change\","," \"trigger\": \"event-base-ie\","," \"ua\": \"ie\""," },"," \"requires\": ["," \"aui-event-base\","," \"event-delegate\","," \"event-synthetic\""," ]"," },"," \"aui-event-delegate-submit\": {"," \"condition\": {"," \"name\": \"aui-event-delegate-submit\","," \"trigger\": \"event-base-ie\","," \"ua\": \"ie\""," },"," \"requires\": ["," \"aui-event-base\","," \"event-delegate\","," \"event-synthetic\""," ]"," },"," \"aui-event-input\": {"," \"condition\": {"," \"name\": \"aui-event-input\","," \"test\": function(A) {"," var supportsDOMEvent = A.supportsDOMEvent,"," testFeature = A.Features.test,"," addFeature = A.Features.add;",""," if (testFeature('event', 'input') === undefined) {"," addFeature('event', 'input', {"," test: function() {"," return supportsDOMEvent(document.createElement('textarea'), 'input') && (!A.UA.ie || A.UA.ie > 9);"," }"," });"," }",""," return !testFeature('event', 'input');","},"," \"trigger\": \"aui-event-base\""," },"," \"requires\": ["," \"aui-event-base\","," \"event-delegate\","," \"event-synthetic\","," \"timers\""," ]"," },"," \"aui-form-base-deprecated\": {"," \"requires\": ["," \"io-form\","," \"querystring-parse\","," \"aui-base-deprecated\","," \"aui-data-set-deprecated\","," \"aui-form-field-deprecated\""," ]"," },"," \"aui-form-builder\": {"," \"requires\": ["," \"aui-modal\","," \"aui-layout\","," \"aui-form-builder-field-list\","," \"aui-form-builder-field-toolbar\","," \"aui-form-builder-field-type\","," \"aui-form-builder-field-types\","," \"aui-form-builder-layout-builder\","," \"aui-form-builder-page-manager\","," \"aui-form-builder-settings-modal\","," \"event-focus\","," \"event-tap\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-available-field-deprecated\": {"," \"requires\": ["," \"aui-property-builder-available-field\""," ]"," },"," \"aui-form-builder-deprecated\": {"," \"requires\": ["," \"aui-button\","," \"aui-collection\","," \"aui-form-builder-available-field-deprecated\","," \"aui-form-builder-field-deprecated\","," \"aui-form-builder-field-button-deprecated\","," \"aui-form-builder-field-checkbox-deprecated\","," \"aui-form-builder-field-fieldset-deprecated\","," \"aui-form-builder-field-file-upload-deprecated\","," \"aui-form-builder-field-multiple-choice-deprecated\","," \"aui-form-builder-field-radio-deprecated\","," \"aui-form-builder-field-select-deprecated\","," \"aui-form-builder-field-text-deprecated\","," \"aui-form-builder-field-textarea-deprecated\","," \"aui-property-builder\","," \"aui-property-builder-settings\","," \"aui-sortable-list\","," \"aui-tabview\","," \"aui-tooltip-base\","," \"escape\","," \"transition\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-base\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-node-base\","," \"aui-text-data-editor\","," \"aui-toggler\","," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-button-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-checkbox-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-choice\": {"," \"requires\": ["," \"aui-boolean-data-editor\","," \"aui-options-data-editor\","," \"aui-tabs-data-editor\","," \"aui-form-builder-field-base\","," \"aui-form-field-choice\""," ]"," },"," \"aui-form-builder-field-deprecated\": {"," \"requires\": ["," \"panel\","," \"aui-datatype\","," \"aui-datatable-edit\","," \"aui-property-builder-field-support\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-fieldset-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-file-upload-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-list\": {"," \"requires\": ["," \"aui-form-builder-field-type\","," \"aui-form-builder-field-types\","," \"aui-form-builder-layout-builder\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-multiple-choice-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-radio-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-select-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-sentence\": {"," \"requires\": ["," \"aui-form-builder-field-base\","," \"aui-form-field\""," ]"," },"," \"aui-form-builder-field-text\": {"," \"requires\": ["," \"aui-boolean-data-editor\","," \"aui-radio-group-data-editor\","," \"aui-form-builder-field-base\","," \"aui-form-field-text\""," ]"," },"," \"aui-form-builder-field-text-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-textarea-deprecated\": {"," \"requires\": ["," \"aui-form-builder-field-deprecated\""," ]"," },"," \"aui-form-builder-field-toolbar\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-type\": {"," \"requires\": ["," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-types\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-form-builder-field-types-modal\","," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-field-types-modal\": {"," \"requires\": ["," \"aui-modal\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-layout-builder\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-layout-builder\","," \"aui-modal\","," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-page-manager\": {"," \"requires\": ["," \"aui-pagination\","," \"aui-popover\","," \"aui-tabview\","," \"base\","," \"event-valuechange\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-builder-settings-modal\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-modal\","," \"base\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-form-combobox-deprecated\": {"," \"requires\": ["," \"aui-form-textarea-deprecated\","," \"aui-toolbar\""," ],"," \"skinnable\": true"," },"," \"aui-form-deprecated\": {"," \"use\": ["," \"aui-form-base-deprecated\","," \"aui-form-combobox-deprecated\","," \"aui-form-field-deprecated\","," \"aui-form-select-deprecated\","," \"aui-form-textarea-deprecated\","," \"aui-form-textfield-deprecated\""," ]"," },"," \"aui-form-field\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-node-base\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-form-field-choice\": {"," \"requires\": ["," \"aui-form-field-required\""," ],"," \"skinnable\": true"," },"," \"aui-form-field-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-component\""," ]"," },"," \"aui-form-field-required\": {"," \"requires\": ["," \"aui-form-field\""," ]"," },"," \"aui-form-field-text\": {"," \"requires\": ["," \"aui-form-field-required\""," ],"," \"skinnable\": true"," },"," \"aui-form-select-deprecated\": {"," \"requires\": ["," \"aui-form-field-deprecated\""," ]"," },"," \"aui-form-textarea-deprecated\": {"," \"requires\": ["," \"node-pluginhost\","," \"aui-autosize-deprecated\","," \"aui-form-textfield-deprecated\""," ]"," },"," \"aui-form-textfield-deprecated\": {"," \"requires\": ["," \"aui-form-field-deprecated\""," ]"," },"," \"aui-form-validator\": {"," \"requires\": ["," \"escape\","," \"selector-css3\","," \"node-event-delegate\","," \"aui-node\","," \"aui-component\","," \"aui-event-input\""," ]"," },"," \"aui-hsv-palette\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"aui-event-input\","," \"base-build\","," \"clickable-rail\","," \"color-hsv\","," \"dd-constrain\","," \"slider\","," \"widget\""," ],"," \"skinnable\": true"," },"," \"aui-hsva-palette\": {"," \"requires\": ["," \"aui-hsv-palette\""," ],"," \"skinnable\": true"," },"," \"aui-hsva-palette-modal\": {"," \"requires\": ["," \"aui-hsva-palette\","," \"aui-modal\""," ],"," \"skinnable\": true"," },"," \"aui-image-cropper\": {"," \"requires\": ["," \"resize-base\","," \"resize-constrain\","," \"dd-constrain\","," \"aui-node-base\","," \"aui-component\""," ],"," \"skinnable\": true"," },"," \"aui-image-viewer\": {"," \"requires\": ["," \"widget\","," \"widget-modality\","," \"widget-position\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stack\","," \"widget-stdmod\","," \"aui-event\","," \"aui-image-viewer-base\","," \"aui-image-viewer-multiple\","," \"aui-image-viewer-slideshow\","," \"aui-node-base\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-image-viewer-base\": {"," \"requires\": ["," \"anim\","," \"aui-aria\","," \"aui-classnamemanager\","," \"aui-node\","," \"aui-widget-responsive\","," \"base-build\","," \"imageloader\","," \"node-base\","," \"widget\","," \"widget-stack\""," ],"," \"skinnable\": true"," },"," \"aui-image-viewer-media\": {"," \"requires\": ["," \"plugin\","," \"aui-component\","," \"aui-image-viewer\""," ]"," },"," \"aui-image-viewer-multiple\": {"," \"requires\": ["," \"base-build\","," \"node-base\","," \"aui-classnamemanager\","," \"aui-image-viewer-base\""," ],"," \"skinnable\": true"," },"," \"aui-image-viewer-multiple-swipe\": {"," \"condition\": {"," \"name\": \"aui-image-viewer-multiple-swipe\","," \"trigger\": \"aui-image-viewer-multiple\","," \"ua\": \"touchEnabled\""," },"," \"requires\": ["," \"aui-image-viewer-multiple\","," \"aui-image-viewer-swipe\""," ]"," },"," \"aui-image-viewer-slideshow\": {"," \"requires\": ["," \"node\","," \"aui-classnamemanager\""," ]"," },"," \"aui-image-viewer-swipe\": {"," \"condition\": {"," \"name\": \"aui-image-viewer-swipe\","," \"trigger\": \"aui-image-viewer-base\","," \"ua\": \"touchEnabled\""," },"," \"requires\": ["," \"event-resize\","," \"aui-image-viewer-base\","," \"aui-widget-swipe\""," ]"," },"," \"aui-input-text-control-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-datasource-control-base-deprecated\","," \"aui-form-combobox-deprecated\""," ]"," },"," \"aui-io\": {"," \"use\": ["," \"aui-io-request\""," ]"," },"," \"aui-io-deprecated\": {"," \"use\": ["," \"aui-io-request\","," \"aui-io-plugin-deprecated\""," ]"," },"," \"aui-io-plugin-deprecated\": {"," \"requires\": ["," \"aui-overlay-base-deprecated\","," \"aui-parse-content\","," \"aui-io-request\","," \"aui-loading-mask-deprecated\""," ]"," },"," \"aui-io-request\": {"," \"requires\": ["," \"io-base\","," \"json\","," \"plugin\","," \"querystring-stringify\","," \"aui-component\""," ]"," },"," \"aui-io-request-deprecated\": {"," \"requires\": ["," \"io-base\","," \"json\","," \"plugin\","," \"querystring-stringify\","," \"aui-base-deprecated\""," ]"," },"," \"aui-layout\": {"," \"requires\": ["," \"aui-layout-col\","," \"aui-layout-row\","," \"aui-node-base\","," \"base-build\","," \"datatype-number-parse\","," \"event-resize\""," ]"," },"," \"aui-layout-builder\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-layout\","," \"aui-layout-builder-add-col\","," \"aui-layout-builder-add-row\","," \"aui-layout-builder-move\","," \"aui-layout-builder-remove-row\","," \"aui-layout-builder-resize-col\","," \"aui-node-base\","," \"base-build\","," \"node-event-delegate\","," \"node-screen\","," \"node-style\""," ]"," },"," \"aui-layout-builder-add-col\": {"," \"requires\": ["," \"event-key\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-layout-builder-add-row\": {"," \"requires\": ["," \"aui-node-base\","," \"base-build\","," \"node-scroll-info\""," ],"," \"skinnable\": true"," },"," \"aui-layout-builder-move\": {"," \"requires\": ["," \"aui-node-base\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-layout-builder-remove-row\": {"," \"requires\": ["," \"aui-node-base\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-layout-builder-resize-col\": {"," \"requires\": ["," \"dd-constrain\","," \"dd-delegate\","," \"dd-drop-plugin\","," \"dd-proxy\","," \"event-mouseenter\","," \"node-base\""," ],"," \"skinnable\": true"," },"," \"aui-layout-col\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-node-base\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-layout-row\": {"," \"requires\": ["," \"array-invoke\","," \"aui-node-base\","," \"base-build\""," ],"," \"skinnable\": true"," },"," \"aui-linkedset\": {"," \"requires\": ["," \"aui-set\""," ]"," },"," \"aui-live-search-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\""," ]"," },"," \"aui-loading-mask-deprecated\": {"," \"requires\": ["," \"plugin\","," \"aui-overlay-mask-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-map\": {"," \"requires\": ["," \"base-build\""," ]"," },"," \"aui-menu\": {"," \"requires\": ["," \"base-build\","," \"event-mouseenter\","," \"event-resize\","," \"widget\","," \"widget-position\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stack\","," \"aui-classnamemanager\","," \"aui-debounce\","," \"aui-dropdown\","," \"aui-menu-item\""," ],"," \"skinnable\": true"," },"," \"aui-menu-item\": {"," \"requires\": ["," \"base-build\","," \"node-base\","," \"aui-classnamemanager\","," \"aui-node\","," \"aui-widget-shortcut\""," ]"," },"," \"aui-messaging\": {"," \"requires\": ["," \"querystring\","," \"aui-timer\""," ]"," },"," \"aui-modal\": {"," \"requires\": ["," \"widget\","," \"widget-autohide\","," \"widget-buttons\","," \"widget-modality\","," \"widget-position\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stack\","," \"widget-stdmod\","," \"dd-plugin\","," \"dd-constrain\","," \"timers\","," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"aui-widget-toolbars\""," ],"," \"skinnable\": true"," },"," \"aui-modal-resize\": {"," \"condition\": {"," \"name\": \"aui-modal-resize\","," \"test\": function(A) {"," return !A.UA.mobile;","},"," \"trigger\": \"aui-modal\""," },"," \"requires\": ["," \"aui-modal\","," \"resize-plugin\""," ]"," },"," \"aui-node\": {"," \"use\": ["," \"aui-node-base\""," ]"," },"," \"aui-node-accessible\": {"," \"requires\": ["," \"aui-node-base\","," \"event-custom-base\""," ]"," },"," \"aui-node-base\": {"," \"requires\": ["," \"array-extras\","," \"aui-base-lang\","," \"aui-classnamemanager\","," \"aui-debounce\","," \"node\""," ]"," },"," \"aui-node-html5\": {"," \"condition\": {"," \"name\": \"aui-node-html5\","," \"trigger\": \"aui-node\","," \"ua\": \"ie\""," },"," \"requires\": ["," \"collection\","," \"aui-node-base\""," ]"," },"," \"aui-options-data-editor\": {"," \"requires\": ["," \"aui-data-editor\","," \"dd-constrain\","," \"dd-delegate\","," \"dd-drop-plugin\","," \"dd-proxy\","," \"event-valuechange\","," \"node-event-delegate\""," ],"," \"skinnable\": true"," },"," \"aui-overlay-base-deprecated\": {"," \"requires\": ["," \"widget-position\","," \"widget-stack\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stdmod\","," \"aui-component\""," ]"," },"," \"aui-overlay-context-deprecated\": {"," \"requires\": ["," \"aui-overlay-manager-deprecated\","," \"aui-delayed-task-deprecated\","," \"aui-aria\""," ]"," },"," \"aui-overlay-context-panel-deprecated\": {"," \"requires\": ["," \"anim\","," \"aui-overlay-context-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-overlay-deprecated\": {"," \"use\": ["," \"aui-overlay-base-deprecated\","," \"aui-overlay-context-deprecated\","," \"aui-overlay-context-panel-deprecated\","," \"aui-overlay-manager-deprecated\","," \"aui-overlay-mask-deprecated\""," ]"," },"," \"aui-overlay-manager-deprecated\": {"," \"requires\": ["," \"overlay\","," \"plugin\","," \"aui-base-deprecated\","," \"aui-overlay-base-deprecated\""," ]"," },"," \"aui-overlay-mask-deprecated\": {"," \"requires\": ["," \"event-resize\","," \"aui-base-deprecated\","," \"aui-overlay-base-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-pagination\": {"," \"requires\": ["," \"node-event-delegate\","," \"aui-node\","," \"aui-component\","," \"widget-htmlparser\""," ],"," \"skinnable\": true"," },"," \"aui-palette\": {"," \"requires\": ["," \"base-build\","," \"event-hover\","," \"widget\","," \"aui-classnamemanager\","," \"aui-base\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true"," },"," \"aui-parse-content\": {"," \"requires\": ["," \"async-queue\","," \"plugin\","," \"io-base\","," \"aui-component\","," \"aui-node-base\""," ]"," },"," \"aui-popover\": {"," \"requires\": ["," \"event-resize\","," \"widget\","," \"widget-autohide\","," \"widget-buttons\","," \"widget-modality\","," \"widget-position\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stack\","," \"widget-stdmod\","," \"aui-classnamemanager\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"aui-widget-toolbars\","," \"aui-widget-transition\","," \"aui-widget-trigger\","," \"aui-widget-position-align-suggestion\","," \"aui-component\","," \"aui-node-base\""," ],"," \"skinnable\": true"," },"," \"aui-progressbar\": {"," \"requires\": ["," \"aui-node\","," \"aui-component\","," \"aui-aria\""," ],"," \"skinnable\": true"," },"," \"aui-promise\": {"," \"requires\": ["," \"array-invoke\","," \"promise\","," \"oop\""," ]"," },"," \"aui-property-builder\": {"," \"requires\": ["," \"dd\","," \"collection\","," \"aui-property-builder-available-field\","," \"aui-property-builder-field-support\","," \"aui-property-builder-settings\","," \"aui-tabview\""," ],"," \"skinnable\": true"," },"," \"aui-property-builder-available-field\": {"," \"requires\": ["," \"base\","," \"aui-component\","," \"aui-node\""," ]"," },"," \"aui-property-builder-field-support\": {},"," \"aui-property-builder-settings\": {"," \"requires\": ["," \"aui-tabview\","," \"aui-datatable-property-list\""," ]"," },"," \"aui-radio-group-data-editor\": {"," \"requires\": ["," \"aui-data-editor\","," \"node-event-delegate\""," ],"," \"skinnable\": true"," },"," \"aui-rating\": {"," \"use\": ["," \"aui-rating-base\","," \"aui-rating-thumb\""," ]"," },"," \"aui-rating-base\": {"," \"requires\": ["," \"aui-component\","," \"aui-node-base\","," \"widget-htmlparser\","," \"widget-uievents\""," ],"," \"skinnable\": true"," },"," \"aui-rating-thumb\": {"," \"requires\": ["," \"aui-rating-base\""," ]"," },"," \"aui-resize-base-deprecated\": {"," \"requires\": ["," \"dd-drag\","," \"dd-delegate\","," \"dd-drop\","," \"aui-base-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-resize-constrain-deprecated\": {"," \"requires\": ["," \"dd-constrain\","," \"plugin\","," \"aui-resize-base-deprecated\""," ]"," },"," \"aui-resize-deprecated\": {"," \"skinnable\": true,"," \"use\": ["," \"aui-resize-base-deprecated\","," \"aui-resize-constrain-deprecated\""," ]"," },"," \"aui-scale-data-editor\": {"," \"requires\": ["," \"aui-classnamemanager\","," \"aui-data-editor\","," \"event-valuechange\""," ]"," },"," \"aui-scheduler\": {"," \"use\": ["," \"event-gestures\","," \"aui-scheduler-base\","," \"aui-scheduler-event-recorder\","," \"aui-scheduler-view-agenda\","," \"aui-scheduler-view-day\","," \"aui-scheduler-view-month\","," \"aui-scheduler-view-table-dd\","," \"aui-scheduler-view-table\","," \"aui-scheduler-view-week\","," \"aui-viewport\""," ]"," },"," \"aui-scheduler-base\": {"," \"requires\": ["," \"model\","," \"model-list\","," \"widget-stdmod\","," \"color-hsl\","," \"aui-event-base\","," \"aui-node-base\","," \"aui-component\","," \"aui-datatype\","," \"aui-button\","," \"node-focusmanager\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-event-recorder\": {"," \"requires\": ["," \"querystring\","," \"io-form\","," \"overlay\","," \"aui-scheduler-base\","," \"aui-popover\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-touch\": {"," \"condition\": {"," \"name\": \"aui-scheduler-touch\","," \"trigger\": \"aui-scheduler\","," \"ua\": \"touchEnabled\""," },"," \"requires\": ["," \"base-build\","," \"aui-scheduler\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-view-agenda\": {"," \"requires\": ["," \"aui-scheduler-base\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-view-day\": {"," \"requires\": ["," \"dd-drag\","," \"dd-delegate\","," \"dd-drop\","," \"dd-constrain\","," \"aui-scheduler-view-table\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-view-month\": {"," \"requires\": ["," \"aui-scheduler-view-table\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-view-table\": {"," \"requires\": ["," \"overlay\","," \"aui-scheduler-base\""," ],"," \"skinnable\": true"," },"," \"aui-scheduler-view-table-dd\": {"," \"requires\": ["," \"dd-drag\","," \"dd-delegate\","," \"dd-drop\","," \"aui-scheduler-view-table\""," ]"," },"," \"aui-scheduler-view-week\": {"," \"requires\": ["," \"aui-scheduler-view-day\""," ],"," \"skinnable\": true"," },"," \"aui-scroller-deprecated\": {"," \"requires\": ["," \"event-mouseenter\","," \"aui-base-deprecated\","," \"aui-simple-anim-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-scrollspy\": {"," \"requires\": ["," \"base-build\","," \"node-screen\","," \"aui-classnamemanager\""," ]"," },"," \"aui-search\": {"," \"use\": ["," \"aui-search-tst\""," ]"," },"," \"aui-search-tst\": {"," \"requires\": ["," \"aui-component\""," ]"," },"," \"aui-selector\": {"," \"requires\": ["," \"selector-css3\","," \"aui-classnamemanager\""," ]"," },"," \"aui-set\": {"," \"requires\": ["," \"aui-map\""," ]"," },"," \"aui-simple-anim-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\""," ]"," },"," \"aui-skin-deprecated\": {"," \"type\": \"css\""," },"," \"aui-sortable\": {"," \"use\": ["," \"aui-sortable-layout\","," \"aui-sortable-list\""," ]"," },"," \"aui-sortable-layout\": {"," \"requires\": ["," \"dd-delegate\","," \"dd-drag\","," \"dd-drop\","," \"dd-proxy\","," \"aui-node\","," \"aui-component\""," ],"," \"skinnable\": true"," },"," \"aui-sortable-list\": {"," \"requires\": ["," \"dd-drag\","," \"dd-drop\","," \"dd-proxy\","," \"dd-scroll\","," \"aui-node\","," \"aui-component\""," ]"," },"," \"aui-state-interaction-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\","," \"plugin\""," ]"," },"," \"aui-surface\": {"," \"use\": ["," \"aui-surface-app\","," \"aui-surface-screen\""," ]"," },"," \"aui-surface-app\": {"," \"requires\": ["," \"event-delegate\","," \"node-event-html5\","," \"aui-surface-base\","," \"aui-surface-screen\","," \"aui-surface-screen-route\""," ]"," },"," \"aui-surface-base\": {"," \"requires\": ["," \"base-build\","," \"node-style\","," \"timers\","," \"aui-debounce\","," \"aui-promise\","," \"aui-parse-content\""," ]"," },"," \"aui-surface-screen\": {"," \"requires\": ["," \"base-build\""," ]"," },"," \"aui-surface-screen-html\": {"," \"requires\": ["," \"aui-base\","," \"aui-io-request\","," \"aui-promise\","," \"aui-surface-screen\","," \"aui-url\""," ]"," },"," \"aui-surface-screen-route\": {"," \"requires\": ["," \"base-build\""," ]"," },"," \"aui-swf-deprecated\": {"," \"requires\": ["," \"querystring-parse-simple\","," \"querystring-stringify-simple\","," \"aui-base-deprecated\""," ]"," },"," \"aui-tabs-data-editor\": {"," \"requires\": ["," \"aui-data-editor\","," \"aui-tabview\""," ]"," },"," \"aui-tabview\": {"," \"requires\": ["," \"selector-css3\","," \"tabview\","," \"aui-component\","," \"aui-widget-css\""," ],"," \"skinnable\": true"," },"," \"aui-template-deprecated\": {"," \"requires\": ["," \"aui-base-deprecated\""," ]"," },"," \"aui-text-data-editor\": {"," \"requires\": ["," \"aui-data-editor\","," \"event-valuechange\""," ],"," \"skinnable\": true"," },"," \"aui-text-data-unicode\": {"," \"requires\": ["," \"text\""," ]"," },"," \"aui-text-unicode\": {"," \"requires\": ["," \"aui-text-data-unicode\""," ]"," },"," \"aui-textboxlist-deprecated\": {"," \"requires\": ["," \"anim-node-plugin\","," \"aui-autocomplete-deprecated\","," \"aui-button-item-deprecated\","," \"aui-data-set-deprecated\","," \"escape\","," \"node-focusmanager\""," ],"," \"skinnable\": true"," },"," \"aui-timepicker\": {"," \"requires\": ["," \"autocomplete\","," \"aui-datepicker-delegate\","," \"aui-datepicker-popover\""," ],"," \"skinnable\": true"," },"," \"aui-timepicker-native\": {"," \"requires\": ["," \"base\","," \"base-build\","," \"aui-node-base\","," \"aui-datepicker-delegate\","," \"aui-datepicker-native\""," ]"," },"," \"aui-timer\": {"," \"requires\": ["," \"oop\""," ]"," },"," \"aui-toggler\": {"," \"use\": ["," \"aui-toggler-base\","," \"aui-toggler-delegate\""," ]"," },"," \"aui-toggler-accessibility\": {"," \"requires\": ["," \"aui-toggler-base\""," ]"," },"," \"aui-toggler-base\": {"," \"requires\": ["," \"transition\","," \"aui-selector\","," \"aui-event-base\","," \"aui-node\","," \"aui-component\","," \"event-tap\""," ],"," \"skinnable\": true"," },"," \"aui-toggler-delegate\": {"," \"requires\": ["," \"array-invoke\","," \"node-event-delegate\","," \"aui-toggler-base\""," ]"," },"," \"aui-toolbar\": {"," \"requires\": ["," \"arraylist\","," \"arraylist-add\","," \"aui-component\","," \"aui-button-core\""," ]"," },"," \"aui-tooltip\": {"," \"use\": ["," \"aui-tooltip-base\","," \"aui-tooltip-delegate\""," ]"," },"," \"aui-tooltip-base\": {"," \"requires\": ["," \"aui-aria\","," \"aui-classnamemanager\","," \"aui-component\","," \"aui-debounce\","," \"aui-node-base\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\","," \"aui-widget-transition\","," \"aui-widget-trigger\","," \"aui-widget-position-align-suggestion\","," \"event-hover\","," \"event-resize\","," \"escape\","," \"widget\","," \"widget-autohide\","," \"widget-position\","," \"widget-position-align\","," \"widget-position-constrain\","," \"widget-stack\","," \"widget-stdmod\""," ],"," \"skinnable\": true"," },"," \"aui-tooltip-delegate\": {"," \"requires\": ["," \"aui-tooltip-base\","," \"node-event-delegate\""," ]"," },"," \"aui-tooltip-deprecated\": {"," \"requires\": ["," \"aui-overlay-context-panel-deprecated\""," ],"," \"skinnable\": true"," },"," \"aui-tpl-snippets-base-deprecated\": {"," \"requires\": ["," \"aui-template-deprecated\""," ]"," },"," \"aui-tpl-snippets-checkbox-deprecated\": {"," \"requires\": ["," \"aui-tpl-snippets-base-deprecated\""," ]"," },"," \"aui-tpl-snippets-deprecated\": {"," \"use\": ["," \"aui-tpl-snippets-base-deprecated\","," \"aui-tpl-snippets-checkbox-deprecated\","," \"aui-tpl-snippets-input-deprecated\","," \"aui-tpl-snippets-select-deprecated\","," \"aui-tpl-snippets-textarea-deprecated\""," ]"," },"," \"aui-tpl-snippets-input-deprecated\": {"," \"requires\": ["," \"aui-tpl-snippets-base-deprecated\""," ]"," },"," \"aui-tpl-snippets-select-deprecated\": {"," \"requires\": ["," \"aui-tpl-snippets-base-deprecated\""," ]"," },"," \"aui-tpl-snippets-textarea-deprecated\": {"," \"requires\": ["," \"aui-tpl-snippets-base-deprecated\""," ]"," },"," \"aui-tree\": {"," \"use\": ["," \"aui-tree-data\","," \"aui-tree-io\","," \"aui-tree-node\","," \"aui-tree-paginator\","," \"aui-tree-view\""," ]"," },"," \"aui-tree-data\": {"," \"requires\": ["," \"aui-base-core\","," \"aui-base-lang\","," \"aui-node-base\","," \"aui-timer\","," \"aui-component\""," ]"," },"," \"aui-tree-io\": {"," \"requires\": ["," \"aui-component\","," \"aui-io\""," ]"," },"," \"aui-tree-node\": {"," \"requires\": ["," \"json\","," \"querystring-stringify\","," \"aui-tree-data\","," \"aui-tree-io\","," \"aui-tree-paginator\","," \"event-key\""," ]"," },"," \"aui-tree-paginator\": {"," \"requires\": ["," \"yui-base\""," ]"," },"," \"aui-tree-view\": {"," \"requires\": ["," \"dd-delegate\","," \"dd-proxy\","," \"widget\","," \"aui-tree-node\","," \"aui-tree-paginator\","," \"aui-tree-io\""," ],"," \"skinnable\": true"," },"," \"aui-undo-redo\": {"," \"requires\": ["," \"aui-base\","," \"base\","," \"base-build\","," \"event-key\","," \"promise\""," ]"," },"," \"aui-url\": {"," \"requires\": ["," \"oop\","," \"querystring-parse\","," \"querystring-stringify\""," ]"," },"," \"aui-video\": {"," \"requires\": ["," \"event-resize\","," \"node-event-html5\","," \"querystring-stringify-simple\","," \"aui-aria\","," \"aui-node\","," \"aui-component\","," \"aui-debounce\""," ],"," \"skinnable\": true"," },"," \"aui-viewport\": {"," \"requires\": ["," \"aui-node\","," \"aui-component\""," ]"," },"," \"aui-widget\": {"," \"use\": ["," \"aui-widget-cssclass\","," \"aui-widget-toolbars\""," ]"," },"," \"aui-widget-core\": {"," \"use\": ["," \"aui-widget-cssclass\""," ]"," },"," \"aui-widget-cssclass\": {"," \"requires\": ["," \"widget-base\""," ]"," },"," \"aui-widget-position-align-suggestion\": {"," \"requires\": ["," \"widget-position-align\","," \"widget-stdmod\""," ]"," },"," \"aui-widget-responsive\": {"," \"requires\": ["," \"event-resize\","," \"widget-base\""," ]"," },"," \"aui-widget-shortcut\": {"," \"requires\": ["," \"base\""," ]"," },"," \"aui-widget-swipe\": {"," \"requires\": ["," \"classnamemanager\","," \"scrollview-base\","," \"scrollview-paginator\","," \"timers\""," ]"," },"," \"aui-widget-toggle\": {},"," \"aui-widget-toolbars\": {"," \"requires\": ["," \"widget-stdmod\","," \"aui-toolbar\""," ]"," },"," \"aui-widget-transition\": {"," \"requires\": ["," \"transition\""," ]"," },"," \"aui-widget-trigger\": {"," \"requires\": ["," \"node\""," ]"," }","});","YUI.Env[Y.version].md5 = 'd7c627eb00edd6b6f054d8f6e7147480';","/*"," * Alloy JavaScript Library"," * http://alloy.liferay.com/"," *"," * Copyright (c) 2010 Liferay Inc."," * http://alloy.liferay.com/LICENSE.txt"," *"," * Nate Cavanaugh (nathan.cavanaugh@liferay.com)"," * Eduardo Lundgren (eduardo.lundgren@liferay.com)"," *"," * Attribution/Third-party licenses"," * http://alloy.liferay.com/ATTRIBUTION.txt"," */","","// Simple version of","// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/","","A.UA.edge = (function() {"," var edgeVersion = A.UA.userAgent.match(/Edge\\/(.[0-9.]+)/);",""," if (edgeVersion) {"," return edgeVersion[1];"," }",""," return 0;","})();","","A.supportsDOMEvent = function(domNode, eventName) {"," eventName = 'on' + eventName;",""," if (!(eventName in domNode)) {"," if (!domNode.setAttribute) {"," domNode = A.config.doc.createElement('div');"," }",""," if (domNode.setAttribute) {"," domNode.setAttribute(eventName, '');"," return (typeof domNode[eventName] === 'function');"," }"," }",""," domNode = null;",""," return true;","};","(function() {"," var slice = Array.prototype.slice;",""," YUI.prototype.ready = function() {"," var instance = this,"," xargs = arguments,"," index = xargs.length - 1,"," modules = slice.call(arguments, 0, index);",""," modules.unshift('event-base');"," modules.push(function(instance) {"," var args = arguments;",""," instance.on('domready', function() {"," xargs[index].apply(this, args);"," });"," });"," instance.use.apply(instance, modules);"," };","}());","","","}, '3.1.0-deprecated.52');","","}());"]};
+}
+var __cov_5PHDkoq0CIse50trH2mqhg = __coverage__['build/aui-base-core/aui-base-core.js'];
+__cov_5PHDkoq0CIse50trH2mqhg.s['1']++;YUI.add('aui-base-core',function(A,NAME){__cov_5PHDkoq0CIse50trH2mqhg.f['1']++;__cov_5PHDkoq0CIse50trH2mqhg.s['2']++;var Y=A;__cov_5PHDkoq0CIse50trH2mqhg.s['3']++;YUI.Env.aliases=(__cov_5PHDkoq0CIse50trH2mqhg.b['1'][0]++,YUI.Env.aliases)||(__cov_5PHDkoq0CIse50trH2mqhg.b['1'][1]++,{});__cov_5PHDkoq0CIse50trH2mqhg.s['4']++;Y.mix(YUI.Env.aliases,{'aui-autosize':['aui-autosize-iframe'],'aui-base':['oop','yui-throttle','aui-classnamemanager','aui-debounce','aui-base-core','aui-base-lang','aui-node-base'],'aui-base-deprecated':['aui-base','aui-node','aui-component','aui-delayed-task-deprecated','aui-selector','aui-event-base'],'aui-button':['aui-button-core'],'aui-collection':['aui-map','aui-set','aui-linkedset'],'aui-color-picker-deprecated':['aui-color-picker-base-deprecated','aui-color-picker-grid-plugin-deprecated'],'aui-datasource-control-deprecated':['aui-datasource-control-base-deprecated','aui-input-text-control-deprecated'],'aui-datatable':['aui-datatable-edit','aui-datatable-highlight','aui-datatable-selection','aui-datatable-property-list'],'aui-datatable-edit':['datatable-base','calendar','overlay','sortable','aui-datatype','aui-toolbar','aui-form-validator','aui-datatable-base-cell-editor','aui-datatable-base-options-cell-editor','aui-datatable-cell-editor-support','aui-datatable-core','aui-datatable-checkbox-cell-editor','aui-datatable-date-cell-editor','aui-datatable-dropdown-cell-editor','aui-datatable-radio-cell-editor','aui-datatable-text-cell-editor','aui-datatable-text-area-cell-editor'],'aui-datepicker-deprecated':['aui-datepicker-base-deprecated','aui-datepicker-select-deprecated'],'aui-event':['aui-event-base'],'aui-form-deprecated':['aui-form-base-deprecated','aui-form-combobox-deprecated','aui-form-field-deprecated','aui-form-select-deprecated','aui-form-textarea-deprecated','aui-form-textfield-deprecated'],'aui-io':['aui-io-request'],'aui-io-deprecated':['aui-io-request','aui-io-plugin-deprecated'],'aui-node':['aui-node-base'],'aui-overlay-deprecated':['aui-overlay-base-deprecated','aui-overlay-context-deprecated','aui-overlay-context-panel-deprecated','aui-overlay-manager-deprecated','aui-overlay-mask-deprecated'],'aui-rating':['aui-rating-base','aui-rating-thumb'],'aui-resize-deprecated':['aui-resize-base-deprecated','aui-resize-constrain-deprecated'],'aui-scheduler':['event-gestures','aui-scheduler-base','aui-scheduler-event-recorder','aui-scheduler-view-agenda','aui-scheduler-view-day','aui-scheduler-view-month','aui-scheduler-view-table-dd','aui-scheduler-view-table','aui-scheduler-view-week','aui-viewport'],'aui-search':['aui-search-tst'],'aui-sortable':['aui-sortable-layout','aui-sortable-list'],'aui-surface':['aui-surface-app','aui-surface-screen'],'aui-toggler':['aui-toggler-base','aui-toggler-delegate'],'aui-tooltip':['aui-tooltip-base','aui-tooltip-delegate'],'aui-tpl-snippets-deprecated':['aui-tpl-snippets-base-deprecated','aui-tpl-snippets-checkbox-deprecated','aui-tpl-snippets-input-deprecated','aui-tpl-snippets-select-deprecated','aui-tpl-snippets-textarea-deprecated'],'aui-tree':['aui-tree-data','aui-tree-io','aui-tree-node','aui-tree-paginator','aui-tree-view'],'aui-widget':['aui-widget-cssclass','aui-widget-toolbars'],'aui-widget-core':['aui-widget-cssclass']});__cov_5PHDkoq0CIse50trH2mqhg.s['5']++;YUI.Env[Y.version].modules=(__cov_5PHDkoq0CIse50trH2mqhg.b['2'][0]++,YUI.Env[Y.version].modules)||(__cov_5PHDkoq0CIse50trH2mqhg.b['2'][1]++,{});__cov_5PHDkoq0CIse50trH2mqhg.s['6']++;Y.mix(YUI.Env[Y.version].modules,{'aui-ace-autocomplete-base':{'requires':['aui-ace-editor']},'aui-ace-autocomplete-freemarker':{'requires':['aui-ace-autocomplete-templateprocessor']},'aui-ace-autocomplete-list':{'requires':['aui-ace-autocomplete-base','overlay','widget-autohide'],'skinnable':true},'aui-ace-autocomplete-plugin':{'requires':['aui-ace-autocomplete-list','plugin']},'aui-ace-autocomplete-templateprocessor':{'requires':['aui-ace-autocomplete-base']},'aui-ace-autocomplete-velocity':{'requires':['aui-ace-autocomplete-templateprocessor']},'aui-ace-editor':{'requires':['aui-node','aui-component']},'aui-affix':{'requires':['base','node-screen','aui-node']},'aui-alert':{'requires':['aui-aria','aui-classnamemanager','aui-widget-cssclass','aui-widget-transition','timers','widget','widget-stdmod'],'skinnable':true},'aui-aria':{'requires':['plugin','aui-component']},'aui-aria-table-sortable':{'requires':['aui-aria']},'aui-arraysort':{'requires':['arraysort']},'aui-audio':{'requires':['aui-aria','aui-node','aui-component','node-event-html5','querystring-stringify-simple'],'skinnable':true},'aui-autocomplete-deprecated':{'requires':['aui-base-deprecated','aui-overlay-base-deprecated','datasource','dataschema','aui-form-combobox-deprecated'],'skinnable':true},'aui-autosize':{'use':['aui-autosize-iframe']},'aui-autosize-deprecated':{'requires':['event-valuechange','plugin','aui-base-deprecated'],'skinnable':true},'aui-autosize-iframe':{'requires':['plugin','aui-component','aui-timer','aui-node-base']},'aui-base':{'use':['oop','yui-throttle','aui-classnamemanager','aui-debounce','aui-base-core','aui-base-lang','aui-node-base']},'aui-base-core':{},'aui-base-deprecated':{'use':['aui-base','aui-node','aui-component','aui-delayed-task-deprecated','aui-selector','aui-event-base']},'aui-base-html5-shiv':{'condition':{'name':'aui-base-html5-shiv','trigger':'node-base','ua':'ie'}},'aui-base-lang':{},'aui-boolean-data-editor':{'requires':['aui-button-switch','aui-data-editor']},'aui-button':{'use':['aui-button-core']},'aui-button-core':{'requires':['button','button-group','button-plugin','aui-component','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-button-item-deprecated':{'requires':['aui-base-deprecated','aui-state-interaction-deprecated','widget-child'],'skinnable':true},'aui-button-search-cancel':{'requires':['array-invoke','base','base-build','event-focus','event-move','event-resize','node-screen','node-event-delegate','aui-node-base','aui-classnamemanager','aui-event-input']},'aui-button-switch':{'requires':['aui-node-base','base-build','event-key','transition','widget'],'skinnable':true},'aui-carousel':{'requires':['anim','aui-event','aui-image-viewer-base','aui-image-viewer-slideshow','node-event-delegate','node-focusmanager'],'skinnable':true},'aui-carousel-mobile-touch':{'condition':{'name':'aui-carousel-mobile-touch','test':function(A){__cov_5PHDkoq0CIse50trH2mqhg.f['2']++;__cov_5PHDkoq0CIse50trH2mqhg.s['7']++;return(__cov_5PHDkoq0CIse50trH2mqhg.b['3'][0]++,A.UA.mobile)&&(__cov_5PHDkoq0CIse50trH2mqhg.b['3'][1]++,A.UA.touchEnabled);},'trigger':'aui-carousel'},'requires':['base-build','aui-carousel']},'aui-carousel-swipe':{'condition':{'name':'aui-carousel-swipe','trigger':'aui-carousel','ua':'touchEnabled'},'requires':['aui-carousel','aui-widget-swipe','base-build'],'skinnable':true},'aui-char-counter':{'requires':['aui-aria','aui-node','aui-event-input','aui-component']},'aui-chart-deprecated':{'requires':['datasource','json','aui-swf-deprecated']},'aui-classnamemanager':{'requires':['classnamemanager']},'aui-collection':{'use':['aui-map','aui-set','aui-linkedset']},'aui-color-palette':{'requires':['array-extras','aui-palette','color-base','node-core','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-color-picker-base':{'requires':['aui-color-palette','aui-hsva-palette-modal','event-outside'],'skinnable':true},'aui-color-picker-base-deprecated':{'requires':['dd-drag','panel','slider','aui-button-item-deprecated','aui-color-util-deprecated','aui-form-base-deprecated','aui-overlay-context-deprecated'],'skinnable':true},'aui-color-picker-deprecated':{'use':['aui-color-picker-base-deprecated','aui-color-picker-grid-plugin-deprecated']},'aui-color-picker-grid-plugin-deprecated':{'requires':['plugin','aui-color-picker-base-deprecated'],'skinnable':true},'aui-color-picker-popover':{'requires':['aui-color-picker-base','aui-popover','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-color-util-deprecated':{'requires':[]},'aui-component':{'requires':['aui-classnamemanager','aui-widget-cssclass','aui-widget-toggle','base-build','widget-base']},'aui-css':{'type':'css'},'aui-data-editor':{'requires':['aui-classnamemanager','base-build','node-base'],'skinnable':true},'aui-data-set-deprecated':{'requires':['oop','collection','base']},'aui-datasource-control-base-deprecated':{'requires':['datasource','dataschema','aui-base-deprecated']},'aui-datasource-control-deprecated':{'use':['aui-datasource-control-base-deprecated','aui-input-text-control-deprecated']},'aui-datatable':{'use':['aui-datatable-edit','aui-datatable-highlight','aui-datatable-selection','aui-datatable-property-list']},'aui-datatable-base-cell-editor':{'requires':['datatable-base','overlay'],'skinnable':true},'aui-datatable-base-options-cell-editor':{'requires':['aui-datatable-base-cell-editor','escape'],'skinnable':true},'aui-datatable-body':{'requires':['aui-classnamemanager','datatable-base','event-key','aui-event-base']},'aui-datatable-cell-editor-support':{'requires':['datatable-base']},'aui-datatable-checkbox-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatable-core':{'requires':['aui-datatable-body','datatable-base','event-key','aui-event-base'],'skinnable':true},'aui-datatable-date-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatable-dropdown-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatable-edit':{'use':['datatable-base','calendar','overlay','sortable','aui-datatype','aui-toolbar','aui-form-validator','aui-datatable-base-cell-editor','aui-datatable-base-options-cell-editor','aui-datatable-cell-editor-support','aui-datatable-core','aui-datatable-checkbox-cell-editor','aui-datatable-date-cell-editor','aui-datatable-dropdown-cell-editor','aui-datatable-radio-cell-editor','aui-datatable-text-cell-editor','aui-datatable-text-area-cell-editor']},'aui-datatable-highlight':{'requires':['aui-datatable-selection'],'skinnable':true},'aui-datatable-property-list':{'requires':['datatable-scroll','datatable-sort','aui-datatable-core','aui-datatable-edit','aui-datatable-highlight','aui-datatable-selection','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-datatable-radio-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatable-selection':{'requires':['aui-datatable-core'],'skinnable':true},'aui-datatable-text-area-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatable-text-cell-editor':{'requires':['aui-datatable-base-options-cell-editor']},'aui-datatype':{'requires':['datatype','aui-datatype-date-parse']},'aui-datatype-date-parse':{'requires':['aui-base-lang','datatype-date-format','datatype-date-parse','intl']},'aui-datepicker':{'requires':['aui-aria','aui-datepicker-delegate','aui-datepicker-popover','base','base-build','calendar'],'skinnable':true},'aui-datepicker-base-deprecated':{'requires':['calendar','aui-datatype','aui-overlay-context-deprecated'],'skinnable':true},'aui-datepicker-delegate':{'requires':['aui-datatype-date-parse','aui-event-input','event-focus','node-event-delegate']},'aui-datepicker-deprecated':{'skinnable':true,'use':['aui-datepicker-base-deprecated','aui-datepicker-select-deprecated']},'aui-datepicker-native':{'requires':['aui-datepicker-delegate','aui-node-base','base','base-build']},'aui-datepicker-popover':{'requires':['aui-classnamemanager','aui-popover']},'aui-datepicker-select-deprecated':{'requires':['aui-datepicker-base-deprecated','aui-button-item-deprecated'],'skinnable':true},'aui-debounce':{},'aui-delayed-task-deprecated':{'requires':['yui-base']},'aui-diagram-builder':{'requires':['aui-aria','aui-map','aui-property-builder','aui-diagram-builder-connector','aui-property-builder-settings','aui-diagram-node-condition','aui-diagram-node-end','aui-diagram-node-fork','aui-diagram-node-join','aui-diagram-node-start','aui-diagram-node-state','aui-diagram-node-task','overlay'],'skinnable':true},'aui-diagram-builder-connector':{'requires':['arraylist-add','arraylist-filter','escape','json','graphics','dd'],'skinnable':true},'aui-diagram-node':{'requires':['aui-aria','aui-diagram-node-manager-base','escape','overlay']},'aui-diagram-node-condition':{'requires':['aui-diagram-node-state']},'aui-diagram-node-end':{'requires':['aui-diagram-node-state']},'aui-diagram-node-fork':{'requires':['aui-diagram-node-state']},'aui-diagram-node-join':{'requires':['aui-diagram-node-state']},'aui-diagram-node-manager-base':{'requires':['base']},'aui-diagram-node-start':{'requires':['aui-diagram-node-state']},'aui-diagram-node-state':{'requires':['aui-diagram-node']},'aui-diagram-node-task':{'requires':['aui-diagram-node-state']},'aui-dialog-iframe-deprecated':{'requires':['plugin','array-invoke','aui-base-deprecated','aui-loading-mask-deprecated'],'skinnable':true},'aui-dropdown':{'requires':['event-delegate','event-key','event-outside','node-focusmanager','widget','widget-stack','aui-classnamemanager','aui-node','aui-widget-cssclass','aui-widget-toggle','aui-widget-trigger'],'skinnable':true},'aui-editable-deprecated':{'requires':['aui-base-deprecated','aui-form-combobox-deprecated','escape','event-resize'],'skinnable':true},'aui-event':{'use':['aui-event-base']},'aui-event-base':{'requires':['event-base']},'aui-event-delegate-change':{'condition':{'name':'aui-event-delegate-change','trigger':'event-base-ie','ua':'ie'},'requires':['aui-event-base','event-delegate','event-synthetic']},'aui-event-delegate-submit':{'condition':{'name':'aui-event-delegate-submit','trigger':'event-base-ie','ua':'ie'},'requires':['aui-event-base','event-delegate','event-synthetic']},'aui-event-input':{'condition':{'name':'aui-event-input','test':function(A){__cov_5PHDkoq0CIse50trH2mqhg.f['3']++;__cov_5PHDkoq0CIse50trH2mqhg.s['8']++;var supportsDOMEvent=A.supportsDOMEvent,testFeature=A.Features.test,addFeature=A.Features.add;__cov_5PHDkoq0CIse50trH2mqhg.s['9']++;if(testFeature('event','input')===undefined){__cov_5PHDkoq0CIse50trH2mqhg.b['4'][0]++;__cov_5PHDkoq0CIse50trH2mqhg.s['10']++;addFeature('event','input',{test:function(){__cov_5PHDkoq0CIse50trH2mqhg.f['4']++;__cov_5PHDkoq0CIse50trH2mqhg.s['11']++;return(__cov_5PHDkoq0CIse50trH2mqhg.b['5'][0]++,supportsDOMEvent(document.createElement('textarea'),'input'))&&((__cov_5PHDkoq0CIse50trH2mqhg.b['5'][1]++,!A.UA.ie)||(__cov_5PHDkoq0CIse50trH2mqhg.b['5'][2]++,A.UA.ie>9));}});}else{__cov_5PHDkoq0CIse50trH2mqhg.b['4'][1]++;}__cov_5PHDkoq0CIse50trH2mqhg.s['12']++;return!testFeature('event','input');},'trigger':'aui-event-base'},'requires':['aui-event-base','event-delegate','event-synthetic','timers']},'aui-form-base-deprecated':{'requires':['io-form','querystring-parse','aui-base-deprecated','aui-data-set-deprecated','aui-form-field-deprecated']},'aui-form-builder':{'requires':['aui-modal','aui-layout','aui-form-builder-field-list','aui-form-builder-field-toolbar','aui-form-builder-field-type','aui-form-builder-field-types','aui-form-builder-layout-builder','aui-form-builder-page-manager','aui-form-builder-settings-modal','event-focus','event-tap'],'skinnable':true},'aui-form-builder-available-field-deprecated':{'requires':['aui-property-builder-available-field']},'aui-form-builder-deprecated':{'requires':['aui-button','aui-collection','aui-form-builder-available-field-deprecated','aui-form-builder-field-deprecated','aui-form-builder-field-button-deprecated','aui-form-builder-field-checkbox-deprecated','aui-form-builder-field-fieldset-deprecated','aui-form-builder-field-file-upload-deprecated','aui-form-builder-field-multiple-choice-deprecated','aui-form-builder-field-radio-deprecated','aui-form-builder-field-select-deprecated','aui-form-builder-field-text-deprecated','aui-form-builder-field-textarea-deprecated','aui-property-builder','aui-property-builder-settings','aui-sortable-list','aui-tabview','aui-tooltip-base','escape','transition'],'skinnable':true},'aui-form-builder-field-base':{'requires':['aui-classnamemanager','aui-node-base','aui-text-data-editor','aui-toggler','base','node-base'],'skinnable':true},'aui-form-builder-field-button-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-checkbox-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-choice':{'requires':['aui-boolean-data-editor','aui-options-data-editor','aui-tabs-data-editor','aui-form-builder-field-base','aui-form-field-choice']},'aui-form-builder-field-deprecated':{'requires':['panel','aui-datatype','aui-datatable-edit','aui-property-builder-field-support'],'skinnable':true},'aui-form-builder-field-fieldset-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-file-upload-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-list':{'requires':['aui-form-builder-field-type','aui-form-builder-field-types','aui-form-builder-layout-builder'],'skinnable':true},'aui-form-builder-field-multiple-choice-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-radio-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-select-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-sentence':{'requires':['aui-form-builder-field-base','aui-form-field']},'aui-form-builder-field-text':{'requires':['aui-boolean-data-editor','aui-radio-group-data-editor','aui-form-builder-field-base','aui-form-field-text']},'aui-form-builder-field-text-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-textarea-deprecated':{'requires':['aui-form-builder-field-deprecated']},'aui-form-builder-field-toolbar':{'requires':['aui-classnamemanager','base','node-base'],'skinnable':true},'aui-form-builder-field-type':{'requires':['base','node-base'],'skinnable':true},'aui-form-builder-field-types':{'requires':['aui-classnamemanager','aui-form-builder-field-types-modal','base','node-base'],'skinnable':true},'aui-form-builder-field-types-modal':{'requires':['aui-modal'],'skinnable':true},'aui-form-builder-layout-builder':{'requires':['aui-classnamemanager','aui-layout-builder','aui-modal','base','node-base'],'skinnable':true},'aui-form-builder-page-manager':{'requires':['aui-pagination','aui-popover','aui-tabview','base','event-valuechange','node-base'],'skinnable':true},'aui-form-builder-settings-modal':{'requires':['aui-classnamemanager','aui-modal','base','node-base'],'skinnable':true},'aui-form-combobox-deprecated':{'requires':['aui-form-textarea-deprecated','aui-toolbar'],'skinnable':true},'aui-form-deprecated':{'use':['aui-form-base-deprecated','aui-form-combobox-deprecated','aui-form-field-deprecated','aui-form-select-deprecated','aui-form-textarea-deprecated','aui-form-textfield-deprecated']},'aui-form-field':{'requires':['aui-classnamemanager','aui-node-base','base-build'],'skinnable':true},'aui-form-field-choice':{'requires':['aui-form-field-required'],'skinnable':true},'aui-form-field-deprecated':{'requires':['aui-base-deprecated','aui-component']},'aui-form-field-required':{'requires':['aui-form-field']},'aui-form-field-text':{'requires':['aui-form-field-required'],'skinnable':true},'aui-form-select-deprecated':{'requires':['aui-form-field-deprecated']},'aui-form-textarea-deprecated':{'requires':['node-pluginhost','aui-autosize-deprecated','aui-form-textfield-deprecated']},'aui-form-textfield-deprecated':{'requires':['aui-form-field-deprecated']},'aui-form-validator':{'requires':['escape','selector-css3','node-event-delegate','aui-node','aui-component','aui-event-input']},'aui-hsv-palette':{'requires':['aui-classnamemanager','aui-widget-cssclass','aui-widget-toggle','aui-event-input','base-build','clickable-rail','color-hsv','dd-constrain','slider','widget'],'skinnable':true},'aui-hsva-palette':{'requires':['aui-hsv-palette'],'skinnable':true},'aui-hsva-palette-modal':{'requires':['aui-hsva-palette','aui-modal'],'skinnable':true},'aui-image-cropper':{'requires':['resize-base','resize-constrain','dd-constrain','aui-node-base','aui-component'],'skinnable':true},'aui-image-viewer':{'requires':['widget','widget-modality','widget-position','widget-position-align','widget-position-constrain','widget-stack','widget-stdmod','aui-event','aui-image-viewer-base','aui-image-viewer-multiple','aui-image-viewer-slideshow','aui-node-base','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-image-viewer-base':{'requires':['anim','aui-aria','aui-classnamemanager','aui-node','aui-widget-responsive','base-build','imageloader','node-base','widget','widget-stack'],'skinnable':true},'aui-image-viewer-media':{'requires':['plugin','aui-component','aui-image-viewer']},'aui-image-viewer-multiple':{'requires':['base-build','node-base','aui-classnamemanager','aui-image-viewer-base'],'skinnable':true},'aui-image-viewer-multiple-swipe':{'condition':{'name':'aui-image-viewer-multiple-swipe','trigger':'aui-image-viewer-multiple','ua':'touchEnabled'},'requires':['aui-image-viewer-multiple','aui-image-viewer-swipe']},'aui-image-viewer-slideshow':{'requires':['node','aui-classnamemanager']},'aui-image-viewer-swipe':{'condition':{'name':'aui-image-viewer-swipe','trigger':'aui-image-viewer-base','ua':'touchEnabled'},'requires':['event-resize','aui-image-viewer-base','aui-widget-swipe']},'aui-input-text-control-deprecated':{'requires':['aui-base-deprecated','aui-datasource-control-base-deprecated','aui-form-combobox-deprecated']},'aui-io':{'use':['aui-io-request']},'aui-io-deprecated':{'use':['aui-io-request','aui-io-plugin-deprecated']},'aui-io-plugin-deprecated':{'requires':['aui-overlay-base-deprecated','aui-parse-content','aui-io-request','aui-loading-mask-deprecated']},'aui-io-request':{'requires':['io-base','json','plugin','querystring-stringify','aui-component']},'aui-io-request-deprecated':{'requires':['io-base','json','plugin','querystring-stringify','aui-base-deprecated']},'aui-layout':{'requires':['aui-layout-col','aui-layout-row','aui-node-base','base-build','datatype-number-parse','event-resize']},'aui-layout-builder':{'requires':['aui-classnamemanager','aui-layout','aui-layout-builder-add-col','aui-layout-builder-add-row','aui-layout-builder-move','aui-layout-builder-remove-row','aui-layout-builder-resize-col','aui-node-base','base-build','node-event-delegate','node-screen','node-style']},'aui-layout-builder-add-col':{'requires':['event-key','node-base'],'skinnable':true},'aui-layout-builder-add-row':{'requires':['aui-node-base','base-build','node-scroll-info'],'skinnable':true},'aui-layout-builder-move':{'requires':['aui-node-base','base-build'],'skinnable':true},'aui-layout-builder-remove-row':{'requires':['aui-node-base','base-build'],'skinnable':true},'aui-layout-builder-resize-col':{'requires':['dd-constrain','dd-delegate','dd-drop-plugin','dd-proxy','event-mouseenter','node-base'],'skinnable':true},'aui-layout-col':{'requires':['aui-classnamemanager','aui-node-base','base-build'],'skinnable':true},'aui-layout-row':{'requires':['array-invoke','aui-node-base','base-build'],'skinnable':true},'aui-linkedset':{'requires':['aui-set']},'aui-live-search-deprecated':{'requires':['aui-base-deprecated']},'aui-loading-mask-deprecated':{'requires':['plugin','aui-overlay-mask-deprecated'],'skinnable':true},'aui-map':{'requires':['base-build']},'aui-menu':{'requires':['base-build','event-mouseenter','event-resize','widget','widget-position','widget-position-align','widget-position-constrain','widget-stack','aui-classnamemanager','aui-debounce','aui-dropdown','aui-menu-item'],'skinnable':true},'aui-menu-item':{'requires':['base-build','node-base','aui-classnamemanager','aui-node','aui-widget-shortcut']},'aui-messaging':{'requires':['querystring','aui-timer']},'aui-modal':{'requires':['widget','widget-autohide','widget-buttons','widget-modality','widget-position','widget-position-align','widget-position-constrain','widget-stack','widget-stdmod','dd-plugin','dd-constrain','timers','aui-classnamemanager','aui-widget-cssclass','aui-widget-toggle','aui-widget-toolbars'],'skinnable':true},'aui-modal-resize':{'condition':{'name':'aui-modal-resize','test':function(A){__cov_5PHDkoq0CIse50trH2mqhg.f['5']++;__cov_5PHDkoq0CIse50trH2mqhg.s['13']++;return!A.UA.mobile;},'trigger':'aui-modal'},'requires':['aui-modal','resize-plugin']},'aui-node':{'use':['aui-node-base']},'aui-node-accessible':{'requires':['aui-node-base','event-custom-base']},'aui-node-base':{'requires':['array-extras','aui-base-lang','aui-classnamemanager','aui-debounce','node']},'aui-node-html5':{'condition':{'name':'aui-node-html5','trigger':'aui-node','ua':'ie'},'requires':['collection','aui-node-base']},'aui-options-data-editor':{'requires':['aui-data-editor','dd-constrain','dd-delegate','dd-drop-plugin','dd-proxy','event-valuechange','node-event-delegate'],'skinnable':true},'aui-overlay-base-deprecated':{'requires':['widget-position','widget-stack','widget-position-align','widget-position-constrain','widget-stdmod','aui-component']},'aui-overlay-context-deprecated':{'requires':['aui-overlay-manager-deprecated','aui-delayed-task-deprecated','aui-aria']},'aui-overlay-context-panel-deprecated':{'requires':['anim','aui-overlay-context-deprecated'],'skinnable':true},'aui-overlay-deprecated':{'use':['aui-overlay-base-deprecated','aui-overlay-context-deprecated','aui-overlay-context-panel-deprecated','aui-overlay-manager-deprecated','aui-overlay-mask-deprecated']},'aui-overlay-manager-deprecated':{'requires':['overlay','plugin','aui-base-deprecated','aui-overlay-base-deprecated']},'aui-overlay-mask-deprecated':{'requires':['event-resize','aui-base-deprecated','aui-overlay-base-deprecated'],'skinnable':true},'aui-pagination':{'requires':['node-event-delegate','aui-node','aui-component','widget-htmlparser'],'skinnable':true},'aui-palette':{'requires':['base-build','event-hover','widget','aui-classnamemanager','aui-base','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true},'aui-parse-content':{'requires':['async-queue','plugin','io-base','aui-component','aui-node-base']},'aui-popover':{'requires':['event-resize','widget','widget-autohide','widget-buttons','widget-modality','widget-position','widget-position-align','widget-position-constrain','widget-stack','widget-stdmod','aui-classnamemanager','aui-widget-cssclass','aui-widget-toggle','aui-widget-toolbars','aui-widget-transition','aui-widget-trigger','aui-widget-position-align-suggestion','aui-component','aui-node-base'],'skinnable':true},'aui-progressbar':{'requires':['aui-node','aui-component','aui-aria'],'skinnable':true},'aui-promise':{'requires':['array-invoke','promise','oop']},'aui-property-builder':{'requires':['dd','collection','aui-property-builder-available-field','aui-property-builder-field-support','aui-property-builder-settings','aui-tabview'],'skinnable':true},'aui-property-builder-available-field':{'requires':['base','aui-component','aui-node']},'aui-property-builder-field-support':{},'aui-property-builder-settings':{'requires':['aui-tabview','aui-datatable-property-list']},'aui-radio-group-data-editor':{'requires':['aui-data-editor','node-event-delegate'],'skinnable':true},'aui-rating':{'use':['aui-rating-base','aui-rating-thumb']},'aui-rating-base':{'requires':['aui-component','aui-node-base','widget-htmlparser','widget-uievents'],'skinnable':true},'aui-rating-thumb':{'requires':['aui-rating-base']},'aui-resize-base-deprecated':{'requires':['dd-drag','dd-delegate','dd-drop','aui-base-deprecated'],'skinnable':true},'aui-resize-constrain-deprecated':{'requires':['dd-constrain','plugin','aui-resize-base-deprecated']},'aui-resize-deprecated':{'skinnable':true,'use':['aui-resize-base-deprecated','aui-resize-constrain-deprecated']},'aui-scale-data-editor':{'requires':['aui-classnamemanager','aui-data-editor','event-valuechange']},'aui-scheduler':{'use':['event-gestures','aui-scheduler-base','aui-scheduler-event-recorder','aui-scheduler-view-agenda','aui-scheduler-view-day','aui-scheduler-view-month','aui-scheduler-view-table-dd','aui-scheduler-view-table','aui-scheduler-view-week','aui-viewport']},'aui-scheduler-base':{'requires':['model','model-list','widget-stdmod','color-hsl','aui-event-base','aui-node-base','aui-component','aui-datatype','aui-button','node-focusmanager'],'skinnable':true},'aui-scheduler-event-recorder':{'requires':['querystring','io-form','overlay','aui-scheduler-base','aui-popover'],'skinnable':true},'aui-scheduler-touch':{'condition':{'name':'aui-scheduler-touch','trigger':'aui-scheduler','ua':'touchEnabled'},'requires':['base-build','aui-scheduler'],'skinnable':true},'aui-scheduler-view-agenda':{'requires':['aui-scheduler-base'],'skinnable':true},'aui-scheduler-view-day':{'requires':['dd-drag','dd-delegate','dd-drop','dd-constrain','aui-scheduler-view-table'],'skinnable':true},'aui-scheduler-view-month':{'requires':['aui-scheduler-view-table'],'skinnable':true},'aui-scheduler-view-table':{'requires':['overlay','aui-scheduler-base'],'skinnable':true},'aui-scheduler-view-table-dd':{'requires':['dd-drag','dd-delegate','dd-drop','aui-scheduler-view-table']},'aui-scheduler-view-week':{'requires':['aui-scheduler-view-day'],'skinnable':true},'aui-scroller-deprecated':{'requires':['event-mouseenter','aui-base-deprecated','aui-simple-anim-deprecated'],'skinnable':true},'aui-scrollspy':{'requires':['base-build','node-screen','aui-classnamemanager']},'aui-search':{'use':['aui-search-tst']},'aui-search-tst':{'requires':['aui-component']},'aui-selector':{'requires':['selector-css3','aui-classnamemanager']},'aui-set':{'requires':['aui-map']},'aui-simple-anim-deprecated':{'requires':['aui-base-deprecated']},'aui-skin-deprecated':{'type':'css'},'aui-sortable':{'use':['aui-sortable-layout','aui-sortable-list']},'aui-sortable-layout':{'requires':['dd-delegate','dd-drag','dd-drop','dd-proxy','aui-node','aui-component'],'skinnable':true},'aui-sortable-list':{'requires':['dd-drag','dd-drop','dd-proxy','dd-scroll','aui-node','aui-component']},'aui-state-interaction-deprecated':{'requires':['aui-base-deprecated','plugin']},'aui-surface':{'use':['aui-surface-app','aui-surface-screen']},'aui-surface-app':{'requires':['event-delegate','node-event-html5','aui-surface-base','aui-surface-screen','aui-surface-screen-route']},'aui-surface-base':{'requires':['base-build','node-style','timers','aui-debounce','aui-promise','aui-parse-content']},'aui-surface-screen':{'requires':['base-build']},'aui-surface-screen-html':{'requires':['aui-base','aui-io-request','aui-promise','aui-surface-screen','aui-url']},'aui-surface-screen-route':{'requires':['base-build']},'aui-swf-deprecated':{'requires':['querystring-parse-simple','querystring-stringify-simple','aui-base-deprecated']},'aui-tabs-data-editor':{'requires':['aui-data-editor','aui-tabview']},'aui-tabview':{'requires':['selector-css3','tabview','aui-component','aui-widget-css'],'skinnable':true},'aui-template-deprecated':{'requires':['aui-base-deprecated']},'aui-text-data-editor':{'requires':['aui-data-editor','event-valuechange'],'skinnable':true},'aui-text-data-unicode':{'requires':['text']},'aui-text-unicode':{'requires':['aui-text-data-unicode']},'aui-textboxlist-deprecated':{'requires':['anim-node-plugin','aui-autocomplete-deprecated','aui-button-item-deprecated','aui-data-set-deprecated','escape','node-focusmanager'],'skinnable':true},'aui-timepicker':{'requires':['autocomplete','aui-datepicker-delegate','aui-datepicker-popover'],'skinnable':true},'aui-timepicker-native':{'requires':['base','base-build','aui-node-base','aui-datepicker-delegate','aui-datepicker-native']},'aui-timer':{'requires':['oop']},'aui-toggler':{'use':['aui-toggler-base','aui-toggler-delegate']},'aui-toggler-accessibility':{'requires':['aui-toggler-base']},'aui-toggler-base':{'requires':['transition','aui-selector','aui-event-base','aui-node','aui-component','event-tap'],'skinnable':true},'aui-toggler-delegate':{'requires':['array-invoke','node-event-delegate','aui-toggler-base']},'aui-toolbar':{'requires':['arraylist','arraylist-add','aui-component','aui-button-core']},'aui-tooltip':{'use':['aui-tooltip-base','aui-tooltip-delegate']},'aui-tooltip-base':{'requires':['aui-aria','aui-classnamemanager','aui-component','aui-debounce','aui-node-base','aui-widget-cssclass','aui-widget-toggle','aui-widget-transition','aui-widget-trigger','aui-widget-position-align-suggestion','event-hover','event-resize','escape','widget','widget-autohide','widget-position','widget-position-align','widget-position-constrain','widget-stack','widget-stdmod'],'skinnable':true},'aui-tooltip-delegate':{'requires':['aui-tooltip-base','node-event-delegate']},'aui-tooltip-deprecated':{'requires':['aui-overlay-context-panel-deprecated'],'skinnable':true},'aui-tpl-snippets-base-deprecated':{'requires':['aui-template-deprecated']},'aui-tpl-snippets-checkbox-deprecated':{'requires':['aui-tpl-snippets-base-deprecated']},'aui-tpl-snippets-deprecated':{'use':['aui-tpl-snippets-base-deprecated','aui-tpl-snippets-checkbox-deprecated','aui-tpl-snippets-input-deprecated','aui-tpl-snippets-select-deprecated','aui-tpl-snippets-textarea-deprecated']},'aui-tpl-snippets-input-deprecated':{'requires':['aui-tpl-snippets-base-deprecated']},'aui-tpl-snippets-select-deprecated':{'requires':['aui-tpl-snippets-base-deprecated']},'aui-tpl-snippets-textarea-deprecated':{'requires':['aui-tpl-snippets-base-deprecated']},'aui-tree':{'use':['aui-tree-data','aui-tree-io','aui-tree-node','aui-tree-paginator','aui-tree-view']},'aui-tree-data':{'requires':['aui-base-core','aui-base-lang','aui-node-base','aui-timer','aui-component']},'aui-tree-io':{'requires':['aui-component','aui-io']},'aui-tree-node':{'requires':['json','querystring-stringify','aui-tree-data','aui-tree-io','aui-tree-paginator','event-key']},'aui-tree-paginator':{'requires':['yui-base']},'aui-tree-view':{'requires':['dd-delegate','dd-proxy','widget','aui-tree-node','aui-tree-paginator','aui-tree-io'],'skinnable':true},'aui-undo-redo':{'requires':['aui-base','base','base-build','event-key','promise']},'aui-url':{'requires':['oop','querystring-parse','querystring-stringify']},'aui-video':{'requires':['event-resize','node-event-html5','querystring-stringify-simple','aui-aria','aui-node','aui-component','aui-debounce'],'skinnable':true},'aui-viewport':{'requires':['aui-node','aui-component']},'aui-widget':{'use':['aui-widget-cssclass','aui-widget-toolbars']},'aui-widget-core':{'use':['aui-widget-cssclass']},'aui-widget-cssclass':{'requires':['widget-base']},'aui-widget-position-align-suggestion':{'requires':['widget-position-align','widget-stdmod']},'aui-widget-responsive':{'requires':['event-resize','widget-base']},'aui-widget-shortcut':{'requires':['base']},'aui-widget-swipe':{'requires':['classnamemanager','scrollview-base','scrollview-paginator','timers']},'aui-widget-toggle':{},'aui-widget-toolbars':{'requires':['widget-stdmod','aui-toolbar']},'aui-widget-transition':{'requires':['transition']},'aui-widget-trigger':{'requires':['node']}});__cov_5PHDkoq0CIse50trH2mqhg.s['14']++;YUI.Env[Y.version].md5='d7c627eb00edd6b6f054d8f6e7147480';__cov_5PHDkoq0CIse50trH2mqhg.s['15']++;A.UA.edge=function(){__cov_5PHDkoq0CIse50trH2mqhg.f['6']++;__cov_5PHDkoq0CIse50trH2mqhg.s['16']++;var edgeVersion=A.UA.userAgent.match(/Edge\/(.[0-9.]+)/);__cov_5PHDkoq0CIse50trH2mqhg.s['17']++;if(edgeVersion){__cov_5PHDkoq0CIse50trH2mqhg.b['6'][0]++;__cov_5PHDkoq0CIse50trH2mqhg.s['18']++;return edgeVersion[1];}else{__cov_5PHDkoq0CIse50trH2mqhg.b['6'][1]++;}__cov_5PHDkoq0CIse50trH2mqhg.s['19']++;return 0;}();__cov_5PHDkoq0CIse50trH2mqhg.s['20']++;A.supportsDOMEvent=function(domNode,eventName){__cov_5PHDkoq0CIse50trH2mqhg.f['7']++;__cov_5PHDkoq0CIse50trH2mqhg.s['21']++;eventName='on'+eventName;__cov_5PHDkoq0CIse50trH2mqhg.s['22']++;if(!(eventName in domNode)){__cov_5PHDkoq0CIse50trH2mqhg.b['7'][0]++;__cov_5PHDkoq0CIse50trH2mqhg.s['23']++;if(!domNode.setAttribute){__cov_5PHDkoq0CIse50trH2mqhg.b['8'][0]++;__cov_5PHDkoq0CIse50trH2mqhg.s['24']++;domNode=A.config.doc.createElement('div');}else{__cov_5PHDkoq0CIse50trH2mqhg.b['8'][1]++;}__cov_5PHDkoq0CIse50trH2mqhg.s['25']++;if(domNode.setAttribute){__cov_5PHDkoq0CIse50trH2mqhg.b['9'][0]++;__cov_5PHDkoq0CIse50trH2mqhg.s['26']++;domNode.setAttribute(eventName,'');__cov_5PHDkoq0CIse50trH2mqhg.s['27']++;return typeof domNode[eventName]==='function';}else{__cov_5PHDkoq0CIse50trH2mqhg.b['9'][1]++;}}else{__cov_5PHDkoq0CIse50trH2mqhg.b['7'][1]++;}__cov_5PHDkoq0CIse50trH2mqhg.s['28']++;domNode=null;__cov_5PHDkoq0CIse50trH2mqhg.s['29']++;return true;};__cov_5PHDkoq0CIse50trH2mqhg.s['30']++;(function(){__cov_5PHDkoq0CIse50trH2mqhg.f['8']++;__cov_5PHDkoq0CIse50trH2mqhg.s['31']++;var slice=Array.prototype.slice;__cov_5PHDkoq0CIse50trH2mqhg.s['32']++;YUI.prototype.ready=function(){__cov_5PHDkoq0CIse50trH2mqhg.f['9']++;__cov_5PHDkoq0CIse50trH2mqhg.s['33']++;var instance=this,xargs=arguments,index=xargs.length-1,modules=slice.call(arguments,0,index);__cov_5PHDkoq0CIse50trH2mqhg.s['34']++;modules.unshift('event-base');__cov_5PHDkoq0CIse50trH2mqhg.s['35']++;modules.push(function(instance){__cov_5PHDkoq0CIse50trH2mqhg.f['10']++;__cov_5PHDkoq0CIse50trH2mqhg.s['36']++;var args=arguments;__cov_5PHDkoq0CIse50trH2mqhg.s['37']++;instance.on('domready',function(){__cov_5PHDkoq0CIse50trH2mqhg.f['11']++;__cov_5PHDkoq0CIse50trH2mqhg.s['38']++;xargs[index].apply(this,args);});});__cov_5PHDkoq0CIse50trH2mqhg.s['39']++;instance.use.apply(instance,modules);};}());},'3.1.0-deprecated.52');
diff --git a/build/aui-base-core/aui-base-core-debug.js b/build/aui-base-core/aui-base-core-debug.js
new file mode 100644
index 00000000000..2cb44d75cf0
--- /dev/null
+++ b/build/aui-base-core/aui-base-core-debug.js
@@ -0,0 +1,2251 @@
+YUI.add('aui-base-core', function (A, NAME) {
+
+var Y = A;
+YUI.Env.aliases = YUI.Env.aliases || {};
+Y.mix(YUI.Env.aliases, {
+ "aui-autosize": ["aui-autosize-iframe"],
+ "aui-base": ["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"],
+ "aui-base-deprecated": ["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"],
+ "aui-button": ["aui-button-core"],
+ "aui-collection": ["aui-map","aui-set","aui-linkedset"],
+ "aui-color-picker-deprecated": ["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"],
+ "aui-datasource-control-deprecated": ["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"],
+ "aui-datatable": ["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"],
+ "aui-datatable-edit": ["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"],
+ "aui-datepicker-deprecated": ["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"],
+ "aui-event": ["aui-event-base"],
+ "aui-form-deprecated": ["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"],
+ "aui-io": ["aui-io-request"],
+ "aui-io-deprecated": ["aui-io-request","aui-io-plugin-deprecated"],
+ "aui-node": ["aui-node-base"],
+ "aui-overlay-deprecated": ["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"],
+ "aui-rating": ["aui-rating-base","aui-rating-thumb"],
+ "aui-resize-deprecated": ["aui-resize-base-deprecated","aui-resize-constrain-deprecated"],
+ "aui-scheduler": ["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"],
+ "aui-search": ["aui-search-tst"],
+ "aui-sortable": ["aui-sortable-layout","aui-sortable-list"],
+ "aui-surface": ["aui-surface-app","aui-surface-screen"],
+ "aui-toggler": ["aui-toggler-base","aui-toggler-delegate"],
+ "aui-tooltip": ["aui-tooltip-base","aui-tooltip-delegate"],
+ "aui-tpl-snippets-deprecated": ["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"],
+ "aui-tree": ["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"],
+ "aui-widget": ["aui-widget-cssclass","aui-widget-toolbars"],
+ "aui-widget-core": ["aui-widget-cssclass"]
+});
+/* This file is auto-generated by (yogi loader --yes --mix --js js/aui-loader.js --json js/aui-loader.json --start ../) */
+
+/*jshint maxlen:900, eqeqeq: false */
+
+/**
+ * YUI 3 module metadata
+ * @module loader
+ * @submodule loader-yui3
+ */
+YUI.Env[Y.version].modules = YUI.Env[Y.version].modules || {};
+Y.mix(YUI.Env[Y.version].modules, {
+ "aui-ace-autocomplete-base": {
+ "requires": [
+ "aui-ace-editor"
+ ]
+ },
+ "aui-ace-autocomplete-freemarker": {
+ "requires": [
+ "aui-ace-autocomplete-templateprocessor"
+ ]
+ },
+ "aui-ace-autocomplete-list": {
+ "requires": [
+ "aui-ace-autocomplete-base",
+ "overlay",
+ "widget-autohide"
+ ],
+ "skinnable": true
+ },
+ "aui-ace-autocomplete-plugin": {
+ "requires": [
+ "aui-ace-autocomplete-list",
+ "plugin"
+ ]
+ },
+ "aui-ace-autocomplete-templateprocessor": {
+ "requires": [
+ "aui-ace-autocomplete-base"
+ ]
+ },
+ "aui-ace-autocomplete-velocity": {
+ "requires": [
+ "aui-ace-autocomplete-templateprocessor"
+ ]
+ },
+ "aui-ace-editor": {
+ "requires": [
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-affix": {
+ "requires": [
+ "base",
+ "node-screen",
+ "aui-node"
+ ]
+ },
+ "aui-alert": {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-transition",
+ "timers",
+ "widget",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+ },
+ "aui-aria": {
+ "requires": [
+ "plugin",
+ "aui-component"
+ ]
+ },
+ "aui-aria-table-sortable": {
+ "requires": [
+ "aui-aria"
+ ]
+ },
+ "aui-arraysort": {
+ "requires": [
+ "arraysort"
+ ]
+ },
+ "aui-audio": {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "node-event-html5",
+ "querystring-stringify-simple"
+ ],
+ "skinnable": true
+ },
+ "aui-autocomplete-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated",
+ "datasource",
+ "dataschema",
+ "aui-form-combobox-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-autosize": {
+ "use": [
+ "aui-autosize-iframe"
+ ]
+ },
+ "aui-autosize-deprecated": {
+ "requires": [
+ "event-valuechange",
+ "plugin",
+ "aui-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-autosize-iframe": {
+ "requires": [
+ "plugin",
+ "aui-component",
+ "aui-timer",
+ "aui-node-base"
+ ]
+ },
+ "aui-base": {
+ "use": [
+ "oop",
+ "yui-throttle",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "aui-base-core",
+ "aui-base-lang",
+ "aui-node-base"
+ ]
+ },
+ "aui-base-core": {},
+ "aui-base-deprecated": {
+ "use": [
+ "aui-base",
+ "aui-node",
+ "aui-component",
+ "aui-delayed-task-deprecated",
+ "aui-selector",
+ "aui-event-base"
+ ]
+ },
+ "aui-base-html5-shiv": {
+ "condition": {
+ "name": "aui-base-html5-shiv",
+ "trigger": "node-base",
+ "ua": "ie"
+ }
+ },
+ "aui-base-lang": {},
+ "aui-boolean-data-editor": {
+ "requires": [
+ "aui-button-switch",
+ "aui-data-editor"
+ ]
+ },
+ "aui-button": {
+ "use": [
+ "aui-button-core"
+ ]
+ },
+ "aui-button-core": {
+ "requires": [
+ "button",
+ "button-group",
+ "button-plugin",
+ "aui-component",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-button-item-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-state-interaction-deprecated",
+ "widget-child"
+ ],
+ "skinnable": true
+ },
+ "aui-button-search-cancel": {
+ "requires": [
+ "array-invoke",
+ "base",
+ "base-build",
+ "event-focus",
+ "event-move",
+ "event-resize",
+ "node-screen",
+ "node-event-delegate",
+ "aui-node-base",
+ "aui-classnamemanager",
+ "aui-event-input"
+ ]
+ },
+ "aui-button-switch": {
+ "requires": [
+ "aui-node-base",
+ "base-build",
+ "event-key",
+ "transition",
+ "widget"
+ ],
+ "skinnable": true
+ },
+ "aui-carousel": {
+ "requires": [
+ "anim",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-slideshow",
+ "node-event-delegate",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-carousel-mobile-touch": {
+ "condition": {
+ "name": "aui-carousel-mobile-touch",
+ "test": function(A) {
+ return A.UA.mobile && A.UA.touchEnabled;
+},
+ "trigger": "aui-carousel"
+ },
+ "requires": [
+ "base-build",
+ "aui-carousel"
+ ]
+ },
+ "aui-carousel-swipe": {
+ "condition": {
+ "name": "aui-carousel-swipe",
+ "trigger": "aui-carousel",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "aui-carousel",
+ "aui-widget-swipe",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-char-counter": {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-event-input",
+ "aui-component"
+ ]
+ },
+ "aui-chart-deprecated": {
+ "requires": [
+ "datasource",
+ "json",
+ "aui-swf-deprecated"
+ ]
+ },
+ "aui-classnamemanager": {
+ "requires": [
+ "classnamemanager"
+ ]
+ },
+ "aui-collection": {
+ "use": [
+ "aui-map",
+ "aui-set",
+ "aui-linkedset"
+ ]
+ },
+ "aui-color-palette": {
+ "requires": [
+ "array-extras",
+ "aui-palette",
+ "color-base",
+ "node-core",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-base": {
+ "requires": [
+ "aui-color-palette",
+ "aui-hsva-palette-modal",
+ "event-outside"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-base-deprecated": {
+ "requires": [
+ "dd-drag",
+ "panel",
+ "slider",
+ "aui-button-item-deprecated",
+ "aui-color-util-deprecated",
+ "aui-form-base-deprecated",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-deprecated": {
+ "use": [
+ "aui-color-picker-base-deprecated",
+ "aui-color-picker-grid-plugin-deprecated"
+ ]
+ },
+ "aui-color-picker-grid-plugin-deprecated": {
+ "requires": [
+ "plugin",
+ "aui-color-picker-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-popover": {
+ "requires": [
+ "aui-color-picker-base",
+ "aui-popover",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-color-util-deprecated": {
+ "requires": []
+ },
+ "aui-component": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "base-build",
+ "widget-base"
+ ]
+ },
+ "aui-css": {
+ "type": "css"
+ },
+ "aui-data-editor": {
+ "requires": [
+ "aui-classnamemanager",
+ "base-build",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-data-set-deprecated": {
+ "requires": [
+ "oop",
+ "collection",
+ "base"
+ ]
+ },
+ "aui-datasource-control-base-deprecated": {
+ "requires": [
+ "datasource",
+ "dataschema",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-datasource-control-deprecated": {
+ "use": [
+ "aui-datasource-control-base-deprecated",
+ "aui-input-text-control-deprecated"
+ ]
+ },
+ "aui-datatable": {
+ "use": [
+ "aui-datatable-edit",
+ "aui-datatable-highlight",
+ "aui-datatable-selection",
+ "aui-datatable-property-list"
+ ]
+ },
+ "aui-datatable-base-cell-editor": {
+ "requires": [
+ "datatable-base",
+ "overlay"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-base-options-cell-editor": {
+ "requires": [
+ "aui-datatable-base-cell-editor",
+ "escape"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-body": {
+ "requires": [
+ "aui-classnamemanager",
+ "datatable-base",
+ "event-key",
+ "aui-event-base"
+ ]
+ },
+ "aui-datatable-cell-editor-support": {
+ "requires": [
+ "datatable-base"
+ ]
+ },
+ "aui-datatable-checkbox-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-core": {
+ "requires": [
+ "aui-datatable-body",
+ "datatable-base",
+ "event-key",
+ "aui-event-base"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-date-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-dropdown-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-edit": {
+ "use": [
+ "datatable-base",
+ "calendar",
+ "overlay",
+ "sortable",
+ "aui-datatype",
+ "aui-toolbar",
+ "aui-form-validator",
+ "aui-datatable-base-cell-editor",
+ "aui-datatable-base-options-cell-editor",
+ "aui-datatable-cell-editor-support",
+ "aui-datatable-core",
+ "aui-datatable-checkbox-cell-editor",
+ "aui-datatable-date-cell-editor",
+ "aui-datatable-dropdown-cell-editor",
+ "aui-datatable-radio-cell-editor",
+ "aui-datatable-text-cell-editor",
+ "aui-datatable-text-area-cell-editor"
+ ]
+ },
+ "aui-datatable-highlight": {
+ "requires": [
+ "aui-datatable-selection"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-property-list": {
+ "requires": [
+ "datatable-scroll",
+ "datatable-sort",
+ "aui-datatable-core",
+ "aui-datatable-edit",
+ "aui-datatable-highlight",
+ "aui-datatable-selection",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-radio-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-selection": {
+ "requires": [
+ "aui-datatable-core"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-text-area-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-text-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatype": {
+ "requires": [
+ "datatype",
+ "aui-datatype-date-parse"
+ ]
+ },
+ "aui-datatype-date-parse": {
+ "requires": [
+ "aui-base-lang",
+ "datatype-date-format",
+ "datatype-date-parse",
+ "intl"
+ ]
+ },
+ "aui-datepicker": {
+ "requires": [
+ "aui-aria",
+ "aui-datepicker-delegate",
+ "aui-datepicker-popover",
+ "base",
+ "base-build",
+ "calendar"
+ ],
+ "skinnable": true
+ },
+ "aui-datepicker-base-deprecated": {
+ "requires": [
+ "calendar",
+ "aui-datatype",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-datepicker-delegate": {
+ "requires": [
+ "aui-datatype-date-parse",
+ "aui-event-input",
+ "event-focus",
+ "node-event-delegate"
+ ]
+ },
+ "aui-datepicker-deprecated": {
+ "skinnable": true,
+ "use": [
+ "aui-datepicker-base-deprecated",
+ "aui-datepicker-select-deprecated"
+ ]
+ },
+ "aui-datepicker-native": {
+ "requires": [
+ "aui-datepicker-delegate",
+ "aui-node-base",
+ "base",
+ "base-build"
+ ]
+ },
+ "aui-datepicker-popover": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-popover"
+ ]
+ },
+ "aui-datepicker-select-deprecated": {
+ "requires": [
+ "aui-datepicker-base-deprecated",
+ "aui-button-item-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-debounce": {},
+ "aui-delayed-task-deprecated": {
+ "requires": [
+ "yui-base"
+ ]
+ },
+ "aui-diagram-builder": {
+ "requires": [
+ "aui-aria",
+ "aui-map",
+ "aui-property-builder",
+ "aui-diagram-builder-connector",
+ "aui-property-builder-settings",
+ "aui-diagram-node-condition",
+ "aui-diagram-node-end",
+ "aui-diagram-node-fork",
+ "aui-diagram-node-join",
+ "aui-diagram-node-start",
+ "aui-diagram-node-state",
+ "aui-diagram-node-task",
+ "overlay"
+ ],
+ "skinnable": true
+ },
+ "aui-diagram-builder-connector": {
+ "requires": [
+ "arraylist-add",
+ "arraylist-filter",
+ "escape",
+ "json",
+ "graphics",
+ "dd"
+ ],
+ "skinnable": true
+ },
+ "aui-diagram-node": {
+ "requires": [
+ "aui-aria",
+ "aui-diagram-node-manager-base",
+ "escape",
+ "overlay"
+ ]
+ },
+ "aui-diagram-node-condition": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-end": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-fork": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-join": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-manager-base": {
+ "requires": [
+ "base"
+ ]
+ },
+ "aui-diagram-node-start": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-state": {
+ "requires": [
+ "aui-diagram-node"
+ ]
+ },
+ "aui-diagram-node-task": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-dialog-iframe-deprecated": {
+ "requires": [
+ "plugin",
+ "array-invoke",
+ "aui-base-deprecated",
+ "aui-loading-mask-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-dropdown": {
+ "requires": [
+ "event-delegate",
+ "event-key",
+ "event-outside",
+ "node-focusmanager",
+ "widget",
+ "widget-stack",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-trigger"
+ ],
+ "skinnable": true
+ },
+ "aui-editable-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-form-combobox-deprecated",
+ "escape",
+ "event-resize"
+ ],
+ "skinnable": true
+ },
+ "aui-event": {
+ "use": [
+ "aui-event-base"
+ ]
+ },
+ "aui-event-base": {
+ "requires": [
+ "event-base"
+ ]
+ },
+ "aui-event-delegate-change": {
+ "condition": {
+ "name": "aui-event-delegate-change",
+ "trigger": "event-base-ie",
+ "ua": "ie"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic"
+ ]
+ },
+ "aui-event-delegate-submit": {
+ "condition": {
+ "name": "aui-event-delegate-submit",
+ "trigger": "event-base-ie",
+ "ua": "ie"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic"
+ ]
+ },
+ "aui-event-input": {
+ "condition": {
+ "name": "aui-event-input",
+ "test": function(A) {
+ var supportsDOMEvent = A.supportsDOMEvent,
+ testFeature = A.Features.test,
+ addFeature = A.Features.add;
+
+ if (testFeature('event', 'input') === undefined) {
+ addFeature('event', 'input', {
+ test: function() {
+ return supportsDOMEvent(document.createElement('textarea'), 'input') && (!A.UA.ie || A.UA.ie > 9);
+ }
+ });
+ }
+
+ return !testFeature('event', 'input');
+},
+ "trigger": "aui-event-base"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic",
+ "timers"
+ ]
+ },
+ "aui-form-base-deprecated": {
+ "requires": [
+ "io-form",
+ "querystring-parse",
+ "aui-base-deprecated",
+ "aui-data-set-deprecated",
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-builder": {
+ "requires": [
+ "aui-modal",
+ "aui-layout",
+ "aui-form-builder-field-list",
+ "aui-form-builder-field-toolbar",
+ "aui-form-builder-field-type",
+ "aui-form-builder-field-types",
+ "aui-form-builder-layout-builder",
+ "aui-form-builder-page-manager",
+ "aui-form-builder-settings-modal",
+ "event-focus",
+ "event-tap"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-available-field-deprecated": {
+ "requires": [
+ "aui-property-builder-available-field"
+ ]
+ },
+ "aui-form-builder-deprecated": {
+ "requires": [
+ "aui-button",
+ "aui-collection",
+ "aui-form-builder-available-field-deprecated",
+ "aui-form-builder-field-deprecated",
+ "aui-form-builder-field-button-deprecated",
+ "aui-form-builder-field-checkbox-deprecated",
+ "aui-form-builder-field-fieldset-deprecated",
+ "aui-form-builder-field-file-upload-deprecated",
+ "aui-form-builder-field-multiple-choice-deprecated",
+ "aui-form-builder-field-radio-deprecated",
+ "aui-form-builder-field-select-deprecated",
+ "aui-form-builder-field-text-deprecated",
+ "aui-form-builder-field-textarea-deprecated",
+ "aui-property-builder",
+ "aui-property-builder-settings",
+ "aui-sortable-list",
+ "aui-tabview",
+ "aui-tooltip-base",
+ "escape",
+ "transition"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-base": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "aui-text-data-editor",
+ "aui-toggler",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-button-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-checkbox-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-choice": {
+ "requires": [
+ "aui-boolean-data-editor",
+ "aui-options-data-editor",
+ "aui-tabs-data-editor",
+ "aui-form-builder-field-base",
+ "aui-form-field-choice"
+ ]
+ },
+ "aui-form-builder-field-deprecated": {
+ "requires": [
+ "panel",
+ "aui-datatype",
+ "aui-datatable-edit",
+ "aui-property-builder-field-support"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-fieldset-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-file-upload-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-list": {
+ "requires": [
+ "aui-form-builder-field-type",
+ "aui-form-builder-field-types",
+ "aui-form-builder-layout-builder"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-multiple-choice-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-radio-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-select-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-sentence": {
+ "requires": [
+ "aui-form-builder-field-base",
+ "aui-form-field"
+ ]
+ },
+ "aui-form-builder-field-text": {
+ "requires": [
+ "aui-boolean-data-editor",
+ "aui-radio-group-data-editor",
+ "aui-form-builder-field-base",
+ "aui-form-field-text"
+ ]
+ },
+ "aui-form-builder-field-text-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-textarea-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-toolbar": {
+ "requires": [
+ "aui-classnamemanager",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-type": {
+ "requires": [
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-types": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-form-builder-field-types-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-types-modal": {
+ "requires": [
+ "aui-modal"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-layout-builder": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-layout-builder",
+ "aui-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-page-manager": {
+ "requires": [
+ "aui-pagination",
+ "aui-popover",
+ "aui-tabview",
+ "base",
+ "event-valuechange",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-settings-modal": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-combobox-deprecated": {
+ "requires": [
+ "aui-form-textarea-deprecated",
+ "aui-toolbar"
+ ],
+ "skinnable": true
+ },
+ "aui-form-deprecated": {
+ "use": [
+ "aui-form-base-deprecated",
+ "aui-form-combobox-deprecated",
+ "aui-form-field-deprecated",
+ "aui-form-select-deprecated",
+ "aui-form-textarea-deprecated",
+ "aui-form-textfield-deprecated"
+ ]
+ },
+ "aui-form-field": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-form-field-choice": {
+ "requires": [
+ "aui-form-field-required"
+ ],
+ "skinnable": true
+ },
+ "aui-form-field-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-component"
+ ]
+ },
+ "aui-form-field-required": {
+ "requires": [
+ "aui-form-field"
+ ]
+ },
+ "aui-form-field-text": {
+ "requires": [
+ "aui-form-field-required"
+ ],
+ "skinnable": true
+ },
+ "aui-form-select-deprecated": {
+ "requires": [
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-textarea-deprecated": {
+ "requires": [
+ "node-pluginhost",
+ "aui-autosize-deprecated",
+ "aui-form-textfield-deprecated"
+ ]
+ },
+ "aui-form-textfield-deprecated": {
+ "requires": [
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-validator": {
+ "requires": [
+ "escape",
+ "selector-css3",
+ "node-event-delegate",
+ "aui-node",
+ "aui-component",
+ "aui-event-input"
+ ]
+ },
+ "aui-hsv-palette": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-event-input",
+ "base-build",
+ "clickable-rail",
+ "color-hsv",
+ "dd-constrain",
+ "slider",
+ "widget"
+ ],
+ "skinnable": true
+ },
+ "aui-hsva-palette": {
+ "requires": [
+ "aui-hsv-palette"
+ ],
+ "skinnable": true
+ },
+ "aui-hsva-palette-modal": {
+ "requires": [
+ "aui-hsva-palette",
+ "aui-modal"
+ ],
+ "skinnable": true
+ },
+ "aui-image-cropper": {
+ "requires": [
+ "resize-base",
+ "resize-constrain",
+ "dd-constrain",
+ "aui-node-base",
+ "aui-component"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer": {
+ "requires": [
+ "widget",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-multiple",
+ "aui-image-viewer-slideshow",
+ "aui-node-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-base": {
+ "requires": [
+ "anim",
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-responsive",
+ "base-build",
+ "imageloader",
+ "node-base",
+ "widget",
+ "widget-stack"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-media": {
+ "requires": [
+ "plugin",
+ "aui-component",
+ "aui-image-viewer"
+ ]
+ },
+ "aui-image-viewer-multiple": {
+ "requires": [
+ "base-build",
+ "node-base",
+ "aui-classnamemanager",
+ "aui-image-viewer-base"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-multiple-swipe": {
+ "condition": {
+ "name": "aui-image-viewer-multiple-swipe",
+ "trigger": "aui-image-viewer-multiple",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "aui-image-viewer-multiple",
+ "aui-image-viewer-swipe"
+ ]
+ },
+ "aui-image-viewer-slideshow": {
+ "requires": [
+ "node",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-image-viewer-swipe": {
+ "condition": {
+ "name": "aui-image-viewer-swipe",
+ "trigger": "aui-image-viewer-base",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "event-resize",
+ "aui-image-viewer-base",
+ "aui-widget-swipe"
+ ]
+ },
+ "aui-input-text-control-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-datasource-control-base-deprecated",
+ "aui-form-combobox-deprecated"
+ ]
+ },
+ "aui-io": {
+ "use": [
+ "aui-io-request"
+ ]
+ },
+ "aui-io-deprecated": {
+ "use": [
+ "aui-io-request",
+ "aui-io-plugin-deprecated"
+ ]
+ },
+ "aui-io-plugin-deprecated": {
+ "requires": [
+ "aui-overlay-base-deprecated",
+ "aui-parse-content",
+ "aui-io-request",
+ "aui-loading-mask-deprecated"
+ ]
+ },
+ "aui-io-request": {
+ "requires": [
+ "io-base",
+ "json",
+ "plugin",
+ "querystring-stringify",
+ "aui-component"
+ ]
+ },
+ "aui-io-request-deprecated": {
+ "requires": [
+ "io-base",
+ "json",
+ "plugin",
+ "querystring-stringify",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-layout": {
+ "requires": [
+ "aui-layout-col",
+ "aui-layout-row",
+ "aui-node-base",
+ "base-build",
+ "datatype-number-parse",
+ "event-resize"
+ ]
+ },
+ "aui-layout-builder": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-layout",
+ "aui-layout-builder-add-col",
+ "aui-layout-builder-add-row",
+ "aui-layout-builder-move",
+ "aui-layout-builder-remove-row",
+ "aui-layout-builder-resize-col",
+ "aui-node-base",
+ "base-build",
+ "node-event-delegate",
+ "node-screen",
+ "node-style"
+ ]
+ },
+ "aui-layout-builder-add-col": {
+ "requires": [
+ "event-key",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-add-row": {
+ "requires": [
+ "aui-node-base",
+ "base-build",
+ "node-scroll-info"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-move": {
+ "requires": [
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-remove-row": {
+ "requires": [
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-resize-col": {
+ "requires": [
+ "dd-constrain",
+ "dd-delegate",
+ "dd-drop-plugin",
+ "dd-proxy",
+ "event-mouseenter",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-col": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-row": {
+ "requires": [
+ "array-invoke",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-linkedset": {
+ "requires": [
+ "aui-set"
+ ]
+ },
+ "aui-live-search-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-loading-mask-deprecated": {
+ "requires": [
+ "plugin",
+ "aui-overlay-mask-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-map": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-menu": {
+ "requires": [
+ "base-build",
+ "event-mouseenter",
+ "event-resize",
+ "widget",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "aui-dropdown",
+ "aui-menu-item"
+ ],
+ "skinnable": true
+ },
+ "aui-menu-item": {
+ "requires": [
+ "base-build",
+ "node-base",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-shortcut"
+ ]
+ },
+ "aui-messaging": {
+ "requires": [
+ "querystring",
+ "aui-timer"
+ ]
+ },
+ "aui-modal": {
+ "requires": [
+ "widget",
+ "widget-autohide",
+ "widget-buttons",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "dd-plugin",
+ "dd-constrain",
+ "timers",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-toolbars"
+ ],
+ "skinnable": true
+ },
+ "aui-modal-resize": {
+ "condition": {
+ "name": "aui-modal-resize",
+ "test": function(A) {
+ return !A.UA.mobile;
+},
+ "trigger": "aui-modal"
+ },
+ "requires": [
+ "aui-modal",
+ "resize-plugin"
+ ]
+ },
+ "aui-node": {
+ "use": [
+ "aui-node-base"
+ ]
+ },
+ "aui-node-accessible": {
+ "requires": [
+ "aui-node-base",
+ "event-custom-base"
+ ]
+ },
+ "aui-node-base": {
+ "requires": [
+ "array-extras",
+ "aui-base-lang",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "node"
+ ]
+ },
+ "aui-node-html5": {
+ "condition": {
+ "name": "aui-node-html5",
+ "trigger": "aui-node",
+ "ua": "ie"
+ },
+ "requires": [
+ "collection",
+ "aui-node-base"
+ ]
+ },
+ "aui-options-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "dd-constrain",
+ "dd-delegate",
+ "dd-drop-plugin",
+ "dd-proxy",
+ "event-valuechange",
+ "node-event-delegate"
+ ],
+ "skinnable": true
+ },
+ "aui-overlay-base-deprecated": {
+ "requires": [
+ "widget-position",
+ "widget-stack",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stdmod",
+ "aui-component"
+ ]
+ },
+ "aui-overlay-context-deprecated": {
+ "requires": [
+ "aui-overlay-manager-deprecated",
+ "aui-delayed-task-deprecated",
+ "aui-aria"
+ ]
+ },
+ "aui-overlay-context-panel-deprecated": {
+ "requires": [
+ "anim",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-overlay-deprecated": {
+ "use": [
+ "aui-overlay-base-deprecated",
+ "aui-overlay-context-deprecated",
+ "aui-overlay-context-panel-deprecated",
+ "aui-overlay-manager-deprecated",
+ "aui-overlay-mask-deprecated"
+ ]
+ },
+ "aui-overlay-manager-deprecated": {
+ "requires": [
+ "overlay",
+ "plugin",
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated"
+ ]
+ },
+ "aui-overlay-mask-deprecated": {
+ "requires": [
+ "event-resize",
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-pagination": {
+ "requires": [
+ "node-event-delegate",
+ "aui-node",
+ "aui-component",
+ "widget-htmlparser"
+ ],
+ "skinnable": true
+ },
+ "aui-palette": {
+ "requires": [
+ "base-build",
+ "event-hover",
+ "widget",
+ "aui-classnamemanager",
+ "aui-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-parse-content": {
+ "requires": [
+ "async-queue",
+ "plugin",
+ "io-base",
+ "aui-component",
+ "aui-node-base"
+ ]
+ },
+ "aui-popover": {
+ "requires": [
+ "event-resize",
+ "widget",
+ "widget-autohide",
+ "widget-buttons",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-toolbars",
+ "aui-widget-transition",
+ "aui-widget-trigger",
+ "aui-widget-position-align-suggestion",
+ "aui-component",
+ "aui-node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-progressbar": {
+ "requires": [
+ "aui-node",
+ "aui-component",
+ "aui-aria"
+ ],
+ "skinnable": true
+ },
+ "aui-promise": {
+ "requires": [
+ "array-invoke",
+ "promise",
+ "oop"
+ ]
+ },
+ "aui-property-builder": {
+ "requires": [
+ "dd",
+ "collection",
+ "aui-property-builder-available-field",
+ "aui-property-builder-field-support",
+ "aui-property-builder-settings",
+ "aui-tabview"
+ ],
+ "skinnable": true
+ },
+ "aui-property-builder-available-field": {
+ "requires": [
+ "base",
+ "aui-component",
+ "aui-node"
+ ]
+ },
+ "aui-property-builder-field-support": {},
+ "aui-property-builder-settings": {
+ "requires": [
+ "aui-tabview",
+ "aui-datatable-property-list"
+ ]
+ },
+ "aui-radio-group-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "node-event-delegate"
+ ],
+ "skinnable": true
+ },
+ "aui-rating": {
+ "use": [
+ "aui-rating-base",
+ "aui-rating-thumb"
+ ]
+ },
+ "aui-rating-base": {
+ "requires": [
+ "aui-component",
+ "aui-node-base",
+ "widget-htmlparser",
+ "widget-uievents"
+ ],
+ "skinnable": true
+ },
+ "aui-rating-thumb": {
+ "requires": [
+ "aui-rating-base"
+ ]
+ },
+ "aui-resize-base-deprecated": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "aui-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-resize-constrain-deprecated": {
+ "requires": [
+ "dd-constrain",
+ "plugin",
+ "aui-resize-base-deprecated"
+ ]
+ },
+ "aui-resize-deprecated": {
+ "skinnable": true,
+ "use": [
+ "aui-resize-base-deprecated",
+ "aui-resize-constrain-deprecated"
+ ]
+ },
+ "aui-scale-data-editor": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-data-editor",
+ "event-valuechange"
+ ]
+ },
+ "aui-scheduler": {
+ "use": [
+ "event-gestures",
+ "aui-scheduler-base",
+ "aui-scheduler-event-recorder",
+ "aui-scheduler-view-agenda",
+ "aui-scheduler-view-day",
+ "aui-scheduler-view-month",
+ "aui-scheduler-view-table-dd",
+ "aui-scheduler-view-table",
+ "aui-scheduler-view-week",
+ "aui-viewport"
+ ]
+ },
+ "aui-scheduler-base": {
+ "requires": [
+ "model",
+ "model-list",
+ "widget-stdmod",
+ "color-hsl",
+ "aui-event-base",
+ "aui-node-base",
+ "aui-component",
+ "aui-datatype",
+ "aui-button",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-event-recorder": {
+ "requires": [
+ "querystring",
+ "io-form",
+ "overlay",
+ "aui-scheduler-base",
+ "aui-popover"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-touch": {
+ "condition": {
+ "name": "aui-scheduler-touch",
+ "trigger": "aui-scheduler",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "base-build",
+ "aui-scheduler"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-agenda": {
+ "requires": [
+ "aui-scheduler-base"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-day": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "dd-constrain",
+ "aui-scheduler-view-table"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-month": {
+ "requires": [
+ "aui-scheduler-view-table"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-table": {
+ "requires": [
+ "overlay",
+ "aui-scheduler-base"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-table-dd": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "aui-scheduler-view-table"
+ ]
+ },
+ "aui-scheduler-view-week": {
+ "requires": [
+ "aui-scheduler-view-day"
+ ],
+ "skinnable": true
+ },
+ "aui-scroller-deprecated": {
+ "requires": [
+ "event-mouseenter",
+ "aui-base-deprecated",
+ "aui-simple-anim-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-scrollspy": {
+ "requires": [
+ "base-build",
+ "node-screen",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-search": {
+ "use": [
+ "aui-search-tst"
+ ]
+ },
+ "aui-search-tst": {
+ "requires": [
+ "aui-component"
+ ]
+ },
+ "aui-selector": {
+ "requires": [
+ "selector-css3",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-set": {
+ "requires": [
+ "aui-map"
+ ]
+ },
+ "aui-simple-anim-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-skin-deprecated": {
+ "type": "css"
+ },
+ "aui-sortable": {
+ "use": [
+ "aui-sortable-layout",
+ "aui-sortable-list"
+ ]
+ },
+ "aui-sortable-layout": {
+ "requires": [
+ "dd-delegate",
+ "dd-drag",
+ "dd-drop",
+ "dd-proxy",
+ "aui-node",
+ "aui-component"
+ ],
+ "skinnable": true
+ },
+ "aui-sortable-list": {
+ "requires": [
+ "dd-drag",
+ "dd-drop",
+ "dd-proxy",
+ "dd-scroll",
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-state-interaction-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "plugin"
+ ]
+ },
+ "aui-surface": {
+ "use": [
+ "aui-surface-app",
+ "aui-surface-screen"
+ ]
+ },
+ "aui-surface-app": {
+ "requires": [
+ "event-delegate",
+ "node-event-html5",
+ "aui-surface-base",
+ "aui-surface-screen",
+ "aui-surface-screen-route"
+ ]
+ },
+ "aui-surface-base": {
+ "requires": [
+ "base-build",
+ "node-style",
+ "timers",
+ "aui-debounce",
+ "aui-promise",
+ "aui-parse-content"
+ ]
+ },
+ "aui-surface-screen": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-surface-screen-html": {
+ "requires": [
+ "aui-base",
+ "aui-io-request",
+ "aui-promise",
+ "aui-surface-screen",
+ "aui-url"
+ ]
+ },
+ "aui-surface-screen-route": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-swf-deprecated": {
+ "requires": [
+ "querystring-parse-simple",
+ "querystring-stringify-simple",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-tabs-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "aui-tabview"
+ ]
+ },
+ "aui-tabview": {
+ "requires": [
+ "selector-css3",
+ "tabview",
+ "aui-component",
+ "aui-widget-css"
+ ],
+ "skinnable": true
+ },
+ "aui-template-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-text-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "event-valuechange"
+ ],
+ "skinnable": true
+ },
+ "aui-text-data-unicode": {
+ "requires": [
+ "text"
+ ]
+ },
+ "aui-text-unicode": {
+ "requires": [
+ "aui-text-data-unicode"
+ ]
+ },
+ "aui-textboxlist-deprecated": {
+ "requires": [
+ "anim-node-plugin",
+ "aui-autocomplete-deprecated",
+ "aui-button-item-deprecated",
+ "aui-data-set-deprecated",
+ "escape",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-timepicker": {
+ "requires": [
+ "autocomplete",
+ "aui-datepicker-delegate",
+ "aui-datepicker-popover"
+ ],
+ "skinnable": true
+ },
+ "aui-timepicker-native": {
+ "requires": [
+ "base",
+ "base-build",
+ "aui-node-base",
+ "aui-datepicker-delegate",
+ "aui-datepicker-native"
+ ]
+ },
+ "aui-timer": {
+ "requires": [
+ "oop"
+ ]
+ },
+ "aui-toggler": {
+ "use": [
+ "aui-toggler-base",
+ "aui-toggler-delegate"
+ ]
+ },
+ "aui-toggler-accessibility": {
+ "requires": [
+ "aui-toggler-base"
+ ]
+ },
+ "aui-toggler-base": {
+ "requires": [
+ "transition",
+ "aui-selector",
+ "aui-event-base",
+ "aui-node",
+ "aui-component",
+ "event-tap"
+ ],
+ "skinnable": true
+ },
+ "aui-toggler-delegate": {
+ "requires": [
+ "array-invoke",
+ "node-event-delegate",
+ "aui-toggler-base"
+ ]
+ },
+ "aui-toolbar": {
+ "requires": [
+ "arraylist",
+ "arraylist-add",
+ "aui-component",
+ "aui-button-core"
+ ]
+ },
+ "aui-tooltip": {
+ "use": [
+ "aui-tooltip-base",
+ "aui-tooltip-delegate"
+ ]
+ },
+ "aui-tooltip-base": {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-component",
+ "aui-debounce",
+ "aui-node-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-transition",
+ "aui-widget-trigger",
+ "aui-widget-position-align-suggestion",
+ "event-hover",
+ "event-resize",
+ "escape",
+ "widget",
+ "widget-autohide",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+ },
+ "aui-tooltip-delegate": {
+ "requires": [
+ "aui-tooltip-base",
+ "node-event-delegate"
+ ]
+ },
+ "aui-tooltip-deprecated": {
+ "requires": [
+ "aui-overlay-context-panel-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-tpl-snippets-base-deprecated": {
+ "requires": [
+ "aui-template-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-checkbox-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-deprecated": {
+ "use": [
+ "aui-tpl-snippets-base-deprecated",
+ "aui-tpl-snippets-checkbox-deprecated",
+ "aui-tpl-snippets-input-deprecated",
+ "aui-tpl-snippets-select-deprecated",
+ "aui-tpl-snippets-textarea-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-input-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-select-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-textarea-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tree": {
+ "use": [
+ "aui-tree-data",
+ "aui-tree-io",
+ "aui-tree-node",
+ "aui-tree-paginator",
+ "aui-tree-view"
+ ]
+ },
+ "aui-tree-data": {
+ "requires": [
+ "aui-base-core",
+ "aui-base-lang",
+ "aui-node-base",
+ "aui-timer",
+ "aui-component"
+ ]
+ },
+ "aui-tree-io": {
+ "requires": [
+ "aui-component",
+ "aui-io"
+ ]
+ },
+ "aui-tree-node": {
+ "requires": [
+ "json",
+ "querystring-stringify",
+ "aui-tree-data",
+ "aui-tree-io",
+ "aui-tree-paginator",
+ "event-key"
+ ]
+ },
+ "aui-tree-paginator": {
+ "requires": [
+ "yui-base"
+ ]
+ },
+ "aui-tree-view": {
+ "requires": [
+ "dd-delegate",
+ "dd-proxy",
+ "widget",
+ "aui-tree-node",
+ "aui-tree-paginator",
+ "aui-tree-io"
+ ],
+ "skinnable": true
+ },
+ "aui-undo-redo": {
+ "requires": [
+ "aui-base",
+ "base",
+ "base-build",
+ "event-key",
+ "promise"
+ ]
+ },
+ "aui-url": {
+ "requires": [
+ "oop",
+ "querystring-parse",
+ "querystring-stringify"
+ ]
+ },
+ "aui-video": {
+ "requires": [
+ "event-resize",
+ "node-event-html5",
+ "querystring-stringify-simple",
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "aui-debounce"
+ ],
+ "skinnable": true
+ },
+ "aui-viewport": {
+ "requires": [
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-widget": {
+ "use": [
+ "aui-widget-cssclass",
+ "aui-widget-toolbars"
+ ]
+ },
+ "aui-widget-core": {
+ "use": [
+ "aui-widget-cssclass"
+ ]
+ },
+ "aui-widget-cssclass": {
+ "requires": [
+ "widget-base"
+ ]
+ },
+ "aui-widget-position-align-suggestion": {
+ "requires": [
+ "widget-position-align",
+ "widget-stdmod"
+ ]
+ },
+ "aui-widget-responsive": {
+ "requires": [
+ "event-resize",
+ "widget-base"
+ ]
+ },
+ "aui-widget-shortcut": {
+ "requires": [
+ "base"
+ ]
+ },
+ "aui-widget-swipe": {
+ "requires": [
+ "classnamemanager",
+ "scrollview-base",
+ "scrollview-paginator",
+ "timers"
+ ]
+ },
+ "aui-widget-toggle": {},
+ "aui-widget-toolbars": {
+ "requires": [
+ "widget-stdmod",
+ "aui-toolbar"
+ ]
+ },
+ "aui-widget-transition": {
+ "requires": [
+ "transition"
+ ]
+ },
+ "aui-widget-trigger": {
+ "requires": [
+ "node"
+ ]
+ }
+});
+YUI.Env[Y.version].md5 = 'd7c627eb00edd6b6f054d8f6e7147480';
+/*
+ * Alloy JavaScript Library
+ * http://alloy.liferay.com/
+ *
+ * Copyright (c) 2010 Liferay Inc.
+ * http://alloy.liferay.com/LICENSE.txt
+ *
+ * Nate Cavanaugh (nathan.cavanaugh@liferay.com)
+ * Eduardo Lundgren (eduardo.lundgren@liferay.com)
+ *
+ * Attribution/Third-party licenses
+ * http://alloy.liferay.com/ATTRIBUTION.txt
+ */
+
+// Simple version of
+// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
+
+A.UA.edge = (function() {
+ var edgeVersion = A.UA.userAgent.match(/Edge\/(.[0-9.]+)/);
+
+ if (edgeVersion) {
+ return edgeVersion[1];
+ }
+
+ return 0;
+})();
+
+A.supportsDOMEvent = function(domNode, eventName) {
+ eventName = 'on' + eventName;
+
+ if (!(eventName in domNode)) {
+ if (!domNode.setAttribute) {
+ domNode = A.config.doc.createElement('div');
+ }
+
+ if (domNode.setAttribute) {
+ domNode.setAttribute(eventName, '');
+ return (typeof domNode[eventName] === 'function');
+ }
+ }
+
+ domNode = null;
+
+ return true;
+};
+(function() {
+ var slice = Array.prototype.slice;
+
+ YUI.prototype.ready = function() {
+ var instance = this,
+ xargs = arguments,
+ index = xargs.length - 1,
+ modules = slice.call(arguments, 0, index);
+
+ modules.unshift('event-base');
+ modules.push(function(instance) {
+ var args = arguments;
+
+ instance.on('domready', function() {
+ xargs[index].apply(this, args);
+ });
+ });
+ instance.use.apply(instance, modules);
+ };
+}());
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-base-core/aui-base-core-min.js b/build/aui-base-core/aui-base-core-min.js
new file mode 100644
index 00000000000..f635a0628ce
--- /dev/null
+++ b/build/aui-base-core/aui-base-core-min.js
@@ -0,0 +1,6 @@
+YUI.add("aui-base-core",function(e,t){var n=e;YUI.Env.aliases=YUI.Env.aliases||{},n.mix(YUI.Env.aliases,{"aui-autosize":["aui-autosize-iframe"],"aui-base":["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"],"aui-base-deprecated":["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"],"aui-button":["aui-button-core"],"aui-collection":["aui-map","aui-set","aui-linkedset"],"aui-color-picker-deprecated":["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"],"aui-datasource-control-deprecated":["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"],"aui-datatable":["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"],"aui-datatable-edit":["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"],"aui-datepicker-deprecated":["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"],"aui-event":["aui-event-base"],"aui-form-deprecated":["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"],"aui-io":["aui-io-request"],"aui-io-deprecated":["aui-io-request","aui-io-plugin-deprecated"],"aui-node":["aui-node-base"],"aui-overlay-deprecated":["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"],"aui-rating":["aui-rating-base","aui-rating-thumb"],"aui-resize-deprecated":["aui-resize-base-deprecated","aui-resize-constrain-deprecated"],"aui-scheduler":["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"],"aui-search":["aui-search-tst"],"aui-sortable":["aui-sortable-layout","aui-sortable-list"],"aui-surface":["aui-surface-app","aui-surface-screen"],"aui-toggler":["aui-toggler-base","aui-toggler-delegate"],"aui-tooltip":["aui-tooltip-base","aui-tooltip-delegate"],"aui-tpl-snippets-deprecated":["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"],"aui-tree":["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"],"aui-widget":["aui-widget-cssclass","aui-widget-toolbars"],"aui-widget-core":["aui-widget-cssclass"]}),YUI.Env[n.version].modules=YUI.Env[n.version].modules||{},n.mix(YUI.Env[n.version].modules,{"aui-ace-autocomplete-base":{requires:["aui-ace-editor"]},"aui-ace-autocomplete-freemarker":{requires:["aui-ace-autocomplete-templateprocessor"]},"aui-ace-autocomplete-list":{requires:["aui-ace-autocomplete-base","overlay","widget-autohide"],skinnable:!0},"aui-ace-autocomplete-plugin":{requires:["aui-ace-autocomplete-list","plugin"]},"aui-ace-autocomplete-templateprocessor":{requires:["aui-ace-autocomplete-base"]},"aui-ace-autocomplete-velocity":{requires:["aui-ace-autocomplete-templateprocessor"]},"aui-ace-editor":{requires:["aui-node","aui-component"]},"aui-affix":{requires:["base","node-screen","aui-node"]},"aui-alert":{requires:["aui-aria","aui-classnamemanager","aui-widget-cssclass","aui-widget-transition","timers","widget","widget-stdmod"],skinnable:!0},"aui-aria":{requires:["plugin","aui-component"]},"aui-aria-table-sortable":{requires:["aui-aria"]},"aui-arraysort":{requires:["arraysort"]},"aui-audio":{requires:["aui-aria","aui-node","aui-component","node-event-html5","querystring-stringify-simple"],skinnable:!0},"aui-autocomplete-deprecated":{requires:["aui-base-deprecated","aui-overlay-base-deprecated","datasource","dataschema","aui-form-combobox-deprecated"],skinnable:!0},"aui-autosize":{use:["aui-autosize-iframe"]},"aui-autosize-deprecated":{requires:["event-valuechange","plugin","aui-base-deprecated"],skinnable:!0},"aui-autosize-iframe":{requires:["plugin","aui-component","aui-timer","aui-node-base"]},"aui-base":{use:["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"]},"aui-base-core":{},"aui-base-deprecated":{use:["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"]},"aui-base-html5-shiv":{condition:{name:"aui-base-html5-shiv",trigger:"node-base",ua:"ie"}},"aui-base-lang":{},"aui-boolean-data-editor":{requires:["aui-button-switch","aui-data-editor"]},"aui-button":{use:["aui-button-core"]},"aui-button-core":{requires:["button","button-group","button-plugin","aui-component","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-button-item-deprecated":{requires:["aui-base-deprecated","aui-state-interaction-deprecated","widget-child"],skinnable:!0},"aui-button-search-cancel":{requires:["array-invoke","base","base-build","event-focus","event-move","event-resize","node-screen","node-event-delegate","aui-node-base","aui-classnamemanager","aui-event-input"]},"aui-button-switch":{requires:["aui-node-base","base-build","event-key","transition","widget"],skinnable:!0},"aui-carousel":{requires:["anim","aui-event","aui-image-viewer-base","aui-image-viewer-slideshow","node-event-delegate","node-focusmanager"],skinnable:!0},"aui-carousel-mobile-touch":{condition:{name:"aui-carousel-mobile-touch",test:function(e){return e.UA.mobile&&e.UA.touchEnabled},trigger:"aui-carousel"},requires:["base-build","aui-carousel"]},"aui-carousel-swipe"
+:{condition:{name:"aui-carousel-swipe",trigger:"aui-carousel",ua:"touchEnabled"},requires:["aui-carousel","aui-widget-swipe","base-build"],skinnable:!0},"aui-char-counter":{requires:["aui-aria","aui-node","aui-event-input","aui-component"]},"aui-chart-deprecated":{requires:["datasource","json","aui-swf-deprecated"]},"aui-classnamemanager":{requires:["classnamemanager"]},"aui-collection":{use:["aui-map","aui-set","aui-linkedset"]},"aui-color-palette":{requires:["array-extras","aui-palette","color-base","node-core","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-color-picker-base":{requires:["aui-color-palette","aui-hsva-palette-modal","event-outside"],skinnable:!0},"aui-color-picker-base-deprecated":{requires:["dd-drag","panel","slider","aui-button-item-deprecated","aui-color-util-deprecated","aui-form-base-deprecated","aui-overlay-context-deprecated"],skinnable:!0},"aui-color-picker-deprecated":{use:["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"]},"aui-color-picker-grid-plugin-deprecated":{requires:["plugin","aui-color-picker-base-deprecated"],skinnable:!0},"aui-color-picker-popover":{requires:["aui-color-picker-base","aui-popover","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-color-util-deprecated":{requires:[]},"aui-component":{requires:["aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","base-build","widget-base"]},"aui-css":{type:"css"},"aui-data-editor":{requires:["aui-classnamemanager","base-build","node-base"],skinnable:!0},"aui-data-set-deprecated":{requires:["oop","collection","base"]},"aui-datasource-control-base-deprecated":{requires:["datasource","dataschema","aui-base-deprecated"]},"aui-datasource-control-deprecated":{use:["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"]},"aui-datatable":{use:["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"]},"aui-datatable-base-cell-editor":{requires:["datatable-base","overlay"],skinnable:!0},"aui-datatable-base-options-cell-editor":{requires:["aui-datatable-base-cell-editor","escape"],skinnable:!0},"aui-datatable-body":{requires:["aui-classnamemanager","datatable-base","event-key","aui-event-base"]},"aui-datatable-cell-editor-support":{requires:["datatable-base"]},"aui-datatable-checkbox-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-core":{requires:["aui-datatable-body","datatable-base","event-key","aui-event-base"],skinnable:!0},"aui-datatable-date-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-dropdown-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-edit":{use:["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"]},"aui-datatable-highlight":{requires:["aui-datatable-selection"],skinnable:!0},"aui-datatable-property-list":{requires:["datatable-scroll","datatable-sort","aui-datatable-core","aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-datatable-radio-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-selection":{requires:["aui-datatable-core"],skinnable:!0},"aui-datatable-text-area-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-text-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatype":{requires:["datatype","aui-datatype-date-parse"]},"aui-datatype-date-parse":{requires:["aui-base-lang","datatype-date-format","datatype-date-parse","intl"]},"aui-datepicker":{requires:["aui-aria","aui-datepicker-delegate","aui-datepicker-popover","base","base-build","calendar"],skinnable:!0},"aui-datepicker-base-deprecated":{requires:["calendar","aui-datatype","aui-overlay-context-deprecated"],skinnable:!0},"aui-datepicker-delegate":{requires:["aui-datatype-date-parse","aui-event-input","event-focus","node-event-delegate"]},"aui-datepicker-deprecated":{skinnable:!0,use:["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"]},"aui-datepicker-native":{requires:["aui-datepicker-delegate","aui-node-base","base","base-build"]},"aui-datepicker-popover":{requires:["aui-classnamemanager","aui-popover"]},"aui-datepicker-select-deprecated":{requires:["aui-datepicker-base-deprecated","aui-button-item-deprecated"],skinnable:!0},"aui-debounce":{},"aui-delayed-task-deprecated":{requires:["yui-base"]},"aui-diagram-builder":{requires:["aui-aria","aui-map","aui-property-builder","aui-diagram-builder-connector","aui-property-builder-settings","aui-diagram-node-condition","aui-diagram-node-end","aui-diagram-node-fork","aui-diagram-node-join","aui-diagram-node-start","aui-diagram-node-state","aui-diagram-node-task","overlay"],skinnable:!0},"aui-diagram-builder-connector":{requires:["arraylist-add","arraylist-filter","escape","json","graphics","dd"],skinnable:!0},"aui-diagram-node":{requires:["aui-aria","aui-diagram-node-manager-base","escape","overlay"]},"aui-diagram-node-condition":{requires:["aui-diagram-node-state"]},"aui-diagram-node-end":{requires:["aui-diagram-node-state"]},"aui-diagram-node-fork":{requires:["aui-diagram-node-state"]},"aui-diagram-node-join":{requires:["aui-diagram-node-state"]},"aui-diagram-node-manager-base":{requires:["base"]},"aui-diagram-node-start":{requires:["aui-diagram-node-state"]},"aui-diagram-node-state":{requires:["aui-diagram-node"]},"aui-diagram-node-task":{requires:["aui-diagram-node-state"]},"aui-dialog-iframe-deprecated":{requires:["plugin","array-invoke","aui-base-deprecated","aui-loading-mask-deprecated"
+],skinnable:!0},"aui-dropdown":{requires:["event-delegate","event-key","event-outside","node-focusmanager","widget","widget-stack","aui-classnamemanager","aui-node","aui-widget-cssclass","aui-widget-toggle","aui-widget-trigger"],skinnable:!0},"aui-editable-deprecated":{requires:["aui-base-deprecated","aui-form-combobox-deprecated","escape","event-resize"],skinnable:!0},"aui-event":{use:["aui-event-base"]},"aui-event-base":{requires:["event-base"]},"aui-event-delegate-change":{condition:{name:"aui-event-delegate-change",trigger:"event-base-ie",ua:"ie"},requires:["aui-event-base","event-delegate","event-synthetic"]},"aui-event-delegate-submit":{condition:{name:"aui-event-delegate-submit",trigger:"event-base-ie",ua:"ie"},requires:["aui-event-base","event-delegate","event-synthetic"]},"aui-event-input":{condition:{name:"aui-event-input",test:function(e){var t=e.supportsDOMEvent,n=e.Features.test,r=e.Features.add;return n("event","input")===undefined&&r("event","input",{test:function(){return t(document.createElement("textarea"),"input")&&(!e.UA.ie||e.UA.ie>9)}}),!n("event","input")},trigger:"aui-event-base"},requires:["aui-event-base","event-delegate","event-synthetic","timers"]},"aui-form-base-deprecated":{requires:["io-form","querystring-parse","aui-base-deprecated","aui-data-set-deprecated","aui-form-field-deprecated"]},"aui-form-builder":{requires:["aui-modal","aui-layout","aui-form-builder-field-list","aui-form-builder-field-toolbar","aui-form-builder-field-type","aui-form-builder-field-types","aui-form-builder-layout-builder","aui-form-builder-page-manager","aui-form-builder-settings-modal","event-focus","event-tap"],skinnable:!0},"aui-form-builder-available-field-deprecated":{requires:["aui-property-builder-available-field"]},"aui-form-builder-deprecated":{requires:["aui-button","aui-collection","aui-form-builder-available-field-deprecated","aui-form-builder-field-deprecated","aui-form-builder-field-button-deprecated","aui-form-builder-field-checkbox-deprecated","aui-form-builder-field-fieldset-deprecated","aui-form-builder-field-file-upload-deprecated","aui-form-builder-field-multiple-choice-deprecated","aui-form-builder-field-radio-deprecated","aui-form-builder-field-select-deprecated","aui-form-builder-field-text-deprecated","aui-form-builder-field-textarea-deprecated","aui-property-builder","aui-property-builder-settings","aui-sortable-list","aui-tabview","aui-tooltip-base","escape","transition"],skinnable:!0},"aui-form-builder-field-base":{requires:["aui-classnamemanager","aui-node-base","aui-text-data-editor","aui-toggler","base","node-base"],skinnable:!0},"aui-form-builder-field-button-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-checkbox-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-choice":{requires:["aui-boolean-data-editor","aui-options-data-editor","aui-tabs-data-editor","aui-form-builder-field-base","aui-form-field-choice"]},"aui-form-builder-field-deprecated":{requires:["panel","aui-datatype","aui-datatable-edit","aui-property-builder-field-support"],skinnable:!0},"aui-form-builder-field-fieldset-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-file-upload-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-list":{requires:["aui-form-builder-field-type","aui-form-builder-field-types","aui-form-builder-layout-builder"],skinnable:!0},"aui-form-builder-field-multiple-choice-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-radio-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-select-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-sentence":{requires:["aui-form-builder-field-base","aui-form-field"]},"aui-form-builder-field-text":{requires:["aui-boolean-data-editor","aui-radio-group-data-editor","aui-form-builder-field-base","aui-form-field-text"]},"aui-form-builder-field-text-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-textarea-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-toolbar":{requires:["aui-classnamemanager","base","node-base"],skinnable:!0},"aui-form-builder-field-type":{requires:["base","node-base"],skinnable:!0},"aui-form-builder-field-types":{requires:["aui-classnamemanager","aui-form-builder-field-types-modal","base","node-base"],skinnable:!0},"aui-form-builder-field-types-modal":{requires:["aui-modal"],skinnable:!0},"aui-form-builder-layout-builder":{requires:["aui-classnamemanager","aui-layout-builder","aui-modal","base","node-base"],skinnable:!0},"aui-form-builder-page-manager":{requires:["aui-pagination","aui-popover","aui-tabview","base","event-valuechange","node-base"],skinnable:!0},"aui-form-builder-settings-modal":{requires:["aui-classnamemanager","aui-modal","base","node-base"],skinnable:!0},"aui-form-combobox-deprecated":{requires:["aui-form-textarea-deprecated","aui-toolbar"],skinnable:!0},"aui-form-deprecated":{use:["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"]},"aui-form-field":{requires:["aui-classnamemanager","aui-node-base","base-build"],skinnable:!0},"aui-form-field-choice":{requires:["aui-form-field-required"],skinnable:!0},"aui-form-field-deprecated":{requires:["aui-base-deprecated","aui-component"]},"aui-form-field-required":{requires:["aui-form-field"]},"aui-form-field-text":{requires:["aui-form-field-required"],skinnable:!0},"aui-form-select-deprecated":{requires:["aui-form-field-deprecated"]},"aui-form-textarea-deprecated":{requires:["node-pluginhost","aui-autosize-deprecated","aui-form-textfield-deprecated"]},"aui-form-textfield-deprecated":{requires:["aui-form-field-deprecated"]},"aui-form-validator":{requires:["escape","selector-css3","node-event-delegate","aui-node","aui-component"
+,"aui-event-input"]},"aui-hsv-palette":{requires:["aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-event-input","base-build","clickable-rail","color-hsv","dd-constrain","slider","widget"],skinnable:!0},"aui-hsva-palette":{requires:["aui-hsv-palette"],skinnable:!0},"aui-hsva-palette-modal":{requires:["aui-hsva-palette","aui-modal"],skinnable:!0},"aui-image-cropper":{requires:["resize-base","resize-constrain","dd-constrain","aui-node-base","aui-component"],skinnable:!0},"aui-image-viewer":{requires:["widget","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","aui-event","aui-image-viewer-base","aui-image-viewer-multiple","aui-image-viewer-slideshow","aui-node-base","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-image-viewer-base":{requires:["anim","aui-aria","aui-classnamemanager","aui-node","aui-widget-responsive","base-build","imageloader","node-base","widget","widget-stack"],skinnable:!0},"aui-image-viewer-media":{requires:["plugin","aui-component","aui-image-viewer"]},"aui-image-viewer-multiple":{requires:["base-build","node-base","aui-classnamemanager","aui-image-viewer-base"],skinnable:!0},"aui-image-viewer-multiple-swipe":{condition:{name:"aui-image-viewer-multiple-swipe",trigger:"aui-image-viewer-multiple",ua:"touchEnabled"},requires:["aui-image-viewer-multiple","aui-image-viewer-swipe"]},"aui-image-viewer-slideshow":{requires:["node","aui-classnamemanager"]},"aui-image-viewer-swipe":{condition:{name:"aui-image-viewer-swipe",trigger:"aui-image-viewer-base",ua:"touchEnabled"},requires:["event-resize","aui-image-viewer-base","aui-widget-swipe"]},"aui-input-text-control-deprecated":{requires:["aui-base-deprecated","aui-datasource-control-base-deprecated","aui-form-combobox-deprecated"]},"aui-io":{use:["aui-io-request"]},"aui-io-deprecated":{use:["aui-io-request","aui-io-plugin-deprecated"]},"aui-io-plugin-deprecated":{requires:["aui-overlay-base-deprecated","aui-parse-content","aui-io-request","aui-loading-mask-deprecated"]},"aui-io-request":{requires:["io-base","json","plugin","querystring-stringify","aui-component"]},"aui-io-request-deprecated":{requires:["io-base","json","plugin","querystring-stringify","aui-base-deprecated"]},"aui-layout":{requires:["aui-layout-col","aui-layout-row","aui-node-base","base-build","datatype-number-parse","event-resize"]},"aui-layout-builder":{requires:["aui-classnamemanager","aui-layout","aui-layout-builder-add-col","aui-layout-builder-add-row","aui-layout-builder-move","aui-layout-builder-remove-row","aui-layout-builder-resize-col","aui-node-base","base-build","node-event-delegate","node-screen","node-style"]},"aui-layout-builder-add-col":{requires:["event-key","node-base"],skinnable:!0},"aui-layout-builder-add-row":{requires:["aui-node-base","base-build","node-scroll-info"],skinnable:!0},"aui-layout-builder-move":{requires:["aui-node-base","base-build"],skinnable:!0},"aui-layout-builder-remove-row":{requires:["aui-node-base","base-build"],skinnable:!0},"aui-layout-builder-resize-col":{requires:["dd-constrain","dd-delegate","dd-drop-plugin","dd-proxy","event-mouseenter","node-base"],skinnable:!0},"aui-layout-col":{requires:["aui-classnamemanager","aui-node-base","base-build"],skinnable:!0},"aui-layout-row":{requires:["array-invoke","aui-node-base","base-build"],skinnable:!0},"aui-linkedset":{requires:["aui-set"]},"aui-live-search-deprecated":{requires:["aui-base-deprecated"]},"aui-loading-mask-deprecated":{requires:["plugin","aui-overlay-mask-deprecated"],skinnable:!0},"aui-map":{requires:["base-build"]},"aui-menu":{requires:["base-build","event-mouseenter","event-resize","widget","widget-position","widget-position-align","widget-position-constrain","widget-stack","aui-classnamemanager","aui-debounce","aui-dropdown","aui-menu-item"],skinnable:!0},"aui-menu-item":{requires:["base-build","node-base","aui-classnamemanager","aui-node","aui-widget-shortcut"]},"aui-messaging":{requires:["querystring","aui-timer"]},"aui-modal":{requires:["widget","widget-autohide","widget-buttons","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","dd-plugin","dd-constrain","timers","aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-widget-toolbars"],skinnable:!0},"aui-modal-resize":{condition:{name:"aui-modal-resize",test:function(e){return!e.UA.mobile},trigger:"aui-modal"},requires:["aui-modal","resize-plugin"]},"aui-node":{use:["aui-node-base"]},"aui-node-accessible":{requires:["aui-node-base","event-custom-base"]},"aui-node-base":{requires:["array-extras","aui-base-lang","aui-classnamemanager","aui-debounce","node"]},"aui-node-html5":{condition:{name:"aui-node-html5",trigger:"aui-node",ua:"ie"},requires:["collection","aui-node-base"]},"aui-options-data-editor":{requires:["aui-data-editor","dd-constrain","dd-delegate","dd-drop-plugin","dd-proxy","event-valuechange","node-event-delegate"],skinnable:!0},"aui-overlay-base-deprecated":{requires:["widget-position","widget-stack","widget-position-align","widget-position-constrain","widget-stdmod","aui-component"]},"aui-overlay-context-deprecated":{requires:["aui-overlay-manager-deprecated","aui-delayed-task-deprecated","aui-aria"]},"aui-overlay-context-panel-deprecated":{requires:["anim","aui-overlay-context-deprecated"],skinnable:!0},"aui-overlay-deprecated":{use:["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"]},"aui-overlay-manager-deprecated":{requires:["overlay","plugin","aui-base-deprecated","aui-overlay-base-deprecated"]},"aui-overlay-mask-deprecated":{requires:["event-resize","aui-base-deprecated","aui-overlay-base-deprecated"],skinnable:!0},"aui-pagination":{requires:["node-event-delegate","aui-node","aui-component","widget-htmlparser"],skinnable:!0},"aui-palette":{requires:["base-build","event-hover","widget","aui-classnamemanager"
+,"aui-base","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-parse-content":{requires:["async-queue","plugin","io-base","aui-component","aui-node-base"]},"aui-popover":{requires:["event-resize","widget","widget-autohide","widget-buttons","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-widget-toolbars","aui-widget-transition","aui-widget-trigger","aui-widget-position-align-suggestion","aui-component","aui-node-base"],skinnable:!0},"aui-progressbar":{requires:["aui-node","aui-component","aui-aria"],skinnable:!0},"aui-promise":{requires:["array-invoke","promise","oop"]},"aui-property-builder":{requires:["dd","collection","aui-property-builder-available-field","aui-property-builder-field-support","aui-property-builder-settings","aui-tabview"],skinnable:!0},"aui-property-builder-available-field":{requires:["base","aui-component","aui-node"]},"aui-property-builder-field-support":{},"aui-property-builder-settings":{requires:["aui-tabview","aui-datatable-property-list"]},"aui-radio-group-data-editor":{requires:["aui-data-editor","node-event-delegate"],skinnable:!0},"aui-rating":{use:["aui-rating-base","aui-rating-thumb"]},"aui-rating-base":{requires:["aui-component","aui-node-base","widget-htmlparser","widget-uievents"],skinnable:!0},"aui-rating-thumb":{requires:["aui-rating-base"]},"aui-resize-base-deprecated":{requires:["dd-drag","dd-delegate","dd-drop","aui-base-deprecated"],skinnable:!0},"aui-resize-constrain-deprecated":{requires:["dd-constrain","plugin","aui-resize-base-deprecated"]},"aui-resize-deprecated":{skinnable:!0,use:["aui-resize-base-deprecated","aui-resize-constrain-deprecated"]},"aui-scale-data-editor":{requires:["aui-classnamemanager","aui-data-editor","event-valuechange"]},"aui-scheduler":{use:["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"]},"aui-scheduler-base":{requires:["model","model-list","widget-stdmod","color-hsl","aui-event-base","aui-node-base","aui-component","aui-datatype","aui-button","node-focusmanager"],skinnable:!0},"aui-scheduler-event-recorder":{requires:["querystring","io-form","overlay","aui-scheduler-base","aui-popover"],skinnable:!0},"aui-scheduler-touch":{condition:{name:"aui-scheduler-touch",trigger:"aui-scheduler",ua:"touchEnabled"},requires:["base-build","aui-scheduler"],skinnable:!0},"aui-scheduler-view-agenda":{requires:["aui-scheduler-base"],skinnable:!0},"aui-scheduler-view-day":{requires:["dd-drag","dd-delegate","dd-drop","dd-constrain","aui-scheduler-view-table"],skinnable:!0},"aui-scheduler-view-month":{requires:["aui-scheduler-view-table"],skinnable:!0},"aui-scheduler-view-table":{requires:["overlay","aui-scheduler-base"],skinnable:!0},"aui-scheduler-view-table-dd":{requires:["dd-drag","dd-delegate","dd-drop","aui-scheduler-view-table"]},"aui-scheduler-view-week":{requires:["aui-scheduler-view-day"],skinnable:!0},"aui-scroller-deprecated":{requires:["event-mouseenter","aui-base-deprecated","aui-simple-anim-deprecated"],skinnable:!0},"aui-scrollspy":{requires:["base-build","node-screen","aui-classnamemanager"]},"aui-search":{use:["aui-search-tst"]},"aui-search-tst":{requires:["aui-component"]},"aui-selector":{requires:["selector-css3","aui-classnamemanager"]},"aui-set":{requires:["aui-map"]},"aui-simple-anim-deprecated":{requires:["aui-base-deprecated"]},"aui-skin-deprecated":{type:"css"},"aui-sortable":{use:["aui-sortable-layout","aui-sortable-list"]},"aui-sortable-layout":{requires:["dd-delegate","dd-drag","dd-drop","dd-proxy","aui-node","aui-component"],skinnable:!0},"aui-sortable-list":{requires:["dd-drag","dd-drop","dd-proxy","dd-scroll","aui-node","aui-component"]},"aui-state-interaction-deprecated":{requires:["aui-base-deprecated","plugin"]},"aui-surface":{use:["aui-surface-app","aui-surface-screen"]},"aui-surface-app":{requires:["event-delegate","node-event-html5","aui-surface-base","aui-surface-screen","aui-surface-screen-route"]},"aui-surface-base":{requires:["base-build","node-style","timers","aui-debounce","aui-promise","aui-parse-content"]},"aui-surface-screen":{requires:["base-build"]},"aui-surface-screen-html":{requires:["aui-base","aui-io-request","aui-promise","aui-surface-screen","aui-url"]},"aui-surface-screen-route":{requires:["base-build"]},"aui-swf-deprecated":{requires:["querystring-parse-simple","querystring-stringify-simple","aui-base-deprecated"]},"aui-tabs-data-editor":{requires:["aui-data-editor","aui-tabview"]},"aui-tabview":{requires:["selector-css3","tabview","aui-component","aui-widget-css"],skinnable:!0},"aui-template-deprecated":{requires:["aui-base-deprecated"]},"aui-text-data-editor":{requires:["aui-data-editor","event-valuechange"],skinnable:!0},"aui-text-data-unicode":{requires:["text"]},"aui-text-unicode":{requires:["aui-text-data-unicode"]},"aui-textboxlist-deprecated":{requires:["anim-node-plugin","aui-autocomplete-deprecated","aui-button-item-deprecated","aui-data-set-deprecated","escape","node-focusmanager"],skinnable:!0},"aui-timepicker":{requires:["autocomplete","aui-datepicker-delegate","aui-datepicker-popover"],skinnable:!0},"aui-timepicker-native":{requires:["base","base-build","aui-node-base","aui-datepicker-delegate","aui-datepicker-native"]},"aui-timer":{requires:["oop"]},"aui-toggler":{use:["aui-toggler-base","aui-toggler-delegate"]},"aui-toggler-accessibility":{requires:["aui-toggler-base"]},"aui-toggler-base":{requires:["transition","aui-selector","aui-event-base","aui-node","aui-component","event-tap"],skinnable:!0},"aui-toggler-delegate":{requires:["array-invoke","node-event-delegate","aui-toggler-base"]},"aui-toolbar":{requires:["arraylist","arraylist-add","aui-component","aui-button-core"]},"aui-tooltip":{use:["aui-tooltip-base","aui-tooltip-delegate"
+]},"aui-tooltip-base":{requires:["aui-aria","aui-classnamemanager","aui-component","aui-debounce","aui-node-base","aui-widget-cssclass","aui-widget-toggle","aui-widget-transition","aui-widget-trigger","aui-widget-position-align-suggestion","event-hover","event-resize","escape","widget","widget-autohide","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod"],skinnable:!0},"aui-tooltip-delegate":{requires:["aui-tooltip-base","node-event-delegate"]},"aui-tooltip-deprecated":{requires:["aui-overlay-context-panel-deprecated"],skinnable:!0},"aui-tpl-snippets-base-deprecated":{requires:["aui-template-deprecated"]},"aui-tpl-snippets-checkbox-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-deprecated":{use:["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"]},"aui-tpl-snippets-input-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-select-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-textarea-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tree":{use:["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"]},"aui-tree-data":{requires:["aui-base-core","aui-base-lang","aui-node-base","aui-timer","aui-component"]},"aui-tree-io":{requires:["aui-component","aui-io"]},"aui-tree-node":{requires:["json","querystring-stringify","aui-tree-data","aui-tree-io","aui-tree-paginator","event-key"]},"aui-tree-paginator":{requires:["yui-base"]},"aui-tree-view":{requires:["dd-delegate","dd-proxy","widget","aui-tree-node","aui-tree-paginator","aui-tree-io"],skinnable:!0},"aui-undo-redo":{requires:["aui-base","base","base-build","event-key","promise"]},"aui-url":{requires:["oop","querystring-parse","querystring-stringify"]},"aui-video":{requires:["event-resize","node-event-html5","querystring-stringify-simple","aui-aria","aui-node","aui-component","aui-debounce"],skinnable:!0},"aui-viewport":{requires:["aui-node","aui-component"]},"aui-widget":{use:["aui-widget-cssclass","aui-widget-toolbars"]},"aui-widget-core":{use:["aui-widget-cssclass"]},"aui-widget-cssclass":{requires:["widget-base"]},"aui-widget-position-align-suggestion":{requires:["widget-position-align","widget-stdmod"]},"aui-widget-responsive":{requires:["event-resize","widget-base"]},"aui-widget-shortcut":{requires:["base"]},"aui-widget-swipe":{requires:["classnamemanager","scrollview-base","scrollview-paginator","timers"]},"aui-widget-toggle":{},"aui-widget-toolbars":{requires:["widget-stdmod","aui-toolbar"]},"aui-widget-transition":{requires:["transition"]},"aui-widget-trigger":{requires:["node"]}}),YUI.Env[n.version].md5="d7c627eb00edd6b6f054d8f6e7147480",e.UA.edge=function(){var t=e.UA.userAgent.match(/Edge\/(.[0-9.]+)/);return t?t[1]:0}(),e.supportsDOMEvent=function(t,n){n="on"+n;if(!(n in t)){t.setAttribute||(t=e.config.doc.createElement("div"));if(t.setAttribute)return t.setAttribute(n,""),typeof t[n]=="function"}return t=null,!0},function(){var e=Array.prototype.slice;YUI.prototype.ready=function(){var t=this,n=arguments,r=n.length-1,i=e.call(arguments,0,r);i.unshift("event-base"),i.push(function(e){var t=arguments;e.on("domready",function(){n[r].apply(this,t)})}),t.use.apply(t,i)}}()},"3.1.0-deprecated.52");
diff --git a/build/aui-base-core/aui-base-core.js b/build/aui-base-core/aui-base-core.js
new file mode 100644
index 00000000000..2cb44d75cf0
--- /dev/null
+++ b/build/aui-base-core/aui-base-core.js
@@ -0,0 +1,2251 @@
+YUI.add('aui-base-core', function (A, NAME) {
+
+var Y = A;
+YUI.Env.aliases = YUI.Env.aliases || {};
+Y.mix(YUI.Env.aliases, {
+ "aui-autosize": ["aui-autosize-iframe"],
+ "aui-base": ["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"],
+ "aui-base-deprecated": ["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"],
+ "aui-button": ["aui-button-core"],
+ "aui-collection": ["aui-map","aui-set","aui-linkedset"],
+ "aui-color-picker-deprecated": ["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"],
+ "aui-datasource-control-deprecated": ["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"],
+ "aui-datatable": ["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"],
+ "aui-datatable-edit": ["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"],
+ "aui-datepicker-deprecated": ["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"],
+ "aui-event": ["aui-event-base"],
+ "aui-form-deprecated": ["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"],
+ "aui-io": ["aui-io-request"],
+ "aui-io-deprecated": ["aui-io-request","aui-io-plugin-deprecated"],
+ "aui-node": ["aui-node-base"],
+ "aui-overlay-deprecated": ["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"],
+ "aui-rating": ["aui-rating-base","aui-rating-thumb"],
+ "aui-resize-deprecated": ["aui-resize-base-deprecated","aui-resize-constrain-deprecated"],
+ "aui-scheduler": ["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"],
+ "aui-search": ["aui-search-tst"],
+ "aui-sortable": ["aui-sortable-layout","aui-sortable-list"],
+ "aui-surface": ["aui-surface-app","aui-surface-screen"],
+ "aui-toggler": ["aui-toggler-base","aui-toggler-delegate"],
+ "aui-tooltip": ["aui-tooltip-base","aui-tooltip-delegate"],
+ "aui-tpl-snippets-deprecated": ["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"],
+ "aui-tree": ["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"],
+ "aui-widget": ["aui-widget-cssclass","aui-widget-toolbars"],
+ "aui-widget-core": ["aui-widget-cssclass"]
+});
+/* This file is auto-generated by (yogi loader --yes --mix --js js/aui-loader.js --json js/aui-loader.json --start ../) */
+
+/*jshint maxlen:900, eqeqeq: false */
+
+/**
+ * YUI 3 module metadata
+ * @module loader
+ * @submodule loader-yui3
+ */
+YUI.Env[Y.version].modules = YUI.Env[Y.version].modules || {};
+Y.mix(YUI.Env[Y.version].modules, {
+ "aui-ace-autocomplete-base": {
+ "requires": [
+ "aui-ace-editor"
+ ]
+ },
+ "aui-ace-autocomplete-freemarker": {
+ "requires": [
+ "aui-ace-autocomplete-templateprocessor"
+ ]
+ },
+ "aui-ace-autocomplete-list": {
+ "requires": [
+ "aui-ace-autocomplete-base",
+ "overlay",
+ "widget-autohide"
+ ],
+ "skinnable": true
+ },
+ "aui-ace-autocomplete-plugin": {
+ "requires": [
+ "aui-ace-autocomplete-list",
+ "plugin"
+ ]
+ },
+ "aui-ace-autocomplete-templateprocessor": {
+ "requires": [
+ "aui-ace-autocomplete-base"
+ ]
+ },
+ "aui-ace-autocomplete-velocity": {
+ "requires": [
+ "aui-ace-autocomplete-templateprocessor"
+ ]
+ },
+ "aui-ace-editor": {
+ "requires": [
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-affix": {
+ "requires": [
+ "base",
+ "node-screen",
+ "aui-node"
+ ]
+ },
+ "aui-alert": {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-transition",
+ "timers",
+ "widget",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+ },
+ "aui-aria": {
+ "requires": [
+ "plugin",
+ "aui-component"
+ ]
+ },
+ "aui-aria-table-sortable": {
+ "requires": [
+ "aui-aria"
+ ]
+ },
+ "aui-arraysort": {
+ "requires": [
+ "arraysort"
+ ]
+ },
+ "aui-audio": {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "node-event-html5",
+ "querystring-stringify-simple"
+ ],
+ "skinnable": true
+ },
+ "aui-autocomplete-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated",
+ "datasource",
+ "dataschema",
+ "aui-form-combobox-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-autosize": {
+ "use": [
+ "aui-autosize-iframe"
+ ]
+ },
+ "aui-autosize-deprecated": {
+ "requires": [
+ "event-valuechange",
+ "plugin",
+ "aui-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-autosize-iframe": {
+ "requires": [
+ "plugin",
+ "aui-component",
+ "aui-timer",
+ "aui-node-base"
+ ]
+ },
+ "aui-base": {
+ "use": [
+ "oop",
+ "yui-throttle",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "aui-base-core",
+ "aui-base-lang",
+ "aui-node-base"
+ ]
+ },
+ "aui-base-core": {},
+ "aui-base-deprecated": {
+ "use": [
+ "aui-base",
+ "aui-node",
+ "aui-component",
+ "aui-delayed-task-deprecated",
+ "aui-selector",
+ "aui-event-base"
+ ]
+ },
+ "aui-base-html5-shiv": {
+ "condition": {
+ "name": "aui-base-html5-shiv",
+ "trigger": "node-base",
+ "ua": "ie"
+ }
+ },
+ "aui-base-lang": {},
+ "aui-boolean-data-editor": {
+ "requires": [
+ "aui-button-switch",
+ "aui-data-editor"
+ ]
+ },
+ "aui-button": {
+ "use": [
+ "aui-button-core"
+ ]
+ },
+ "aui-button-core": {
+ "requires": [
+ "button",
+ "button-group",
+ "button-plugin",
+ "aui-component",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-button-item-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-state-interaction-deprecated",
+ "widget-child"
+ ],
+ "skinnable": true
+ },
+ "aui-button-search-cancel": {
+ "requires": [
+ "array-invoke",
+ "base",
+ "base-build",
+ "event-focus",
+ "event-move",
+ "event-resize",
+ "node-screen",
+ "node-event-delegate",
+ "aui-node-base",
+ "aui-classnamemanager",
+ "aui-event-input"
+ ]
+ },
+ "aui-button-switch": {
+ "requires": [
+ "aui-node-base",
+ "base-build",
+ "event-key",
+ "transition",
+ "widget"
+ ],
+ "skinnable": true
+ },
+ "aui-carousel": {
+ "requires": [
+ "anim",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-slideshow",
+ "node-event-delegate",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-carousel-mobile-touch": {
+ "condition": {
+ "name": "aui-carousel-mobile-touch",
+ "test": function(A) {
+ return A.UA.mobile && A.UA.touchEnabled;
+},
+ "trigger": "aui-carousel"
+ },
+ "requires": [
+ "base-build",
+ "aui-carousel"
+ ]
+ },
+ "aui-carousel-swipe": {
+ "condition": {
+ "name": "aui-carousel-swipe",
+ "trigger": "aui-carousel",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "aui-carousel",
+ "aui-widget-swipe",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-char-counter": {
+ "requires": [
+ "aui-aria",
+ "aui-node",
+ "aui-event-input",
+ "aui-component"
+ ]
+ },
+ "aui-chart-deprecated": {
+ "requires": [
+ "datasource",
+ "json",
+ "aui-swf-deprecated"
+ ]
+ },
+ "aui-classnamemanager": {
+ "requires": [
+ "classnamemanager"
+ ]
+ },
+ "aui-collection": {
+ "use": [
+ "aui-map",
+ "aui-set",
+ "aui-linkedset"
+ ]
+ },
+ "aui-color-palette": {
+ "requires": [
+ "array-extras",
+ "aui-palette",
+ "color-base",
+ "node-core",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-base": {
+ "requires": [
+ "aui-color-palette",
+ "aui-hsva-palette-modal",
+ "event-outside"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-base-deprecated": {
+ "requires": [
+ "dd-drag",
+ "panel",
+ "slider",
+ "aui-button-item-deprecated",
+ "aui-color-util-deprecated",
+ "aui-form-base-deprecated",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-deprecated": {
+ "use": [
+ "aui-color-picker-base-deprecated",
+ "aui-color-picker-grid-plugin-deprecated"
+ ]
+ },
+ "aui-color-picker-grid-plugin-deprecated": {
+ "requires": [
+ "plugin",
+ "aui-color-picker-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-color-picker-popover": {
+ "requires": [
+ "aui-color-picker-base",
+ "aui-popover",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-color-util-deprecated": {
+ "requires": []
+ },
+ "aui-component": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "base-build",
+ "widget-base"
+ ]
+ },
+ "aui-css": {
+ "type": "css"
+ },
+ "aui-data-editor": {
+ "requires": [
+ "aui-classnamemanager",
+ "base-build",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-data-set-deprecated": {
+ "requires": [
+ "oop",
+ "collection",
+ "base"
+ ]
+ },
+ "aui-datasource-control-base-deprecated": {
+ "requires": [
+ "datasource",
+ "dataschema",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-datasource-control-deprecated": {
+ "use": [
+ "aui-datasource-control-base-deprecated",
+ "aui-input-text-control-deprecated"
+ ]
+ },
+ "aui-datatable": {
+ "use": [
+ "aui-datatable-edit",
+ "aui-datatable-highlight",
+ "aui-datatable-selection",
+ "aui-datatable-property-list"
+ ]
+ },
+ "aui-datatable-base-cell-editor": {
+ "requires": [
+ "datatable-base",
+ "overlay"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-base-options-cell-editor": {
+ "requires": [
+ "aui-datatable-base-cell-editor",
+ "escape"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-body": {
+ "requires": [
+ "aui-classnamemanager",
+ "datatable-base",
+ "event-key",
+ "aui-event-base"
+ ]
+ },
+ "aui-datatable-cell-editor-support": {
+ "requires": [
+ "datatable-base"
+ ]
+ },
+ "aui-datatable-checkbox-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-core": {
+ "requires": [
+ "aui-datatable-body",
+ "datatable-base",
+ "event-key",
+ "aui-event-base"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-date-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-dropdown-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-edit": {
+ "use": [
+ "datatable-base",
+ "calendar",
+ "overlay",
+ "sortable",
+ "aui-datatype",
+ "aui-toolbar",
+ "aui-form-validator",
+ "aui-datatable-base-cell-editor",
+ "aui-datatable-base-options-cell-editor",
+ "aui-datatable-cell-editor-support",
+ "aui-datatable-core",
+ "aui-datatable-checkbox-cell-editor",
+ "aui-datatable-date-cell-editor",
+ "aui-datatable-dropdown-cell-editor",
+ "aui-datatable-radio-cell-editor",
+ "aui-datatable-text-cell-editor",
+ "aui-datatable-text-area-cell-editor"
+ ]
+ },
+ "aui-datatable-highlight": {
+ "requires": [
+ "aui-datatable-selection"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-property-list": {
+ "requires": [
+ "datatable-scroll",
+ "datatable-sort",
+ "aui-datatable-core",
+ "aui-datatable-edit",
+ "aui-datatable-highlight",
+ "aui-datatable-selection",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-radio-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-selection": {
+ "requires": [
+ "aui-datatable-core"
+ ],
+ "skinnable": true
+ },
+ "aui-datatable-text-area-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatable-text-cell-editor": {
+ "requires": [
+ "aui-datatable-base-options-cell-editor"
+ ]
+ },
+ "aui-datatype": {
+ "requires": [
+ "datatype",
+ "aui-datatype-date-parse"
+ ]
+ },
+ "aui-datatype-date-parse": {
+ "requires": [
+ "aui-base-lang",
+ "datatype-date-format",
+ "datatype-date-parse",
+ "intl"
+ ]
+ },
+ "aui-datepicker": {
+ "requires": [
+ "aui-aria",
+ "aui-datepicker-delegate",
+ "aui-datepicker-popover",
+ "base",
+ "base-build",
+ "calendar"
+ ],
+ "skinnable": true
+ },
+ "aui-datepicker-base-deprecated": {
+ "requires": [
+ "calendar",
+ "aui-datatype",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-datepicker-delegate": {
+ "requires": [
+ "aui-datatype-date-parse",
+ "aui-event-input",
+ "event-focus",
+ "node-event-delegate"
+ ]
+ },
+ "aui-datepicker-deprecated": {
+ "skinnable": true,
+ "use": [
+ "aui-datepicker-base-deprecated",
+ "aui-datepicker-select-deprecated"
+ ]
+ },
+ "aui-datepicker-native": {
+ "requires": [
+ "aui-datepicker-delegate",
+ "aui-node-base",
+ "base",
+ "base-build"
+ ]
+ },
+ "aui-datepicker-popover": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-popover"
+ ]
+ },
+ "aui-datepicker-select-deprecated": {
+ "requires": [
+ "aui-datepicker-base-deprecated",
+ "aui-button-item-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-debounce": {},
+ "aui-delayed-task-deprecated": {
+ "requires": [
+ "yui-base"
+ ]
+ },
+ "aui-diagram-builder": {
+ "requires": [
+ "aui-aria",
+ "aui-map",
+ "aui-property-builder",
+ "aui-diagram-builder-connector",
+ "aui-property-builder-settings",
+ "aui-diagram-node-condition",
+ "aui-diagram-node-end",
+ "aui-diagram-node-fork",
+ "aui-diagram-node-join",
+ "aui-diagram-node-start",
+ "aui-diagram-node-state",
+ "aui-diagram-node-task",
+ "overlay"
+ ],
+ "skinnable": true
+ },
+ "aui-diagram-builder-connector": {
+ "requires": [
+ "arraylist-add",
+ "arraylist-filter",
+ "escape",
+ "json",
+ "graphics",
+ "dd"
+ ],
+ "skinnable": true
+ },
+ "aui-diagram-node": {
+ "requires": [
+ "aui-aria",
+ "aui-diagram-node-manager-base",
+ "escape",
+ "overlay"
+ ]
+ },
+ "aui-diagram-node-condition": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-end": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-fork": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-join": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-manager-base": {
+ "requires": [
+ "base"
+ ]
+ },
+ "aui-diagram-node-start": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-diagram-node-state": {
+ "requires": [
+ "aui-diagram-node"
+ ]
+ },
+ "aui-diagram-node-task": {
+ "requires": [
+ "aui-diagram-node-state"
+ ]
+ },
+ "aui-dialog-iframe-deprecated": {
+ "requires": [
+ "plugin",
+ "array-invoke",
+ "aui-base-deprecated",
+ "aui-loading-mask-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-dropdown": {
+ "requires": [
+ "event-delegate",
+ "event-key",
+ "event-outside",
+ "node-focusmanager",
+ "widget",
+ "widget-stack",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-trigger"
+ ],
+ "skinnable": true
+ },
+ "aui-editable-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-form-combobox-deprecated",
+ "escape",
+ "event-resize"
+ ],
+ "skinnable": true
+ },
+ "aui-event": {
+ "use": [
+ "aui-event-base"
+ ]
+ },
+ "aui-event-base": {
+ "requires": [
+ "event-base"
+ ]
+ },
+ "aui-event-delegate-change": {
+ "condition": {
+ "name": "aui-event-delegate-change",
+ "trigger": "event-base-ie",
+ "ua": "ie"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic"
+ ]
+ },
+ "aui-event-delegate-submit": {
+ "condition": {
+ "name": "aui-event-delegate-submit",
+ "trigger": "event-base-ie",
+ "ua": "ie"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic"
+ ]
+ },
+ "aui-event-input": {
+ "condition": {
+ "name": "aui-event-input",
+ "test": function(A) {
+ var supportsDOMEvent = A.supportsDOMEvent,
+ testFeature = A.Features.test,
+ addFeature = A.Features.add;
+
+ if (testFeature('event', 'input') === undefined) {
+ addFeature('event', 'input', {
+ test: function() {
+ return supportsDOMEvent(document.createElement('textarea'), 'input') && (!A.UA.ie || A.UA.ie > 9);
+ }
+ });
+ }
+
+ return !testFeature('event', 'input');
+},
+ "trigger": "aui-event-base"
+ },
+ "requires": [
+ "aui-event-base",
+ "event-delegate",
+ "event-synthetic",
+ "timers"
+ ]
+ },
+ "aui-form-base-deprecated": {
+ "requires": [
+ "io-form",
+ "querystring-parse",
+ "aui-base-deprecated",
+ "aui-data-set-deprecated",
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-builder": {
+ "requires": [
+ "aui-modal",
+ "aui-layout",
+ "aui-form-builder-field-list",
+ "aui-form-builder-field-toolbar",
+ "aui-form-builder-field-type",
+ "aui-form-builder-field-types",
+ "aui-form-builder-layout-builder",
+ "aui-form-builder-page-manager",
+ "aui-form-builder-settings-modal",
+ "event-focus",
+ "event-tap"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-available-field-deprecated": {
+ "requires": [
+ "aui-property-builder-available-field"
+ ]
+ },
+ "aui-form-builder-deprecated": {
+ "requires": [
+ "aui-button",
+ "aui-collection",
+ "aui-form-builder-available-field-deprecated",
+ "aui-form-builder-field-deprecated",
+ "aui-form-builder-field-button-deprecated",
+ "aui-form-builder-field-checkbox-deprecated",
+ "aui-form-builder-field-fieldset-deprecated",
+ "aui-form-builder-field-file-upload-deprecated",
+ "aui-form-builder-field-multiple-choice-deprecated",
+ "aui-form-builder-field-radio-deprecated",
+ "aui-form-builder-field-select-deprecated",
+ "aui-form-builder-field-text-deprecated",
+ "aui-form-builder-field-textarea-deprecated",
+ "aui-property-builder",
+ "aui-property-builder-settings",
+ "aui-sortable-list",
+ "aui-tabview",
+ "aui-tooltip-base",
+ "escape",
+ "transition"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-base": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "aui-text-data-editor",
+ "aui-toggler",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-button-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-checkbox-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-choice": {
+ "requires": [
+ "aui-boolean-data-editor",
+ "aui-options-data-editor",
+ "aui-tabs-data-editor",
+ "aui-form-builder-field-base",
+ "aui-form-field-choice"
+ ]
+ },
+ "aui-form-builder-field-deprecated": {
+ "requires": [
+ "panel",
+ "aui-datatype",
+ "aui-datatable-edit",
+ "aui-property-builder-field-support"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-fieldset-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-file-upload-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-list": {
+ "requires": [
+ "aui-form-builder-field-type",
+ "aui-form-builder-field-types",
+ "aui-form-builder-layout-builder"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-multiple-choice-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-radio-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-select-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-sentence": {
+ "requires": [
+ "aui-form-builder-field-base",
+ "aui-form-field"
+ ]
+ },
+ "aui-form-builder-field-text": {
+ "requires": [
+ "aui-boolean-data-editor",
+ "aui-radio-group-data-editor",
+ "aui-form-builder-field-base",
+ "aui-form-field-text"
+ ]
+ },
+ "aui-form-builder-field-text-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-textarea-deprecated": {
+ "requires": [
+ "aui-form-builder-field-deprecated"
+ ]
+ },
+ "aui-form-builder-field-toolbar": {
+ "requires": [
+ "aui-classnamemanager",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-type": {
+ "requires": [
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-types": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-form-builder-field-types-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-field-types-modal": {
+ "requires": [
+ "aui-modal"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-layout-builder": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-layout-builder",
+ "aui-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-page-manager": {
+ "requires": [
+ "aui-pagination",
+ "aui-popover",
+ "aui-tabview",
+ "base",
+ "event-valuechange",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-builder-settings-modal": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-modal",
+ "base",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-form-combobox-deprecated": {
+ "requires": [
+ "aui-form-textarea-deprecated",
+ "aui-toolbar"
+ ],
+ "skinnable": true
+ },
+ "aui-form-deprecated": {
+ "use": [
+ "aui-form-base-deprecated",
+ "aui-form-combobox-deprecated",
+ "aui-form-field-deprecated",
+ "aui-form-select-deprecated",
+ "aui-form-textarea-deprecated",
+ "aui-form-textfield-deprecated"
+ ]
+ },
+ "aui-form-field": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-form-field-choice": {
+ "requires": [
+ "aui-form-field-required"
+ ],
+ "skinnable": true
+ },
+ "aui-form-field-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-component"
+ ]
+ },
+ "aui-form-field-required": {
+ "requires": [
+ "aui-form-field"
+ ]
+ },
+ "aui-form-field-text": {
+ "requires": [
+ "aui-form-field-required"
+ ],
+ "skinnable": true
+ },
+ "aui-form-select-deprecated": {
+ "requires": [
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-textarea-deprecated": {
+ "requires": [
+ "node-pluginhost",
+ "aui-autosize-deprecated",
+ "aui-form-textfield-deprecated"
+ ]
+ },
+ "aui-form-textfield-deprecated": {
+ "requires": [
+ "aui-form-field-deprecated"
+ ]
+ },
+ "aui-form-validator": {
+ "requires": [
+ "escape",
+ "selector-css3",
+ "node-event-delegate",
+ "aui-node",
+ "aui-component",
+ "aui-event-input"
+ ]
+ },
+ "aui-hsv-palette": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-event-input",
+ "base-build",
+ "clickable-rail",
+ "color-hsv",
+ "dd-constrain",
+ "slider",
+ "widget"
+ ],
+ "skinnable": true
+ },
+ "aui-hsva-palette": {
+ "requires": [
+ "aui-hsv-palette"
+ ],
+ "skinnable": true
+ },
+ "aui-hsva-palette-modal": {
+ "requires": [
+ "aui-hsva-palette",
+ "aui-modal"
+ ],
+ "skinnable": true
+ },
+ "aui-image-cropper": {
+ "requires": [
+ "resize-base",
+ "resize-constrain",
+ "dd-constrain",
+ "aui-node-base",
+ "aui-component"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer": {
+ "requires": [
+ "widget",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-multiple",
+ "aui-image-viewer-slideshow",
+ "aui-node-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-base": {
+ "requires": [
+ "anim",
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-responsive",
+ "base-build",
+ "imageloader",
+ "node-base",
+ "widget",
+ "widget-stack"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-media": {
+ "requires": [
+ "plugin",
+ "aui-component",
+ "aui-image-viewer"
+ ]
+ },
+ "aui-image-viewer-multiple": {
+ "requires": [
+ "base-build",
+ "node-base",
+ "aui-classnamemanager",
+ "aui-image-viewer-base"
+ ],
+ "skinnable": true
+ },
+ "aui-image-viewer-multiple-swipe": {
+ "condition": {
+ "name": "aui-image-viewer-multiple-swipe",
+ "trigger": "aui-image-viewer-multiple",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "aui-image-viewer-multiple",
+ "aui-image-viewer-swipe"
+ ]
+ },
+ "aui-image-viewer-slideshow": {
+ "requires": [
+ "node",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-image-viewer-swipe": {
+ "condition": {
+ "name": "aui-image-viewer-swipe",
+ "trigger": "aui-image-viewer-base",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "event-resize",
+ "aui-image-viewer-base",
+ "aui-widget-swipe"
+ ]
+ },
+ "aui-input-text-control-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-datasource-control-base-deprecated",
+ "aui-form-combobox-deprecated"
+ ]
+ },
+ "aui-io": {
+ "use": [
+ "aui-io-request"
+ ]
+ },
+ "aui-io-deprecated": {
+ "use": [
+ "aui-io-request",
+ "aui-io-plugin-deprecated"
+ ]
+ },
+ "aui-io-plugin-deprecated": {
+ "requires": [
+ "aui-overlay-base-deprecated",
+ "aui-parse-content",
+ "aui-io-request",
+ "aui-loading-mask-deprecated"
+ ]
+ },
+ "aui-io-request": {
+ "requires": [
+ "io-base",
+ "json",
+ "plugin",
+ "querystring-stringify",
+ "aui-component"
+ ]
+ },
+ "aui-io-request-deprecated": {
+ "requires": [
+ "io-base",
+ "json",
+ "plugin",
+ "querystring-stringify",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-layout": {
+ "requires": [
+ "aui-layout-col",
+ "aui-layout-row",
+ "aui-node-base",
+ "base-build",
+ "datatype-number-parse",
+ "event-resize"
+ ]
+ },
+ "aui-layout-builder": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-layout",
+ "aui-layout-builder-add-col",
+ "aui-layout-builder-add-row",
+ "aui-layout-builder-move",
+ "aui-layout-builder-remove-row",
+ "aui-layout-builder-resize-col",
+ "aui-node-base",
+ "base-build",
+ "node-event-delegate",
+ "node-screen",
+ "node-style"
+ ]
+ },
+ "aui-layout-builder-add-col": {
+ "requires": [
+ "event-key",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-add-row": {
+ "requires": [
+ "aui-node-base",
+ "base-build",
+ "node-scroll-info"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-move": {
+ "requires": [
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-remove-row": {
+ "requires": [
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-builder-resize-col": {
+ "requires": [
+ "dd-constrain",
+ "dd-delegate",
+ "dd-drop-plugin",
+ "dd-proxy",
+ "event-mouseenter",
+ "node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-col": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-layout-row": {
+ "requires": [
+ "array-invoke",
+ "aui-node-base",
+ "base-build"
+ ],
+ "skinnable": true
+ },
+ "aui-linkedset": {
+ "requires": [
+ "aui-set"
+ ]
+ },
+ "aui-live-search-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-loading-mask-deprecated": {
+ "requires": [
+ "plugin",
+ "aui-overlay-mask-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-map": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-menu": {
+ "requires": [
+ "base-build",
+ "event-mouseenter",
+ "event-resize",
+ "widget",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "aui-dropdown",
+ "aui-menu-item"
+ ],
+ "skinnable": true
+ },
+ "aui-menu-item": {
+ "requires": [
+ "base-build",
+ "node-base",
+ "aui-classnamemanager",
+ "aui-node",
+ "aui-widget-shortcut"
+ ]
+ },
+ "aui-messaging": {
+ "requires": [
+ "querystring",
+ "aui-timer"
+ ]
+ },
+ "aui-modal": {
+ "requires": [
+ "widget",
+ "widget-autohide",
+ "widget-buttons",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "dd-plugin",
+ "dd-constrain",
+ "timers",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-toolbars"
+ ],
+ "skinnable": true
+ },
+ "aui-modal-resize": {
+ "condition": {
+ "name": "aui-modal-resize",
+ "test": function(A) {
+ return !A.UA.mobile;
+},
+ "trigger": "aui-modal"
+ },
+ "requires": [
+ "aui-modal",
+ "resize-plugin"
+ ]
+ },
+ "aui-node": {
+ "use": [
+ "aui-node-base"
+ ]
+ },
+ "aui-node-accessible": {
+ "requires": [
+ "aui-node-base",
+ "event-custom-base"
+ ]
+ },
+ "aui-node-base": {
+ "requires": [
+ "array-extras",
+ "aui-base-lang",
+ "aui-classnamemanager",
+ "aui-debounce",
+ "node"
+ ]
+ },
+ "aui-node-html5": {
+ "condition": {
+ "name": "aui-node-html5",
+ "trigger": "aui-node",
+ "ua": "ie"
+ },
+ "requires": [
+ "collection",
+ "aui-node-base"
+ ]
+ },
+ "aui-options-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "dd-constrain",
+ "dd-delegate",
+ "dd-drop-plugin",
+ "dd-proxy",
+ "event-valuechange",
+ "node-event-delegate"
+ ],
+ "skinnable": true
+ },
+ "aui-overlay-base-deprecated": {
+ "requires": [
+ "widget-position",
+ "widget-stack",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stdmod",
+ "aui-component"
+ ]
+ },
+ "aui-overlay-context-deprecated": {
+ "requires": [
+ "aui-overlay-manager-deprecated",
+ "aui-delayed-task-deprecated",
+ "aui-aria"
+ ]
+ },
+ "aui-overlay-context-panel-deprecated": {
+ "requires": [
+ "anim",
+ "aui-overlay-context-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-overlay-deprecated": {
+ "use": [
+ "aui-overlay-base-deprecated",
+ "aui-overlay-context-deprecated",
+ "aui-overlay-context-panel-deprecated",
+ "aui-overlay-manager-deprecated",
+ "aui-overlay-mask-deprecated"
+ ]
+ },
+ "aui-overlay-manager-deprecated": {
+ "requires": [
+ "overlay",
+ "plugin",
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated"
+ ]
+ },
+ "aui-overlay-mask-deprecated": {
+ "requires": [
+ "event-resize",
+ "aui-base-deprecated",
+ "aui-overlay-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-pagination": {
+ "requires": [
+ "node-event-delegate",
+ "aui-node",
+ "aui-component",
+ "widget-htmlparser"
+ ],
+ "skinnable": true
+ },
+ "aui-palette": {
+ "requires": [
+ "base-build",
+ "event-hover",
+ "widget",
+ "aui-classnamemanager",
+ "aui-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+ },
+ "aui-parse-content": {
+ "requires": [
+ "async-queue",
+ "plugin",
+ "io-base",
+ "aui-component",
+ "aui-node-base"
+ ]
+ },
+ "aui-popover": {
+ "requires": [
+ "event-resize",
+ "widget",
+ "widget-autohide",
+ "widget-buttons",
+ "widget-modality",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod",
+ "aui-classnamemanager",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-toolbars",
+ "aui-widget-transition",
+ "aui-widget-trigger",
+ "aui-widget-position-align-suggestion",
+ "aui-component",
+ "aui-node-base"
+ ],
+ "skinnable": true
+ },
+ "aui-progressbar": {
+ "requires": [
+ "aui-node",
+ "aui-component",
+ "aui-aria"
+ ],
+ "skinnable": true
+ },
+ "aui-promise": {
+ "requires": [
+ "array-invoke",
+ "promise",
+ "oop"
+ ]
+ },
+ "aui-property-builder": {
+ "requires": [
+ "dd",
+ "collection",
+ "aui-property-builder-available-field",
+ "aui-property-builder-field-support",
+ "aui-property-builder-settings",
+ "aui-tabview"
+ ],
+ "skinnable": true
+ },
+ "aui-property-builder-available-field": {
+ "requires": [
+ "base",
+ "aui-component",
+ "aui-node"
+ ]
+ },
+ "aui-property-builder-field-support": {},
+ "aui-property-builder-settings": {
+ "requires": [
+ "aui-tabview",
+ "aui-datatable-property-list"
+ ]
+ },
+ "aui-radio-group-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "node-event-delegate"
+ ],
+ "skinnable": true
+ },
+ "aui-rating": {
+ "use": [
+ "aui-rating-base",
+ "aui-rating-thumb"
+ ]
+ },
+ "aui-rating-base": {
+ "requires": [
+ "aui-component",
+ "aui-node-base",
+ "widget-htmlparser",
+ "widget-uievents"
+ ],
+ "skinnable": true
+ },
+ "aui-rating-thumb": {
+ "requires": [
+ "aui-rating-base"
+ ]
+ },
+ "aui-resize-base-deprecated": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "aui-base-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-resize-constrain-deprecated": {
+ "requires": [
+ "dd-constrain",
+ "plugin",
+ "aui-resize-base-deprecated"
+ ]
+ },
+ "aui-resize-deprecated": {
+ "skinnable": true,
+ "use": [
+ "aui-resize-base-deprecated",
+ "aui-resize-constrain-deprecated"
+ ]
+ },
+ "aui-scale-data-editor": {
+ "requires": [
+ "aui-classnamemanager",
+ "aui-data-editor",
+ "event-valuechange"
+ ]
+ },
+ "aui-scheduler": {
+ "use": [
+ "event-gestures",
+ "aui-scheduler-base",
+ "aui-scheduler-event-recorder",
+ "aui-scheduler-view-agenda",
+ "aui-scheduler-view-day",
+ "aui-scheduler-view-month",
+ "aui-scheduler-view-table-dd",
+ "aui-scheduler-view-table",
+ "aui-scheduler-view-week",
+ "aui-viewport"
+ ]
+ },
+ "aui-scheduler-base": {
+ "requires": [
+ "model",
+ "model-list",
+ "widget-stdmod",
+ "color-hsl",
+ "aui-event-base",
+ "aui-node-base",
+ "aui-component",
+ "aui-datatype",
+ "aui-button",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-event-recorder": {
+ "requires": [
+ "querystring",
+ "io-form",
+ "overlay",
+ "aui-scheduler-base",
+ "aui-popover"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-touch": {
+ "condition": {
+ "name": "aui-scheduler-touch",
+ "trigger": "aui-scheduler",
+ "ua": "touchEnabled"
+ },
+ "requires": [
+ "base-build",
+ "aui-scheduler"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-agenda": {
+ "requires": [
+ "aui-scheduler-base"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-day": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "dd-constrain",
+ "aui-scheduler-view-table"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-month": {
+ "requires": [
+ "aui-scheduler-view-table"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-table": {
+ "requires": [
+ "overlay",
+ "aui-scheduler-base"
+ ],
+ "skinnable": true
+ },
+ "aui-scheduler-view-table-dd": {
+ "requires": [
+ "dd-drag",
+ "dd-delegate",
+ "dd-drop",
+ "aui-scheduler-view-table"
+ ]
+ },
+ "aui-scheduler-view-week": {
+ "requires": [
+ "aui-scheduler-view-day"
+ ],
+ "skinnable": true
+ },
+ "aui-scroller-deprecated": {
+ "requires": [
+ "event-mouseenter",
+ "aui-base-deprecated",
+ "aui-simple-anim-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-scrollspy": {
+ "requires": [
+ "base-build",
+ "node-screen",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-search": {
+ "use": [
+ "aui-search-tst"
+ ]
+ },
+ "aui-search-tst": {
+ "requires": [
+ "aui-component"
+ ]
+ },
+ "aui-selector": {
+ "requires": [
+ "selector-css3",
+ "aui-classnamemanager"
+ ]
+ },
+ "aui-set": {
+ "requires": [
+ "aui-map"
+ ]
+ },
+ "aui-simple-anim-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-skin-deprecated": {
+ "type": "css"
+ },
+ "aui-sortable": {
+ "use": [
+ "aui-sortable-layout",
+ "aui-sortable-list"
+ ]
+ },
+ "aui-sortable-layout": {
+ "requires": [
+ "dd-delegate",
+ "dd-drag",
+ "dd-drop",
+ "dd-proxy",
+ "aui-node",
+ "aui-component"
+ ],
+ "skinnable": true
+ },
+ "aui-sortable-list": {
+ "requires": [
+ "dd-drag",
+ "dd-drop",
+ "dd-proxy",
+ "dd-scroll",
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-state-interaction-deprecated": {
+ "requires": [
+ "aui-base-deprecated",
+ "plugin"
+ ]
+ },
+ "aui-surface": {
+ "use": [
+ "aui-surface-app",
+ "aui-surface-screen"
+ ]
+ },
+ "aui-surface-app": {
+ "requires": [
+ "event-delegate",
+ "node-event-html5",
+ "aui-surface-base",
+ "aui-surface-screen",
+ "aui-surface-screen-route"
+ ]
+ },
+ "aui-surface-base": {
+ "requires": [
+ "base-build",
+ "node-style",
+ "timers",
+ "aui-debounce",
+ "aui-promise",
+ "aui-parse-content"
+ ]
+ },
+ "aui-surface-screen": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-surface-screen-html": {
+ "requires": [
+ "aui-base",
+ "aui-io-request",
+ "aui-promise",
+ "aui-surface-screen",
+ "aui-url"
+ ]
+ },
+ "aui-surface-screen-route": {
+ "requires": [
+ "base-build"
+ ]
+ },
+ "aui-swf-deprecated": {
+ "requires": [
+ "querystring-parse-simple",
+ "querystring-stringify-simple",
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-tabs-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "aui-tabview"
+ ]
+ },
+ "aui-tabview": {
+ "requires": [
+ "selector-css3",
+ "tabview",
+ "aui-component",
+ "aui-widget-css"
+ ],
+ "skinnable": true
+ },
+ "aui-template-deprecated": {
+ "requires": [
+ "aui-base-deprecated"
+ ]
+ },
+ "aui-text-data-editor": {
+ "requires": [
+ "aui-data-editor",
+ "event-valuechange"
+ ],
+ "skinnable": true
+ },
+ "aui-text-data-unicode": {
+ "requires": [
+ "text"
+ ]
+ },
+ "aui-text-unicode": {
+ "requires": [
+ "aui-text-data-unicode"
+ ]
+ },
+ "aui-textboxlist-deprecated": {
+ "requires": [
+ "anim-node-plugin",
+ "aui-autocomplete-deprecated",
+ "aui-button-item-deprecated",
+ "aui-data-set-deprecated",
+ "escape",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+ },
+ "aui-timepicker": {
+ "requires": [
+ "autocomplete",
+ "aui-datepicker-delegate",
+ "aui-datepicker-popover"
+ ],
+ "skinnable": true
+ },
+ "aui-timepicker-native": {
+ "requires": [
+ "base",
+ "base-build",
+ "aui-node-base",
+ "aui-datepicker-delegate",
+ "aui-datepicker-native"
+ ]
+ },
+ "aui-timer": {
+ "requires": [
+ "oop"
+ ]
+ },
+ "aui-toggler": {
+ "use": [
+ "aui-toggler-base",
+ "aui-toggler-delegate"
+ ]
+ },
+ "aui-toggler-accessibility": {
+ "requires": [
+ "aui-toggler-base"
+ ]
+ },
+ "aui-toggler-base": {
+ "requires": [
+ "transition",
+ "aui-selector",
+ "aui-event-base",
+ "aui-node",
+ "aui-component",
+ "event-tap"
+ ],
+ "skinnable": true
+ },
+ "aui-toggler-delegate": {
+ "requires": [
+ "array-invoke",
+ "node-event-delegate",
+ "aui-toggler-base"
+ ]
+ },
+ "aui-toolbar": {
+ "requires": [
+ "arraylist",
+ "arraylist-add",
+ "aui-component",
+ "aui-button-core"
+ ]
+ },
+ "aui-tooltip": {
+ "use": [
+ "aui-tooltip-base",
+ "aui-tooltip-delegate"
+ ]
+ },
+ "aui-tooltip-base": {
+ "requires": [
+ "aui-aria",
+ "aui-classnamemanager",
+ "aui-component",
+ "aui-debounce",
+ "aui-node-base",
+ "aui-widget-cssclass",
+ "aui-widget-toggle",
+ "aui-widget-transition",
+ "aui-widget-trigger",
+ "aui-widget-position-align-suggestion",
+ "event-hover",
+ "event-resize",
+ "escape",
+ "widget",
+ "widget-autohide",
+ "widget-position",
+ "widget-position-align",
+ "widget-position-constrain",
+ "widget-stack",
+ "widget-stdmod"
+ ],
+ "skinnable": true
+ },
+ "aui-tooltip-delegate": {
+ "requires": [
+ "aui-tooltip-base",
+ "node-event-delegate"
+ ]
+ },
+ "aui-tooltip-deprecated": {
+ "requires": [
+ "aui-overlay-context-panel-deprecated"
+ ],
+ "skinnable": true
+ },
+ "aui-tpl-snippets-base-deprecated": {
+ "requires": [
+ "aui-template-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-checkbox-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-deprecated": {
+ "use": [
+ "aui-tpl-snippets-base-deprecated",
+ "aui-tpl-snippets-checkbox-deprecated",
+ "aui-tpl-snippets-input-deprecated",
+ "aui-tpl-snippets-select-deprecated",
+ "aui-tpl-snippets-textarea-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-input-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-select-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tpl-snippets-textarea-deprecated": {
+ "requires": [
+ "aui-tpl-snippets-base-deprecated"
+ ]
+ },
+ "aui-tree": {
+ "use": [
+ "aui-tree-data",
+ "aui-tree-io",
+ "aui-tree-node",
+ "aui-tree-paginator",
+ "aui-tree-view"
+ ]
+ },
+ "aui-tree-data": {
+ "requires": [
+ "aui-base-core",
+ "aui-base-lang",
+ "aui-node-base",
+ "aui-timer",
+ "aui-component"
+ ]
+ },
+ "aui-tree-io": {
+ "requires": [
+ "aui-component",
+ "aui-io"
+ ]
+ },
+ "aui-tree-node": {
+ "requires": [
+ "json",
+ "querystring-stringify",
+ "aui-tree-data",
+ "aui-tree-io",
+ "aui-tree-paginator",
+ "event-key"
+ ]
+ },
+ "aui-tree-paginator": {
+ "requires": [
+ "yui-base"
+ ]
+ },
+ "aui-tree-view": {
+ "requires": [
+ "dd-delegate",
+ "dd-proxy",
+ "widget",
+ "aui-tree-node",
+ "aui-tree-paginator",
+ "aui-tree-io"
+ ],
+ "skinnable": true
+ },
+ "aui-undo-redo": {
+ "requires": [
+ "aui-base",
+ "base",
+ "base-build",
+ "event-key",
+ "promise"
+ ]
+ },
+ "aui-url": {
+ "requires": [
+ "oop",
+ "querystring-parse",
+ "querystring-stringify"
+ ]
+ },
+ "aui-video": {
+ "requires": [
+ "event-resize",
+ "node-event-html5",
+ "querystring-stringify-simple",
+ "aui-aria",
+ "aui-node",
+ "aui-component",
+ "aui-debounce"
+ ],
+ "skinnable": true
+ },
+ "aui-viewport": {
+ "requires": [
+ "aui-node",
+ "aui-component"
+ ]
+ },
+ "aui-widget": {
+ "use": [
+ "aui-widget-cssclass",
+ "aui-widget-toolbars"
+ ]
+ },
+ "aui-widget-core": {
+ "use": [
+ "aui-widget-cssclass"
+ ]
+ },
+ "aui-widget-cssclass": {
+ "requires": [
+ "widget-base"
+ ]
+ },
+ "aui-widget-position-align-suggestion": {
+ "requires": [
+ "widget-position-align",
+ "widget-stdmod"
+ ]
+ },
+ "aui-widget-responsive": {
+ "requires": [
+ "event-resize",
+ "widget-base"
+ ]
+ },
+ "aui-widget-shortcut": {
+ "requires": [
+ "base"
+ ]
+ },
+ "aui-widget-swipe": {
+ "requires": [
+ "classnamemanager",
+ "scrollview-base",
+ "scrollview-paginator",
+ "timers"
+ ]
+ },
+ "aui-widget-toggle": {},
+ "aui-widget-toolbars": {
+ "requires": [
+ "widget-stdmod",
+ "aui-toolbar"
+ ]
+ },
+ "aui-widget-transition": {
+ "requires": [
+ "transition"
+ ]
+ },
+ "aui-widget-trigger": {
+ "requires": [
+ "node"
+ ]
+ }
+});
+YUI.Env[Y.version].md5 = 'd7c627eb00edd6b6f054d8f6e7147480';
+/*
+ * Alloy JavaScript Library
+ * http://alloy.liferay.com/
+ *
+ * Copyright (c) 2010 Liferay Inc.
+ * http://alloy.liferay.com/LICENSE.txt
+ *
+ * Nate Cavanaugh (nathan.cavanaugh@liferay.com)
+ * Eduardo Lundgren (eduardo.lundgren@liferay.com)
+ *
+ * Attribution/Third-party licenses
+ * http://alloy.liferay.com/ATTRIBUTION.txt
+ */
+
+// Simple version of
+// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
+
+A.UA.edge = (function() {
+ var edgeVersion = A.UA.userAgent.match(/Edge\/(.[0-9.]+)/);
+
+ if (edgeVersion) {
+ return edgeVersion[1];
+ }
+
+ return 0;
+})();
+
+A.supportsDOMEvent = function(domNode, eventName) {
+ eventName = 'on' + eventName;
+
+ if (!(eventName in domNode)) {
+ if (!domNode.setAttribute) {
+ domNode = A.config.doc.createElement('div');
+ }
+
+ if (domNode.setAttribute) {
+ domNode.setAttribute(eventName, '');
+ return (typeof domNode[eventName] === 'function');
+ }
+ }
+
+ domNode = null;
+
+ return true;
+};
+(function() {
+ var slice = Array.prototype.slice;
+
+ YUI.prototype.ready = function() {
+ var instance = this,
+ xargs = arguments,
+ index = xargs.length - 1,
+ modules = slice.call(arguments, 0, index);
+
+ modules.unshift('event-base');
+ modules.push(function(instance) {
+ var args = arguments;
+
+ instance.on('domready', function() {
+ xargs[index].apply(this, args);
+ });
+ });
+ instance.use.apply(instance, modules);
+ };
+}());
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-base-html5-shiv/aui-base-html5-shiv-coverage.js b/build/aui-base-html5-shiv/aui-base-html5-shiv-coverage.js
new file mode 100644
index 00000000000..04e4969b975
--- /dev/null
+++ b/build/aui-base-html5-shiv/aui-base-html5-shiv-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-base-html5-shiv/aui-base-html5-shiv.js']) {
+ __coverage__['build/aui-base-html5-shiv/aui-base-html5-shiv.js'] = {"path":"build/aui-base-html5-shiv/aui-base-html5-shiv.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0,0]},"f":{"1":0,"2":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":50}}},"2":{"name":"(anonymous_2)","line":30,"loc":{"start":{"line":30,"column":14},"end":{"line":30,"column":29}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":46,"column":26}},"2":{"start":{"line":3,"column":0},"end":{"line":28,"column":2}},"3":{"start":{"line":30,"column":0},"end":{"line":43,"column":2}},"4":{"start":{"line":31,"column":4},"end":{"line":31,"column":35}},"5":{"start":{"line":33,"column":4},"end":{"line":40,"column":5}},"6":{"start":{"line":34,"column":8},"end":{"line":35,"column":37}},"7":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"8":{"start":{"line":38,"column":12},"end":{"line":38,"column":48}},"9":{"start":{"line":42,"column":4},"end":{"line":42,"column":16}}},"branchMap":{"1":{"line":31,"type":"binary-expr","locations":[{"start":{"line":31,"column":14},"end":{"line":31,"column":18}},{"start":{"line":31,"column":22},"end":{"line":31,"column":34}}]},"2":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":33,"column":4}},{"start":{"line":33,"column":4},"end":{"line":33,"column":4}}]},"3":{"line":33,"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":15}},{"start":{"line":33,"column":19},"end":{"line":33,"column":22}},{"start":{"line":33,"column":26},"end":{"line":33,"column":43}}]}},"code":["(function () { YUI.add('aui-base-html5-shiv', function (A, NAME) {","","A.HTML5_ELEMENTS = ["," 'abbr',"," 'article',"," 'aside',"," 'audio',"," 'canvas',"," 'command',"," 'datalist',"," 'details',"," 'figure',"," 'figcaption',"," 'footer',"," 'header',"," 'hgroup',"," 'keygen',"," 'mark',"," 'meter',"," 'nav',"," 'output',"," 'progress',"," 'section',"," 'source',"," 'summary',"," 'time',"," 'video'","];","","A.html5shiv = function(frag) {"," var DOC = frag || A.config.doc;",""," if (A.UA.ie && DOC && DOC.createElement) {"," var elements = A.HTML5_ELEMENTS,"," length = elements.length;",""," while (length--) {"," DOC.createElement(elements[length]);"," }"," }",""," return frag;","};","","","}, '3.1.0-deprecated.52');","","}());"]};
+}
+var __cov_nE_EpF8titnVM12mIDN8Bg = __coverage__['build/aui-base-html5-shiv/aui-base-html5-shiv.js'];
+__cov_nE_EpF8titnVM12mIDN8Bg.s['1']++;YUI.add('aui-base-html5-shiv',function(A,NAME){__cov_nE_EpF8titnVM12mIDN8Bg.f['1']++;__cov_nE_EpF8titnVM12mIDN8Bg.s['2']++;A.HTML5_ELEMENTS=['abbr','article','aside','audio','canvas','command','datalist','details','figure','figcaption','footer','header','hgroup','keygen','mark','meter','nav','output','progress','section','source','summary','time','video'];__cov_nE_EpF8titnVM12mIDN8Bg.s['3']++;A.html5shiv=function(frag){__cov_nE_EpF8titnVM12mIDN8Bg.f['2']++;__cov_nE_EpF8titnVM12mIDN8Bg.s['4']++;var DOC=(__cov_nE_EpF8titnVM12mIDN8Bg.b['1'][0]++,frag)||(__cov_nE_EpF8titnVM12mIDN8Bg.b['1'][1]++,A.config.doc);__cov_nE_EpF8titnVM12mIDN8Bg.s['5']++;if((__cov_nE_EpF8titnVM12mIDN8Bg.b['3'][0]++,A.UA.ie)&&(__cov_nE_EpF8titnVM12mIDN8Bg.b['3'][1]++,DOC)&&(__cov_nE_EpF8titnVM12mIDN8Bg.b['3'][2]++,DOC.createElement)){__cov_nE_EpF8titnVM12mIDN8Bg.b['2'][0]++;__cov_nE_EpF8titnVM12mIDN8Bg.s['6']++;var elements=A.HTML5_ELEMENTS,length=elements.length;__cov_nE_EpF8titnVM12mIDN8Bg.s['7']++;while(length--){__cov_nE_EpF8titnVM12mIDN8Bg.s['8']++;DOC.createElement(elements[length]);}}else{__cov_nE_EpF8titnVM12mIDN8Bg.b['2'][1]++;}__cov_nE_EpF8titnVM12mIDN8Bg.s['9']++;return frag;};},'3.1.0-deprecated.52');
diff --git a/build/aui-base-html5-shiv/aui-base-html5-shiv-debug.js b/build/aui-base-html5-shiv/aui-base-html5-shiv-debug.js
new file mode 100644
index 00000000000..3332bfc2252
--- /dev/null
+++ b/build/aui-base-html5-shiv/aui-base-html5-shiv-debug.js
@@ -0,0 +1,46 @@
+YUI.add('aui-base-html5-shiv', function (A, NAME) {
+
+A.HTML5_ELEMENTS = [
+ 'abbr',
+ 'article',
+ 'aside',
+ 'audio',
+ 'canvas',
+ 'command',
+ 'datalist',
+ 'details',
+ 'figure',
+ 'figcaption',
+ 'footer',
+ 'header',
+ 'hgroup',
+ 'keygen',
+ 'mark',
+ 'meter',
+ 'nav',
+ 'output',
+ 'progress',
+ 'section',
+ 'source',
+ 'summary',
+ 'time',
+ 'video'
+];
+
+A.html5shiv = function(frag) {
+ var DOC = frag || A.config.doc;
+
+ if (A.UA.ie && DOC && DOC.createElement) {
+ var elements = A.HTML5_ELEMENTS,
+ length = elements.length;
+
+ while (length--) {
+ DOC.createElement(elements[length]);
+ }
+ }
+
+ return frag;
+};
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-base-html5-shiv/aui-base-html5-shiv-min.js b/build/aui-base-html5-shiv/aui-base-html5-shiv-min.js
new file mode 100644
index 00000000000..83cebb7dda6
--- /dev/null
+++ b/build/aui-base-html5-shiv/aui-base-html5-shiv-min.js
@@ -0,0 +1 @@
+YUI.add("aui-base-html5-shiv",function(e,t){e.HTML5_ELEMENTS=["abbr","article","aside","audio","canvas","command","datalist","details","figure","figcaption","footer","header","hgroup","keygen","mark","meter","nav","output","progress","section","source","summary","time","video"],e.html5shiv=function(t){var n=t||e.config.doc;if(e.UA.ie&&n&&n.createElement){var r=e.HTML5_ELEMENTS,i=r.length;while(i--)n.createElement(r[i])}return t}},"3.1.0-deprecated.52");
diff --git a/build/aui-base-html5-shiv/aui-base-html5-shiv.js b/build/aui-base-html5-shiv/aui-base-html5-shiv.js
new file mode 100644
index 00000000000..3332bfc2252
--- /dev/null
+++ b/build/aui-base-html5-shiv/aui-base-html5-shiv.js
@@ -0,0 +1,46 @@
+YUI.add('aui-base-html5-shiv', function (A, NAME) {
+
+A.HTML5_ELEMENTS = [
+ 'abbr',
+ 'article',
+ 'aside',
+ 'audio',
+ 'canvas',
+ 'command',
+ 'datalist',
+ 'details',
+ 'figure',
+ 'figcaption',
+ 'footer',
+ 'header',
+ 'hgroup',
+ 'keygen',
+ 'mark',
+ 'meter',
+ 'nav',
+ 'output',
+ 'progress',
+ 'section',
+ 'source',
+ 'summary',
+ 'time',
+ 'video'
+];
+
+A.html5shiv = function(frag) {
+ var DOC = frag || A.config.doc;
+
+ if (A.UA.ie && DOC && DOC.createElement) {
+ var elements = A.HTML5_ELEMENTS,
+ length = elements.length;
+
+ while (length--) {
+ DOC.createElement(elements[length]);
+ }
+ }
+
+ return frag;
+};
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-base-lang/aui-base-lang-coverage.js b/build/aui-base-lang/aui-base-lang-coverage.js
new file mode 100644
index 00000000000..e43374743ed
--- /dev/null
+++ b/build/aui-base-lang/aui-base-lang-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-base-lang/aui-base-lang.js']) {
+ __coverage__['build/aui-base-lang/aui-base-lang.js'] = {"path":"build/aui-base-lang/aui-base-lang.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0,0,0],"11":[0,0,0],"12":[0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"(anonymous_2)","line":3,"loc":{"start":{"line":3,"column":1},"end":{"line":3,"column":12}}},"3":{"name":"(anonymous_3)","line":15,"loc":{"start":{"line":15,"column":11},"end":{"line":15,"column":39}}},"4":{"name":"(anonymous_4)","line":29,"loc":{"start":{"line":29,"column":24},"end":{"line":29,"column":35}}},"5":{"name":"(anonymous_5)","line":43,"loc":{"start":{"line":43,"column":24},"end":{"line":43,"column":35}}},"6":{"name":"(anonymous_6)","line":64,"loc":{"start":{"line":64,"column":19},"end":{"line":64,"column":43}}},"7":{"name":"(anonymous_7)","line":68,"loc":{"start":{"line":68,"column":17},"end":{"line":68,"column":28}}},"8":{"name":"(anonymous_8)","line":70,"loc":{"start":{"line":70,"column":22},"end":{"line":70,"column":33}}},"9":{"name":"(anonymous_9)","line":74,"loc":{"start":{"line":74,"column":21},"end":{"line":74,"column":32}}},"10":{"name":"(anonymous_10)","line":78,"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":29}}},"11":{"name":"(anonymous_11)","line":82,"loc":{"start":{"line":82,"column":19},"end":{"line":82,"column":33}}},"12":{"name":"(anonymous_12)","line":90,"loc":{"start":{"line":90,"column":16},"end":{"line":90,"column":30}}},"13":{"name":"(anonymous_13)","line":94,"loc":{"start":{"line":94,"column":20},"end":{"line":94,"column":34}}},"14":{"name":"(anonymous_14)","line":98,"loc":{"start":{"line":98,"column":17},"end":{"line":98,"column":47}}},"15":{"name":"(anonymous_15)","line":102,"loc":{"start":{"line":102,"column":15},"end":{"line":102,"column":52}}},"16":{"name":"(anonymous_16)","line":108,"loc":{"start":{"line":108,"column":16},"end":{"line":108,"column":38}}},"17":{"name":"(anonymous_17)","line":115,"loc":{"start":{"line":115,"column":20},"end":{"line":115,"column":38}}},"18":{"name":"(anonymous_18)","line":167,"loc":{"start":{"line":167,"column":12},"end":{"line":167,"column":37}}},"19":{"name":"(anonymous_19)","line":181,"loc":{"start":{"line":181,"column":12},"end":{"line":181,"column":26}}},"20":{"name":"(anonymous_20)","line":192,"loc":{"start":{"line":192,"column":18},"end":{"line":192,"column":46}}},"21":{"name":"(anonymous_21)","line":196,"loc":{"start":{"line":196,"column":22},"end":{"line":196,"column":50}}},"22":{"name":"(anonymous_22)","line":208,"loc":{"start":{"line":208,"column":18},"end":{"line":208,"column":40}}},"23":{"name":"(anonymous_23)","line":214,"loc":{"start":{"line":214,"column":20},"end":{"line":214,"column":34}}},"24":{"name":"(anonymous_24)","line":219,"loc":{"start":{"line":219,"column":21},"end":{"line":219,"column":35}}},"25":{"name":"(anonymous_25)","line":223,"loc":{"start":{"line":223,"column":15},"end":{"line":223,"column":29}}},"26":{"name":"(anonymous_26)","line":227,"loc":{"start":{"line":227,"column":19},"end":{"line":227,"column":52}}},"27":{"name":"(anonymous_27)","line":238,"loc":{"start":{"line":238,"column":19},"end":{"line":238,"column":67}}},"28":{"name":"(anonymous_28)","line":251,"loc":{"start":{"line":251,"column":16},"end":{"line":251,"column":38}}},"29":{"name":"(anonymous_29)","line":261,"loc":{"start":{"line":261,"column":16},"end":{"line":261,"column":47}}},"30":{"name":"(anonymous_30)","line":267,"loc":{"start":{"line":267,"column":19},"end":{"line":267,"column":45}}},"31":{"name":"(anonymous_31)","line":271,"loc":{"start":{"line":271,"column":16},"end":{"line":271,"column":38}}},"32":{"name":"(anonymous_32)","line":275,"loc":{"start":{"line":275,"column":15},"end":{"line":275,"column":42}}},"33":{"name":"(anonymous_33)","line":286,"loc":{"start":{"line":286,"column":20},"end":{"line":286,"column":42}}},"34":{"name":"(anonymous_34)","line":290,"loc":{"start":{"line":290,"column":22},"end":{"line":290,"column":36}}},"35":{"name":"(anonymous_35)","line":298,"loc":{"start":{"line":298,"column":19},"end":{"line":298,"column":33}}},"36":{"name":"(anonymous_36)","line":306,"loc":{"start":{"line":306,"column":16},"end":{"line":306,"column":45}}},"37":{"name":"(anonymous_37)","line":311,"loc":{"start":{"line":311,"column":12},"end":{"line":311,"column":37}}},"38":{"name":"(anonymous_38)","line":323,"loc":{"start":{"line":323,"column":21},"end":{"line":323,"column":35}}},"39":{"name":"(anonymous_39)","line":327,"loc":{"start":{"line":327,"column":21},"end":{"line":327,"column":35}}},"40":{"name":"(anonymous_40)","line":333,"loc":{"start":{"line":333,"column":18},"end":{"line":333,"column":47}}},"41":{"name":"(anonymous_41)","line":369,"loc":{"start":{"line":369,"column":15},"end":{"line":369,"column":29}}},"42":{"name":"(anonymous_42)","line":378,"loc":{"start":{"line":378,"column":26},"end":{"line":378,"column":40}}},"43":{"name":"(anonymous_43)","line":391,"loc":{"start":{"line":391,"column":22},"end":{"line":391,"column":36}}},"44":{"name":"(anonymous_44)","line":395,"loc":{"start":{"line":395,"column":19},"end":{"line":395,"column":44}}},"45":{"name":"(anonymous_45)","line":399,"loc":{"start":{"line":399,"column":21},"end":{"line":399,"column":37}}},"46":{"name":"(anonymous_46)","line":403,"loc":{"start":{"line":403,"column":23},"end":{"line":403,"column":47}}},"47":{"name":"(anonymous_47)","line":417,"loc":{"start":{"line":417,"column":35},"end":{"line":417,"column":49}}},"48":{"name":"(anonymous_48)","line":438,"loc":{"start":{"line":438,"column":18},"end":{"line":438,"column":45}}},"49":{"name":"(anonymous_49)","line":456,"loc":{"start":{"line":456,"column":12},"end":{"line":456,"column":26}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":468,"column":26}},"2":{"start":{"line":3,"column":0},"end":{"line":465,"column":5}},"3":{"start":{"line":4,"column":4},"end":{"line":13,"column":28}},"4":{"start":{"line":15,"column":4},"end":{"line":61,"column":6}},"5":{"start":{"line":16,"column":8},"end":{"line":17,"column":26}},"6":{"start":{"line":20,"column":8},"end":{"line":58,"column":9}},"7":{"start":{"line":21,"column":12},"end":{"line":21,"column":34}},"8":{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},"9":{"start":{"line":24,"column":16},"end":{"line":24,"column":47}},"10":{"start":{"line":27,"column":12},"end":{"line":27,"column":54}},"11":{"start":{"line":29,"column":12},"end":{"line":33,"column":14}},"12":{"start":{"line":30,"column":16},"end":{"line":30,"column":65}},"13":{"start":{"line":32,"column":16},"end":{"line":32,"column":58}},"14":{"start":{"line":37,"column":12},"end":{"line":37,"column":31}},"15":{"start":{"line":39,"column":12},"end":{"line":39,"column":25}},"16":{"start":{"line":40,"column":12},"end":{"line":40,"column":27}},"17":{"start":{"line":41,"column":12},"end":{"line":41,"column":54}},"18":{"start":{"line":43,"column":12},"end":{"line":57,"column":14}},"19":{"start":{"line":44,"column":16},"end":{"line":45,"column":32}},"20":{"start":{"line":47,"column":16},"end":{"line":47,"column":44}},"21":{"start":{"line":49,"column":16},"end":{"line":54,"column":17}},"22":{"start":{"line":50,"column":20},"end":{"line":50,"column":104}},"23":{"start":{"line":53,"column":20},"end":{"line":53,"column":55}},"24":{"start":{"line":56,"column":16},"end":{"line":56,"column":35}},"25":{"start":{"line":60,"column":8},"end":{"line":60,"column":25}},"26":{"start":{"line":63,"column":4},"end":{"line":105,"column":7}},"27":{"start":{"line":65,"column":12},"end":{"line":65,"column":53}},"28":{"start":{"line":71,"column":12},"end":{"line":71,"column":25}},"29":{"start":{"line":75,"column":12},"end":{"line":75,"column":24}},"30":{"start":{"line":79,"column":12},"end":{"line":79,"column":58}},"31":{"start":{"line":83,"column":12},"end":{"line":87,"column":40}},"32":{"start":{"line":91,"column":12},"end":{"line":91,"column":45}},"33":{"start":{"line":95,"column":12},"end":{"line":95,"column":49}},"34":{"start":{"line":99,"column":12},"end":{"line":99,"column":58}},"35":{"start":{"line":103,"column":12},"end":{"line":103,"column":69}},"36":{"start":{"line":107,"column":4},"end":{"line":124,"column":7}},"37":{"start":{"line":109,"column":12},"end":{"line":109,"column":61}},"38":{"start":{"line":110,"column":12},"end":{"line":110,"column":61}},"39":{"start":{"line":112,"column":12},"end":{"line":112,"column":41}},"40":{"start":{"line":116,"column":12},"end":{"line":116,"column":48}},"41":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"42":{"start":{"line":119,"column":16},"end":{"line":119,"column":47}},"43":{"start":{"line":122,"column":12},"end":{"line":122,"column":21}},"44":{"start":{"line":126,"column":4},"end":{"line":150,"column":38}},"45":{"start":{"line":152,"column":4},"end":{"line":160,"column":5}},"46":{"start":{"line":153,"column":8},"end":{"line":159,"column":9}},"47":{"start":{"line":154,"column":12},"end":{"line":154,"column":64}},"48":{"start":{"line":156,"column":12},"end":{"line":156,"column":62}},"49":{"start":{"line":158,"column":12},"end":{"line":158,"column":47}},"50":{"start":{"line":162,"column":4},"end":{"line":163,"column":43}},"51":{"start":{"line":165,"column":4},"end":{"line":432,"column":7}},"52":{"start":{"line":168,"column":16},"end":{"line":168,"column":39}},"53":{"start":{"line":170,"column":16},"end":{"line":170,"column":34}},"54":{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},"55":{"start":{"line":173,"column":20},"end":{"line":173,"column":68}},"56":{"start":{"line":176,"column":16},"end":{"line":176,"column":61}},"57":{"start":{"line":182,"column":16},"end":{"line":186,"column":17}},"58":{"start":{"line":183,"column":20},"end":{"line":183,"column":38}},"59":{"start":{"line":185,"column":20},"end":{"line":185,"column":84}},"60":{"start":{"line":188,"column":16},"end":{"line":188,"column":27}},"61":{"start":{"line":193,"column":12},"end":{"line":193,"column":52}},"62":{"start":{"line":197,"column":12},"end":{"line":203,"column":13}},"63":{"start":{"line":198,"column":16},"end":{"line":200,"column":17}},"64":{"start":{"line":199,"column":20},"end":{"line":199,"column":38}},"65":{"start":{"line":202,"column":16},"end":{"line":202,"column":35}},"66":{"start":{"line":205,"column":12},"end":{"line":205,"column":23}},"67":{"start":{"line":209,"column":12},"end":{"line":209,"column":54}},"68":{"start":{"line":211,"column":12},"end":{"line":211,"column":79}},"69":{"start":{"line":215,"column":12},"end":{"line":215,"column":71}},"70":{"start":{"line":220,"column":12},"end":{"line":220,"column":59}},"71":{"start":{"line":224,"column":12},"end":{"line":224,"column":62}},"72":{"start":{"line":228,"column":12},"end":{"line":228,"column":79}},"73":{"start":{"line":229,"column":12},"end":{"line":229,"column":41}},"74":{"start":{"line":231,"column":12},"end":{"line":233,"column":13}},"75":{"start":{"line":232,"column":16},"end":{"line":232,"column":35}},"76":{"start":{"line":235,"column":12},"end":{"line":235,"column":74}},"77":{"start":{"line":239,"column":12},"end":{"line":239,"column":23}},"78":{"start":{"line":241,"column":12},"end":{"line":246,"column":13}},"79":{"start":{"line":242,"column":16},"end":{"line":242,"column":41}},"80":{"start":{"line":245,"column":16},"end":{"line":245,"column":64}},"81":{"start":{"line":248,"column":12},"end":{"line":248,"column":40}},"82":{"start":{"line":252,"column":12},"end":{"line":252,"column":30}},"83":{"start":{"line":254,"column":12},"end":{"line":256,"column":13}},"84":{"start":{"line":255,"column":16},"end":{"line":255,"column":35}},"85":{"start":{"line":258,"column":12},"end":{"line":258,"column":23}},"86":{"start":{"line":262,"column":12},"end":{"line":262,"column":81}},"87":{"start":{"line":264,"column":12},"end":{"line":264,"column":39}},"88":{"start":{"line":268,"column":12},"end":{"line":268,"column":57}},"89":{"start":{"line":272,"column":12},"end":{"line":272,"column":51}},"90":{"start":{"line":276,"column":12},"end":{"line":276,"column":34}},"91":{"start":{"line":278,"column":12},"end":{"line":281,"column":13}},"92":{"start":{"line":279,"column":16},"end":{"line":279,"column":52}},"93":{"start":{"line":280,"column":16},"end":{"line":280,"column":66}},"94":{"start":{"line":283,"column":12},"end":{"line":283,"column":25}},"95":{"start":{"line":287,"column":12},"end":{"line":287,"column":54}},"96":{"start":{"line":291,"column":12},"end":{"line":293,"column":13}},"97":{"start":{"line":292,"column":16},"end":{"line":292,"column":67}},"98":{"start":{"line":295,"column":12},"end":{"line":295,"column":23}},"99":{"start":{"line":299,"column":12},"end":{"line":301,"column":13}},"100":{"start":{"line":300,"column":16},"end":{"line":300,"column":64}},"101":{"start":{"line":303,"column":12},"end":{"line":303,"column":23}},"102":{"start":{"line":307,"column":12},"end":{"line":307,"column":53}},"103":{"start":{"line":312,"column":16},"end":{"line":312,"column":45}},"104":{"start":{"line":314,"column":16},"end":{"line":314,"column":34}},"105":{"start":{"line":316,"column":16},"end":{"line":316,"column":79}},"106":{"start":{"line":317,"column":16},"end":{"line":317,"column":95}},"107":{"start":{"line":319,"column":16},"end":{"line":319,"column":27}},"108":{"start":{"line":324,"column":12},"end":{"line":324,"column":45}},"109":{"start":{"line":328,"column":12},"end":{"line":328,"column":45}},"110":{"start":{"line":334,"column":12},"end":{"line":334,"column":30}},"111":{"start":{"line":336,"column":12},"end":{"line":337,"column":39}},"112":{"start":{"line":339,"column":12},"end":{"line":364,"column":13}},"113":{"start":{"line":340,"column":16},"end":{"line":360,"column":17}},"114":{"start":{"line":341,"column":20},"end":{"line":341,"column":43}},"115":{"start":{"line":343,"column":20},"end":{"line":359,"column":21}},"116":{"start":{"line":344,"column":24},"end":{"line":344,"column":86}},"117":{"start":{"line":346,"column":25},"end":{"line":359,"column":21}},"118":{"start":{"line":347,"column":24},"end":{"line":348,"column":56}},"119":{"start":{"line":350,"column":24},"end":{"line":353,"column":25}},"120":{"start":{"line":351,"column":28},"end":{"line":351,"column":84}},"121":{"start":{"line":352,"column":28},"end":{"line":352,"column":85}},"122":{"start":{"line":355,"column":24},"end":{"line":355,"column":112}},"123":{"start":{"line":357,"column":25},"end":{"line":359,"column":21}},"124":{"start":{"line":358,"column":24},"end":{"line":358,"column":93}},"125":{"start":{"line":363,"column":16},"end":{"line":363,"column":35}},"126":{"start":{"line":366,"column":12},"end":{"line":366,"column":23}},"127":{"start":{"line":370,"column":12},"end":{"line":372,"column":13}},"128":{"start":{"line":371,"column":16},"end":{"line":371,"column":25}},"129":{"start":{"line":374,"column":12},"end":{"line":374,"column":23}},"130":{"start":{"line":379,"column":12},"end":{"line":386,"column":13}},"131":{"start":{"line":380,"column":16},"end":{"line":385,"column":17}},"132":{"start":{"line":381,"column":20},"end":{"line":381,"column":65}},"133":{"start":{"line":384,"column":20},"end":{"line":384,"column":52}},"134":{"start":{"line":388,"column":12},"end":{"line":388,"column":23}},"135":{"start":{"line":392,"column":12},"end":{"line":392,"column":75}},"136":{"start":{"line":396,"column":12},"end":{"line":396,"column":40}},"137":{"start":{"line":400,"column":12},"end":{"line":400,"column":49}},"138":{"start":{"line":404,"column":12},"end":{"line":404,"column":65}},"139":{"start":{"line":406,"column":12},"end":{"line":412,"column":13}},"140":{"start":{"line":407,"column":16},"end":{"line":407,"column":61}},"141":{"start":{"line":409,"column":16},"end":{"line":411,"column":17}},"142":{"start":{"line":410,"column":20},"end":{"line":410,"column":58}},"143":{"start":{"line":414,"column":12},"end":{"line":414,"column":25}},"144":{"start":{"line":418,"column":12},"end":{"line":418,"column":44}},"145":{"start":{"line":420,"column":12},"end":{"line":420,"column":31}},"146":{"start":{"line":422,"column":12},"end":{"line":424,"column":13}},"147":{"start":{"line":423,"column":16},"end":{"line":423,"column":31}},"148":{"start":{"line":426,"column":12},"end":{"line":426,"column":42}},"149":{"start":{"line":428,"column":12},"end":{"line":428,"column":30}},"150":{"start":{"line":430,"column":12},"end":{"line":430,"column":23}},"151":{"start":{"line":438,"column":4},"end":{"line":449,"column":6}},"152":{"start":{"line":439,"column":8},"end":{"line":440,"column":14}},"153":{"start":{"line":442,"column":8},"end":{"line":446,"column":9}},"154":{"start":{"line":443,"column":12},"end":{"line":445,"column":13}},"155":{"start":{"line":444,"column":16},"end":{"line":444,"column":67}},"156":{"start":{"line":448,"column":8},"end":{"line":448,"column":19}},"157":{"start":{"line":456,"column":4},"end":{"line":464,"column":6}},"158":{"start":{"line":457,"column":8},"end":{"line":457,"column":29}},"159":{"start":{"line":459,"column":8},"end":{"line":461,"column":9}},"160":{"start":{"line":460,"column":12},"end":{"line":460,"column":28}},"161":{"start":{"line":463,"column":8},"end":{"line":463,"column":49}}},"branchMap":{"1":{"line":20,"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":20,"column":8}},{"start":{"line":20,"column":8},"end":{"line":20,"column":8}}]},"2":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":12}},{"start":{"line":23,"column":12},"end":{"line":23,"column":12}}]},"3":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":29},"end":{"line":27,"column":41}},{"start":{"line":27,"column":45},"end":{"line":27,"column":52}}]},"4":{"line":30,"type":"cond-expr","locations":[{"start":{"line":30,"column":48},"end":{"line":30,"column":50}},{"start":{"line":30,"column":53},"end":{"line":30,"column":64}}]},"5":{"line":32,"type":"binary-expr","locations":[{"start":{"line":32,"column":36},"end":{"line":32,"column":43}},{"start":{"line":32,"column":47},"end":{"line":32,"column":49}}]},"6":{"line":41,"type":"binary-expr","locations":[{"start":{"line":41,"column":29},"end":{"line":41,"column":41}},{"start":{"line":41,"column":45},"end":{"line":41,"column":52}}]},"7":{"line":44,"type":"cond-expr","locations":[{"start":{"line":44,"column":48},"end":{"line":44,"column":50}},{"start":{"line":44,"column":53},"end":{"line":44,"column":64}}]},"8":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":26},"end":{"line":47,"column":33}},{"start":{"line":47,"column":37},"end":{"line":47,"column":43}}]},"9":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":16}},{"start":{"line":49,"column":16},"end":{"line":49,"column":16}}]},"10":{"line":83,"type":"binary-expr","locations":[{"start":{"line":83,"column":19},"end":{"line":83,"column":42}},{"start":{"line":84,"column":16},"end":{"line":84,"column":29}},{"start":{"line":85,"column":16},"end":{"line":85,"column":39}},{"start":{"line":86,"column":16},"end":{"line":86,"column":38}},{"start":{"line":87,"column":16},"end":{"line":87,"column":39}}]},"11":{"line":99,"type":"binary-expr","locations":[{"start":{"line":99,"column":19},"end":{"line":99,"column":36}},{"start":{"line":99,"column":40},"end":{"line":99,"column":52}},{"start":{"line":99,"column":56},"end":{"line":99,"column":57}}]},"12":{"line":103,"type":"binary-expr","locations":[{"start":{"line":103,"column":19},"end":{"line":103,"column":47}},{"start":{"line":103,"column":51},"end":{"line":103,"column":63}},{"start":{"line":103,"column":67},"end":{"line":103,"column":68}}]},"13":{"line":103,"type":"binary-expr","locations":[{"start":{"line":103,"column":35},"end":{"line":103,"column":40}},{"start":{"line":103,"column":44},"end":{"line":103,"column":46}}]},"14":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":31},"end":{"line":109,"column":47}},{"start":{"line":109,"column":51},"end":{"line":109,"column":59}}]},"15":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":32},"end":{"line":109,"column":34}},{"start":{"line":109,"column":38},"end":{"line":109,"column":42}}]},"16":{"line":110,"type":"cond-expr","locations":[{"start":{"line":110,"column":37},"end":{"line":110,"column":52}},{"start":{"line":110,"column":56},"end":{"line":110,"column":60}}]},"17":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":118,"column":12}},{"start":{"line":118,"column":12},"end":{"line":118,"column":12}}]},"18":{"line":153,"type":"if","locations":[{"start":{"line":153,"column":8},"end":{"line":153,"column":8}},{"start":{"line":153,"column":8},"end":{"line":153,"column":8}}]},"19":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":16},"end":{"line":172,"column":16}},{"start":{"line":172,"column":16},"end":{"line":172,"column":16}}]},"20":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":16},"end":{"line":182,"column":16}},{"start":{"line":182,"column":16},"end":{"line":182,"column":16}}]},"21":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"22":{"line":197,"type":"binary-expr","locations":[{"start":{"line":197,"column":16},"end":{"line":197,"column":32}},{"start":{"line":197,"column":36},"end":{"line":197,"column":46}}]},"23":{"line":198,"type":"if","locations":[{"start":{"line":198,"column":16},"end":{"line":198,"column":16}},{"start":{"line":198,"column":16},"end":{"line":198,"column":16}}]},"24":{"line":211,"type":"binary-expr","locations":[{"start":{"line":211,"column":21},"end":{"line":211,"column":32}},{"start":{"line":211,"column":38},"end":{"line":211,"column":76}}]},"25":{"line":228,"type":"cond-expr","locations":[{"start":{"line":228,"column":34},"end":{"line":228,"column":64}},{"start":{"line":228,"column":67},"end":{"line":228,"column":78}}]},"26":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":12},"end":{"line":231,"column":12}},{"start":{"line":231,"column":12},"end":{"line":231,"column":12}}]},"27":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":12},"end":{"line":241,"column":12}},{"start":{"line":241,"column":12},"end":{"line":241,"column":12}}]},"28":{"line":245,"type":"binary-expr","locations":[{"start":{"line":245,"column":25},"end":{"line":245,"column":38}},{"start":{"line":245,"column":42},"end":{"line":245,"column":63}}]},"29":{"line":254,"type":"if","locations":[{"start":{"line":254,"column":12},"end":{"line":254,"column":12}},{"start":{"line":254,"column":12},"end":{"line":254,"column":12}}]},"30":{"line":262,"type":"cond-expr","locations":[{"start":{"line":262,"column":71},"end":{"line":262,"column":74}},{"start":{"line":262,"column":77},"end":{"line":262,"column":79}}]},"31":{"line":278,"type":"if","locations":[{"start":{"line":278,"column":12},"end":{"line":278,"column":12}},{"start":{"line":278,"column":12},"end":{"line":278,"column":12}}]},"32":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":12},"end":{"line":291,"column":12}},{"start":{"line":291,"column":12},"end":{"line":291,"column":12}}]},"33":{"line":299,"type":"if","locations":[{"start":{"line":299,"column":12},"end":{"line":299,"column":12}},{"start":{"line":299,"column":12},"end":{"line":299,"column":12}}]},"34":{"line":312,"type":"binary-expr","locations":[{"start":{"line":312,"column":28},"end":{"line":312,"column":37}},{"start":{"line":312,"column":41},"end":{"line":312,"column":44}}]},"35":{"line":339,"type":"if","locations":[{"start":{"line":339,"column":12},"end":{"line":339,"column":12}},{"start":{"line":339,"column":12},"end":{"line":339,"column":12}}]},"36":{"line":340,"type":"if","locations":[{"start":{"line":340,"column":16},"end":{"line":340,"column":16}},{"start":{"line":340,"column":16},"end":{"line":340,"column":16}}]},"37":{"line":340,"type":"binary-expr","locations":[{"start":{"line":340,"column":20},"end":{"line":340,"column":23}},{"start":{"line":340,"column":28},"end":{"line":340,"column":46}}]},"38":{"line":341,"type":"binary-expr","locations":[{"start":{"line":341,"column":28},"end":{"line":341,"column":33}},{"start":{"line":341,"column":37},"end":{"line":341,"column":42}}]},"39":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":20},"end":{"line":343,"column":20}},{"start":{"line":343,"column":20},"end":{"line":343,"column":20}}]},"40":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":25},"end":{"line":346,"column":25}},{"start":{"line":346,"column":25},"end":{"line":346,"column":25}}]},"41":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":24},"end":{"line":350,"column":24}},{"start":{"line":350,"column":24},"end":{"line":350,"column":24}}]},"42":{"line":357,"type":"if","locations":[{"start":{"line":357,"column":25},"end":{"line":357,"column":25}},{"start":{"line":357,"column":25},"end":{"line":357,"column":25}}]},"43":{"line":370,"type":"if","locations":[{"start":{"line":370,"column":12},"end":{"line":370,"column":12}},{"start":{"line":370,"column":12},"end":{"line":370,"column":12}}]},"44":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":12}},{"start":{"line":379,"column":12},"end":{"line":379,"column":12}}]},"45":{"line":380,"type":"if","locations":[{"start":{"line":380,"column":16},"end":{"line":380,"column":16}},{"start":{"line":380,"column":16},"end":{"line":380,"column":16}}]},"46":{"line":380,"type":"binary-expr","locations":[{"start":{"line":380,"column":20},"end":{"line":380,"column":23}},{"start":{"line":380,"column":27},"end":{"line":380,"column":54}}]},"47":{"line":404,"type":"binary-expr","locations":[{"start":{"line":404,"column":24},"end":{"line":404,"column":55}},{"start":{"line":404,"column":59},"end":{"line":404,"column":64}}]},"48":{"line":406,"type":"if","locations":[{"start":{"line":406,"column":12},"end":{"line":406,"column":12}},{"start":{"line":406,"column":12},"end":{"line":406,"column":12}}]},"49":{"line":406,"type":"binary-expr","locations":[{"start":{"line":406,"column":16},"end":{"line":406,"column":22}},{"start":{"line":406,"column":26},"end":{"line":406,"column":50}}]},"50":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":16},"end":{"line":409,"column":16}},{"start":{"line":409,"column":16},"end":{"line":409,"column":16}}]},"51":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"52":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":12},"end":{"line":443,"column":12}},{"start":{"line":443,"column":12},"end":{"line":443,"column":12}}]},"53":{"line":459,"type":"if","locations":[{"start":{"line":459,"column":8},"end":{"line":459,"column":8}},{"start":{"line":459,"column":8},"end":{"line":459,"column":8}}]}},"code":["(function () { YUI.add('aui-base-lang', function (A, NAME) {","","(function() {"," var Lang = A.Lang,"," aArray = A.Array,"," AObject = A.Object,",""," isArray = Lang.isArray,"," isNumber = Lang.isNumber,"," isString = Lang.isString,"," isUndefined = Lang.isUndefined,",""," owns = AObject.owns;",""," A.fn = function(fn, context, args) {"," var wrappedFn,"," dynamicLookup;",""," // Explicitly set function arguments"," if (!isNumber(fn)) {"," var xargs = arguments;",""," if (xargs.length > 2) {"," xargs = aArray(xargs, 2, true);"," }",""," dynamicLookup = (isString(fn) && context);",""," wrappedFn = function() {"," var method = (!dynamicLookup) ? fn : context[fn];",""," return method.apply(context || fn, xargs);"," };"," }"," else {"," // Set function arity"," var argLength = fn;",""," fn = context;"," context = args;"," dynamicLookup = (isString(fn) && context);",""," wrappedFn = function() {"," var method = (!dynamicLookup) ? fn : context[fn],"," returnValue;",""," context = context || method;",""," if (argLength > 0) {"," returnValue = method.apply(context, aArray(arguments, 0, true).slice(0, argLength));"," }"," else {"," returnValue = method.call(context);"," }",""," return returnValue;"," };"," }",""," return wrappedFn;"," };",""," A.mix(Lang, {"," constrain: function(num, min, max) {"," return Math.min(Math.max(num, min), max);"," },",""," emptyFn: function() {},",""," emptyFnFalse: function() {"," return false;"," },",""," emptyFnTrue: function() {"," return true;"," },",""," isGuid: function(id) {"," return String(id).indexOf(A.Env._guidp) === 0;"," },",""," isInteger: function(val) {"," return typeof val === 'number' &&"," isFinite(val) &&"," val > -9007199254740992 &&"," val < 9007199254740992 &&"," Math.floor(val) === val;"," },",""," isNode: function(val) {"," return A.instanceOf(val, A.Node);"," },",""," isNodeList: function(val) {"," return A.instanceOf(val, A.NodeList);"," },",""," toFloat: function(value, defaultValue) {"," return parseFloat(value) || defaultValue || 0;"," },",""," toInt: function(value, radix, defaultValue) {"," return parseInt(value, radix || 10) || defaultValue || 0;"," }"," });",""," A.mix(aArray, {"," remove: function(a, from, to) {"," var rest = a.slice((to || from) + 1 || a.length);"," a.length = (from < 0) ? (a.length + from) : from;",""," return a.push.apply(a, rest);"," },",""," removeItem: function(a, item) {"," var index = aArray.indexOf(a, item);",""," if (index > -1) {"," return aArray.remove(a, index);"," }",""," return a;"," }"," });",""," var LString = A.namespace('Lang.String'),",""," DOC = A.config.doc,"," REGEX_DASH = /-([a-z])/gi,"," REGEX_ESCAPE_REGEX = /([.*+?^$(){}|[\\]\\/\\\\])/g,"," REGEX_NL2BR = /\\r?\\n/g,"," REGEX_STRIP_SCRIPTS = /(?:)((\\n|\\r|.)*?)(?:<\\/script>)/gi,"," REGEX_STRIP_TAGS = /<\\/?[^>]+>/gi,"," REGEX_UNCAMELIZE = /([a-zA-Z][a-zA-Z])([A-Z])([a-z])/g,"," REGEX_UNCAMELIZE_REPLACE_SEPARATOR = /([a-z])([A-Z])/g,"," STR_ELLIPSIS = '...',",""," htmlUnescapedValues = [],",""," MAP_HTML_CHARS_ESCAPED = {"," '&': '&',"," '<': '<',"," '>': '>',"," '\"': '"',"," '\\'': ''',"," '/': '/',"," '`': '`'"," },"," htmlChar,"," MAP_HTML_CHARS_UNESCAPED = {};",""," for (htmlChar in MAP_HTML_CHARS_ESCAPED) {"," if (MAP_HTML_CHARS_ESCAPED.hasOwnProperty(htmlChar)) {"," var escapedValue = MAP_HTML_CHARS_ESCAPED[htmlChar];",""," MAP_HTML_CHARS_UNESCAPED[escapedValue] = htmlChar;",""," htmlUnescapedValues.push(htmlChar);"," }"," }",""," var REGEX_HTML_ESCAPE = new RegExp('[' + htmlUnescapedValues.join('') + ']', 'g'),"," REGEX_HTML_UNESCAPE = /&([^;]+);/g;",""," A.mix(LString, {"," camelize: A.cached("," function(str, separator) {"," var regex = REGEX_DASH;",""," str = String(str);",""," if (separator) {"," regex = new RegExp(separator + '([a-z])', 'gi');"," }",""," return str.replace(regex, LString._camelize);"," }"," ),",""," capitalize: A.cached("," function(str) {"," if (str) {"," str = String(str);",""," str = str.charAt(0).toUpperCase() + str.substr(1).toLowerCase();"," }",""," return str;"," }"," ),",""," contains: function(str, searchString) {"," return str.indexOf(searchString) !== -1;"," },",""," defaultValue: function(str, defaultValue) {"," if (isUndefined(str) || str === '') {"," if (isUndefined(defaultValue)) {"," defaultValue = '';"," }",""," str = defaultValue;"," }",""," return str;"," },",""," endsWith: function(str, suffix) {"," var length = (str.length - suffix.length);",""," return ((length >= 0) && (str.indexOf(suffix, length) === length));"," },",""," escapeHTML: function(str) {"," return str.replace(REGEX_HTML_ESCAPE, LString._escapeHTML);"," },",""," // Courtesy of: http://simonwillison.net/2006/Jan/20/escape/"," escapeRegEx: function(str) {"," return str.replace(REGEX_ESCAPE_REGEX, '\\\\$1');"," },",""," nl2br: function(str) {"," return String(str).replace(REGEX_NL2BR, ' ');"," },",""," padNumber: function(num, length, precision) {"," var str = precision ? Number(num).toFixed(precision) : String(num);"," var index = str.indexOf('.');",""," if (index === -1) {"," index = str.length;"," }",""," return LString.repeat('0', Math.max(0, length - index)) + str;"," },",""," pluralize: function(count, singularVersion, pluralVersion) {"," var suffix;",""," if (count === 1) {"," suffix = singularVersion;"," }"," else {"," suffix = pluralVersion || singularVersion + 's';"," }",""," return count + ' ' + suffix;"," },",""," prefix: function(prefix, str) {"," str = String(str);",""," if (str.indexOf(prefix) !== 0) {"," str = prefix + str;"," }",""," return str;"," },",""," remove: function(str, substitute, all) {"," var re = new RegExp(LString.escapeRegEx(substitute), all ? 'g' : '');",""," return str.replace(re, '');"," },",""," removeAll: function(str, substitute) {"," return LString.remove(str, substitute, true);"," },",""," repeat: function(str, length) {"," return new Array(length + 1).join(str);"," },",""," round: function(value, precision) {"," value = Number(value);",""," if (isNumber(precision)) {"," precision = Math.pow(10, precision);"," value = Math.round(value * precision) / precision;"," }",""," return value;"," },",""," startsWith: function(str, prefix) {"," return (str.lastIndexOf(prefix, 0) === 0);"," },",""," stripScripts: function(str) {"," if (str) {"," str = String(str).replace(REGEX_STRIP_SCRIPTS, '');"," }",""," return str;"," },",""," stripTags: function(str) {"," if (str) {"," str = String(str).replace(REGEX_STRIP_TAGS, '');"," }",""," return str;"," },",""," substr: function(str, start, length) {"," return String(str).substr(start, length);"," },",""," uncamelize: A.cached("," function(str, separator) {"," separator = separator || ' ';",""," str = String(str);",""," str = str.replace(REGEX_UNCAMELIZE, '$1' + separator + '$2$3');"," str = str.replace(REGEX_UNCAMELIZE_REPLACE_SEPARATOR, '$1' + separator + '$2');",""," return str;"," }"," ),",""," toLowerCase: function(str) {"," return String(str).toLowerCase();"," },",""," toUpperCase: function(str) {"," return String(str).toUpperCase();"," },",""," trim: Lang.trim,",""," truncate: function(str, length, where) {"," str = String(str);",""," var ellipsisLength = STR_ELLIPSIS.length,"," strLength = str.length;",""," if (length > 3) {"," if (str && (strLength > length)) {"," where = where || 'end';",""," if (where === 'end') {"," str = str.substr(0, (length - ellipsisLength)) + STR_ELLIPSIS;"," }"," else if (where === 'middle') {"," var middlePointA = Math.floor((length - ellipsisLength) / 2),"," middlePointB = middlePointA;",""," if (length % 2 === 0) {"," middlePointA = Math.ceil((length - ellipsisLength) / 2);"," middlePointB = Math.floor((length - ellipsisLength) / 2);"," }",""," str = str.substr(0, middlePointA) + STR_ELLIPSIS + str.substr(strLength - middlePointB);"," }"," else if (where === 'start') {"," str = STR_ELLIPSIS + str.substr(strLength - length + ellipsisLength);"," }"," }"," }"," else {"," str = STR_ELLIPSIS;"," }",""," return str;"," },",""," undef: function(str) {"," if (isUndefined(str)) {"," str = '';"," }",""," return str;"," },",""," // inspired from Google unescape entities"," unescapeEntities: function(str) {"," if (LString.contains(str, '&')) {"," if (DOC && !LString.contains(str, '<')) {"," str = LString._unescapeEntitiesUsingDom(str);"," }"," else {"," str = LString.unescapeHTML(str);"," }"," }",""," return str;"," },",""," unescapeHTML: function(str) {"," return str.replace(REGEX_HTML_UNESCAPE, LString._unescapeHTML);"," },",""," _camelize: function(match0, match1) {"," return match1.toUpperCase();"," },",""," _escapeHTML: function(match) {"," return MAP_HTML_CHARS_ESCAPED[match];"," },",""," _unescapeHTML: function(match, entity) {"," var value = MAP_HTML_CHARS_UNESCAPED[match] || match;",""," if (!value && entity.charAt(0) === '#') {"," var charCode = Number('0' + value.substr(1));",""," if (!isNaN(charCode)) {"," value = String.fromCharCode(charCode);"," }"," }",""," return value;"," },",""," _unescapeEntitiesUsingDom: function(str) {"," var el = DOC.createElement('a');",""," el.innerHTML = str;",""," if (el.normalize) {"," el.normalize();"," }",""," str = el.firstChild.nodeValue;",""," el.innerHTML = '';",""," return str;"," }"," });",""," /*"," * Maps an object to an array, using the return value of fn as the values"," * for the new array."," */"," AObject.map = function(obj, fn, context) {"," var map = [],"," i;",""," for (i in obj) {"," if (owns(obj, i)) {"," map[map.length] = fn.call(context, obj[i], i, obj);"," }"," }",""," return map;"," };",""," /*"," * Maps an array or object to a resulting array, using the return value of"," * fn as the values for the new array. Like A.each, this function can accept"," * an object or an array."," */"," A.map = function(obj) {"," var module = AObject;",""," if (isArray(obj)) {"," module = aArray;"," }",""," return module.map.apply(this, arguments);"," };","}());","","","}, '3.1.0-deprecated.52');","","}());"]};
+}
+var __cov_3KruDAv7$2PC5ev6Zo8IAA = __coverage__['build/aui-base-lang/aui-base-lang.js'];
+__cov_3KruDAv7$2PC5ev6Zo8IAA.s['1']++;YUI.add('aui-base-lang',function(A,NAME){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['1']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['2']++;(function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['2']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['3']++;var Lang=A.Lang,aArray=A.Array,AObject=A.Object,isArray=Lang.isArray,isNumber=Lang.isNumber,isString=Lang.isString,isUndefined=Lang.isUndefined,owns=AObject.owns;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['4']++;A.fn=function(fn,context,args){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['3']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['5']++;var wrappedFn,dynamicLookup;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['6']++;if(!isNumber(fn)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['1'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['7']++;var xargs=arguments;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['8']++;if(xargs.length>2){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['2'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['9']++;xargs=aArray(xargs,2,true);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['2'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['10']++;dynamicLookup=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['3'][0]++,isString(fn))&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['3'][1]++,context);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['11']++;wrappedFn=function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['4']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['12']++;var method=!dynamicLookup?(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['4'][0]++,fn):(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['4'][1]++,context[fn]);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['13']++;return method.apply((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['5'][0]++,context)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['5'][1]++,fn),xargs);};}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['1'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['14']++;var argLength=fn;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['15']++;fn=context;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['16']++;context=args;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['17']++;dynamicLookup=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['6'][0]++,isString(fn))&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['6'][1]++,context);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['18']++;wrappedFn=function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['5']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['19']++;var method=!dynamicLookup?(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['7'][0]++,fn):(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['7'][1]++,context[fn]),returnValue;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['20']++;context=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['8'][0]++,context)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['8'][1]++,method);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['21']++;if(argLength>0){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['9'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['22']++;returnValue=method.apply(context,aArray(arguments,0,true).slice(0,argLength));}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['9'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['23']++;returnValue=method.call(context);}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['24']++;return returnValue;};}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['25']++;return wrappedFn;};__cov_3KruDAv7$2PC5ev6Zo8IAA.s['26']++;A.mix(Lang,{constrain:function(num,min,max){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['6']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['27']++;return Math.min(Math.max(num,min),max);},emptyFn:function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['7']++;},emptyFnFalse:function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['8']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['28']++;return false;},emptyFnTrue:function(){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['9']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['29']++;return true;},isGuid:function(id){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['10']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['30']++;return String(id).indexOf(A.Env._guidp)===0;},isInteger:function(val){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['11']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['31']++;return(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['10'][0]++,typeof val==='number')&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['10'][1]++,isFinite(val))&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['10'][2]++,val>-9007199254740992)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['10'][3]++,val<9007199254740992)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['10'][4]++,Math.floor(val)===val);},isNode:function(val){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['12']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['32']++;return A.instanceOf(val,A.Node);},isNodeList:function(val){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['13']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['33']++;return A.instanceOf(val,A.NodeList);},toFloat:function(value,defaultValue){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['14']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['34']++;return(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['11'][0]++,parseFloat(value))||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['11'][1]++,defaultValue)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['11'][2]++,0);},toInt:function(value,radix,defaultValue){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['15']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['35']++;return(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['12'][0]++,parseInt(value,(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['13'][0]++,radix)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['13'][1]++,10)))||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['12'][1]++,defaultValue)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['12'][2]++,0);}});__cov_3KruDAv7$2PC5ev6Zo8IAA.s['36']++;A.mix(aArray,{remove:function(a,from,to){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['16']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['37']++;var rest=a.slice((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['14'][0]++,((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['15'][0]++,to)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['15'][1]++,from))+1)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['14'][1]++,a.length));__cov_3KruDAv7$2PC5ev6Zo8IAA.s['38']++;a.length=from<0?(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['16'][0]++,a.length+from):(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['16'][1]++,from);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['39']++;return a.push.apply(a,rest);},removeItem:function(a,item){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['17']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['40']++;var index=aArray.indexOf(a,item);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['41']++;if(index>-1){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['17'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['42']++;return aArray.remove(a,index);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['17'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['43']++;return a;}});__cov_3KruDAv7$2PC5ev6Zo8IAA.s['44']++;var LString=A.namespace('Lang.String'),DOC=A.config.doc,REGEX_DASH=/-([a-z])/gi,REGEX_ESCAPE_REGEX=/([.*+?^$(){}|[\]\/\\])/g,REGEX_NL2BR=/\r?\n/g,REGEX_STRIP_SCRIPTS=/(?:)((\n|\r|.)*?)(?:<\/script>)/gi,REGEX_STRIP_TAGS=/<\/?[^>]+>/gi,REGEX_UNCAMELIZE=/([a-zA-Z][a-zA-Z])([A-Z])([a-z])/g,REGEX_UNCAMELIZE_REPLACE_SEPARATOR=/([a-z])([A-Z])/g,STR_ELLIPSIS='...',htmlUnescapedValues=[],MAP_HTML_CHARS_ESCAPED={'&':'&','<':'<','>':'>','"':'"','\'':''','/':'/','`':'`'},htmlChar,MAP_HTML_CHARS_UNESCAPED={};__cov_3KruDAv7$2PC5ev6Zo8IAA.s['45']++;for(htmlChar in MAP_HTML_CHARS_ESCAPED){__cov_3KruDAv7$2PC5ev6Zo8IAA.s['46']++;if(MAP_HTML_CHARS_ESCAPED.hasOwnProperty(htmlChar)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['18'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['47']++;var escapedValue=MAP_HTML_CHARS_ESCAPED[htmlChar];__cov_3KruDAv7$2PC5ev6Zo8IAA.s['48']++;MAP_HTML_CHARS_UNESCAPED[escapedValue]=htmlChar;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['49']++;htmlUnescapedValues.push(htmlChar);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['18'][1]++;}}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['50']++;var REGEX_HTML_ESCAPE=new RegExp('['+htmlUnescapedValues.join('')+']','g'),REGEX_HTML_UNESCAPE=/&([^;]+);/g;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['51']++;A.mix(LString,{camelize:A.cached(function(str,separator){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['18']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['52']++;var regex=REGEX_DASH;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['53']++;str=String(str);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['54']++;if(separator){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['19'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['55']++;regex=new RegExp(separator+'([a-z])','gi');}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['19'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['56']++;return str.replace(regex,LString._camelize);}),capitalize:A.cached(function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['19']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['57']++;if(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['20'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['58']++;str=String(str);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['59']++;str=str.charAt(0).toUpperCase()+str.substr(1).toLowerCase();}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['20'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['60']++;return str;}),contains:function(str,searchString){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['20']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['61']++;return str.indexOf(searchString)!==-1;},defaultValue:function(str,defaultValue){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['21']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['62']++;if((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['22'][0]++,isUndefined(str))||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['22'][1]++,str==='')){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['21'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['63']++;if(isUndefined(defaultValue)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['23'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['64']++;defaultValue='';}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['23'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['65']++;str=defaultValue;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['21'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['66']++;return str;},endsWith:function(str,suffix){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['22']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['67']++;var length=str.length-suffix.length;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['68']++;return(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['24'][0]++,length>=0)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['24'][1]++,str.indexOf(suffix,length)===length);},escapeHTML:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['23']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['69']++;return str.replace(REGEX_HTML_ESCAPE,LString._escapeHTML);},escapeRegEx:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['24']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['70']++;return str.replace(REGEX_ESCAPE_REGEX,'\\$1');},nl2br:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['25']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['71']++;return String(str).replace(REGEX_NL2BR,' ');},padNumber:function(num,length,precision){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['26']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['72']++;var str=precision?(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['25'][0]++,Number(num).toFixed(precision)):(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['25'][1]++,String(num));__cov_3KruDAv7$2PC5ev6Zo8IAA.s['73']++;var index=str.indexOf('.');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['74']++;if(index===-1){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['26'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['75']++;index=str.length;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['26'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['76']++;return LString.repeat('0',Math.max(0,length-index))+str;},pluralize:function(count,singularVersion,pluralVersion){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['27']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['77']++;var suffix;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['78']++;if(count===1){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['27'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['79']++;suffix=singularVersion;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['27'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['80']++;suffix=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['28'][0]++,pluralVersion)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['28'][1]++,singularVersion+'s');}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['81']++;return count+' '+suffix;},prefix:function(prefix,str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['28']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['82']++;str=String(str);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['83']++;if(str.indexOf(prefix)!==0){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['29'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['84']++;str=prefix+str;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['29'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['85']++;return str;},remove:function(str,substitute,all){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['29']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['86']++;var re=new RegExp(LString.escapeRegEx(substitute),all?(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['30'][0]++,'g'):(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['30'][1]++,''));__cov_3KruDAv7$2PC5ev6Zo8IAA.s['87']++;return str.replace(re,'');},removeAll:function(str,substitute){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['30']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['88']++;return LString.remove(str,substitute,true);},repeat:function(str,length){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['31']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['89']++;return new Array(length+1).join(str);},round:function(value,precision){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['32']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['90']++;value=Number(value);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['91']++;if(isNumber(precision)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['31'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['92']++;precision=Math.pow(10,precision);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['93']++;value=Math.round(value*precision)/precision;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['31'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['94']++;return value;},startsWith:function(str,prefix){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['33']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['95']++;return str.lastIndexOf(prefix,0)===0;},stripScripts:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['34']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['96']++;if(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['32'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['97']++;str=String(str).replace(REGEX_STRIP_SCRIPTS,'');}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['32'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['98']++;return str;},stripTags:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['35']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['99']++;if(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['33'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['100']++;str=String(str).replace(REGEX_STRIP_TAGS,'');}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['33'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['101']++;return str;},substr:function(str,start,length){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['36']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['102']++;return String(str).substr(start,length);},uncamelize:A.cached(function(str,separator){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['37']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['103']++;separator=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['34'][0]++,separator)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['34'][1]++,' ');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['104']++;str=String(str);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['105']++;str=str.replace(REGEX_UNCAMELIZE,'$1'+separator+'$2$3');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['106']++;str=str.replace(REGEX_UNCAMELIZE_REPLACE_SEPARATOR,'$1'+separator+'$2');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['107']++;return str;}),toLowerCase:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['38']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['108']++;return String(str).toLowerCase();},toUpperCase:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['39']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['109']++;return String(str).toUpperCase();},trim:Lang.trim,truncate:function(str,length,where){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['40']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['110']++;str=String(str);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['111']++;var ellipsisLength=STR_ELLIPSIS.length,strLength=str.length;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['112']++;if(length>3){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['35'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['113']++;if((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['37'][0]++,str)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['37'][1]++,strLength>length)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['36'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['114']++;where=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['38'][0]++,where)||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['38'][1]++,'end');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['115']++;if(where==='end'){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['39'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['116']++;str=str.substr(0,length-ellipsisLength)+STR_ELLIPSIS;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['39'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['117']++;if(where==='middle'){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['40'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['118']++;var middlePointA=Math.floor((length-ellipsisLength)/2),middlePointB=middlePointA;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['119']++;if(length%2===0){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['41'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['120']++;middlePointA=Math.ceil((length-ellipsisLength)/2);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['121']++;middlePointB=Math.floor((length-ellipsisLength)/2);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['41'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['122']++;str=str.substr(0,middlePointA)+STR_ELLIPSIS+str.substr(strLength-middlePointB);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['40'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['123']++;if(where==='start'){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['42'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['124']++;str=STR_ELLIPSIS+str.substr(strLength-length+ellipsisLength);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['42'][1]++;}}}}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['36'][1]++;}}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['35'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['125']++;str=STR_ELLIPSIS;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['126']++;return str;},undef:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['41']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['127']++;if(isUndefined(str)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['43'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['128']++;str='';}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['43'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['129']++;return str;},unescapeEntities:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['42']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['130']++;if(LString.contains(str,'&')){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['44'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['131']++;if((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['46'][0]++,DOC)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['46'][1]++,!LString.contains(str,'<'))){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['45'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['132']++;str=LString._unescapeEntitiesUsingDom(str);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['45'][1]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['133']++;str=LString.unescapeHTML(str);}}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['44'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['134']++;return str;},unescapeHTML:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['43']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['135']++;return str.replace(REGEX_HTML_UNESCAPE,LString._unescapeHTML);},_camelize:function(match0,match1){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['44']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['136']++;return match1.toUpperCase();},_escapeHTML:function(match){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['45']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['137']++;return MAP_HTML_CHARS_ESCAPED[match];},_unescapeHTML:function(match,entity){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['46']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['138']++;var value=(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['47'][0]++,MAP_HTML_CHARS_UNESCAPED[match])||(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['47'][1]++,match);__cov_3KruDAv7$2PC5ev6Zo8IAA.s['139']++;if((__cov_3KruDAv7$2PC5ev6Zo8IAA.b['49'][0]++,!value)&&(__cov_3KruDAv7$2PC5ev6Zo8IAA.b['49'][1]++,entity.charAt(0)==='#')){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['48'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['140']++;var charCode=Number('0'+value.substr(1));__cov_3KruDAv7$2PC5ev6Zo8IAA.s['141']++;if(!isNaN(charCode)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['50'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['142']++;value=String.fromCharCode(charCode);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['50'][1]++;}}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['48'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['143']++;return value;},_unescapeEntitiesUsingDom:function(str){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['47']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['144']++;var el=DOC.createElement('a');__cov_3KruDAv7$2PC5ev6Zo8IAA.s['145']++;el.innerHTML=str;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['146']++;if(el.normalize){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['51'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['147']++;el.normalize();}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['51'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['148']++;str=el.firstChild.nodeValue;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['149']++;el.innerHTML='';__cov_3KruDAv7$2PC5ev6Zo8IAA.s['150']++;return str;}});__cov_3KruDAv7$2PC5ev6Zo8IAA.s['151']++;AObject.map=function(obj,fn,context){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['48']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['152']++;var map=[],i;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['153']++;for(i in obj){__cov_3KruDAv7$2PC5ev6Zo8IAA.s['154']++;if(owns(obj,i)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['52'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['155']++;map[map.length]=fn.call(context,obj[i],i,obj);}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['52'][1]++;}}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['156']++;return map;};__cov_3KruDAv7$2PC5ev6Zo8IAA.s['157']++;A.map=function(obj){__cov_3KruDAv7$2PC5ev6Zo8IAA.f['49']++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['158']++;var module=AObject;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['159']++;if(isArray(obj)){__cov_3KruDAv7$2PC5ev6Zo8IAA.b['53'][0]++;__cov_3KruDAv7$2PC5ev6Zo8IAA.s['160']++;module=aArray;}else{__cov_3KruDAv7$2PC5ev6Zo8IAA.b['53'][1]++;}__cov_3KruDAv7$2PC5ev6Zo8IAA.s['161']++;return module.map.apply(this,arguments);};}());},'3.1.0-deprecated.52');
diff --git a/build/aui-base-lang/aui-base-lang-debug.js b/build/aui-base-lang/aui-base-lang-debug.js
new file mode 100644
index 00000000000..fef0cf262d5
--- /dev/null
+++ b/build/aui-base-lang/aui-base-lang-debug.js
@@ -0,0 +1,468 @@
+YUI.add('aui-base-lang', function (A, NAME) {
+
+(function() {
+ var Lang = A.Lang,
+ aArray = A.Array,
+ AObject = A.Object,
+
+ isArray = Lang.isArray,
+ isNumber = Lang.isNumber,
+ isString = Lang.isString,
+ isUndefined = Lang.isUndefined,
+
+ owns = AObject.owns;
+
+ A.fn = function(fn, context, args) {
+ var wrappedFn,
+ dynamicLookup;
+
+ // Explicitly set function arguments
+ if (!isNumber(fn)) {
+ var xargs = arguments;
+
+ if (xargs.length > 2) {
+ xargs = aArray(xargs, 2, true);
+ }
+
+ dynamicLookup = (isString(fn) && context);
+
+ wrappedFn = function() {
+ var method = (!dynamicLookup) ? fn : context[fn];
+
+ return method.apply(context || fn, xargs);
+ };
+ }
+ else {
+ // Set function arity
+ var argLength = fn;
+
+ fn = context;
+ context = args;
+ dynamicLookup = (isString(fn) && context);
+
+ wrappedFn = function() {
+ var method = (!dynamicLookup) ? fn : context[fn],
+ returnValue;
+
+ context = context || method;
+
+ if (argLength > 0) {
+ returnValue = method.apply(context, aArray(arguments, 0, true).slice(0, argLength));
+ }
+ else {
+ returnValue = method.call(context);
+ }
+
+ return returnValue;
+ };
+ }
+
+ return wrappedFn;
+ };
+
+ A.mix(Lang, {
+ constrain: function(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+ },
+
+ emptyFn: function() {},
+
+ emptyFnFalse: function() {
+ return false;
+ },
+
+ emptyFnTrue: function() {
+ return true;
+ },
+
+ isGuid: function(id) {
+ return String(id).indexOf(A.Env._guidp) === 0;
+ },
+
+ isInteger: function(val) {
+ return typeof val === 'number' &&
+ isFinite(val) &&
+ val > -9007199254740992 &&
+ val < 9007199254740992 &&
+ Math.floor(val) === val;
+ },
+
+ isNode: function(val) {
+ return A.instanceOf(val, A.Node);
+ },
+
+ isNodeList: function(val) {
+ return A.instanceOf(val, A.NodeList);
+ },
+
+ toFloat: function(value, defaultValue) {
+ return parseFloat(value) || defaultValue || 0;
+ },
+
+ toInt: function(value, radix, defaultValue) {
+ return parseInt(value, radix || 10) || defaultValue || 0;
+ }
+ });
+
+ A.mix(aArray, {
+ remove: function(a, from, to) {
+ var rest = a.slice((to || from) + 1 || a.length);
+ a.length = (from < 0) ? (a.length + from) : from;
+
+ return a.push.apply(a, rest);
+ },
+
+ removeItem: function(a, item) {
+ var index = aArray.indexOf(a, item);
+
+ if (index > -1) {
+ return aArray.remove(a, index);
+ }
+
+ return a;
+ }
+ });
+
+ var LString = A.namespace('Lang.String'),
+
+ DOC = A.config.doc,
+ REGEX_DASH = /-([a-z])/gi,
+ REGEX_ESCAPE_REGEX = /([.*+?^$(){}|[\]\/\\])/g,
+ REGEX_NL2BR = /\r?\n/g,
+ REGEX_STRIP_SCRIPTS = /(?:)((\n|\r|.)*?)(?:<\/script>)/gi,
+ REGEX_STRIP_TAGS = /<\/?[^>]+>/gi,
+ REGEX_UNCAMELIZE = /([a-zA-Z][a-zA-Z])([A-Z])([a-z])/g,
+ REGEX_UNCAMELIZE_REPLACE_SEPARATOR = /([a-z])([A-Z])/g,
+ STR_ELLIPSIS = '...',
+
+ htmlUnescapedValues = [],
+
+ MAP_HTML_CHARS_ESCAPED = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ '\'': ''',
+ '/': '/',
+ '`': '`'
+ },
+ htmlChar,
+ MAP_HTML_CHARS_UNESCAPED = {};
+
+ for (htmlChar in MAP_HTML_CHARS_ESCAPED) {
+ if (MAP_HTML_CHARS_ESCAPED.hasOwnProperty(htmlChar)) {
+ var escapedValue = MAP_HTML_CHARS_ESCAPED[htmlChar];
+
+ MAP_HTML_CHARS_UNESCAPED[escapedValue] = htmlChar;
+
+ htmlUnescapedValues.push(htmlChar);
+ }
+ }
+
+ var REGEX_HTML_ESCAPE = new RegExp('[' + htmlUnescapedValues.join('') + ']', 'g'),
+ REGEX_HTML_UNESCAPE = /&([^;]+);/g;
+
+ A.mix(LString, {
+ camelize: A.cached(
+ function(str, separator) {
+ var regex = REGEX_DASH;
+
+ str = String(str);
+
+ if (separator) {
+ regex = new RegExp(separator + '([a-z])', 'gi');
+ }
+
+ return str.replace(regex, LString._camelize);
+ }
+ ),
+
+ capitalize: A.cached(
+ function(str) {
+ if (str) {
+ str = String(str);
+
+ str = str.charAt(0).toUpperCase() + str.substr(1).toLowerCase();
+ }
+
+ return str;
+ }
+ ),
+
+ contains: function(str, searchString) {
+ return str.indexOf(searchString) !== -1;
+ },
+
+ defaultValue: function(str, defaultValue) {
+ if (isUndefined(str) || str === '') {
+ if (isUndefined(defaultValue)) {
+ defaultValue = '';
+ }
+
+ str = defaultValue;
+ }
+
+ return str;
+ },
+
+ endsWith: function(str, suffix) {
+ var length = (str.length - suffix.length);
+
+ return ((length >= 0) && (str.indexOf(suffix, length) === length));
+ },
+
+ escapeHTML: function(str) {
+ return str.replace(REGEX_HTML_ESCAPE, LString._escapeHTML);
+ },
+
+ // Courtesy of: http://simonwillison.net/2006/Jan/20/escape/
+ escapeRegEx: function(str) {
+ return str.replace(REGEX_ESCAPE_REGEX, '\\$1');
+ },
+
+ nl2br: function(str) {
+ return String(str).replace(REGEX_NL2BR, ' ');
+ },
+
+ padNumber: function(num, length, precision) {
+ var str = precision ? Number(num).toFixed(precision) : String(num);
+ var index = str.indexOf('.');
+
+ if (index === -1) {
+ index = str.length;
+ }
+
+ return LString.repeat('0', Math.max(0, length - index)) + str;
+ },
+
+ pluralize: function(count, singularVersion, pluralVersion) {
+ var suffix;
+
+ if (count === 1) {
+ suffix = singularVersion;
+ }
+ else {
+ suffix = pluralVersion || singularVersion + 's';
+ }
+
+ return count + ' ' + suffix;
+ },
+
+ prefix: function(prefix, str) {
+ str = String(str);
+
+ if (str.indexOf(prefix) !== 0) {
+ str = prefix + str;
+ }
+
+ return str;
+ },
+
+ remove: function(str, substitute, all) {
+ var re = new RegExp(LString.escapeRegEx(substitute), all ? 'g' : '');
+
+ return str.replace(re, '');
+ },
+
+ removeAll: function(str, substitute) {
+ return LString.remove(str, substitute, true);
+ },
+
+ repeat: function(str, length) {
+ return new Array(length + 1).join(str);
+ },
+
+ round: function(value, precision) {
+ value = Number(value);
+
+ if (isNumber(precision)) {
+ precision = Math.pow(10, precision);
+ value = Math.round(value * precision) / precision;
+ }
+
+ return value;
+ },
+
+ startsWith: function(str, prefix) {
+ return (str.lastIndexOf(prefix, 0) === 0);
+ },
+
+ stripScripts: function(str) {
+ if (str) {
+ str = String(str).replace(REGEX_STRIP_SCRIPTS, '');
+ }
+
+ return str;
+ },
+
+ stripTags: function(str) {
+ if (str) {
+ str = String(str).replace(REGEX_STRIP_TAGS, '');
+ }
+
+ return str;
+ },
+
+ substr: function(str, start, length) {
+ return String(str).substr(start, length);
+ },
+
+ uncamelize: A.cached(
+ function(str, separator) {
+ separator = separator || ' ';
+
+ str = String(str);
+
+ str = str.replace(REGEX_UNCAMELIZE, '$1' + separator + '$2$3');
+ str = str.replace(REGEX_UNCAMELIZE_REPLACE_SEPARATOR, '$1' + separator + '$2');
+
+ return str;
+ }
+ ),
+
+ toLowerCase: function(str) {
+ return String(str).toLowerCase();
+ },
+
+ toUpperCase: function(str) {
+ return String(str).toUpperCase();
+ },
+
+ trim: Lang.trim,
+
+ truncate: function(str, length, where) {
+ str = String(str);
+
+ var ellipsisLength = STR_ELLIPSIS.length,
+ strLength = str.length;
+
+ if (length > 3) {
+ if (str && (strLength > length)) {
+ where = where || 'end';
+
+ if (where === 'end') {
+ str = str.substr(0, (length - ellipsisLength)) + STR_ELLIPSIS;
+ }
+ else if (where === 'middle') {
+ var middlePointA = Math.floor((length - ellipsisLength) / 2),
+ middlePointB = middlePointA;
+
+ if (length % 2 === 0) {
+ middlePointA = Math.ceil((length - ellipsisLength) / 2);
+ middlePointB = Math.floor((length - ellipsisLength) / 2);
+ }
+
+ str = str.substr(0, middlePointA) + STR_ELLIPSIS + str.substr(strLength - middlePointB);
+ }
+ else if (where === 'start') {
+ str = STR_ELLIPSIS + str.substr(strLength - length + ellipsisLength);
+ }
+ }
+ }
+ else {
+ str = STR_ELLIPSIS;
+ }
+
+ return str;
+ },
+
+ undef: function(str) {
+ if (isUndefined(str)) {
+ str = '';
+ }
+
+ return str;
+ },
+
+ // inspired from Google unescape entities
+ unescapeEntities: function(str) {
+ if (LString.contains(str, '&')) {
+ if (DOC && !LString.contains(str, '<')) {
+ str = LString._unescapeEntitiesUsingDom(str);
+ }
+ else {
+ str = LString.unescapeHTML(str);
+ }
+ }
+
+ return str;
+ },
+
+ unescapeHTML: function(str) {
+ return str.replace(REGEX_HTML_UNESCAPE, LString._unescapeHTML);
+ },
+
+ _camelize: function(match0, match1) {
+ return match1.toUpperCase();
+ },
+
+ _escapeHTML: function(match) {
+ return MAP_HTML_CHARS_ESCAPED[match];
+ },
+
+ _unescapeHTML: function(match, entity) {
+ var value = MAP_HTML_CHARS_UNESCAPED[match] || match;
+
+ if (!value && entity.charAt(0) === '#') {
+ var charCode = Number('0' + value.substr(1));
+
+ if (!isNaN(charCode)) {
+ value = String.fromCharCode(charCode);
+ }
+ }
+
+ return value;
+ },
+
+ _unescapeEntitiesUsingDom: function(str) {
+ var el = DOC.createElement('a');
+
+ el.innerHTML = str;
+
+ if (el.normalize) {
+ el.normalize();
+ }
+
+ str = el.firstChild.nodeValue;
+
+ el.innerHTML = '';
+
+ return str;
+ }
+ });
+
+ /*
+ * Maps an object to an array, using the return value of fn as the values
+ * for the new array.
+ */
+ AObject.map = function(obj, fn, context) {
+ var map = [],
+ i;
+
+ for (i in obj) {
+ if (owns(obj, i)) {
+ map[map.length] = fn.call(context, obj[i], i, obj);
+ }
+ }
+
+ return map;
+ };
+
+ /*
+ * Maps an array or object to a resulting array, using the return value of
+ * fn as the values for the new array. Like A.each, this function can accept
+ * an object or an array.
+ */
+ A.map = function(obj) {
+ var module = AObject;
+
+ if (isArray(obj)) {
+ module = aArray;
+ }
+
+ return module.map.apply(this, arguments);
+ };
+}());
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-base-lang/aui-base-lang-min.js b/build/aui-base-lang/aui-base-lang-min.js
new file mode 100644
index 00000000000..f78e7a4cb76
--- /dev/null
+++ b/build/aui-base-lang/aui-base-lang-min.js
@@ -0,0 +1 @@
+YUI.add("aui-base-lang",function(e,t){(function(){var t=e.Lang,n=e.Array,r=e.Object,i=t.isArray,s=t.isNumber,o=t.isString,u=t.isUndefined,a=r.owns;e.fn=function(e,t,r){var i,u;if(!s(e)){var a=arguments;a.length>2&&(a=n(a,2,!0)),u=o(e)&&t,i=function(){var n=u?t[e]:e;return n.apply(t||e,a)}}else{var f=e;e=t,t=r,u=o(e)&&t,i=function(){var r=u?t[e]:e,i;return t=t||r,f>0?i=r.apply(t,n(arguments,0,!0).slice(0,f)):i=r.call(t),i}}return i},e.mix(t,{constrain:function(e,t,n){return Math.min(Math.max(e,t),n)},emptyFn:function(){},emptyFnFalse:function(){return!1},emptyFnTrue:function(){return!0},isGuid:function(t){return String(t).indexOf(e.Env._guidp)===0},isInteger:function(e){return typeof e=="number"&&isFinite(e)&&e>-9007199254740992&&e<9007199254740992&&Math.floor(e)===e},isNode:function(t){return e.instanceOf(t,e.Node)},isNodeList:function(t){return e.instanceOf(t,e.NodeList)},toFloat:function(e,t){return parseFloat(e)||t||0},toInt:function(e,t,n){return parseInt(e,t||10)||n||0}}),e.mix(n,{remove:function(e,t,n){var r=e.slice((n||t)+1||e.length);return e.length=t<0?e.length+t:t,e.push.apply(e,r)},removeItem:function(e,t){var r=n.indexOf(e,t);return r>-1?n.remove(e,r):e}});var f=e.namespace("Lang.String"),l=e.config.doc,c=/-([a-z])/gi,h=/([.*+?^$(){}|[\]\/\\])/g,p=/\r?\n/g,d=/(?:)((\n|\r|.)*?)(?:<\/script>)/gi,v=/<\/?[^>]+>/gi,m=/([a-zA-Z][a-zA-Z])([A-Z])([a-z])/g,g=/([a-z])([A-Z])/g,y="...",b=[],w={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`"},E,S={};for(E in w)if(w.hasOwnProperty(E)){var x=w[E];S[x]=E,b.push(E)}var T=new RegExp("["+b.join("")+"]","g"),N=/&([^;]+);/g;e.mix(f,{camelize:e.cached(function(e,t){var n=c;return e=String(e),t&&(n=new RegExp(t+"([a-z])","gi")),e.replace(n,f._camelize)}),capitalize:e.cached(function(e){return e&&(e=String(e),e=e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),e}),contains:function(e,t){return e.indexOf(t)!==-1},defaultValue:function(e,t){if(u(e)||e==="")u(t)&&(t=""),e=t;return e},endsWith:function(e,t){var n=e.length-t.length;return n>=0&&e.indexOf(t,n)===n},escapeHTML:function(e){return e.replace(T,f._escapeHTML)},escapeRegEx:function(e){return e.replace(h,"\\$1")},nl2br:function(e){return String(e).replace(p," ")},padNumber:function(e,t,n){var r=n?Number(e).toFixed(n):String(e),i=r.indexOf(".");return i===-1&&(i=r.length),f.repeat("0",Math.max(0,t-i))+r},pluralize:function(e,t,n){var r;return e===1?r=t:r=n||t+"s",e+" "+r},prefix:function(e,t){return t=String(t),t.indexOf(e)!==0&&(t=e+t),t},remove:function(e,t,n){var r=new RegExp(f.escapeRegEx(t),n?"g":"");return e.replace(r,"")},removeAll:function(e,t){return f.remove(e,t,!0)},repeat:function(e,t){return(new Array(t+1)).join(e)},round:function(e,t){return e=Number(e),s(t)&&(t=Math.pow(10,t),e=Math.round(e*t)/t),e},startsWith:function(e,t){return e.lastIndexOf(t,0)===0},stripScripts:function(e){return e&&(e=String(e).replace(d,"")),e},stripTags:function(e){return e&&(e=String(e).replace(v,"")),e},substr:function(e,t,n){return String(e).substr(t,n)},uncamelize:e.cached(function(e,t){return t=t||" ",e=String(e),e=e.replace(m,"$1"+t+"$2$3"),e=e.replace(g,"$1"+t+"$2"),e}),toLowerCase:function(e){return String(e).toLowerCase()},toUpperCase:function(e){return String(e).toUpperCase()},trim:t.trim,truncate:function(e,t,n){e=String(e);var r=y.length,i=e.length;if(t>3){if(e&&i>t){n=n||"end";if(n==="end")e=e.substr(0,t-r)+y;else if(n==="middle"){var s=Math.floor((t-r)/2),o=s;t%2===0&&(s=Math.ceil((t-r)/2),o=Math.floor((t-r)/2)),e=e.substr(0,s)+y+e.substr(i-o)}else n==="start"&&(e=y+e.substr(i-t+r))}}else e=y;return e},undef:function(e){return u(e)&&(e=""),e},unescapeEntities:function(e){return f.contains(e,"&")&&(l&&!f.contains(e,"<")?e=f._unescapeEntitiesUsingDom(e):e=f.unescapeHTML(e)),e},unescapeHTML:function(e){return e.replace(N,f._unescapeHTML)},_camelize:function(e,t){return t.toUpperCase()},_escapeHTML:function(e){return w[e]},_unescapeHTML:function(e,t){var n=S[e]||e;if(!n&&t.charAt(0)==="#"){var r=Number("0"+n.substr(1));isNaN(r)||(n=String.fromCharCode(r))}return n},_unescapeEntitiesUsingDom:function(e){var t=l.createElement("a");return t.innerHTML=e,t.normalize&&t.normalize(),e=t.firstChild.nodeValue,t.innerHTML="",e}}),r.map=function(e,t,n){var r=[],i;for(i in e)a(e,i)&&(r[r.length]=t.call(n,e[i],i,e));return r},e.map=function(e){var t=r;return i(e)&&(t=n),t.map.apply(this,arguments)}})()},"3.1.0-deprecated.52");
diff --git a/build/aui-base-lang/aui-base-lang.js b/build/aui-base-lang/aui-base-lang.js
new file mode 100644
index 00000000000..fef0cf262d5
--- /dev/null
+++ b/build/aui-base-lang/aui-base-lang.js
@@ -0,0 +1,468 @@
+YUI.add('aui-base-lang', function (A, NAME) {
+
+(function() {
+ var Lang = A.Lang,
+ aArray = A.Array,
+ AObject = A.Object,
+
+ isArray = Lang.isArray,
+ isNumber = Lang.isNumber,
+ isString = Lang.isString,
+ isUndefined = Lang.isUndefined,
+
+ owns = AObject.owns;
+
+ A.fn = function(fn, context, args) {
+ var wrappedFn,
+ dynamicLookup;
+
+ // Explicitly set function arguments
+ if (!isNumber(fn)) {
+ var xargs = arguments;
+
+ if (xargs.length > 2) {
+ xargs = aArray(xargs, 2, true);
+ }
+
+ dynamicLookup = (isString(fn) && context);
+
+ wrappedFn = function() {
+ var method = (!dynamicLookup) ? fn : context[fn];
+
+ return method.apply(context || fn, xargs);
+ };
+ }
+ else {
+ // Set function arity
+ var argLength = fn;
+
+ fn = context;
+ context = args;
+ dynamicLookup = (isString(fn) && context);
+
+ wrappedFn = function() {
+ var method = (!dynamicLookup) ? fn : context[fn],
+ returnValue;
+
+ context = context || method;
+
+ if (argLength > 0) {
+ returnValue = method.apply(context, aArray(arguments, 0, true).slice(0, argLength));
+ }
+ else {
+ returnValue = method.call(context);
+ }
+
+ return returnValue;
+ };
+ }
+
+ return wrappedFn;
+ };
+
+ A.mix(Lang, {
+ constrain: function(num, min, max) {
+ return Math.min(Math.max(num, min), max);
+ },
+
+ emptyFn: function() {},
+
+ emptyFnFalse: function() {
+ return false;
+ },
+
+ emptyFnTrue: function() {
+ return true;
+ },
+
+ isGuid: function(id) {
+ return String(id).indexOf(A.Env._guidp) === 0;
+ },
+
+ isInteger: function(val) {
+ return typeof val === 'number' &&
+ isFinite(val) &&
+ val > -9007199254740992 &&
+ val < 9007199254740992 &&
+ Math.floor(val) === val;
+ },
+
+ isNode: function(val) {
+ return A.instanceOf(val, A.Node);
+ },
+
+ isNodeList: function(val) {
+ return A.instanceOf(val, A.NodeList);
+ },
+
+ toFloat: function(value, defaultValue) {
+ return parseFloat(value) || defaultValue || 0;
+ },
+
+ toInt: function(value, radix, defaultValue) {
+ return parseInt(value, radix || 10) || defaultValue || 0;
+ }
+ });
+
+ A.mix(aArray, {
+ remove: function(a, from, to) {
+ var rest = a.slice((to || from) + 1 || a.length);
+ a.length = (from < 0) ? (a.length + from) : from;
+
+ return a.push.apply(a, rest);
+ },
+
+ removeItem: function(a, item) {
+ var index = aArray.indexOf(a, item);
+
+ if (index > -1) {
+ return aArray.remove(a, index);
+ }
+
+ return a;
+ }
+ });
+
+ var LString = A.namespace('Lang.String'),
+
+ DOC = A.config.doc,
+ REGEX_DASH = /-([a-z])/gi,
+ REGEX_ESCAPE_REGEX = /([.*+?^$(){}|[\]\/\\])/g,
+ REGEX_NL2BR = /\r?\n/g,
+ REGEX_STRIP_SCRIPTS = /(?:)((\n|\r|.)*?)(?:<\/script>)/gi,
+ REGEX_STRIP_TAGS = /<\/?[^>]+>/gi,
+ REGEX_UNCAMELIZE = /([a-zA-Z][a-zA-Z])([A-Z])([a-z])/g,
+ REGEX_UNCAMELIZE_REPLACE_SEPARATOR = /([a-z])([A-Z])/g,
+ STR_ELLIPSIS = '...',
+
+ htmlUnescapedValues = [],
+
+ MAP_HTML_CHARS_ESCAPED = {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ '\'': ''',
+ '/': '/',
+ '`': '`'
+ },
+ htmlChar,
+ MAP_HTML_CHARS_UNESCAPED = {};
+
+ for (htmlChar in MAP_HTML_CHARS_ESCAPED) {
+ if (MAP_HTML_CHARS_ESCAPED.hasOwnProperty(htmlChar)) {
+ var escapedValue = MAP_HTML_CHARS_ESCAPED[htmlChar];
+
+ MAP_HTML_CHARS_UNESCAPED[escapedValue] = htmlChar;
+
+ htmlUnescapedValues.push(htmlChar);
+ }
+ }
+
+ var REGEX_HTML_ESCAPE = new RegExp('[' + htmlUnescapedValues.join('') + ']', 'g'),
+ REGEX_HTML_UNESCAPE = /&([^;]+);/g;
+
+ A.mix(LString, {
+ camelize: A.cached(
+ function(str, separator) {
+ var regex = REGEX_DASH;
+
+ str = String(str);
+
+ if (separator) {
+ regex = new RegExp(separator + '([a-z])', 'gi');
+ }
+
+ return str.replace(regex, LString._camelize);
+ }
+ ),
+
+ capitalize: A.cached(
+ function(str) {
+ if (str) {
+ str = String(str);
+
+ str = str.charAt(0).toUpperCase() + str.substr(1).toLowerCase();
+ }
+
+ return str;
+ }
+ ),
+
+ contains: function(str, searchString) {
+ return str.indexOf(searchString) !== -1;
+ },
+
+ defaultValue: function(str, defaultValue) {
+ if (isUndefined(str) || str === '') {
+ if (isUndefined(defaultValue)) {
+ defaultValue = '';
+ }
+
+ str = defaultValue;
+ }
+
+ return str;
+ },
+
+ endsWith: function(str, suffix) {
+ var length = (str.length - suffix.length);
+
+ return ((length >= 0) && (str.indexOf(suffix, length) === length));
+ },
+
+ escapeHTML: function(str) {
+ return str.replace(REGEX_HTML_ESCAPE, LString._escapeHTML);
+ },
+
+ // Courtesy of: http://simonwillison.net/2006/Jan/20/escape/
+ escapeRegEx: function(str) {
+ return str.replace(REGEX_ESCAPE_REGEX, '\\$1');
+ },
+
+ nl2br: function(str) {
+ return String(str).replace(REGEX_NL2BR, ' ');
+ },
+
+ padNumber: function(num, length, precision) {
+ var str = precision ? Number(num).toFixed(precision) : String(num);
+ var index = str.indexOf('.');
+
+ if (index === -1) {
+ index = str.length;
+ }
+
+ return LString.repeat('0', Math.max(0, length - index)) + str;
+ },
+
+ pluralize: function(count, singularVersion, pluralVersion) {
+ var suffix;
+
+ if (count === 1) {
+ suffix = singularVersion;
+ }
+ else {
+ suffix = pluralVersion || singularVersion + 's';
+ }
+
+ return count + ' ' + suffix;
+ },
+
+ prefix: function(prefix, str) {
+ str = String(str);
+
+ if (str.indexOf(prefix) !== 0) {
+ str = prefix + str;
+ }
+
+ return str;
+ },
+
+ remove: function(str, substitute, all) {
+ var re = new RegExp(LString.escapeRegEx(substitute), all ? 'g' : '');
+
+ return str.replace(re, '');
+ },
+
+ removeAll: function(str, substitute) {
+ return LString.remove(str, substitute, true);
+ },
+
+ repeat: function(str, length) {
+ return new Array(length + 1).join(str);
+ },
+
+ round: function(value, precision) {
+ value = Number(value);
+
+ if (isNumber(precision)) {
+ precision = Math.pow(10, precision);
+ value = Math.round(value * precision) / precision;
+ }
+
+ return value;
+ },
+
+ startsWith: function(str, prefix) {
+ return (str.lastIndexOf(prefix, 0) === 0);
+ },
+
+ stripScripts: function(str) {
+ if (str) {
+ str = String(str).replace(REGEX_STRIP_SCRIPTS, '');
+ }
+
+ return str;
+ },
+
+ stripTags: function(str) {
+ if (str) {
+ str = String(str).replace(REGEX_STRIP_TAGS, '');
+ }
+
+ return str;
+ },
+
+ substr: function(str, start, length) {
+ return String(str).substr(start, length);
+ },
+
+ uncamelize: A.cached(
+ function(str, separator) {
+ separator = separator || ' ';
+
+ str = String(str);
+
+ str = str.replace(REGEX_UNCAMELIZE, '$1' + separator + '$2$3');
+ str = str.replace(REGEX_UNCAMELIZE_REPLACE_SEPARATOR, '$1' + separator + '$2');
+
+ return str;
+ }
+ ),
+
+ toLowerCase: function(str) {
+ return String(str).toLowerCase();
+ },
+
+ toUpperCase: function(str) {
+ return String(str).toUpperCase();
+ },
+
+ trim: Lang.trim,
+
+ truncate: function(str, length, where) {
+ str = String(str);
+
+ var ellipsisLength = STR_ELLIPSIS.length,
+ strLength = str.length;
+
+ if (length > 3) {
+ if (str && (strLength > length)) {
+ where = where || 'end';
+
+ if (where === 'end') {
+ str = str.substr(0, (length - ellipsisLength)) + STR_ELLIPSIS;
+ }
+ else if (where === 'middle') {
+ var middlePointA = Math.floor((length - ellipsisLength) / 2),
+ middlePointB = middlePointA;
+
+ if (length % 2 === 0) {
+ middlePointA = Math.ceil((length - ellipsisLength) / 2);
+ middlePointB = Math.floor((length - ellipsisLength) / 2);
+ }
+
+ str = str.substr(0, middlePointA) + STR_ELLIPSIS + str.substr(strLength - middlePointB);
+ }
+ else if (where === 'start') {
+ str = STR_ELLIPSIS + str.substr(strLength - length + ellipsisLength);
+ }
+ }
+ }
+ else {
+ str = STR_ELLIPSIS;
+ }
+
+ return str;
+ },
+
+ undef: function(str) {
+ if (isUndefined(str)) {
+ str = '';
+ }
+
+ return str;
+ },
+
+ // inspired from Google unescape entities
+ unescapeEntities: function(str) {
+ if (LString.contains(str, '&')) {
+ if (DOC && !LString.contains(str, '<')) {
+ str = LString._unescapeEntitiesUsingDom(str);
+ }
+ else {
+ str = LString.unescapeHTML(str);
+ }
+ }
+
+ return str;
+ },
+
+ unescapeHTML: function(str) {
+ return str.replace(REGEX_HTML_UNESCAPE, LString._unescapeHTML);
+ },
+
+ _camelize: function(match0, match1) {
+ return match1.toUpperCase();
+ },
+
+ _escapeHTML: function(match) {
+ return MAP_HTML_CHARS_ESCAPED[match];
+ },
+
+ _unescapeHTML: function(match, entity) {
+ var value = MAP_HTML_CHARS_UNESCAPED[match] || match;
+
+ if (!value && entity.charAt(0) === '#') {
+ var charCode = Number('0' + value.substr(1));
+
+ if (!isNaN(charCode)) {
+ value = String.fromCharCode(charCode);
+ }
+ }
+
+ return value;
+ },
+
+ _unescapeEntitiesUsingDom: function(str) {
+ var el = DOC.createElement('a');
+
+ el.innerHTML = str;
+
+ if (el.normalize) {
+ el.normalize();
+ }
+
+ str = el.firstChild.nodeValue;
+
+ el.innerHTML = '';
+
+ return str;
+ }
+ });
+
+ /*
+ * Maps an object to an array, using the return value of fn as the values
+ * for the new array.
+ */
+ AObject.map = function(obj, fn, context) {
+ var map = [],
+ i;
+
+ for (i in obj) {
+ if (owns(obj, i)) {
+ map[map.length] = fn.call(context, obj[i], i, obj);
+ }
+ }
+
+ return map;
+ };
+
+ /*
+ * Maps an array or object to a resulting array, using the return value of
+ * fn as the values for the new array. Like A.each, this function can accept
+ * an object or an array.
+ */
+ A.map = function(obj) {
+ var module = AObject;
+
+ if (isArray(obj)) {
+ module = aArray;
+ }
+
+ return module.map.apply(this, arguments);
+ };
+}());
+
+
+}, '3.1.0-deprecated.52');
diff --git a/build/aui-boolean-data-editor/aui-boolean-data-editor-coverage.js b/build/aui-boolean-data-editor/aui-boolean-data-editor-coverage.js
new file mode 100644
index 00000000000..849e8e2556b
--- /dev/null
+++ b/build/aui-boolean-data-editor/aui-boolean-data-editor-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-boolean-data-editor/aui-boolean-data-editor.js']) {
+ __coverage__['build/aui-boolean-data-editor/aui-boolean-data-editor.js'] = {"path":"build/aui-boolean-data-editor/aui-boolean-data-editor.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":35},"end":{"line":1,"column":54}}},"2":{"name":"(anonymous_2)","line":33,"loc":{"start":{"line":33,"column":17},"end":{"line":33,"column":28}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":39},"end":{"line":56,"column":55}}},"4":{"name":"(anonymous_4)","line":66,"loc":{"start":{"line":66,"column":32},"end":{"line":66,"column":43}}},"5":{"name":"(anonymous_5)","line":79,"loc":{"start":{"line":79,"column":29},"end":{"line":79,"column":40}}},"6":{"name":"(anonymous_6)","line":90,"loc":{"start":{"line":90,"column":32},"end":{"line":90,"column":48}}},"7":{"name":"(anonymous_7)","line":101,"loc":{"start":{"line":101,"column":33},"end":{"line":101,"column":49}}},"8":{"name":"(anonymous_8)","line":111,"loc":{"start":{"line":111,"column":34},"end":{"line":111,"column":45}}},"9":{"name":"(anonymous_9)","line":124,"loc":{"start":{"line":124,"column":25},"end":{"line":124,"column":37}}},"10":{"name":"(anonymous_10)","line":139,"loc":{"start":{"line":139,"column":17},"end":{"line":139,"column":31}}},"11":{"name":"(anonymous_11)","line":154,"loc":{"start":{"line":154,"column":23},"end":{"line":154,"column":45}}},"12":{"name":"(anonymous_12)","line":171,"loc":{"start":{"line":171,"column":20},"end":{"line":171,"column":38}}},"13":{"name":"(anonymous_13)","line":183,"loc":{"start":{"line":183,"column":22},"end":{"line":183,"column":36}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":271,"column":82}},"2":{"start":{"line":9,"column":0},"end":{"line":11,"column":108}},"3":{"start":{"line":22,"column":0},"end":{"line":268,"column":3}},"4":{"start":{"line":34,"column":8},"end":{"line":34,"column":35}},"5":{"start":{"line":36,"column":8},"end":{"line":36,"column":56}},"6":{"start":{"line":38,"column":8},"end":{"line":38,"column":103}},"7":{"start":{"line":40,"column":8},"end":{"line":46,"column":11}},"8":{"start":{"line":57,"column":8},"end":{"line":57,"column":46}},"9":{"start":{"line":67,"column":8},"end":{"line":69,"column":9}},"10":{"start":{"line":68,"column":12},"end":{"line":68,"column":60}},"11":{"start":{"line":80,"column":8},"end":{"line":80,"column":56}},"12":{"start":{"line":91,"column":8},"end":{"line":91,"column":63}},"13":{"start":{"line":102,"column":8},"end":{"line":102,"column":64}},"14":{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},"15":{"start":{"line":113,"column":12},"end":{"line":113,"column":62}},"16":{"start":{"line":125,"column":8},"end":{"line":128,"column":85}},"17":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"18":{"start":{"line":141,"column":12},"end":{"line":141,"column":37}},"19":{"start":{"line":144,"column":8},"end":{"line":144,"column":19}},"20":{"start":{"line":155,"column":8},"end":{"line":155,"column":57}},"21":{"start":{"line":157,"column":8},"end":{"line":162,"column":9}},"22":{"start":{"line":158,"column":12},"end":{"line":158,"column":60}},"23":{"start":{"line":161,"column":12},"end":{"line":161,"column":62}},"24":{"start":{"line":172,"column":8},"end":{"line":172,"column":85}},"25":{"start":{"line":184,"column":8},"end":{"line":184,"column":65}}},"branchMap":{"1":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":8},"end":{"line":67,"column":8}},{"start":{"line":67,"column":8},"end":{"line":67,"column":8}}]},"2":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":8},"end":{"line":112,"column":8}},{"start":{"line":112,"column":8},"end":{"line":112,"column":8}}]},"3":{"line":140,"type":"if","locations":[{"start":{"line":140,"column":8},"end":{"line":140,"column":8}},{"start":{"line":140,"column":8},"end":{"line":140,"column":8}}]},"4":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":157,"column":8}},{"start":{"line":157,"column":8},"end":{"line":157,"column":8}}]},"5":{"line":184,"type":"binary-expr","locations":[{"start":{"line":184,"column":15},"end":{"line":184,"column":35}},{"start":{"line":184,"column":39},"end":{"line":184,"column":64}}]}},"code":["(function () { YUI.add('aui-boolean-data-editor', function (A, NAME) {","","/**"," * The Boolean Data Editor Component"," *"," * @module aui-boolean-data-editor"," */","","var CSS_BOOLEAN_DATA_EDITOR = A.getClassName('boolean', 'data', 'editor'),"," CSS_BOOLEAN_DATA_EDITOR_CONTENT = A.getClassName('boolean', 'data', 'editor', 'content'),"," CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON = A.getClassName('boolean', 'data', 'editor', 'switch', 'button');","","/**"," * A base class for Boolean Data Editor."," *"," * @class A.BooleanDataEditor"," * @extends A.DataEditor"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","A.BooleanDataEditor = A.Base.create('boolean-data-editor', A.DataEditor, [], {"," TPL_EDITOR_CONTENT: '',",""," /**"," * Constructor for the `A.BooleanDataEditor`. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," this._createSwitchButton();",""," this._uiSetEditedValue(this.get('editedValue'));",""," this._buttonSwitch.on('activatedChange', A.bind(this._afterButtonSwitchActivatedChange, this));",""," this.after({"," checkedContentChange: this._afterCheckedContentChange,"," editedValueChange: this._afterEditedValueChange,"," innerLabelLeftChange: this._afterInnerLabelLeftChange,"," innerLabelRightChange: this._afterInnerLabelRightChange,"," uncheckedContentChange: this._afterUncheckedContentChange"," });"," },",""," /**"," * Fired after the checkbox is clicked."," *"," * @method _afterButtonSwitchActivatedChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _afterButtonSwitchActivatedChange: function(event) {"," this.set('editedValue', event.newVal);"," },",""," /**"," * Fired after the `checkedContent` attribute is set."," *"," * @method _afterCheckedContentChange"," * @protected"," */"," _afterCheckedContentChange: function() {"," if (this.get('editedValue')) {"," this._updateContent(this.get('checkedContent'));"," }"," },",""," /**"," * Fired after the `editedValue` attribute is set."," *"," * @method _afterEditedValueChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _afterEditedValueChange: function() {"," this._uiSetEditedValue(this.get('editedValue'));"," },",""," /**"," * Fired after the `innerLabelLeft` attribute is set."," *"," * @method _afterInnerLabelLeftChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _afterInnerLabelLeftChange: function(event) {"," this._buttonSwitch.set('innerLabelLeft', event.newVal);"," },",""," /**"," * Fired after the `innerLabelRight` attribute is set."," *"," * @method _afterInnerLabelRightChange"," * @param {CustomEvent} event The fired event"," * @protected"," */"," _afterInnerLabelRightChange: function(event) {"," this._buttonSwitch.set('innerLabelRight', event.newVal);"," },",""," /**"," * Fired after the `uncheckedContent` attribute is set."," *"," * @method _afterUncheckedContentChange"," * @protected"," */"," _afterUncheckedContentChange: function() {"," if (!this.get('editedValue')) {"," this._updateContent(this.get('uncheckedContent'));"," }"," },",""," /**"," * Returns the switch button instance."," *"," * @method _createSwitchButton"," * @return {Object}"," * @protected"," */"," _createSwitchButton: function () {"," this._buttonSwitch = new A.ButtonSwitch({"," innerLabelLeft: this.get('innerLabelLeft'),"," innerLabelRight: this.get('innerLabelRight')"," }).render(this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON));"," },",""," /**"," * Sets content attributes like `checkedContent` and `uncheckedContent`."," *"," * @method _setContent"," * @param {String | Node} val"," * @return {Node}"," * @protected"," */"," _setContent: function(val) {"," if (A.Lang.isString(val)) {"," val = A.Node.create(val);"," }",""," return val;"," },",""," /**"," * Updates the ui according to the value of the `editedValue` attribute."," *"," * @method _uiSetEditedValue"," * @param editedValue"," * @protected"," */"," _uiSetEditedValue: function(editedValue) {"," this._buttonSwitch.set('activated', editedValue);",""," if (editedValue) {"," this._updateContent(this.get('checkedContent'));"," }"," else {"," this._updateContent(this.get('uncheckedContent'));"," }"," },",""," /**"," * Updates the boolean data editor with the given content."," *"," * @method _updateContent"," * @protected"," */"," _updateContent: function(content) {"," this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_CONTENT).setHTML(content);"," },",""," /**"," * Validates content attributes like `checkedContent` and `uncheckedContent`."," *"," * @method _validateContent"," * @param {*} val"," * @return {Boolean}"," * @protected"," */"," _validateContent: function(val) {"," return A.Lang.isString(val) || A.instanceOf(val, A.Node);"," }","}, {"," /**"," * Static property used to define the default attribute configuration"," * for the `A.BooleanDataEditor`."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {"," /**"," * Optional content that should show up when the data editor is in the"," * checked state."," *"," * @attribute checkedContent"," * @default null"," * @type String | Node"," */"," checkedContent: {"," setter: '_setContent',"," validator: '_validateContent',"," value: ''"," },",""," /**"," * The value after edition."," *"," * @attribute editedValue"," * @default false"," * @type Boolean"," */"," editedValue: {"," value: false"," },",""," /**"," * The label to be used on button left side."," *"," * @attribute innerLabelLeft"," * @type String"," */"," innerLabelLeft: {"," validator: A.Lang.isString,"," value: ''"," },",""," /**"," * The label to be used on button right side."," *"," * @attribute innerLabelRight"," * @type String"," */"," innerLabelRight: {"," validator: A.Lang.isString,"," value: ''"," },",""," /**"," * The value to be edited."," *"," * @attribute originalValue"," * @default false"," * @type Boolean"," */"," originalValue: {"," value: false"," },",""," /**"," * Optional content that should show up when the data editor is in the"," * unchecked state."," *"," * @attribute uncheckedContent"," * @default null"," * @type String | Node"," */"," uncheckedContent: {"," setter: '_setContent',"," validator: '_validateContent',"," value: ''"," }"," }","});","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-button-switch\", \"aui-data-editor\"]});","","}());"]};
+}
+var __cov_ejWiVJolQwA$DXY2P9CiEA = __coverage__['build/aui-boolean-data-editor/aui-boolean-data-editor.js'];
+__cov_ejWiVJolQwA$DXY2P9CiEA.s['1']++;YUI.add('aui-boolean-data-editor',function(A,NAME){__cov_ejWiVJolQwA$DXY2P9CiEA.f['1']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['2']++;var CSS_BOOLEAN_DATA_EDITOR=A.getClassName('boolean','data','editor'),CSS_BOOLEAN_DATA_EDITOR_CONTENT=A.getClassName('boolean','data','editor','content'),CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON=A.getClassName('boolean','data','editor','switch','button');__cov_ejWiVJolQwA$DXY2P9CiEA.s['3']++;A.BooleanDataEditor=A.Base.create('boolean-data-editor',A.DataEditor,[],{TPL_EDITOR_CONTENT:'',initializer:function(){__cov_ejWiVJolQwA$DXY2P9CiEA.f['2']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['4']++;this._createSwitchButton();__cov_ejWiVJolQwA$DXY2P9CiEA.s['5']++;this._uiSetEditedValue(this.get('editedValue'));__cov_ejWiVJolQwA$DXY2P9CiEA.s['6']++;this._buttonSwitch.on('activatedChange',A.bind(this._afterButtonSwitchActivatedChange,this));__cov_ejWiVJolQwA$DXY2P9CiEA.s['7']++;this.after({checkedContentChange:this._afterCheckedContentChange,editedValueChange:this._afterEditedValueChange,innerLabelLeftChange:this._afterInnerLabelLeftChange,innerLabelRightChange:this._afterInnerLabelRightChange,uncheckedContentChange:this._afterUncheckedContentChange});},_afterButtonSwitchActivatedChange:function(event){__cov_ejWiVJolQwA$DXY2P9CiEA.f['3']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['8']++;this.set('editedValue',event.newVal);},_afterCheckedContentChange:function(){__cov_ejWiVJolQwA$DXY2P9CiEA.f['4']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['9']++;if(this.get('editedValue')){__cov_ejWiVJolQwA$DXY2P9CiEA.b['1'][0]++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['10']++;this._updateContent(this.get('checkedContent'));}else{__cov_ejWiVJolQwA$DXY2P9CiEA.b['1'][1]++;}},_afterEditedValueChange:function(){__cov_ejWiVJolQwA$DXY2P9CiEA.f['5']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['11']++;this._uiSetEditedValue(this.get('editedValue'));},_afterInnerLabelLeftChange:function(event){__cov_ejWiVJolQwA$DXY2P9CiEA.f['6']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['12']++;this._buttonSwitch.set('innerLabelLeft',event.newVal);},_afterInnerLabelRightChange:function(event){__cov_ejWiVJolQwA$DXY2P9CiEA.f['7']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['13']++;this._buttonSwitch.set('innerLabelRight',event.newVal);},_afterUncheckedContentChange:function(){__cov_ejWiVJolQwA$DXY2P9CiEA.f['8']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['14']++;if(!this.get('editedValue')){__cov_ejWiVJolQwA$DXY2P9CiEA.b['2'][0]++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['15']++;this._updateContent(this.get('uncheckedContent'));}else{__cov_ejWiVJolQwA$DXY2P9CiEA.b['2'][1]++;}},_createSwitchButton:function(){__cov_ejWiVJolQwA$DXY2P9CiEA.f['9']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['16']++;this._buttonSwitch=new A.ButtonSwitch({innerLabelLeft:this.get('innerLabelLeft'),innerLabelRight:this.get('innerLabelRight')}).render(this.get('node').one('.'+CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON));},_setContent:function(val){__cov_ejWiVJolQwA$DXY2P9CiEA.f['10']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['17']++;if(A.Lang.isString(val)){__cov_ejWiVJolQwA$DXY2P9CiEA.b['3'][0]++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['18']++;val=A.Node.create(val);}else{__cov_ejWiVJolQwA$DXY2P9CiEA.b['3'][1]++;}__cov_ejWiVJolQwA$DXY2P9CiEA.s['19']++;return val;},_uiSetEditedValue:function(editedValue){__cov_ejWiVJolQwA$DXY2P9CiEA.f['11']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['20']++;this._buttonSwitch.set('activated',editedValue);__cov_ejWiVJolQwA$DXY2P9CiEA.s['21']++;if(editedValue){__cov_ejWiVJolQwA$DXY2P9CiEA.b['4'][0]++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['22']++;this._updateContent(this.get('checkedContent'));}else{__cov_ejWiVJolQwA$DXY2P9CiEA.b['4'][1]++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['23']++;this._updateContent(this.get('uncheckedContent'));}},_updateContent:function(content){__cov_ejWiVJolQwA$DXY2P9CiEA.f['12']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['24']++;this.get('node').one('.'+CSS_BOOLEAN_DATA_EDITOR_CONTENT).setHTML(content);},_validateContent:function(val){__cov_ejWiVJolQwA$DXY2P9CiEA.f['13']++;__cov_ejWiVJolQwA$DXY2P9CiEA.s['25']++;return(__cov_ejWiVJolQwA$DXY2P9CiEA.b['5'][0]++,A.Lang.isString(val))||(__cov_ejWiVJolQwA$DXY2P9CiEA.b['5'][1]++,A.instanceOf(val,A.Node));}},{ATTRS:{checkedContent:{setter:'_setContent',validator:'_validateContent',value:''},editedValue:{value:false},innerLabelLeft:{validator:A.Lang.isString,value:''},innerLabelRight:{validator:A.Lang.isString,value:''},originalValue:{value:false},uncheckedContent:{setter:'_setContent',validator:'_validateContent',value:''}}});},'3.1.0-deprecated.52',{'requires':['aui-button-switch','aui-data-editor']});
diff --git a/build/aui-boolean-data-editor/aui-boolean-data-editor-debug.js b/build/aui-boolean-data-editor/aui-boolean-data-editor-debug.js
new file mode 100644
index 00000000000..4e5ba77d1ba
--- /dev/null
+++ b/build/aui-boolean-data-editor/aui-boolean-data-editor-debug.js
@@ -0,0 +1,271 @@
+YUI.add('aui-boolean-data-editor', function (A, NAME) {
+
+/**
+ * The Boolean Data Editor Component
+ *
+ * @module aui-boolean-data-editor
+ */
+
+var CSS_BOOLEAN_DATA_EDITOR = A.getClassName('boolean', 'data', 'editor'),
+ CSS_BOOLEAN_DATA_EDITOR_CONTENT = A.getClassName('boolean', 'data', 'editor', 'content'),
+ CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON = A.getClassName('boolean', 'data', 'editor', 'switch', 'button');
+
+/**
+ * A base class for Boolean Data Editor.
+ *
+ * @class A.BooleanDataEditor
+ * @extends A.DataEditor
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.BooleanDataEditor = A.Base.create('boolean-data-editor', A.DataEditor, [], {
+ TPL_EDITOR_CONTENT: '',
+
+ /**
+ * Constructor for the `A.BooleanDataEditor`. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this._createSwitchButton();
+
+ this._uiSetEditedValue(this.get('editedValue'));
+
+ this._buttonSwitch.on('activatedChange', A.bind(this._afterButtonSwitchActivatedChange, this));
+
+ this.after({
+ checkedContentChange: this._afterCheckedContentChange,
+ editedValueChange: this._afterEditedValueChange,
+ innerLabelLeftChange: this._afterInnerLabelLeftChange,
+ innerLabelRightChange: this._afterInnerLabelRightChange,
+ uncheckedContentChange: this._afterUncheckedContentChange
+ });
+ },
+
+ /**
+ * Fired after the checkbox is clicked.
+ *
+ * @method _afterButtonSwitchActivatedChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterButtonSwitchActivatedChange: function(event) {
+ this.set('editedValue', event.newVal);
+ },
+
+ /**
+ * Fired after the `checkedContent` attribute is set.
+ *
+ * @method _afterCheckedContentChange
+ * @protected
+ */
+ _afterCheckedContentChange: function() {
+ if (this.get('editedValue')) {
+ this._updateContent(this.get('checkedContent'));
+ }
+ },
+
+ /**
+ * Fired after the `editedValue` attribute is set.
+ *
+ * @method _afterEditedValueChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterEditedValueChange: function() {
+ this._uiSetEditedValue(this.get('editedValue'));
+ },
+
+ /**
+ * Fired after the `innerLabelLeft` attribute is set.
+ *
+ * @method _afterInnerLabelLeftChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterInnerLabelLeftChange: function(event) {
+ this._buttonSwitch.set('innerLabelLeft', event.newVal);
+ },
+
+ /**
+ * Fired after the `innerLabelRight` attribute is set.
+ *
+ * @method _afterInnerLabelRightChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterInnerLabelRightChange: function(event) {
+ this._buttonSwitch.set('innerLabelRight', event.newVal);
+ },
+
+ /**
+ * Fired after the `uncheckedContent` attribute is set.
+ *
+ * @method _afterUncheckedContentChange
+ * @protected
+ */
+ _afterUncheckedContentChange: function() {
+ if (!this.get('editedValue')) {
+ this._updateContent(this.get('uncheckedContent'));
+ }
+ },
+
+ /**
+ * Returns the switch button instance.
+ *
+ * @method _createSwitchButton
+ * @return {Object}
+ * @protected
+ */
+ _createSwitchButton: function () {
+ this._buttonSwitch = new A.ButtonSwitch({
+ innerLabelLeft: this.get('innerLabelLeft'),
+ innerLabelRight: this.get('innerLabelRight')
+ }).render(this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON));
+ },
+
+ /**
+ * Sets content attributes like `checkedContent` and `uncheckedContent`.
+ *
+ * @method _setContent
+ * @param {String | Node} val
+ * @return {Node}
+ * @protected
+ */
+ _setContent: function(val) {
+ if (A.Lang.isString(val)) {
+ val = A.Node.create(val);
+ }
+
+ return val;
+ },
+
+ /**
+ * Updates the ui according to the value of the `editedValue` attribute.
+ *
+ * @method _uiSetEditedValue
+ * @param editedValue
+ * @protected
+ */
+ _uiSetEditedValue: function(editedValue) {
+ this._buttonSwitch.set('activated', editedValue);
+
+ if (editedValue) {
+ this._updateContent(this.get('checkedContent'));
+ }
+ else {
+ this._updateContent(this.get('uncheckedContent'));
+ }
+ },
+
+ /**
+ * Updates the boolean data editor with the given content.
+ *
+ * @method _updateContent
+ * @protected
+ */
+ _updateContent: function(content) {
+ this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_CONTENT).setHTML(content);
+ },
+
+ /**
+ * Validates content attributes like `checkedContent` and `uncheckedContent`.
+ *
+ * @method _validateContent
+ * @param {*} val
+ * @return {Boolean}
+ * @protected
+ */
+ _validateContent: function(val) {
+ return A.Lang.isString(val) || A.instanceOf(val, A.Node);
+ }
+}, {
+ /**
+ * Static property used to define the default attribute configuration
+ * for the `A.BooleanDataEditor`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Optional content that should show up when the data editor is in the
+ * checked state.
+ *
+ * @attribute checkedContent
+ * @default null
+ * @type String | Node
+ */
+ checkedContent: {
+ setter: '_setContent',
+ validator: '_validateContent',
+ value: ''
+ },
+
+ /**
+ * The value after edition.
+ *
+ * @attribute editedValue
+ * @default false
+ * @type Boolean
+ */
+ editedValue: {
+ value: false
+ },
+
+ /**
+ * The label to be used on button left side.
+ *
+ * @attribute innerLabelLeft
+ * @type String
+ */
+ innerLabelLeft: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The label to be used on button right side.
+ *
+ * @attribute innerLabelRight
+ * @type String
+ */
+ innerLabelRight: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The value to be edited.
+ *
+ * @attribute originalValue
+ * @default false
+ * @type Boolean
+ */
+ originalValue: {
+ value: false
+ },
+
+ /**
+ * Optional content that should show up when the data editor is in the
+ * unchecked state.
+ *
+ * @attribute uncheckedContent
+ * @default null
+ * @type String | Node
+ */
+ uncheckedContent: {
+ setter: '_setContent',
+ validator: '_validateContent',
+ value: ''
+ }
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-button-switch", "aui-data-editor"]});
diff --git a/build/aui-boolean-data-editor/aui-boolean-data-editor-min.js b/build/aui-boolean-data-editor/aui-boolean-data-editor-min.js
new file mode 100644
index 00000000000..ec6e7798eb0
--- /dev/null
+++ b/build/aui-boolean-data-editor/aui-boolean-data-editor-min.js
@@ -0,0 +1 @@
+YUI.add("aui-boolean-data-editor",function(e,t){var n=e.getClassName("boolean","data","editor"),r=e.getClassName("boolean","data","editor","content"),i=e.getClassName("boolean","data","editor","switch","button");e.BooleanDataEditor=e.Base.create("boolean-data-editor",e.DataEditor,[],{TPL_EDITOR_CONTENT:'',initializer:function(){this._createSwitchButton(),this._uiSetEditedValue(this.get("editedValue")),this._buttonSwitch.on("activatedChange",e.bind(this._afterButtonSwitchActivatedChange,this)),this.after({checkedContentChange:this._afterCheckedContentChange,editedValueChange:this._afterEditedValueChange,innerLabelLeftChange:this._afterInnerLabelLeftChange,innerLabelRightChange:this._afterInnerLabelRightChange,uncheckedContentChange:this._afterUncheckedContentChange})},_afterButtonSwitchActivatedChange:function(e){this.set("editedValue",e.newVal)},_afterCheckedContentChange:function(){this.get("editedValue")&&this._updateContent(this.get("checkedContent"))},_afterEditedValueChange:function(){this._uiSetEditedValue(this.get("editedValue"))},_afterInnerLabelLeftChange:function(e){this._buttonSwitch.set("innerLabelLeft",e.newVal)},_afterInnerLabelRightChange:function(e){this._buttonSwitch.set("innerLabelRight",e.newVal)},_afterUncheckedContentChange:function(){this.get("editedValue")||this._updateContent(this.get("uncheckedContent"))},_createSwitchButton:function(){this._buttonSwitch=(new e.ButtonSwitch({innerLabelLeft:this.get("innerLabelLeft"),innerLabelRight:this.get("innerLabelRight")})).render(this.get("node").one("."+i))},_setContent:function(t){return e.Lang.isString(t)&&(t=e.Node.create(t)),t},_uiSetEditedValue:function(e){this._buttonSwitch.set("activated",e),e?this._updateContent(this.get("checkedContent")):this._updateContent(this.get("uncheckedContent"))},_updateContent:function(e){this.get("node").one("."+r).setHTML(e)},_validateContent:function(t){return e.Lang.isString(t)||e.instanceOf(t,e.Node)}},{ATTRS:{checkedContent:{setter:"_setContent",validator:"_validateContent",value:""},editedValue:{value:!1},innerLabelLeft:{validator:e.Lang.isString,value:""},innerLabelRight:{validator:e.Lang.isString,value:""},originalValue:{value:!1},uncheckedContent:{setter:"_setContent",validator:"_validateContent",value:""}}})},"3.1.0-deprecated.52",{requires:["aui-button-switch","aui-data-editor"]});
diff --git a/build/aui-boolean-data-editor/aui-boolean-data-editor.js b/build/aui-boolean-data-editor/aui-boolean-data-editor.js
new file mode 100644
index 00000000000..4e5ba77d1ba
--- /dev/null
+++ b/build/aui-boolean-data-editor/aui-boolean-data-editor.js
@@ -0,0 +1,271 @@
+YUI.add('aui-boolean-data-editor', function (A, NAME) {
+
+/**
+ * The Boolean Data Editor Component
+ *
+ * @module aui-boolean-data-editor
+ */
+
+var CSS_BOOLEAN_DATA_EDITOR = A.getClassName('boolean', 'data', 'editor'),
+ CSS_BOOLEAN_DATA_EDITOR_CONTENT = A.getClassName('boolean', 'data', 'editor', 'content'),
+ CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON = A.getClassName('boolean', 'data', 'editor', 'switch', 'button');
+
+/**
+ * A base class for Boolean Data Editor.
+ *
+ * @class A.BooleanDataEditor
+ * @extends A.DataEditor
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.BooleanDataEditor = A.Base.create('boolean-data-editor', A.DataEditor, [], {
+ TPL_EDITOR_CONTENT: '',
+
+ /**
+ * Constructor for the `A.BooleanDataEditor`. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this._createSwitchButton();
+
+ this._uiSetEditedValue(this.get('editedValue'));
+
+ this._buttonSwitch.on('activatedChange', A.bind(this._afterButtonSwitchActivatedChange, this));
+
+ this.after({
+ checkedContentChange: this._afterCheckedContentChange,
+ editedValueChange: this._afterEditedValueChange,
+ innerLabelLeftChange: this._afterInnerLabelLeftChange,
+ innerLabelRightChange: this._afterInnerLabelRightChange,
+ uncheckedContentChange: this._afterUncheckedContentChange
+ });
+ },
+
+ /**
+ * Fired after the checkbox is clicked.
+ *
+ * @method _afterButtonSwitchActivatedChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterButtonSwitchActivatedChange: function(event) {
+ this.set('editedValue', event.newVal);
+ },
+
+ /**
+ * Fired after the `checkedContent` attribute is set.
+ *
+ * @method _afterCheckedContentChange
+ * @protected
+ */
+ _afterCheckedContentChange: function() {
+ if (this.get('editedValue')) {
+ this._updateContent(this.get('checkedContent'));
+ }
+ },
+
+ /**
+ * Fired after the `editedValue` attribute is set.
+ *
+ * @method _afterEditedValueChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterEditedValueChange: function() {
+ this._uiSetEditedValue(this.get('editedValue'));
+ },
+
+ /**
+ * Fired after the `innerLabelLeft` attribute is set.
+ *
+ * @method _afterInnerLabelLeftChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterInnerLabelLeftChange: function(event) {
+ this._buttonSwitch.set('innerLabelLeft', event.newVal);
+ },
+
+ /**
+ * Fired after the `innerLabelRight` attribute is set.
+ *
+ * @method _afterInnerLabelRightChange
+ * @param {CustomEvent} event The fired event
+ * @protected
+ */
+ _afterInnerLabelRightChange: function(event) {
+ this._buttonSwitch.set('innerLabelRight', event.newVal);
+ },
+
+ /**
+ * Fired after the `uncheckedContent` attribute is set.
+ *
+ * @method _afterUncheckedContentChange
+ * @protected
+ */
+ _afterUncheckedContentChange: function() {
+ if (!this.get('editedValue')) {
+ this._updateContent(this.get('uncheckedContent'));
+ }
+ },
+
+ /**
+ * Returns the switch button instance.
+ *
+ * @method _createSwitchButton
+ * @return {Object}
+ * @protected
+ */
+ _createSwitchButton: function () {
+ this._buttonSwitch = new A.ButtonSwitch({
+ innerLabelLeft: this.get('innerLabelLeft'),
+ innerLabelRight: this.get('innerLabelRight')
+ }).render(this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_SWITCH_BUTTON));
+ },
+
+ /**
+ * Sets content attributes like `checkedContent` and `uncheckedContent`.
+ *
+ * @method _setContent
+ * @param {String | Node} val
+ * @return {Node}
+ * @protected
+ */
+ _setContent: function(val) {
+ if (A.Lang.isString(val)) {
+ val = A.Node.create(val);
+ }
+
+ return val;
+ },
+
+ /**
+ * Updates the ui according to the value of the `editedValue` attribute.
+ *
+ * @method _uiSetEditedValue
+ * @param editedValue
+ * @protected
+ */
+ _uiSetEditedValue: function(editedValue) {
+ this._buttonSwitch.set('activated', editedValue);
+
+ if (editedValue) {
+ this._updateContent(this.get('checkedContent'));
+ }
+ else {
+ this._updateContent(this.get('uncheckedContent'));
+ }
+ },
+
+ /**
+ * Updates the boolean data editor with the given content.
+ *
+ * @method _updateContent
+ * @protected
+ */
+ _updateContent: function(content) {
+ this.get('node').one('.' + CSS_BOOLEAN_DATA_EDITOR_CONTENT).setHTML(content);
+ },
+
+ /**
+ * Validates content attributes like `checkedContent` and `uncheckedContent`.
+ *
+ * @method _validateContent
+ * @param {*} val
+ * @return {Boolean}
+ * @protected
+ */
+ _validateContent: function(val) {
+ return A.Lang.isString(val) || A.instanceOf(val, A.Node);
+ }
+}, {
+ /**
+ * Static property used to define the default attribute configuration
+ * for the `A.BooleanDataEditor`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Optional content that should show up when the data editor is in the
+ * checked state.
+ *
+ * @attribute checkedContent
+ * @default null
+ * @type String | Node
+ */
+ checkedContent: {
+ setter: '_setContent',
+ validator: '_validateContent',
+ value: ''
+ },
+
+ /**
+ * The value after edition.
+ *
+ * @attribute editedValue
+ * @default false
+ * @type Boolean
+ */
+ editedValue: {
+ value: false
+ },
+
+ /**
+ * The label to be used on button left side.
+ *
+ * @attribute innerLabelLeft
+ * @type String
+ */
+ innerLabelLeft: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The label to be used on button right side.
+ *
+ * @attribute innerLabelRight
+ * @type String
+ */
+ innerLabelRight: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * The value to be edited.
+ *
+ * @attribute originalValue
+ * @default false
+ * @type Boolean
+ */
+ originalValue: {
+ value: false
+ },
+
+ /**
+ * Optional content that should show up when the data editor is in the
+ * unchecked state.
+ *
+ * @attribute uncheckedContent
+ * @default null
+ * @type String | Node
+ */
+ uncheckedContent: {
+ setter: '_setContent',
+ validator: '_validateContent',
+ value: ''
+ }
+ }
+});
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-button-switch", "aui-data-editor"]});
diff --git a/build/aui-button-core/assets/aui-button-core-core.css b/build/aui-button-core/assets/aui-button-core-core.css
new file mode 100644
index 00000000000..3ca69a26912
--- /dev/null
+++ b/build/aui-button-core/assets/aui-button-core-core.css
@@ -0,0 +1,7 @@
+.btn-hidden {
+ display: none;
+}
+
+.btn-group-hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/build/aui-button-core/assets/aui-button-switch-core.css b/build/aui-button-core/assets/aui-button-switch-core.css
new file mode 100644
index 00000000000..8aa34a366f3
--- /dev/null
+++ b/build/aui-button-core/assets/aui-button-switch-core.css
@@ -0,0 +1,48 @@
+.button-switch {
+ display: block;
+ box-sizing: border-box;
+ width: 32px;
+ height: 16px;
+ border-radius: 999px;
+ background-color: #d8d9db;
+ margin-bottom: 10px;
+ position: relative;
+ line-height: 34px;
+ z-index: 1;
+}
+
+.button-switch-inner-circle {
+ position: absolute;
+ margin-top: 1px;
+ left: 3px;
+ border-radius: 50%;
+ width: 13px;
+ height: 13px;
+ display: inline-block;
+ background-color: #fff;
+ z-index: 3;
+}
+
+.button-switch-inner-label-left {
+ margin-left: 4px;
+ position: absolute;
+ z-index: 2;
+ font-weight: normal;
+}
+
+.button-switch-inner-label-right {
+ margin-right: 4px;
+ position: absolute;
+ right: 0;
+ z-index: 2;
+ font-weight: normal;
+}
+
+.button-switch-left {
+ left: 2px;
+}
+
+.button-switch-right {
+ right: 2px;
+ left: initial;
+}
\ No newline at end of file
diff --git a/build/aui-button-core/assets/skins/sam/aui-button-core-skin.css b/build/aui-button-core/assets/skins/sam/aui-button-core-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-button-core/assets/skins/sam/aui-button-core.css b/build/aui-button-core/assets/skins/sam/aui-button-core.css
new file mode 100644
index 00000000000..83a197de085
--- /dev/null
+++ b/build/aui-button-core/assets/skins/sam/aui-button-core.css
@@ -0,0 +1 @@
+.btn-hidden{display:none}.btn-group-hidden{display:none}#yui3-css-stamp.skin-sam-aui-button-core{display:none}
diff --git a/build/aui-button-core/assets/skins/sam/aui-button-switch-skin.css b/build/aui-button-core/assets/skins/sam/aui-button-switch-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-button-core/aui-button-core-coverage.js b/build/aui-button-core/aui-button-core-coverage.js
new file mode 100644
index 00000000000..f22c9dd50b3
--- /dev/null
+++ b/build/aui-button-core/aui-button-core-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-button-core/aui-button-core.js']) {
+ __coverage__['build/aui-button-core/aui-button-core.js'] = {"path":"build/aui-button-core/aui-button-core.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"(anonymous_2)","line":28,"loc":{"start":{"line":28,"column":16},"end":{"line":28,"column":33}}},"3":{"name":"(anonymous_3)","line":96,"loc":{"start":{"line":96,"column":17},"end":{"line":96,"column":28}}},"4":{"name":"(anonymous_4)","line":137,"loc":{"start":{"line":137,"column":35},"end":{"line":137,"column":60}}},"5":{"name":"(anonymous_5)","line":153,"loc":{"start":{"line":153,"column":17},"end":{"line":153,"column":28}}},"6":{"name":"(anonymous_6)","line":169,"loc":{"start":{"line":169,"column":23},"end":{"line":169,"column":34}}},"7":{"name":"(anonymous_7)","line":183,"loc":{"start":{"line":183,"column":21},"end":{"line":183,"column":32}}},"8":{"name":"(anonymous_8)","line":195,"loc":{"start":{"line":195,"column":27},"end":{"line":195,"column":43}}},"9":{"name":"(anonymous_9)","line":206,"loc":{"start":{"line":206,"column":22},"end":{"line":206,"column":38}}},"10":{"name":"(anonymous_10)","line":217,"loc":{"start":{"line":217,"column":23},"end":{"line":217,"column":38}}},"11":{"name":"(anonymous_11)","line":227,"loc":{"start":{"line":227,"column":20},"end":{"line":227,"column":31}}},"12":{"name":"(anonymous_12)","line":239,"loc":{"start":{"line":239,"column":28},"end":{"line":239,"column":43}}},"13":{"name":"(anonymous_13)","line":251,"loc":{"start":{"line":251,"column":16},"end":{"line":251,"column":30}}},"14":{"name":"(anonymous_14)","line":265,"loc":{"start":{"line":265,"column":21},"end":{"line":265,"column":35}}},"15":{"name":"(anonymous_15)","line":324,"loc":{"start":{"line":324,"column":42},"end":{"line":324,"column":57}}},"16":{"name":"(anonymous_16)","line":339,"loc":{"start":{"line":339,"column":34},"end":{"line":339,"column":49}}},"17":{"name":"(anonymous_17)","line":350,"loc":{"start":{"line":350,"column":38},"end":{"line":350,"column":61}}},"18":{"name":"(anonymous_18)","line":362,"loc":{"start":{"line":362,"column":16},"end":{"line":362,"column":64}}},"19":{"name":"(anonymous_19)","line":420,"loc":{"start":{"line":420,"column":17},"end":{"line":420,"column":28}}},"20":{"name":"(anonymous_20)","line":430,"loc":{"start":{"line":430,"column":14},"end":{"line":430,"column":25}}},"21":{"name":"(anonymous_21)","line":434,"loc":{"start":{"line":434,"column":31},"end":{"line":434,"column":48}}},"22":{"name":"(anonymous_22)","line":467,"loc":{"start":{"line":467,"column":10},"end":{"line":467,"column":26}}},"23":{"name":"(anonymous_23)","line":487,"loc":{"start":{"line":487,"column":12},"end":{"line":487,"column":28}}},"24":{"name":"(anonymous_24)","line":497,"loc":{"start":{"line":497,"column":22},"end":{"line":497,"column":40}}},"25":{"name":"(anonymous_25)","line":500,"loc":{"start":{"line":500,"column":21},"end":{"line":500,"column":38}}},"26":{"name":"(anonymous_26)","line":514,"loc":{"start":{"line":514,"column":18},"end":{"line":514,"column":50}}},"27":{"name":"(anonymous_27)","line":526,"loc":{"start":{"line":526,"column":28},"end":{"line":526,"column":43}}},"28":{"name":"(anonymous_28)","line":560,"loc":{"start":{"line":560,"column":14},"end":{"line":560,"column":30}}},"29":{"name":"(anonymous_29)","line":570,"loc":{"start":{"line":570,"column":27},"end":{"line":570,"column":38}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":586,"column":3}},"2":{"start":{"line":9,"column":0},"end":{"line":18,"column":6}},"3":{"start":{"line":28,"column":0},"end":{"line":32,"column":2}},"4":{"start":{"line":29,"column":4},"end":{"line":31,"column":5}},"5":{"start":{"line":30,"column":8},"end":{"line":30,"column":52}},"6":{"start":{"line":41,"column":0},"end":{"line":112,"column":2}},"7":{"start":{"line":97,"column":12},"end":{"line":97,"column":53}},"8":{"start":{"line":122,"column":0},"end":{"line":124,"column":2}},"9":{"start":{"line":137,"column":0},"end":{"line":141,"column":2}},"10":{"start":{"line":138,"column":4},"end":{"line":140,"column":7}},"11":{"start":{"line":143,"column":0},"end":{"line":277,"column":2}},"12":{"start":{"line":154,"column":8},"end":{"line":154,"column":62}},"13":{"start":{"line":155,"column":8},"end":{"line":155,"column":57}},"14":{"start":{"line":156,"column":8},"end":{"line":159,"column":11}},"15":{"start":{"line":170,"column":8},"end":{"line":170,"column":44}},"16":{"start":{"line":172,"column":8},"end":{"line":175,"column":9}},"17":{"start":{"line":173,"column":12},"end":{"line":173,"column":92}},"18":{"start":{"line":174,"column":12},"end":{"line":174,"column":43}},"19":{"start":{"line":184,"column":8},"end":{"line":184,"column":42}},"20":{"start":{"line":185,"column":8},"end":{"line":185,"column":30}},"21":{"start":{"line":196,"column":8},"end":{"line":196,"column":43}},"22":{"start":{"line":207,"column":8},"end":{"line":207,"column":38}},"23":{"start":{"line":218,"column":8},"end":{"line":218,"column":82}},"24":{"start":{"line":228,"column":8},"end":{"line":228,"column":63}},"25":{"start":{"line":240,"column":8},"end":{"line":241,"column":48}},"26":{"start":{"line":252,"column":8},"end":{"line":255,"column":8}},"27":{"start":{"line":253,"column":11},"end":{"line":253,"column":57}},"28":{"start":{"line":254,"column":11},"end":{"line":254,"column":55}},"29":{"start":{"line":270,"column":8},"end":{"line":270,"column":82}},"30":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"31":{"start":{"line":272,"column":12},"end":{"line":272,"column":50}},"32":{"start":{"line":275,"column":8},"end":{"line":275,"column":71}},"33":{"start":{"line":279,"column":0},"end":{"line":279,"column":24}},"34":{"start":{"line":294,"column":0},"end":{"line":294,"column":39}},"35":{"start":{"line":296,"column":0},"end":{"line":296,"column":22}},"36":{"start":{"line":298,"column":0},"end":{"line":298,"column":27}},"37":{"start":{"line":300,"column":0},"end":{"line":300,"column":33}},"38":{"start":{"line":302,"column":0},"end":{"line":302,"column":33}},"39":{"start":{"line":314,"column":0},"end":{"line":373,"column":3}},"40":{"start":{"line":325,"column":8},"end":{"line":325,"column":61}},"41":{"start":{"line":327,"column":8},"end":{"line":327,"column":34}},"42":{"start":{"line":328,"column":8},"end":{"line":328,"column":29}},"43":{"start":{"line":329,"column":8},"end":{"line":329,"column":22}},"44":{"start":{"line":340,"column":8},"end":{"line":340,"column":63}},"45":{"start":{"line":351,"column":8},"end":{"line":351,"column":50}},"46":{"start":{"line":363,"column":8},"end":{"line":364,"column":56}},"47":{"start":{"line":366,"column":8},"end":{"line":368,"column":9}},"48":{"start":{"line":367,"column":12},"end":{"line":367,"column":29}},"49":{"start":{"line":370,"column":8},"end":{"line":370,"column":50}},"50":{"start":{"line":371,"column":8},"end":{"line":371,"column":53}},"51":{"start":{"line":375,"column":0},"end":{"line":375,"column":34}},"52":{"start":{"line":377,"column":0},"end":{"line":377,"column":32}},"53":{"start":{"line":379,"column":0},"end":{"line":379,"column":45}},"54":{"start":{"line":381,"column":0},"end":{"line":381,"column":39}},"55":{"start":{"line":392,"column":0},"end":{"line":392,"column":103}},"56":{"start":{"line":394,"column":0},"end":{"line":394,"column":32}},"57":{"start":{"line":396,"column":0},"end":{"line":396,"column":30}},"58":{"start":{"line":398,"column":0},"end":{"line":398,"column":50}},"59":{"start":{"line":400,"column":0},"end":{"line":400,"column":38}},"60":{"start":{"line":408,"column":0},"end":{"line":573,"column":9}},"61":{"start":{"line":421,"column":8},"end":{"line":421,"column":66}},"62":{"start":{"line":431,"column":8},"end":{"line":432,"column":36}},"63":{"start":{"line":434,"column":8},"end":{"line":450,"column":11}},"64":{"start":{"line":435,"column":12},"end":{"line":449,"column":13}},"65":{"start":{"line":439,"column":16},"end":{"line":439,"column":73}},"66":{"start":{"line":440,"column":16},"end":{"line":440,"column":54}},"67":{"start":{"line":442,"column":16},"end":{"line":448,"column":17}},"68":{"start":{"line":443,"column":20},"end":{"line":443,"column":88}},"69":{"start":{"line":444,"column":20},"end":{"line":444,"column":76}},"70":{"start":{"line":447,"column":20},"end":{"line":447,"column":49}},"71":{"start":{"line":452,"column":8},"end":{"line":455,"column":11}},"72":{"start":{"line":457,"column":8},"end":{"line":457,"column":49}},"73":{"start":{"line":468,"column":8},"end":{"line":469,"column":17}},"74":{"start":{"line":471,"column":8},"end":{"line":471,"column":45}},"75":{"start":{"line":472,"column":8},"end":{"line":472,"column":40}},"76":{"start":{"line":474,"column":8},"end":{"line":476,"column":9}},"77":{"start":{"line":475,"column":12},"end":{"line":475,"column":24}},"78":{"start":{"line":478,"column":8},"end":{"line":478,"column":20}},"79":{"start":{"line":488,"column":8},"end":{"line":488,"column":46}},"80":{"start":{"line":498,"column":8},"end":{"line":498,"column":21}},"81":{"start":{"line":500,"column":8},"end":{"line":504,"column":11}},"82":{"start":{"line":501,"column":12},"end":{"line":501,"column":75}},"83":{"start":{"line":503,"column":12},"end":{"line":503,"column":59}},"84":{"start":{"line":515,"column":8},"end":{"line":517,"column":36}},"85":{"start":{"line":519,"column":8},"end":{"line":521,"column":9}},"86":{"start":{"line":520,"column":12},"end":{"line":520,"column":42}},"87":{"start":{"line":522,"column":8},"end":{"line":524,"column":9}},"88":{"start":{"line":523,"column":12},"end":{"line":523,"column":35}},"89":{"start":{"line":526,"column":8},"end":{"line":551,"column":11}},"90":{"start":{"line":527,"column":12},"end":{"line":529,"column":13}},"91":{"start":{"line":528,"column":16},"end":{"line":528,"column":42}},"92":{"start":{"line":531,"column":12},"end":{"line":531,"column":31}},"93":{"start":{"line":533,"column":12},"end":{"line":546,"column":13}},"94":{"start":{"line":535,"column":16},"end":{"line":545,"column":17}},"95":{"start":{"line":536,"column":20},"end":{"line":539,"column":21}},"96":{"start":{"line":538,"column":24},"end":{"line":538,"column":31}},"97":{"start":{"line":542,"column":21},"end":{"line":545,"column":17}},"98":{"start":{"line":544,"column":20},"end":{"line":544,"column":27}},"99":{"start":{"line":548,"column":12},"end":{"line":550,"column":15}},"100":{"start":{"line":561,"column":8},"end":{"line":561,"column":47}},"101":{"start":{"line":571,"column":8},"end":{"line":571,"column":49}}},"branchMap":{"1":{"line":29,"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":29,"column":4}},{"start":{"line":29,"column":4},"end":{"line":29,"column":4}}]},"2":{"line":29,"type":"binary-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":14}},{"start":{"line":29,"column":18},"end":{"line":29,"column":32}},{"start":{"line":29,"column":36},"end":{"line":29,"column":74}}]},"3":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":8},"end":{"line":172,"column":8}},{"start":{"line":172,"column":8},"end":{"line":172,"column":8}}]},"4":{"line":218,"type":"binary-expr","locations":[{"start":{"line":218,"column":15},"end":{"line":218,"column":46}},{"start":{"line":218,"column":50},"end":{"line":218,"column":81}}]},"5":{"line":252,"type":"if","locations":[{"start":{"line":252,"column":8},"end":{"line":252,"column":8}},{"start":{"line":252,"column":8},"end":{"line":252,"column":8}}]},"6":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":271,"column":8}},{"start":{"line":271,"column":8},"end":{"line":271,"column":8}}]},"7":{"line":325,"type":"binary-expr","locations":[{"start":{"line":325,"column":21},"end":{"line":325,"column":54}},{"start":{"line":325,"column":58},"end":{"line":325,"column":60}}]},"8":{"line":366,"type":"if","locations":[{"start":{"line":366,"column":8},"end":{"line":366,"column":8}},{"start":{"line":366,"column":8},"end":{"line":366,"column":8}}]},"9":{"line":435,"type":"if","locations":[{"start":{"line":435,"column":12},"end":{"line":435,"column":12}},{"start":{"line":435,"column":12},"end":{"line":435,"column":12}}]},"10":{"line":435,"type":"binary-expr","locations":[{"start":{"line":435,"column":16},"end":{"line":435,"column":30}},{"start":{"line":435,"column":34},"end":{"line":435,"column":85}}]},"11":{"line":442,"type":"if","locations":[{"start":{"line":442,"column":16},"end":{"line":442,"column":16}},{"start":{"line":442,"column":16},"end":{"line":442,"column":16}}]},"12":{"line":453,"type":"cond-expr","locations":[{"start":{"line":453,"column":60},"end":{"line":453,"column":64}},{"start":{"line":453,"column":67},"end":{"line":453,"column":72}}]},"13":{"line":474,"type":"if","locations":[{"start":{"line":474,"column":8},"end":{"line":474,"column":8}},{"start":{"line":474,"column":8},"end":{"line":474,"column":8}}]},"14":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":8},"end":{"line":519,"column":8}},{"start":{"line":519,"column":8},"end":{"line":519,"column":8}}]},"15":{"line":522,"type":"if","locations":[{"start":{"line":522,"column":8},"end":{"line":522,"column":8}},{"start":{"line":522,"column":8},"end":{"line":522,"column":8}}]},"16":{"line":527,"type":"if","locations":[{"start":{"line":527,"column":12},"end":{"line":527,"column":12}},{"start":{"line":527,"column":12},"end":{"line":527,"column":12}}]},"17":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":12},"end":{"line":533,"column":12}},{"start":{"line":533,"column":12},"end":{"line":533,"column":12}}]},"18":{"line":535,"type":"if","locations":[{"start":{"line":535,"column":16},"end":{"line":535,"column":16}},{"start":{"line":535,"column":16},"end":{"line":535,"column":16}}]},"19":{"line":536,"type":"if","locations":[{"start":{"line":536,"column":20},"end":{"line":536,"column":20}},{"start":{"line":536,"column":20},"end":{"line":536,"column":20}}]},"20":{"line":542,"type":"if","locations":[{"start":{"line":542,"column":21},"end":{"line":542,"column":21}},{"start":{"line":542,"column":21},"end":{"line":542,"column":21}}]}},"code":["(function () { YUI.add('aui-button-core', function (A, NAME) {","","/**"," * The Button Component"," *"," * @module aui-button"," */","","var CLASS_NAMES = {"," BUTTON: A.getClassName('btn'),"," BUTTON_DEFAULT: A.getClassName('btn', 'default'),"," BUTTON_GROUP: A.getClassName('btn', 'group'),"," DISABLED: A.getClassName('disabled'),"," LABEL: A.getClassName('label'),"," PRIMARY: A.getClassName('btn', 'primary'),"," SELECTED: A.getClassName('active'),"," TOGGLE: A.getClassName('togglebtn')"," };","","/**"," * A base class for `ButtonExt`."," *"," * @class A.ButtonExt"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","var ButtonExt = function(config) {"," if (config && config.domType && this._domTypeValidator(config.domType)) {"," this._setEarlyButtonDomType(config.domType);"," }","};","","/**"," * Defines the default attribute configuration for the `ButtonExt`."," *"," * @property ATTRS"," * @type {Object}"," * @static"," */","ButtonExt.ATTRS = {",""," /**"," * CSS class to be automatically added to the `boundingBox`."," *"," * @attribute cssClass"," * @type {String}"," */"," cssClass: {"," validator: A.Lang.isString,"," value: ''"," },",""," /**"," * Defines if the button will discard the default button classes."," *"," * @attribute discardDefaultButtonCssClasses"," * @default false"," * @type {Boolean}"," */"," discardDefaultButtonCssClasses: {"," validator: A.Lang.isBoolean,"," value: false,"," writeOnce: true"," },",""," /**"," * Defines the HTML type attribute of element e.g. ` `."," *"," * @attribute domType"," * @type {String}"," * @writeOnce"," */"," domType: {"," validator: '_domTypeValidator',"," writeOnce: true"," },",""," /**"," * Contains a CSS class of the icon to use. A list of icons can be found"," * [here](http://liferay.github.io/alloy-bootstrap/base-css.html#icons)."," *"," * @attribute icon"," * @type {String}"," */"," icon: {},",""," /**"," * Defines markup template for icon, passed in as a node e.g."," * `Y.Node.create(' ')`."," *"," * @attribute iconElement"," * @default 'A.Node.create(\" \")'"," */"," iconElement: {"," valueFn: function() {"," return A.Node.create(this.ICON_TEMPLATE);"," }"," },",""," /**"," * Sets position of icon."," *"," * @attribute iconAlign"," * @default 'left'"," * @type {String}"," */"," iconAlign: {"," validator: A.Lang.isString,"," value: 'left'"," }","};","","/**"," * Defines how attribute values are to be parsed from markup contained in"," * `ButtonExt`."," *"," * @property HTML_PARSER"," * @type {Object}"," * @static"," */","ButtonExt.HTML_PARSER = {"," iconElement: 'span'","};","","/**"," * Updates the HTML markup specified as the `template` argument with the"," * passed `type`."," *"," * @method getTypedButtonTemplate"," * @param {String} template"," * @param {String} type"," * @return {String} The parsed template containing the DOM `type`, e.g."," * ` ` generates ` `."," * @static"," */","ButtonExt.getTypedButtonTemplate = function(template, type) {"," return A.Lang.sub(template, {"," type: ' type=\"' + type + '\"'"," });","};","","ButtonExt.prototype = {"," ICON_TEMPLATE: ' ',"," TEMPLATE: ' ',",""," /**"," * Construction logic executed during `ButtonExt` instantiation. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," this.before(this.renderButtonExtUI, this, 'renderUI');"," this.after(this.syncButtonExtUI, this, 'syncUI');"," this.after({"," iconChange: this._afterIconChange,"," iconAlignChange: this._afterIconAlignChange"," });"," },",""," /**"," * Includes default button classes if necessary."," * Fires after `renderUI` method. "," *"," * @method renderButtonExtUI"," * @protected"," */"," renderButtonExtUI: function() {"," var cssClass = this.get('cssClass');",""," if (!this.get('discardDefaultButtonCssClasses')) {"," cssClass = [cssClass, CLASS_NAMES.BUTTON_DEFAULT, CLASS_NAMES.BUTTON].join(' ');"," this.set('cssClass', cssClass);"," }"," },",""," /**"," * Updates icon CSS class."," *"," * @method syncButtonExtUI"," */"," syncButtonExtUI: function() {"," this._uiSetIcon(this.get('icon'));"," this._setButtonRole();"," },",""," /**"," * Fires after `iconAlign` attribute change."," *"," * @method _afterIconAlignChange"," * @param {EventFacade} event"," * @protected"," */"," _afterIconAlignChange: function(event) {"," this._uiSetIconAlign(event.newVal);"," },",""," /**"," * Fires after `icon` attribute change."," *"," * @method _afterIconChange"," * @param {EventFacade} event"," * @protected"," */"," _afterIconChange: function(event) {"," this._uiSetIcon(event.newVal);"," },",""," /**"," * Checks if the domType attribute has a valid value."," *"," * @method _domTypeValidator"," * @param {String} type"," * @protected"," */"," _domTypeValidator: function(type) {"," return type.toLowerCase() === 'button' || type.toLowerCase() === 'submit';"," },",""," /**"," * Sets the role attribute on the bounding box to 'button';"," *"," * @method setButtonRole"," * @protected"," */"," _setButtonRole: function() {"," this.get('boundingBox').setAttribute('role', 'button');"," },",""," /**"," * Sets button type on bounding box template before constructor is invoked."," * The type is set before widget creates the bounding box node."," *"," * @method _setEarlyButtonDomType"," * @param {String} type"," * @protected"," */"," _setEarlyButtonDomType: function(type) {"," this.BOUNDING_TEMPLATE = A.ButtonExt.getTypedButtonTemplate("," ButtonExt.prototype.TEMPLATE, type);"," },",""," /**"," * Adds class name for button icon."," *"," * @method _uiSetIcon"," * @param {String} val"," * @protected"," */"," _uiSetIcon: function(val) {"," if (val) {"," this.get('iconElement').set('className', val);"," this._uiSetIconAlign(this.get('iconAlign'));"," }"," },",""," /**"," * Adds alignment for button icon."," *"," * @method _uiSetIconAlign"," * @param {String} val"," * @protected"," */"," _uiSetIconAlign: function(val) {"," // Y.Button labelHTML feature assumes any HTML inside the button is the"," // label and the icon HTML is contained on its value. To workaround this"," // issue on icon alignment fetchs the reference from DOM, if not"," // available uses the one created by HTML_PARSER"," var iconElement = this.getNode().one(A.ButtonExt.HTML_PARSER.iconElement);"," if (!iconElement) {"," iconElement = this.get('iconElement');"," }",""," A.Button.syncIconUI(this.get('boundingBox'), iconElement, val);"," }","};","","A.ButtonExt = ButtonExt;","","/**"," * A base class for ButtonCore."," *"," * @class A.ButtonCore"," * @constructor"," */","","/**"," * Contains CSS class names to use for `ButtonCore`."," *"," * @property CLASS_NAMES"," * @static"," */","A.ButtonCore.CLASS_NAMES = CLASS_NAMES;","","var Button = A.Button;","","Button.NAME = 'aui-button';","","Button.CSS_PREFIX = 'aui-button';","","Button.CLASS_NAMES = CLASS_NAMES;","","/**"," * A base class for Button."," *"," * @class A.Button"," * @extends Button"," * @uses A.ButtonExt, A.WidgetCssClass, A.WidgetToggle"," * @constructor"," * @include http://alloyui.com/examples/button/basic-markup.html"," * @include http://alloyui.com/examples/button/basic.js"," */","A.Button = A.Base.create(Button.NAME, Button, [ButtonExt, A.WidgetCssClass, A.WidgetToggle], {}, {",""," /**"," * Returns an object literal containing widget constructor data specified in"," * the node."," *"," * @method getWidgetLazyConstructorFromNodeData"," * @param {Node} node"," * @return {Object} The configuration object for the widget."," */"," getWidgetLazyConstructorFromNodeData: function(node) {"," var config = node.getData('widgetConstructor') || {};",""," config.boundingBox = node;"," config.render = true;"," return config;"," },",""," /**"," * Returns a boolean, true if node has widget constructor data."," *"," * @method hasWidgetLazyConstructorData"," * @param {Node} node"," * @return {Boolean} Whether the node has a cached widget constructor data."," */"," hasWidgetLazyConstructorData: function(node) {"," return node.getData('widgetConstructor') !== undefined;"," },",""," /**"," * Updates node's widget constructor data attribute with config."," *"," * @method setWidgetLazyConstructorNodeData"," * @param {Node} node"," * @param {Object} config"," */"," setWidgetLazyConstructorNodeData: function(node, config) {"," node.setData('widgetConstructor', config);"," },",""," /**"," * Updates icon alignment in button."," *"," * @method syncIconUI"," * @param {Node} buttonElement The button element."," * @param {Node} iconElement The icon element to be aligned."," * @param {String} iconAlign The align position, e.g right or left."," */"," syncIconUI: function(buttonElement, iconElement, iconAlign) {"," var insertPos = 0,"," textNode = A.config.doc.createTextNode(' ');",""," if (iconAlign === 'right') {"," insertPos = null;"," }",""," buttonElement.insert(textNode, insertPos);"," buttonElement.insert(iconElement, insertPos);"," }","});","","var ToggleButton = A.ToggleButton;","","ToggleButton.NAME = 'togglebtn';","","ToggleButton.CSS_PREFIX = CLASS_NAMES.TOGGLE;","","ToggleButton.CLASS_NAMES = CLASS_NAMES;","","/**"," * A base class for ToggleButton."," *"," * @class A.ToggleButton"," * @uses A.ButtonExt, A.WidgetCssClass"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","A.ToggleButton = A.Base.create(ToggleButton.NAME, ToggleButton, [ButtonExt, A.WidgetCssClass], {}, {});","","var ButtonGroup = A.ButtonGroup;","","ButtonGroup.NAME = 'btngroup';","","ButtonGroup.CSS_PREFIX = CLASS_NAMES.BUTTON_GROUP;","","ButtonGroup.CLASS_NAMES = CLASS_NAMES;","","/**"," * A base class for ButtonGroup."," *"," * @class A.ButtonGroup"," * @constructor"," */","A.mix(ButtonGroup.prototype, {",""," // Bootstrap button group depends on buttons to be a direct children,"," // force one-box widget."," CONTENT_TEMPLATE: null,",""," /**"," * Constructor for `A.ButtonGroup`. Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," this.after('selectionChange', this._afterSelectionChange);"," },",""," /**"," * Renders the `ButtonGroup` component instance. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," var boundingBox = this.get('boundingBox'),"," type = this.get('type');",""," this.getButtons().each(function(button) {"," if (!button.button && !A.instanceOf(A.Widget.getByNode(button), A.Button)) {"," // TODO: This shouldn't assume button is always default."," // A.Plugin.Button doesn't current allow augmentation, therefore"," // it can't add A.ButtonExt extra attributes to it."," button.addClass(A.ButtonCore.CLASS_NAMES.BUTTON_DEFAULT);"," button.setAttribute('role', 'option');",""," if (A.Button.hasWidgetLazyConstructorData(button)) {"," new A.Button(A.Button.getWidgetLazyConstructorFromNodeData(button));"," A.Button.setWidgetLazyConstructorNodeData(button, null);"," }"," else {"," button.plug(A.Plugin.Button);"," }"," }"," });",""," boundingBox.setAttrs({"," 'aria-multiselectable': (type === 'checkbox') ? true : false,"," role: 'listbox'"," });",""," this.syncAriaSelected(this.getButtons());"," },",""," /**"," * Returns the `item` or `node` of specified `index`."," *"," * @method item"," * @param {Number} index"," * @return {Button | Node} The item as `Button` or `Node` instance."," */"," item: function(index) {"," var item,"," node;",""," node = this.getButtons().item(index);"," item = A.Widget.getByNode(node);",""," if (A.instanceOf(item, Button)) {"," return item;"," }",""," return node;"," },",""," /**"," * Selects items by adding the active class name."," *"," * @method select"," * @param {Array} items"," */"," select: function(items) {"," return this.toggleSelect(items, true);"," },",""," /**"," * Updates the 'aria-selected' attribute on all buttons."," *"," * @method syncAriaSelected"," * @param {Array} buttons"," */"," syncAriaSelected: function(buttons) {"," var selected;",""," buttons.each(function(button) {"," selected = button.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED);",""," button.setAttribute('aria-selected', selected);"," });"," },",""," /**"," * Toggles selection by adding or removing the active class name."," *"," * @method toggleSelect"," * @param {Array} items"," * @param {Boolean} forceSelection Whether selection should be forced."," */"," toggleSelect: function(items, forceSelection) {"," var buttons = this.getButtons(),"," instance = this,"," type = this.get('type');",""," if (A.Lang.isUndefined(items)) {"," items = buttons.getDOMNodes();"," }"," if (!A.Lang.isArray(items)) {"," items = A.Array(items);"," }",""," A.Array.each(items, function(item) {"," if (A.Lang.isNumber(item)) {"," item = buttons.item(item);"," }"," // Make sure the passed dom nodes are instance of Node"," item = A.one(item);",""," if (type === 'checkbox') {"," // If item is already selected..."," if (item.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED)) {"," if (forceSelection === true) {"," // Prevent click"," return;"," }"," }"," // If item is not selected yet..."," else if (forceSelection === false) {"," // Prevent click"," return;"," }"," }",""," instance._handleClick({"," target: item"," });"," });"," },",""," /**"," * Selects items by adding the active class name."," *"," * @method unselect"," * @param {Array} items"," */"," unselect: function(items) {"," return this.toggleSelect(items, false);"," },",""," /**"," * Fires after 'selectionChange' event."," *"," * @method _afterSelectionChange"," * @protected"," */"," _afterSelectionChange: function() {"," this.syncAriaSelected(this.getButtons());"," }","}, true);","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"button\","," \"button-group\","," \"button-plugin\","," \"aui-component\","," \"aui-widget-cssclass\","," \"aui-widget-toggle\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_0OPUeSiIWN9PcsRxvhQJog = __coverage__['build/aui-button-core/aui-button-core.js'];
+__cov_0OPUeSiIWN9PcsRxvhQJog.s['1']++;YUI.add('aui-button-core',function(A,NAME){__cov_0OPUeSiIWN9PcsRxvhQJog.f['1']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['2']++;var CLASS_NAMES={BUTTON:A.getClassName('btn'),BUTTON_DEFAULT:A.getClassName('btn','default'),BUTTON_GROUP:A.getClassName('btn','group'),DISABLED:A.getClassName('disabled'),LABEL:A.getClassName('label'),PRIMARY:A.getClassName('btn','primary'),SELECTED:A.getClassName('active'),TOGGLE:A.getClassName('togglebtn')};__cov_0OPUeSiIWN9PcsRxvhQJog.s['3']++;var ButtonExt=function(config){__cov_0OPUeSiIWN9PcsRxvhQJog.f['2']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['4']++;if((__cov_0OPUeSiIWN9PcsRxvhQJog.b['2'][0]++,config)&&(__cov_0OPUeSiIWN9PcsRxvhQJog.b['2'][1]++,config.domType)&&(__cov_0OPUeSiIWN9PcsRxvhQJog.b['2'][2]++,this._domTypeValidator(config.domType))){__cov_0OPUeSiIWN9PcsRxvhQJog.b['1'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['5']++;this._setEarlyButtonDomType(config.domType);}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['1'][1]++;}};__cov_0OPUeSiIWN9PcsRxvhQJog.s['6']++;ButtonExt.ATTRS={cssClass:{validator:A.Lang.isString,value:''},discardDefaultButtonCssClasses:{validator:A.Lang.isBoolean,value:false,writeOnce:true},domType:{validator:'_domTypeValidator',writeOnce:true},icon:{},iconElement:{valueFn:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['3']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['7']++;return A.Node.create(this.ICON_TEMPLATE);}},iconAlign:{validator:A.Lang.isString,value:'left'}};__cov_0OPUeSiIWN9PcsRxvhQJog.s['8']++;ButtonExt.HTML_PARSER={iconElement:'span'};__cov_0OPUeSiIWN9PcsRxvhQJog.s['9']++;ButtonExt.getTypedButtonTemplate=function(template,type){__cov_0OPUeSiIWN9PcsRxvhQJog.f['4']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['10']++;return A.Lang.sub(template,{type:' type="'+type+'"'});};__cov_0OPUeSiIWN9PcsRxvhQJog.s['11']++;ButtonExt.prototype={ICON_TEMPLATE:' ',TEMPLATE:' ',initializer:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['5']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['12']++;this.before(this.renderButtonExtUI,this,'renderUI');__cov_0OPUeSiIWN9PcsRxvhQJog.s['13']++;this.after(this.syncButtonExtUI,this,'syncUI');__cov_0OPUeSiIWN9PcsRxvhQJog.s['14']++;this.after({iconChange:this._afterIconChange,iconAlignChange:this._afterIconAlignChange});},renderButtonExtUI:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['6']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['15']++;var cssClass=this.get('cssClass');__cov_0OPUeSiIWN9PcsRxvhQJog.s['16']++;if(!this.get('discardDefaultButtonCssClasses')){__cov_0OPUeSiIWN9PcsRxvhQJog.b['3'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['17']++;cssClass=[cssClass,CLASS_NAMES.BUTTON_DEFAULT,CLASS_NAMES.BUTTON].join(' ');__cov_0OPUeSiIWN9PcsRxvhQJog.s['18']++;this.set('cssClass',cssClass);}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['3'][1]++;}},syncButtonExtUI:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['7']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['19']++;this._uiSetIcon(this.get('icon'));__cov_0OPUeSiIWN9PcsRxvhQJog.s['20']++;this._setButtonRole();},_afterIconAlignChange:function(event){__cov_0OPUeSiIWN9PcsRxvhQJog.f['8']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['21']++;this._uiSetIconAlign(event.newVal);},_afterIconChange:function(event){__cov_0OPUeSiIWN9PcsRxvhQJog.f['9']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['22']++;this._uiSetIcon(event.newVal);},_domTypeValidator:function(type){__cov_0OPUeSiIWN9PcsRxvhQJog.f['10']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['23']++;return(__cov_0OPUeSiIWN9PcsRxvhQJog.b['4'][0]++,type.toLowerCase()==='button')||(__cov_0OPUeSiIWN9PcsRxvhQJog.b['4'][1]++,type.toLowerCase()==='submit');},_setButtonRole:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['11']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['24']++;this.get('boundingBox').setAttribute('role','button');},_setEarlyButtonDomType:function(type){__cov_0OPUeSiIWN9PcsRxvhQJog.f['12']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['25']++;this.BOUNDING_TEMPLATE=A.ButtonExt.getTypedButtonTemplate(ButtonExt.prototype.TEMPLATE,type);},_uiSetIcon:function(val){__cov_0OPUeSiIWN9PcsRxvhQJog.f['13']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['26']++;if(val){__cov_0OPUeSiIWN9PcsRxvhQJog.b['5'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['27']++;this.get('iconElement').set('className',val);__cov_0OPUeSiIWN9PcsRxvhQJog.s['28']++;this._uiSetIconAlign(this.get('iconAlign'));}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['5'][1]++;}},_uiSetIconAlign:function(val){__cov_0OPUeSiIWN9PcsRxvhQJog.f['14']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['29']++;var iconElement=this.getNode().one(A.ButtonExt.HTML_PARSER.iconElement);__cov_0OPUeSiIWN9PcsRxvhQJog.s['30']++;if(!iconElement){__cov_0OPUeSiIWN9PcsRxvhQJog.b['6'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['31']++;iconElement=this.get('iconElement');}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['6'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['32']++;A.Button.syncIconUI(this.get('boundingBox'),iconElement,val);}};__cov_0OPUeSiIWN9PcsRxvhQJog.s['33']++;A.ButtonExt=ButtonExt;__cov_0OPUeSiIWN9PcsRxvhQJog.s['34']++;A.ButtonCore.CLASS_NAMES=CLASS_NAMES;__cov_0OPUeSiIWN9PcsRxvhQJog.s['35']++;var Button=A.Button;__cov_0OPUeSiIWN9PcsRxvhQJog.s['36']++;Button.NAME='aui-button';__cov_0OPUeSiIWN9PcsRxvhQJog.s['37']++;Button.CSS_PREFIX='aui-button';__cov_0OPUeSiIWN9PcsRxvhQJog.s['38']++;Button.CLASS_NAMES=CLASS_NAMES;__cov_0OPUeSiIWN9PcsRxvhQJog.s['39']++;A.Button=A.Base.create(Button.NAME,Button,[ButtonExt,A.WidgetCssClass,A.WidgetToggle],{},{getWidgetLazyConstructorFromNodeData:function(node){__cov_0OPUeSiIWN9PcsRxvhQJog.f['15']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['40']++;var config=(__cov_0OPUeSiIWN9PcsRxvhQJog.b['7'][0]++,node.getData('widgetConstructor'))||(__cov_0OPUeSiIWN9PcsRxvhQJog.b['7'][1]++,{});__cov_0OPUeSiIWN9PcsRxvhQJog.s['41']++;config.boundingBox=node;__cov_0OPUeSiIWN9PcsRxvhQJog.s['42']++;config.render=true;__cov_0OPUeSiIWN9PcsRxvhQJog.s['43']++;return config;},hasWidgetLazyConstructorData:function(node){__cov_0OPUeSiIWN9PcsRxvhQJog.f['16']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['44']++;return node.getData('widgetConstructor')!==undefined;},setWidgetLazyConstructorNodeData:function(node,config){__cov_0OPUeSiIWN9PcsRxvhQJog.f['17']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['45']++;node.setData('widgetConstructor',config);},syncIconUI:function(buttonElement,iconElement,iconAlign){__cov_0OPUeSiIWN9PcsRxvhQJog.f['18']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['46']++;var insertPos=0,textNode=A.config.doc.createTextNode(' ');__cov_0OPUeSiIWN9PcsRxvhQJog.s['47']++;if(iconAlign==='right'){__cov_0OPUeSiIWN9PcsRxvhQJog.b['8'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['48']++;insertPos=null;}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['8'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['49']++;buttonElement.insert(textNode,insertPos);__cov_0OPUeSiIWN9PcsRxvhQJog.s['50']++;buttonElement.insert(iconElement,insertPos);}});__cov_0OPUeSiIWN9PcsRxvhQJog.s['51']++;var ToggleButton=A.ToggleButton;__cov_0OPUeSiIWN9PcsRxvhQJog.s['52']++;ToggleButton.NAME='togglebtn';__cov_0OPUeSiIWN9PcsRxvhQJog.s['53']++;ToggleButton.CSS_PREFIX=CLASS_NAMES.TOGGLE;__cov_0OPUeSiIWN9PcsRxvhQJog.s['54']++;ToggleButton.CLASS_NAMES=CLASS_NAMES;__cov_0OPUeSiIWN9PcsRxvhQJog.s['55']++;A.ToggleButton=A.Base.create(ToggleButton.NAME,ToggleButton,[ButtonExt,A.WidgetCssClass],{},{});__cov_0OPUeSiIWN9PcsRxvhQJog.s['56']++;var ButtonGroup=A.ButtonGroup;__cov_0OPUeSiIWN9PcsRxvhQJog.s['57']++;ButtonGroup.NAME='btngroup';__cov_0OPUeSiIWN9PcsRxvhQJog.s['58']++;ButtonGroup.CSS_PREFIX=CLASS_NAMES.BUTTON_GROUP;__cov_0OPUeSiIWN9PcsRxvhQJog.s['59']++;ButtonGroup.CLASS_NAMES=CLASS_NAMES;__cov_0OPUeSiIWN9PcsRxvhQJog.s['60']++;A.mix(ButtonGroup.prototype,{CONTENT_TEMPLATE:null,initializer:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['19']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['61']++;this.after('selectionChange',this._afterSelectionChange);},renderUI:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['20']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['62']++;var boundingBox=this.get('boundingBox'),type=this.get('type');__cov_0OPUeSiIWN9PcsRxvhQJog.s['63']++;this.getButtons().each(function(button){__cov_0OPUeSiIWN9PcsRxvhQJog.f['21']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['64']++;if((__cov_0OPUeSiIWN9PcsRxvhQJog.b['10'][0]++,!button.button)&&(__cov_0OPUeSiIWN9PcsRxvhQJog.b['10'][1]++,!A.instanceOf(A.Widget.getByNode(button),A.Button))){__cov_0OPUeSiIWN9PcsRxvhQJog.b['9'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['65']++;button.addClass(A.ButtonCore.CLASS_NAMES.BUTTON_DEFAULT);__cov_0OPUeSiIWN9PcsRxvhQJog.s['66']++;button.setAttribute('role','option');__cov_0OPUeSiIWN9PcsRxvhQJog.s['67']++;if(A.Button.hasWidgetLazyConstructorData(button)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['11'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['68']++;new A.Button(A.Button.getWidgetLazyConstructorFromNodeData(button));__cov_0OPUeSiIWN9PcsRxvhQJog.s['69']++;A.Button.setWidgetLazyConstructorNodeData(button,null);}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['11'][1]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['70']++;button.plug(A.Plugin.Button);}}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['9'][1]++;}});__cov_0OPUeSiIWN9PcsRxvhQJog.s['71']++;boundingBox.setAttrs({'aria-multiselectable':type==='checkbox'?(__cov_0OPUeSiIWN9PcsRxvhQJog.b['12'][0]++,true):(__cov_0OPUeSiIWN9PcsRxvhQJog.b['12'][1]++,false),role:'listbox'});__cov_0OPUeSiIWN9PcsRxvhQJog.s['72']++;this.syncAriaSelected(this.getButtons());},item:function(index){__cov_0OPUeSiIWN9PcsRxvhQJog.f['22']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['73']++;var item,node;__cov_0OPUeSiIWN9PcsRxvhQJog.s['74']++;node=this.getButtons().item(index);__cov_0OPUeSiIWN9PcsRxvhQJog.s['75']++;item=A.Widget.getByNode(node);__cov_0OPUeSiIWN9PcsRxvhQJog.s['76']++;if(A.instanceOf(item,Button)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['13'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['77']++;return item;}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['13'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['78']++;return node;},select:function(items){__cov_0OPUeSiIWN9PcsRxvhQJog.f['23']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['79']++;return this.toggleSelect(items,true);},syncAriaSelected:function(buttons){__cov_0OPUeSiIWN9PcsRxvhQJog.f['24']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['80']++;var selected;__cov_0OPUeSiIWN9PcsRxvhQJog.s['81']++;buttons.each(function(button){__cov_0OPUeSiIWN9PcsRxvhQJog.f['25']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['82']++;selected=button.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED);__cov_0OPUeSiIWN9PcsRxvhQJog.s['83']++;button.setAttribute('aria-selected',selected);});},toggleSelect:function(items,forceSelection){__cov_0OPUeSiIWN9PcsRxvhQJog.f['26']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['84']++;var buttons=this.getButtons(),instance=this,type=this.get('type');__cov_0OPUeSiIWN9PcsRxvhQJog.s['85']++;if(A.Lang.isUndefined(items)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['14'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['86']++;items=buttons.getDOMNodes();}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['14'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['87']++;if(!A.Lang.isArray(items)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['15'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['88']++;items=A.Array(items);}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['15'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['89']++;A.Array.each(items,function(item){__cov_0OPUeSiIWN9PcsRxvhQJog.f['27']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['90']++;if(A.Lang.isNumber(item)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['16'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['91']++;item=buttons.item(item);}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['16'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['92']++;item=A.one(item);__cov_0OPUeSiIWN9PcsRxvhQJog.s['93']++;if(type==='checkbox'){__cov_0OPUeSiIWN9PcsRxvhQJog.b['17'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['94']++;if(item.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED)){__cov_0OPUeSiIWN9PcsRxvhQJog.b['18'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['95']++;if(forceSelection===true){__cov_0OPUeSiIWN9PcsRxvhQJog.b['19'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['96']++;return;}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['19'][1]++;}}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['18'][1]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['97']++;if(forceSelection===false){__cov_0OPUeSiIWN9PcsRxvhQJog.b['20'][0]++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['98']++;return;}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['20'][1]++;}}}else{__cov_0OPUeSiIWN9PcsRxvhQJog.b['17'][1]++;}__cov_0OPUeSiIWN9PcsRxvhQJog.s['99']++;instance._handleClick({target:item});});},unselect:function(items){__cov_0OPUeSiIWN9PcsRxvhQJog.f['28']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['100']++;return this.toggleSelect(items,false);},_afterSelectionChange:function(){__cov_0OPUeSiIWN9PcsRxvhQJog.f['29']++;__cov_0OPUeSiIWN9PcsRxvhQJog.s['101']++;this.syncAriaSelected(this.getButtons());}},true);},'3.1.0-deprecated.52',{'requires':['button','button-group','button-plugin','aui-component','aui-widget-cssclass','aui-widget-toggle'],'skinnable':true});
diff --git a/build/aui-button-core/aui-button-core-debug.js b/build/aui-button-core/aui-button-core-debug.js
new file mode 100644
index 00000000000..499073e1c0d
--- /dev/null
+++ b/build/aui-button-core/aui-button-core-debug.js
@@ -0,0 +1,586 @@
+YUI.add('aui-button-core', function (A, NAME) {
+
+/**
+ * The Button Component
+ *
+ * @module aui-button
+ */
+
+var CLASS_NAMES = {
+ BUTTON: A.getClassName('btn'),
+ BUTTON_DEFAULT: A.getClassName('btn', 'default'),
+ BUTTON_GROUP: A.getClassName('btn', 'group'),
+ DISABLED: A.getClassName('disabled'),
+ LABEL: A.getClassName('label'),
+ PRIMARY: A.getClassName('btn', 'primary'),
+ SELECTED: A.getClassName('active'),
+ TOGGLE: A.getClassName('togglebtn')
+ };
+
+/**
+ * A base class for `ButtonExt`.
+ *
+ * @class A.ButtonExt
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var ButtonExt = function(config) {
+ if (config && config.domType && this._domTypeValidator(config.domType)) {
+ this._setEarlyButtonDomType(config.domType);
+ }
+};
+
+/**
+ * Defines the default attribute configuration for the `ButtonExt`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ButtonExt.ATTRS = {
+
+ /**
+ * CSS class to be automatically added to the `boundingBox`.
+ *
+ * @attribute cssClass
+ * @type {String}
+ */
+ cssClass: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * Defines if the button will discard the default button classes.
+ *
+ * @attribute discardDefaultButtonCssClasses
+ * @default false
+ * @type {Boolean}
+ */
+ discardDefaultButtonCssClasses: {
+ validator: A.Lang.isBoolean,
+ value: false,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the HTML type attribute of element e.g. ` `.
+ *
+ * @attribute domType
+ * @type {String}
+ * @writeOnce
+ */
+ domType: {
+ validator: '_domTypeValidator',
+ writeOnce: true
+ },
+
+ /**
+ * Contains a CSS class of the icon to use. A list of icons can be found
+ * [here](http://liferay.github.io/alloy-bootstrap/base-css.html#icons).
+ *
+ * @attribute icon
+ * @type {String}
+ */
+ icon: {},
+
+ /**
+ * Defines markup template for icon, passed in as a node e.g.
+ * `Y.Node.create(' ')`.
+ *
+ * @attribute iconElement
+ * @default 'A.Node.create(" ")'
+ */
+ iconElement: {
+ valueFn: function() {
+ return A.Node.create(this.ICON_TEMPLATE);
+ }
+ },
+
+ /**
+ * Sets position of icon.
+ *
+ * @attribute iconAlign
+ * @default 'left'
+ * @type {String}
+ */
+ iconAlign: {
+ validator: A.Lang.isString,
+ value: 'left'
+ }
+};
+
+/**
+ * Defines how attribute values are to be parsed from markup contained in
+ * `ButtonExt`.
+ *
+ * @property HTML_PARSER
+ * @type {Object}
+ * @static
+ */
+ButtonExt.HTML_PARSER = {
+ iconElement: 'span'
+};
+
+/**
+ * Updates the HTML markup specified as the `template` argument with the
+ * passed `type`.
+ *
+ * @method getTypedButtonTemplate
+ * @param {String} template
+ * @param {String} type
+ * @return {String} The parsed template containing the DOM `type`, e.g.
+ * ` ` generates ` `.
+ * @static
+ */
+ButtonExt.getTypedButtonTemplate = function(template, type) {
+ return A.Lang.sub(template, {
+ type: ' type="' + type + '"'
+ });
+};
+
+ButtonExt.prototype = {
+ ICON_TEMPLATE: ' ',
+ TEMPLATE: ' ',
+
+ /**
+ * Construction logic executed during `ButtonExt` instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.before(this.renderButtonExtUI, this, 'renderUI');
+ this.after(this.syncButtonExtUI, this, 'syncUI');
+ this.after({
+ iconChange: this._afterIconChange,
+ iconAlignChange: this._afterIconAlignChange
+ });
+ },
+
+ /**
+ * Includes default button classes if necessary.
+ * Fires after `renderUI` method.
+ *
+ * @method renderButtonExtUI
+ * @protected
+ */
+ renderButtonExtUI: function() {
+ var cssClass = this.get('cssClass');
+
+ if (!this.get('discardDefaultButtonCssClasses')) {
+ cssClass = [cssClass, CLASS_NAMES.BUTTON_DEFAULT, CLASS_NAMES.BUTTON].join(' ');
+ this.set('cssClass', cssClass);
+ }
+ },
+
+ /**
+ * Updates icon CSS class.
+ *
+ * @method syncButtonExtUI
+ */
+ syncButtonExtUI: function() {
+ this._uiSetIcon(this.get('icon'));
+ this._setButtonRole();
+ },
+
+ /**
+ * Fires after `iconAlign` attribute change.
+ *
+ * @method _afterIconAlignChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterIconAlignChange: function(event) {
+ this._uiSetIconAlign(event.newVal);
+ },
+
+ /**
+ * Fires after `icon` attribute change.
+ *
+ * @method _afterIconChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterIconChange: function(event) {
+ this._uiSetIcon(event.newVal);
+ },
+
+ /**
+ * Checks if the domType attribute has a valid value.
+ *
+ * @method _domTypeValidator
+ * @param {String} type
+ * @protected
+ */
+ _domTypeValidator: function(type) {
+ return type.toLowerCase() === 'button' || type.toLowerCase() === 'submit';
+ },
+
+ /**
+ * Sets the role attribute on the bounding box to 'button';
+ *
+ * @method setButtonRole
+ * @protected
+ */
+ _setButtonRole: function() {
+ this.get('boundingBox').setAttribute('role', 'button');
+ },
+
+ /**
+ * Sets button type on bounding box template before constructor is invoked.
+ * The type is set before widget creates the bounding box node.
+ *
+ * @method _setEarlyButtonDomType
+ * @param {String} type
+ * @protected
+ */
+ _setEarlyButtonDomType: function(type) {
+ this.BOUNDING_TEMPLATE = A.ButtonExt.getTypedButtonTemplate(
+ ButtonExt.prototype.TEMPLATE, type);
+ },
+
+ /**
+ * Adds class name for button icon.
+ *
+ * @method _uiSetIcon
+ * @param {String} val
+ * @protected
+ */
+ _uiSetIcon: function(val) {
+ if (val) {
+ this.get('iconElement').set('className', val);
+ this._uiSetIconAlign(this.get('iconAlign'));
+ }
+ },
+
+ /**
+ * Adds alignment for button icon.
+ *
+ * @method _uiSetIconAlign
+ * @param {String} val
+ * @protected
+ */
+ _uiSetIconAlign: function(val) {
+ // Y.Button labelHTML feature assumes any HTML inside the button is the
+ // label and the icon HTML is contained on its value. To workaround this
+ // issue on icon alignment fetchs the reference from DOM, if not
+ // available uses the one created by HTML_PARSER
+ var iconElement = this.getNode().one(A.ButtonExt.HTML_PARSER.iconElement);
+ if (!iconElement) {
+ iconElement = this.get('iconElement');
+ }
+
+ A.Button.syncIconUI(this.get('boundingBox'), iconElement, val);
+ }
+};
+
+A.ButtonExt = ButtonExt;
+
+/**
+ * A base class for ButtonCore.
+ *
+ * @class A.ButtonCore
+ * @constructor
+ */
+
+/**
+ * Contains CSS class names to use for `ButtonCore`.
+ *
+ * @property CLASS_NAMES
+ * @static
+ */
+A.ButtonCore.CLASS_NAMES = CLASS_NAMES;
+
+var Button = A.Button;
+
+Button.NAME = 'aui-button';
+
+Button.CSS_PREFIX = 'aui-button';
+
+Button.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for Button.
+ *
+ * @class A.Button
+ * @extends Button
+ * @uses A.ButtonExt, A.WidgetCssClass, A.WidgetToggle
+ * @constructor
+ * @include http://alloyui.com/examples/button/basic-markup.html
+ * @include http://alloyui.com/examples/button/basic.js
+ */
+A.Button = A.Base.create(Button.NAME, Button, [ButtonExt, A.WidgetCssClass, A.WidgetToggle], {}, {
+
+ /**
+ * Returns an object literal containing widget constructor data specified in
+ * the node.
+ *
+ * @method getWidgetLazyConstructorFromNodeData
+ * @param {Node} node
+ * @return {Object} The configuration object for the widget.
+ */
+ getWidgetLazyConstructorFromNodeData: function(node) {
+ var config = node.getData('widgetConstructor') || {};
+
+ config.boundingBox = node;
+ config.render = true;
+ return config;
+ },
+
+ /**
+ * Returns a boolean, true if node has widget constructor data.
+ *
+ * @method hasWidgetLazyConstructorData
+ * @param {Node} node
+ * @return {Boolean} Whether the node has a cached widget constructor data.
+ */
+ hasWidgetLazyConstructorData: function(node) {
+ return node.getData('widgetConstructor') !== undefined;
+ },
+
+ /**
+ * Updates node's widget constructor data attribute with config.
+ *
+ * @method setWidgetLazyConstructorNodeData
+ * @param {Node} node
+ * @param {Object} config
+ */
+ setWidgetLazyConstructorNodeData: function(node, config) {
+ node.setData('widgetConstructor', config);
+ },
+
+ /**
+ * Updates icon alignment in button.
+ *
+ * @method syncIconUI
+ * @param {Node} buttonElement The button element.
+ * @param {Node} iconElement The icon element to be aligned.
+ * @param {String} iconAlign The align position, e.g right or left.
+ */
+ syncIconUI: function(buttonElement, iconElement, iconAlign) {
+ var insertPos = 0,
+ textNode = A.config.doc.createTextNode(' ');
+
+ if (iconAlign === 'right') {
+ insertPos = null;
+ }
+
+ buttonElement.insert(textNode, insertPos);
+ buttonElement.insert(iconElement, insertPos);
+ }
+});
+
+var ToggleButton = A.ToggleButton;
+
+ToggleButton.NAME = 'togglebtn';
+
+ToggleButton.CSS_PREFIX = CLASS_NAMES.TOGGLE;
+
+ToggleButton.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for ToggleButton.
+ *
+ * @class A.ToggleButton
+ * @uses A.ButtonExt, A.WidgetCssClass
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.ToggleButton = A.Base.create(ToggleButton.NAME, ToggleButton, [ButtonExt, A.WidgetCssClass], {}, {});
+
+var ButtonGroup = A.ButtonGroup;
+
+ButtonGroup.NAME = 'btngroup';
+
+ButtonGroup.CSS_PREFIX = CLASS_NAMES.BUTTON_GROUP;
+
+ButtonGroup.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for ButtonGroup.
+ *
+ * @class A.ButtonGroup
+ * @constructor
+ */
+A.mix(ButtonGroup.prototype, {
+
+ // Bootstrap button group depends on buttons to be a direct children,
+ // force one-box widget.
+ CONTENT_TEMPLATE: null,
+
+ /**
+ * Constructor for `A.ButtonGroup`. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.after('selectionChange', this._afterSelectionChange);
+ },
+
+ /**
+ * Renders the `ButtonGroup` component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var boundingBox = this.get('boundingBox'),
+ type = this.get('type');
+
+ this.getButtons().each(function(button) {
+ if (!button.button && !A.instanceOf(A.Widget.getByNode(button), A.Button)) {
+ // TODO: This shouldn't assume button is always default.
+ // A.Plugin.Button doesn't current allow augmentation, therefore
+ // it can't add A.ButtonExt extra attributes to it.
+ button.addClass(A.ButtonCore.CLASS_NAMES.BUTTON_DEFAULT);
+ button.setAttribute('role', 'option');
+
+ if (A.Button.hasWidgetLazyConstructorData(button)) {
+ new A.Button(A.Button.getWidgetLazyConstructorFromNodeData(button));
+ A.Button.setWidgetLazyConstructorNodeData(button, null);
+ }
+ else {
+ button.plug(A.Plugin.Button);
+ }
+ }
+ });
+
+ boundingBox.setAttrs({
+ 'aria-multiselectable': (type === 'checkbox') ? true : false,
+ role: 'listbox'
+ });
+
+ this.syncAriaSelected(this.getButtons());
+ },
+
+ /**
+ * Returns the `item` or `node` of specified `index`.
+ *
+ * @method item
+ * @param {Number} index
+ * @return {Button | Node} The item as `Button` or `Node` instance.
+ */
+ item: function(index) {
+ var item,
+ node;
+
+ node = this.getButtons().item(index);
+ item = A.Widget.getByNode(node);
+
+ if (A.instanceOf(item, Button)) {
+ return item;
+ }
+
+ return node;
+ },
+
+ /**
+ * Selects items by adding the active class name.
+ *
+ * @method select
+ * @param {Array} items
+ */
+ select: function(items) {
+ return this.toggleSelect(items, true);
+ },
+
+ /**
+ * Updates the 'aria-selected' attribute on all buttons.
+ *
+ * @method syncAriaSelected
+ * @param {Array} buttons
+ */
+ syncAriaSelected: function(buttons) {
+ var selected;
+
+ buttons.each(function(button) {
+ selected = button.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED);
+
+ button.setAttribute('aria-selected', selected);
+ });
+ },
+
+ /**
+ * Toggles selection by adding or removing the active class name.
+ *
+ * @method toggleSelect
+ * @param {Array} items
+ * @param {Boolean} forceSelection Whether selection should be forced.
+ */
+ toggleSelect: function(items, forceSelection) {
+ var buttons = this.getButtons(),
+ instance = this,
+ type = this.get('type');
+
+ if (A.Lang.isUndefined(items)) {
+ items = buttons.getDOMNodes();
+ }
+ if (!A.Lang.isArray(items)) {
+ items = A.Array(items);
+ }
+
+ A.Array.each(items, function(item) {
+ if (A.Lang.isNumber(item)) {
+ item = buttons.item(item);
+ }
+ // Make sure the passed dom nodes are instance of Node
+ item = A.one(item);
+
+ if (type === 'checkbox') {
+ // If item is already selected...
+ if (item.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED)) {
+ if (forceSelection === true) {
+ // Prevent click
+ return;
+ }
+ }
+ // If item is not selected yet...
+ else if (forceSelection === false) {
+ // Prevent click
+ return;
+ }
+ }
+
+ instance._handleClick({
+ target: item
+ });
+ });
+ },
+
+ /**
+ * Selects items by adding the active class name.
+ *
+ * @method unselect
+ * @param {Array} items
+ */
+ unselect: function(items) {
+ return this.toggleSelect(items, false);
+ },
+
+ /**
+ * Fires after 'selectionChange' event.
+ *
+ * @method _afterSelectionChange
+ * @protected
+ */
+ _afterSelectionChange: function() {
+ this.syncAriaSelected(this.getButtons());
+ }
+}, true);
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "button",
+ "button-group",
+ "button-plugin",
+ "aui-component",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-button-core/aui-button-core-min.js b/build/aui-button-core/aui-button-core-min.js
new file mode 100644
index 00000000000..e5806d7e8a1
--- /dev/null
+++ b/build/aui-button-core/aui-button-core-min.js
@@ -0,0 +1 @@
+YUI.add("aui-button-core",function(e,t){var n={BUTTON:e.getClassName("btn"),BUTTON_DEFAULT:e.getClassName("btn","default"),BUTTON_GROUP:e.getClassName("btn","group"),DISABLED:e.getClassName("disabled"),LABEL:e.getClassName("label"),PRIMARY:e.getClassName("btn","primary"),SELECTED:e.getClassName("active"),TOGGLE:e.getClassName("togglebtn")},r=function(e){e&&e.domType&&this._domTypeValidator(e.domType)&&this._setEarlyButtonDomType(e.domType)};r.ATTRS={cssClass:{validator:e.Lang.isString,value:""},discardDefaultButtonCssClasses:{validator:e.Lang.isBoolean,value:!1,writeOnce:!0},domType:{validator:"_domTypeValidator",writeOnce:!0},icon:{},iconElement:{valueFn:function(){return e.Node.create(this.ICON_TEMPLATE)}},iconAlign:{validator:e.Lang.isString,value:"left"}},r.HTML_PARSER={iconElement:"span"},r.getTypedButtonTemplate=function(t,n){return e.Lang.sub(t,{type:' type="'+n+'"'})},r.prototype={ICON_TEMPLATE:" ",TEMPLATE:" ",initializer:function(){this.before(this.renderButtonExtUI,this,"renderUI"),this.after(this.syncButtonExtUI,this,"syncUI"),this.after({iconChange:this._afterIconChange,iconAlignChange:this._afterIconAlignChange})},renderButtonExtUI:function(){var e=this.get("cssClass");this.get("discardDefaultButtonCssClasses")||(e=[e,n.BUTTON_DEFAULT,n.BUTTON].join(" "),this.set("cssClass",e))},syncButtonExtUI:function(){this._uiSetIcon(this.get("icon")),this._setButtonRole()},_afterIconAlignChange:function(e){this._uiSetIconAlign(e.newVal)},_afterIconChange:function(e){this._uiSetIcon(e.newVal)},_domTypeValidator:function(e){return e.toLowerCase()==="button"||e.toLowerCase()==="submit"},_setButtonRole:function(){this.get("boundingBox").setAttribute("role","button")},_setEarlyButtonDomType:function(t){this.BOUNDING_TEMPLATE=e.ButtonExt.getTypedButtonTemplate(r.prototype.TEMPLATE,t)},_uiSetIcon:function(e){e&&(this.get("iconElement").set("className",e),this._uiSetIconAlign(this.get("iconAlign")))},_uiSetIconAlign:function(t){var n=this.getNode().one(e.ButtonExt.HTML_PARSER.iconElement);n||(n=this.get("iconElement")),e.Button.syncIconUI(this.get("boundingBox"),n,t)}},e.ButtonExt=r,e.ButtonCore.CLASS_NAMES=n;var i=e.Button;i.NAME="aui-button",i.CSS_PREFIX="aui-button",i.CLASS_NAMES=n,e.Button=e.Base.create(i.NAME,i,[r,e.WidgetCssClass,e.WidgetToggle],{},{getWidgetLazyConstructorFromNodeData:function(e){var t=e.getData("widgetConstructor")||{};return t.boundingBox=e,t.render=!0,t},hasWidgetLazyConstructorData:function(e){return e.getData("widgetConstructor")!==undefined},setWidgetLazyConstructorNodeData:function(e,t){e.setData("widgetConstructor",t)},syncIconUI:function(t,n,r){var i=0,s=e.config.doc.createTextNode(" ");r==="right"&&(i=null),t.insert(s,i),t.insert(n,i)}});var s=e.ToggleButton;s.NAME="togglebtn",s.CSS_PREFIX=n.TOGGLE,s.CLASS_NAMES=n,e.ToggleButton=e.Base.create(s.NAME,s,[r,e.WidgetCssClass],{},{});var o=e.ButtonGroup;o.NAME="btngroup",o.CSS_PREFIX=n.BUTTON_GROUP,o.CLASS_NAMES=n,e.mix(o.prototype,{CONTENT_TEMPLATE:null,initializer:function(){this.after("selectionChange",this._afterSelectionChange)},renderUI:function(){var t=this.get("boundingBox"),n=this.get("type");this.getButtons().each(function(t){!t.button&&!e.instanceOf(e.Widget.getByNode(t),e.Button)&&(t.addClass(e.ButtonCore.CLASS_NAMES.BUTTON_DEFAULT),t.setAttribute("role","option"),e.Button.hasWidgetLazyConstructorData(t)?(new e.Button(e.Button.getWidgetLazyConstructorFromNodeData(t)),e.Button.setWidgetLazyConstructorNodeData(t,null)):t.plug(e.Plugin.Button))}),t.setAttrs({"aria-multiselectable":n==="checkbox"?!0:!1,role:"listbox"}),this.syncAriaSelected(this.getButtons())},item:function(t){var n,r;return r=this.getButtons().item(t),n=e.Widget.getByNode(r),e.instanceOf(n,i)?n:r},select:function(e){return this.toggleSelect(e,!0)},syncAriaSelected:function(t){var n;t.each(function(t){n=t.hasClass(e.ButtonGroup.CLASS_NAMES.SELECTED),t.setAttribute("aria-selected",n)})},toggleSelect:function(t,n){var r=this.getButtons(),i=this,s=this.get("type");e.Lang.isUndefined(t)&&(t=r.getDOMNodes()),e.Lang.isArray(t)||(t=e.Array(t)),e.Array.each(t,function(t){e.Lang.isNumber(t)&&(t=r.item(t)),t=e.one(t);if(s==="checkbox")if(t.hasClass(e.ButtonGroup.CLASS_NAMES.SELECTED)){if(n===!0)return}else if(n===!1)return;i._handleClick({target:t})})},unselect:function(e){return this.toggleSelect(e,!1)},_afterSelectionChange:function(){this.syncAriaSelected(this.getButtons())}},!0)},"3.1.0-deprecated.52",{requires:["button","button-group","button-plugin","aui-component","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0});
diff --git a/build/aui-button-core/aui-button-core.js b/build/aui-button-core/aui-button-core.js
new file mode 100644
index 00000000000..499073e1c0d
--- /dev/null
+++ b/build/aui-button-core/aui-button-core.js
@@ -0,0 +1,586 @@
+YUI.add('aui-button-core', function (A, NAME) {
+
+/**
+ * The Button Component
+ *
+ * @module aui-button
+ */
+
+var CLASS_NAMES = {
+ BUTTON: A.getClassName('btn'),
+ BUTTON_DEFAULT: A.getClassName('btn', 'default'),
+ BUTTON_GROUP: A.getClassName('btn', 'group'),
+ DISABLED: A.getClassName('disabled'),
+ LABEL: A.getClassName('label'),
+ PRIMARY: A.getClassName('btn', 'primary'),
+ SELECTED: A.getClassName('active'),
+ TOGGLE: A.getClassName('togglebtn')
+ };
+
+/**
+ * A base class for `ButtonExt`.
+ *
+ * @class A.ButtonExt
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var ButtonExt = function(config) {
+ if (config && config.domType && this._domTypeValidator(config.domType)) {
+ this._setEarlyButtonDomType(config.domType);
+ }
+};
+
+/**
+ * Defines the default attribute configuration for the `ButtonExt`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ButtonExt.ATTRS = {
+
+ /**
+ * CSS class to be automatically added to the `boundingBox`.
+ *
+ * @attribute cssClass
+ * @type {String}
+ */
+ cssClass: {
+ validator: A.Lang.isString,
+ value: ''
+ },
+
+ /**
+ * Defines if the button will discard the default button classes.
+ *
+ * @attribute discardDefaultButtonCssClasses
+ * @default false
+ * @type {Boolean}
+ */
+ discardDefaultButtonCssClasses: {
+ validator: A.Lang.isBoolean,
+ value: false,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the HTML type attribute of element e.g. ` `.
+ *
+ * @attribute domType
+ * @type {String}
+ * @writeOnce
+ */
+ domType: {
+ validator: '_domTypeValidator',
+ writeOnce: true
+ },
+
+ /**
+ * Contains a CSS class of the icon to use. A list of icons can be found
+ * [here](http://liferay.github.io/alloy-bootstrap/base-css.html#icons).
+ *
+ * @attribute icon
+ * @type {String}
+ */
+ icon: {},
+
+ /**
+ * Defines markup template for icon, passed in as a node e.g.
+ * `Y.Node.create(' ')`.
+ *
+ * @attribute iconElement
+ * @default 'A.Node.create(" ")'
+ */
+ iconElement: {
+ valueFn: function() {
+ return A.Node.create(this.ICON_TEMPLATE);
+ }
+ },
+
+ /**
+ * Sets position of icon.
+ *
+ * @attribute iconAlign
+ * @default 'left'
+ * @type {String}
+ */
+ iconAlign: {
+ validator: A.Lang.isString,
+ value: 'left'
+ }
+};
+
+/**
+ * Defines how attribute values are to be parsed from markup contained in
+ * `ButtonExt`.
+ *
+ * @property HTML_PARSER
+ * @type {Object}
+ * @static
+ */
+ButtonExt.HTML_PARSER = {
+ iconElement: 'span'
+};
+
+/**
+ * Updates the HTML markup specified as the `template` argument with the
+ * passed `type`.
+ *
+ * @method getTypedButtonTemplate
+ * @param {String} template
+ * @param {String} type
+ * @return {String} The parsed template containing the DOM `type`, e.g.
+ * ` ` generates ` `.
+ * @static
+ */
+ButtonExt.getTypedButtonTemplate = function(template, type) {
+ return A.Lang.sub(template, {
+ type: ' type="' + type + '"'
+ });
+};
+
+ButtonExt.prototype = {
+ ICON_TEMPLATE: ' ',
+ TEMPLATE: ' ',
+
+ /**
+ * Construction logic executed during `ButtonExt` instantiation. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.before(this.renderButtonExtUI, this, 'renderUI');
+ this.after(this.syncButtonExtUI, this, 'syncUI');
+ this.after({
+ iconChange: this._afterIconChange,
+ iconAlignChange: this._afterIconAlignChange
+ });
+ },
+
+ /**
+ * Includes default button classes if necessary.
+ * Fires after `renderUI` method.
+ *
+ * @method renderButtonExtUI
+ * @protected
+ */
+ renderButtonExtUI: function() {
+ var cssClass = this.get('cssClass');
+
+ if (!this.get('discardDefaultButtonCssClasses')) {
+ cssClass = [cssClass, CLASS_NAMES.BUTTON_DEFAULT, CLASS_NAMES.BUTTON].join(' ');
+ this.set('cssClass', cssClass);
+ }
+ },
+
+ /**
+ * Updates icon CSS class.
+ *
+ * @method syncButtonExtUI
+ */
+ syncButtonExtUI: function() {
+ this._uiSetIcon(this.get('icon'));
+ this._setButtonRole();
+ },
+
+ /**
+ * Fires after `iconAlign` attribute change.
+ *
+ * @method _afterIconAlignChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterIconAlignChange: function(event) {
+ this._uiSetIconAlign(event.newVal);
+ },
+
+ /**
+ * Fires after `icon` attribute change.
+ *
+ * @method _afterIconChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterIconChange: function(event) {
+ this._uiSetIcon(event.newVal);
+ },
+
+ /**
+ * Checks if the domType attribute has a valid value.
+ *
+ * @method _domTypeValidator
+ * @param {String} type
+ * @protected
+ */
+ _domTypeValidator: function(type) {
+ return type.toLowerCase() === 'button' || type.toLowerCase() === 'submit';
+ },
+
+ /**
+ * Sets the role attribute on the bounding box to 'button';
+ *
+ * @method setButtonRole
+ * @protected
+ */
+ _setButtonRole: function() {
+ this.get('boundingBox').setAttribute('role', 'button');
+ },
+
+ /**
+ * Sets button type on bounding box template before constructor is invoked.
+ * The type is set before widget creates the bounding box node.
+ *
+ * @method _setEarlyButtonDomType
+ * @param {String} type
+ * @protected
+ */
+ _setEarlyButtonDomType: function(type) {
+ this.BOUNDING_TEMPLATE = A.ButtonExt.getTypedButtonTemplate(
+ ButtonExt.prototype.TEMPLATE, type);
+ },
+
+ /**
+ * Adds class name for button icon.
+ *
+ * @method _uiSetIcon
+ * @param {String} val
+ * @protected
+ */
+ _uiSetIcon: function(val) {
+ if (val) {
+ this.get('iconElement').set('className', val);
+ this._uiSetIconAlign(this.get('iconAlign'));
+ }
+ },
+
+ /**
+ * Adds alignment for button icon.
+ *
+ * @method _uiSetIconAlign
+ * @param {String} val
+ * @protected
+ */
+ _uiSetIconAlign: function(val) {
+ // Y.Button labelHTML feature assumes any HTML inside the button is the
+ // label and the icon HTML is contained on its value. To workaround this
+ // issue on icon alignment fetchs the reference from DOM, if not
+ // available uses the one created by HTML_PARSER
+ var iconElement = this.getNode().one(A.ButtonExt.HTML_PARSER.iconElement);
+ if (!iconElement) {
+ iconElement = this.get('iconElement');
+ }
+
+ A.Button.syncIconUI(this.get('boundingBox'), iconElement, val);
+ }
+};
+
+A.ButtonExt = ButtonExt;
+
+/**
+ * A base class for ButtonCore.
+ *
+ * @class A.ButtonCore
+ * @constructor
+ */
+
+/**
+ * Contains CSS class names to use for `ButtonCore`.
+ *
+ * @property CLASS_NAMES
+ * @static
+ */
+A.ButtonCore.CLASS_NAMES = CLASS_NAMES;
+
+var Button = A.Button;
+
+Button.NAME = 'aui-button';
+
+Button.CSS_PREFIX = 'aui-button';
+
+Button.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for Button.
+ *
+ * @class A.Button
+ * @extends Button
+ * @uses A.ButtonExt, A.WidgetCssClass, A.WidgetToggle
+ * @constructor
+ * @include http://alloyui.com/examples/button/basic-markup.html
+ * @include http://alloyui.com/examples/button/basic.js
+ */
+A.Button = A.Base.create(Button.NAME, Button, [ButtonExt, A.WidgetCssClass, A.WidgetToggle], {}, {
+
+ /**
+ * Returns an object literal containing widget constructor data specified in
+ * the node.
+ *
+ * @method getWidgetLazyConstructorFromNodeData
+ * @param {Node} node
+ * @return {Object} The configuration object for the widget.
+ */
+ getWidgetLazyConstructorFromNodeData: function(node) {
+ var config = node.getData('widgetConstructor') || {};
+
+ config.boundingBox = node;
+ config.render = true;
+ return config;
+ },
+
+ /**
+ * Returns a boolean, true if node has widget constructor data.
+ *
+ * @method hasWidgetLazyConstructorData
+ * @param {Node} node
+ * @return {Boolean} Whether the node has a cached widget constructor data.
+ */
+ hasWidgetLazyConstructorData: function(node) {
+ return node.getData('widgetConstructor') !== undefined;
+ },
+
+ /**
+ * Updates node's widget constructor data attribute with config.
+ *
+ * @method setWidgetLazyConstructorNodeData
+ * @param {Node} node
+ * @param {Object} config
+ */
+ setWidgetLazyConstructorNodeData: function(node, config) {
+ node.setData('widgetConstructor', config);
+ },
+
+ /**
+ * Updates icon alignment in button.
+ *
+ * @method syncIconUI
+ * @param {Node} buttonElement The button element.
+ * @param {Node} iconElement The icon element to be aligned.
+ * @param {String} iconAlign The align position, e.g right or left.
+ */
+ syncIconUI: function(buttonElement, iconElement, iconAlign) {
+ var insertPos = 0,
+ textNode = A.config.doc.createTextNode(' ');
+
+ if (iconAlign === 'right') {
+ insertPos = null;
+ }
+
+ buttonElement.insert(textNode, insertPos);
+ buttonElement.insert(iconElement, insertPos);
+ }
+});
+
+var ToggleButton = A.ToggleButton;
+
+ToggleButton.NAME = 'togglebtn';
+
+ToggleButton.CSS_PREFIX = CLASS_NAMES.TOGGLE;
+
+ToggleButton.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for ToggleButton.
+ *
+ * @class A.ToggleButton
+ * @uses A.ButtonExt, A.WidgetCssClass
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.ToggleButton = A.Base.create(ToggleButton.NAME, ToggleButton, [ButtonExt, A.WidgetCssClass], {}, {});
+
+var ButtonGroup = A.ButtonGroup;
+
+ButtonGroup.NAME = 'btngroup';
+
+ButtonGroup.CSS_PREFIX = CLASS_NAMES.BUTTON_GROUP;
+
+ButtonGroup.CLASS_NAMES = CLASS_NAMES;
+
+/**
+ * A base class for ButtonGroup.
+ *
+ * @class A.ButtonGroup
+ * @constructor
+ */
+A.mix(ButtonGroup.prototype, {
+
+ // Bootstrap button group depends on buttons to be a direct children,
+ // force one-box widget.
+ CONTENT_TEMPLATE: null,
+
+ /**
+ * Constructor for `A.ButtonGroup`. Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.after('selectionChange', this._afterSelectionChange);
+ },
+
+ /**
+ * Renders the `ButtonGroup` component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var boundingBox = this.get('boundingBox'),
+ type = this.get('type');
+
+ this.getButtons().each(function(button) {
+ if (!button.button && !A.instanceOf(A.Widget.getByNode(button), A.Button)) {
+ // TODO: This shouldn't assume button is always default.
+ // A.Plugin.Button doesn't current allow augmentation, therefore
+ // it can't add A.ButtonExt extra attributes to it.
+ button.addClass(A.ButtonCore.CLASS_NAMES.BUTTON_DEFAULT);
+ button.setAttribute('role', 'option');
+
+ if (A.Button.hasWidgetLazyConstructorData(button)) {
+ new A.Button(A.Button.getWidgetLazyConstructorFromNodeData(button));
+ A.Button.setWidgetLazyConstructorNodeData(button, null);
+ }
+ else {
+ button.plug(A.Plugin.Button);
+ }
+ }
+ });
+
+ boundingBox.setAttrs({
+ 'aria-multiselectable': (type === 'checkbox') ? true : false,
+ role: 'listbox'
+ });
+
+ this.syncAriaSelected(this.getButtons());
+ },
+
+ /**
+ * Returns the `item` or `node` of specified `index`.
+ *
+ * @method item
+ * @param {Number} index
+ * @return {Button | Node} The item as `Button` or `Node` instance.
+ */
+ item: function(index) {
+ var item,
+ node;
+
+ node = this.getButtons().item(index);
+ item = A.Widget.getByNode(node);
+
+ if (A.instanceOf(item, Button)) {
+ return item;
+ }
+
+ return node;
+ },
+
+ /**
+ * Selects items by adding the active class name.
+ *
+ * @method select
+ * @param {Array} items
+ */
+ select: function(items) {
+ return this.toggleSelect(items, true);
+ },
+
+ /**
+ * Updates the 'aria-selected' attribute on all buttons.
+ *
+ * @method syncAriaSelected
+ * @param {Array} buttons
+ */
+ syncAriaSelected: function(buttons) {
+ var selected;
+
+ buttons.each(function(button) {
+ selected = button.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED);
+
+ button.setAttribute('aria-selected', selected);
+ });
+ },
+
+ /**
+ * Toggles selection by adding or removing the active class name.
+ *
+ * @method toggleSelect
+ * @param {Array} items
+ * @param {Boolean} forceSelection Whether selection should be forced.
+ */
+ toggleSelect: function(items, forceSelection) {
+ var buttons = this.getButtons(),
+ instance = this,
+ type = this.get('type');
+
+ if (A.Lang.isUndefined(items)) {
+ items = buttons.getDOMNodes();
+ }
+ if (!A.Lang.isArray(items)) {
+ items = A.Array(items);
+ }
+
+ A.Array.each(items, function(item) {
+ if (A.Lang.isNumber(item)) {
+ item = buttons.item(item);
+ }
+ // Make sure the passed dom nodes are instance of Node
+ item = A.one(item);
+
+ if (type === 'checkbox') {
+ // If item is already selected...
+ if (item.hasClass(A.ButtonGroup.CLASS_NAMES.SELECTED)) {
+ if (forceSelection === true) {
+ // Prevent click
+ return;
+ }
+ }
+ // If item is not selected yet...
+ else if (forceSelection === false) {
+ // Prevent click
+ return;
+ }
+ }
+
+ instance._handleClick({
+ target: item
+ });
+ });
+ },
+
+ /**
+ * Selects items by adding the active class name.
+ *
+ * @method unselect
+ * @param {Array} items
+ */
+ unselect: function(items) {
+ return this.toggleSelect(items, false);
+ },
+
+ /**
+ * Fires after 'selectionChange' event.
+ *
+ * @method _afterSelectionChange
+ * @protected
+ */
+ _afterSelectionChange: function() {
+ this.syncAriaSelected(this.getButtons());
+ }
+}, true);
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "button",
+ "button-group",
+ "button-plugin",
+ "aui-component",
+ "aui-widget-cssclass",
+ "aui-widget-toggle"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-button-item-deprecated/assets/aui-button-item-deprecated-core.css b/build/aui-button-item-deprecated/assets/aui-button-item-deprecated-core.css
new file mode 100644
index 00000000000..5fa259288cb
--- /dev/null
+++ b/build/aui-button-item-deprecated/assets/aui-button-item-deprecated-core.css
@@ -0,0 +1,50 @@
+.buttonitem-content {
+ font-size: 1em;
+ line-height: 130%;
+ padding: 4px 5px 3px 4px;
+ margin: 2px;
+ white-space: nowrap;
+ width: auto;
+ overflow: visible;
+ *padding: 2px 5px 2px 4px;
+ *width: 1;
+}
+.buttonitem-icon {
+ display: inline-block;
+ margin-top: -3px;
+ vertical-align: middle;
+ /* IE6/7 */
+ *text-indent: 0;
+ *margin-top: 1px;
+}
+.buttonitem-label {
+ line-height: 1em;
+ display: inline-block;
+ /* IE6/7 */
+ *line-height: 1.4em;
+}
+.buttonitem-label {
+ padding: 0 5px;
+}
+.buttonitem-icon-only {
+ font-size: 0;
+ height: 16px;
+ width: 16px;
+ overflow: hidden;
+ padding: 3px;
+ box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ /* IE6/7 */
+ *height: 24px;
+ *width: 24px;
+}
+.buttonitem-icon-only .buttonitem-icon {
+ margin-top: 0;
+ /* IE6/7 */
+ *margin-top: -1px;
+ *margin-left: -1px;
+}
+.gecko .buttonitem-icon-only .buttonitem-icon {
+ margin-top: -3px;
+}
\ No newline at end of file
diff --git a/build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated-skin.css b/build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated.css b/build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated.css
new file mode 100644
index 00000000000..de28cd565c5
--- /dev/null
+++ b/build/aui-button-item-deprecated/assets/skins/sam/aui-button-item-deprecated.css
@@ -0,0 +1 @@
+.buttonitem-content{font-size:1em;line-height:130%;padding:4px 5px 3px 4px;margin:2px;white-space:nowrap;width:auto;overflow:visible;*padding:2px 5px 2px 4px;*width:1}.buttonitem-icon{display:inline-block;margin-top:-3px;vertical-align:middle;*text-indent:0;*margin-top:1px}.buttonitem-label{line-height:1em;display:inline-block;*line-height:1.4em}.buttonitem-label{padding:0 5px}.buttonitem-icon-only{font-size:0;height:16px;width:16px;overflow:hidden;padding:3px;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;*height:24px;*width:24px}.buttonitem-icon-only .buttonitem-icon{margin-top:0;*margin-top:-1px;*margin-left:-1px}.gecko .buttonitem-icon-only .buttonitem-icon{margin-top:-3px}#yui3-css-stamp.skin-sam-aui-button-item-deprecated{display:none}
diff --git a/build/aui-button-item-deprecated/aui-button-item-deprecated-coverage.js b/build/aui-button-item-deprecated/aui-button-item-deprecated-coverage.js
new file mode 100644
index 00000000000..34bc5581670
--- /dev/null
+++ b/build/aui-button-item-deprecated/aui-button-item-deprecated-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-button-item-deprecated/aui-button-item-deprecated.js']) {
+ __coverage__['build/aui-button-item-deprecated/aui-button-item-deprecated.js'] = {"path":"build/aui-button-item-deprecated/aui-button-item-deprecated.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0},"b":{"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":38},"end":{"line":1,"column":57}}},"2":{"name":"(anonymous_2)","line":182,"loc":{"start":{"line":182,"column":21},"end":{"line":182,"column":32}}},"3":{"name":"(anonymous_3)","line":194,"loc":{"start":{"line":194,"column":21},"end":{"line":194,"column":32}}},"4":{"name":"(anonymous_4)","line":219,"loc":{"start":{"line":219,"column":21},"end":{"line":219,"column":32}}},"5":{"name":"(anonymous_5)","line":243,"loc":{"start":{"line":243,"column":23},"end":{"line":243,"column":37}}},"6":{"name":"(anonymous_6)","line":259,"loc":{"start":{"line":259,"column":18},"end":{"line":259,"column":36}}},"7":{"name":"(anonymous_7)","line":262,"loc":{"start":{"line":262,"column":19},"end":{"line":262,"column":37}}},"8":{"name":"(anonymous_8)","line":265,"loc":{"start":{"line":265,"column":14},"end":{"line":265,"column":32}}},"9":{"name":"(anonymous_9)","line":277,"loc":{"start":{"line":277,"column":15},"end":{"line":277,"column":33}}},"10":{"name":"(anonymous_10)","line":288,"loc":{"start":{"line":288,"column":17},"end":{"line":288,"column":34}}},"11":{"name":"(anonymous_11)","line":321,"loc":{"start":{"line":321,"column":18},"end":{"line":321,"column":29}}},"12":{"name":"(anonymous_12)","line":335,"loc":{"start":{"line":335,"column":16},"end":{"line":335,"column":27}}},"13":{"name":"(anonymous_13)","line":362,"loc":{"start":{"line":362,"column":25},"end":{"line":362,"column":36}}},"14":{"name":"(anonymous_14)","line":377,"loc":{"start":{"line":377,"column":26},"end":{"line":377,"column":37}}},"15":{"name":"(anonymous_15)","line":395,"loc":{"start":{"line":395,"column":19},"end":{"line":395,"column":41}}},"16":{"name":"(anonymous_16)","line":420,"loc":{"start":{"line":420,"column":23},"end":{"line":420,"column":39}}},"17":{"name":"(anonymous_17)","line":446,"loc":{"start":{"line":446,"column":19},"end":{"line":446,"column":35}}},"18":{"name":"(anonymous_18)","line":465,"loc":{"start":{"line":465,"column":29},"end":{"line":465,"column":40}}},"19":{"name":"(anonymous_19)","line":482,"loc":{"start":{"line":482,"column":24},"end":{"line":482,"column":38}}},"20":{"name":"(anonymous_20)","line":503,"loc":{"start":{"line":503,"column":23},"end":{"line":503,"column":39}}},"21":{"name":"(anonymous_21)","line":536,"loc":{"start":{"line":536,"column":20},"end":{"line":536,"column":31}}},"22":{"name":"(anonymous_22)","line":552,"loc":{"start":{"line":552,"column":20},"end":{"line":552,"column":34}}},"23":{"name":"(anonymous_23)","line":581,"loc":{"start":{"line":581,"column":21},"end":{"line":581,"column":35}}},"24":{"name":"(anonymous_24)","line":606,"loc":{"start":{"line":606,"column":21},"end":{"line":606,"column":35}}},"25":{"name":"(anonymous_25)","line":621,"loc":{"start":{"line":621,"column":20},"end":{"line":621,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":641,"column":3}},"2":{"start":{"line":9,"column":0},"end":{"line":46,"column":65}},"3":{"start":{"line":76,"column":0},"end":{"line":629,"column":3}},"4":{"start":{"line":183,"column":16},"end":{"line":183,"column":47}},"5":{"start":{"line":195,"column":16},"end":{"line":195,"column":32}},"6":{"start":{"line":220,"column":16},"end":{"line":220,"column":48}},"7":{"start":{"line":244,"column":16},"end":{"line":244,"column":75}},"8":{"start":{"line":260,"column":12},"end":{"line":260,"column":54}},"9":{"start":{"line":263,"column":12},"end":{"line":263,"column":55}},"10":{"start":{"line":266,"column":12},"end":{"line":266,"column":62}},"11":{"start":{"line":268,"column":12},"end":{"line":275,"column":13}},"12":{"start":{"line":269,"column":16},"end":{"line":269,"column":46}},"13":{"start":{"line":270,"column":16},"end":{"line":270,"column":54}},"14":{"start":{"line":272,"column":16},"end":{"line":272,"column":55}},"15":{"start":{"line":274,"column":16},"end":{"line":274,"column":41}},"16":{"start":{"line":278,"column":12},"end":{"line":278,"column":64}},"17":{"start":{"line":280,"column":12},"end":{"line":284,"column":13}},"18":{"start":{"line":281,"column":16},"end":{"line":281,"column":48}},"19":{"start":{"line":283,"column":16},"end":{"line":283,"column":40}},"20":{"start":{"line":289,"column":8},"end":{"line":289,"column":28}},"21":{"start":{"line":291,"column":8},"end":{"line":291,"column":34}},"22":{"start":{"line":293,"column":8},"end":{"line":302,"column":9}},"23":{"start":{"line":294,"column":12},"end":{"line":301,"column":13}},"24":{"start":{"line":295,"column":16},"end":{"line":297,"column":18}},"25":{"start":{"line":299,"column":17},"end":{"line":301,"column":13}},"26":{"start":{"line":300,"column":16},"end":{"line":300,"column":41}},"27":{"start":{"line":304,"column":8},"end":{"line":304,"column":72}},"28":{"start":{"line":306,"column":8},"end":{"line":306,"column":65}},"29":{"start":{"line":322,"column":12},"end":{"line":322,"column":32}},"30":{"start":{"line":324,"column":12},"end":{"line":324,"column":37}},"31":{"start":{"line":325,"column":12},"end":{"line":325,"column":39}},"32":{"start":{"line":326,"column":12},"end":{"line":326,"column":40}},"33":{"start":{"line":336,"column":12},"end":{"line":336,"column":32}},"34":{"start":{"line":338,"column":12},"end":{"line":338,"column":44}},"35":{"start":{"line":339,"column":12},"end":{"line":339,"column":46}},"36":{"start":{"line":340,"column":12},"end":{"line":340,"column":46}},"37":{"start":{"line":342,"column":12},"end":{"line":344,"column":13}},"38":{"start":{"line":343,"column":16},"end":{"line":343,"column":42}},"39":{"start":{"line":346,"column":12},"end":{"line":348,"column":13}},"40":{"start":{"line":347,"column":16},"end":{"line":347,"column":44}},"41":{"start":{"line":350,"column":12},"end":{"line":352,"column":13}},"42":{"start":{"line":351,"column":16},"end":{"line":351,"column":44}},"43":{"start":{"line":363,"column":12},"end":{"line":363,"column":32}},"44":{"start":{"line":365,"column":12},"end":{"line":367,"column":14}},"45":{"start":{"line":378,"column":12},"end":{"line":378,"column":32}},"46":{"start":{"line":380,"column":12},"end":{"line":382,"column":14}},"47":{"start":{"line":396,"column":12},"end":{"line":396,"column":32}},"48":{"start":{"line":398,"column":12},"end":{"line":398,"column":42}},"49":{"start":{"line":400,"column":12},"end":{"line":400,"column":30}},"50":{"start":{"line":402,"column":12},"end":{"line":408,"column":13}},"51":{"start":{"line":403,"column":16},"end":{"line":403,"column":40}},"52":{"start":{"line":405,"column":16},"end":{"line":407,"column":17}},"53":{"start":{"line":406,"column":20},"end":{"line":406,"column":34}},"54":{"start":{"line":410,"column":12},"end":{"line":410,"column":25}},"55":{"start":{"line":421,"column":12},"end":{"line":421,"column":32}},"56":{"start":{"line":423,"column":12},"end":{"line":423,"column":48}},"57":{"start":{"line":425,"column":12},"end":{"line":425,"column":72}},"58":{"start":{"line":426,"column":12},"end":{"line":426,"column":70}},"59":{"start":{"line":427,"column":12},"end":{"line":427,"column":74}},"60":{"start":{"line":428,"column":12},"end":{"line":428,"column":70}},"61":{"start":{"line":430,"column":12},"end":{"line":437,"column":14}},"62":{"start":{"line":447,"column":12},"end":{"line":447,"column":32}},"63":{"start":{"line":449,"column":12},"end":{"line":454,"column":13}},"64":{"start":{"line":450,"column":16},"end":{"line":450,"column":46}},"65":{"start":{"line":452,"column":17},"end":{"line":454,"column":13}},"66":{"start":{"line":453,"column":16},"end":{"line":453,"column":27}},"67":{"start":{"line":456,"column":12},"end":{"line":456,"column":33}},"68":{"start":{"line":466,"column":12},"end":{"line":466,"column":32}},"69":{"start":{"line":468,"column":12},"end":{"line":468,"column":44}},"70":{"start":{"line":469,"column":12},"end":{"line":469,"column":46}},"71":{"start":{"line":471,"column":12},"end":{"line":471,"column":50}},"72":{"start":{"line":472,"column":12},"end":{"line":472,"column":48}},"73":{"start":{"line":473,"column":12},"end":{"line":473,"column":47}},"74":{"start":{"line":475,"column":12},"end":{"line":475,"column":57}},"75":{"start":{"line":477,"column":12},"end":{"line":477,"column":76}},"76":{"start":{"line":478,"column":12},"end":{"line":478,"column":71}},"77":{"start":{"line":479,"column":12},"end":{"line":479,"column":73}},"78":{"start":{"line":483,"column":12},"end":{"line":484,"column":57}},"79":{"start":{"line":486,"column":12},"end":{"line":491,"column":13}},"80":{"start":{"line":487,"column":16},"end":{"line":487,"column":57}},"81":{"start":{"line":490,"column":16},"end":{"line":490,"column":56}},"82":{"start":{"line":493,"column":12},"end":{"line":493,"column":78}},"83":{"start":{"line":504,"column":12},"end":{"line":504,"column":32}},"84":{"start":{"line":506,"column":12},"end":{"line":506,"column":27}},"85":{"start":{"line":507,"column":12},"end":{"line":507,"column":48}},"86":{"start":{"line":508,"column":12},"end":{"line":508,"column":103}},"87":{"start":{"line":510,"column":12},"end":{"line":510,"column":31}},"88":{"start":{"line":512,"column":12},"end":{"line":512,"column":32}},"89":{"start":{"line":513,"column":12},"end":{"line":513,"column":27}},"90":{"start":{"line":515,"column":12},"end":{"line":523,"column":13}},"91":{"start":{"line":516,"column":16},"end":{"line":516,"column":39}},"92":{"start":{"line":518,"column":16},"end":{"line":518,"column":44}},"93":{"start":{"line":519,"column":16},"end":{"line":519,"column":59}},"94":{"start":{"line":520,"column":16},"end":{"line":520,"column":50}},"95":{"start":{"line":522,"column":16},"end":{"line":522,"column":48}},"96":{"start":{"line":525,"column":12},"end":{"line":542,"column":13}},"97":{"start":{"line":526,"column":16},"end":{"line":526,"column":68}},"98":{"start":{"line":528,"column":16},"end":{"line":530,"column":17}},"99":{"start":{"line":529,"column":20},"end":{"line":529,"column":47}},"100":{"start":{"line":532,"column":16},"end":{"line":532,"column":93}},"101":{"start":{"line":534,"column":16},"end":{"line":541,"column":18}},"102":{"start":{"line":537,"column":24},"end":{"line":539,"column":25}},"103":{"start":{"line":538,"column":28},"end":{"line":538,"column":59}},"104":{"start":{"line":553,"column":12},"end":{"line":553,"column":32}},"105":{"start":{"line":555,"column":12},"end":{"line":555,"column":51}},"106":{"start":{"line":557,"column":12},"end":{"line":557,"column":32}},"107":{"start":{"line":559,"column":12},"end":{"line":561,"column":13}},"108":{"start":{"line":560,"column":16},"end":{"line":560,"column":32}},"109":{"start":{"line":563,"column":12},"end":{"line":563,"column":42}},"110":{"start":{"line":565,"column":12},"end":{"line":565,"column":62}},"111":{"start":{"line":567,"column":12},"end":{"line":567,"column":31}},"112":{"start":{"line":569,"column":12},"end":{"line":569,"column":43}},"113":{"start":{"line":571,"column":12},"end":{"line":571,"column":40}},"114":{"start":{"line":582,"column":12},"end":{"line":582,"column":32}},"115":{"start":{"line":584,"column":12},"end":{"line":584,"column":53}},"116":{"start":{"line":586,"column":12},"end":{"line":586,"column":32}},"117":{"start":{"line":588,"column":12},"end":{"line":590,"column":13}},"118":{"start":{"line":589,"column":16},"end":{"line":589,"column":32}},"119":{"start":{"line":592,"column":12},"end":{"line":592,"column":32}},"120":{"start":{"line":594,"column":12},"end":{"line":594,"column":32}},"121":{"start":{"line":596,"column":12},"end":{"line":596,"column":43}},"122":{"start":{"line":607,"column":12},"end":{"line":607,"column":32}},"123":{"start":{"line":609,"column":12},"end":{"line":609,"column":57}},"124":{"start":{"line":611,"column":12},"end":{"line":611,"column":49}},"125":{"start":{"line":622,"column":12},"end":{"line":622,"column":32}},"126":{"start":{"line":624,"column":12},"end":{"line":624,"column":57}},"127":{"start":{"line":626,"column":12},"end":{"line":626,"column":48}},"128":{"start":{"line":631,"column":0},"end":{"line":631,"column":26}}},"branchMap":{"1":{"line":244,"type":"binary-expr","locations":[{"start":{"line":244,"column":24},"end":{"line":244,"column":38}},{"start":{"line":244,"column":42},"end":{"line":244,"column":56}},{"start":{"line":244,"column":60},"end":{"line":244,"column":73}}]},"2":{"line":268,"type":"if","locations":[{"start":{"line":268,"column":12},"end":{"line":268,"column":12}},{"start":{"line":268,"column":12},"end":{"line":268,"column":12}}]},"3":{"line":274,"type":"binary-expr","locations":[{"start":{"line":274,"column":23},"end":{"line":274,"column":28}},{"start":{"line":274,"column":32},"end":{"line":274,"column":40}}]},"4":{"line":280,"type":"if","locations":[{"start":{"line":280,"column":12},"end":{"line":280,"column":12}},{"start":{"line":280,"column":12},"end":{"line":280,"column":12}}]},"5":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":8},"end":{"line":293,"column":8}},{"start":{"line":293,"column":8},"end":{"line":293,"column":8}}]},"6":{"line":294,"type":"if","locations":[{"start":{"line":294,"column":12},"end":{"line":294,"column":12}},{"start":{"line":294,"column":12},"end":{"line":294,"column":12}}]},"7":{"line":299,"type":"if","locations":[{"start":{"line":299,"column":17},"end":{"line":299,"column":17}},{"start":{"line":299,"column":17},"end":{"line":299,"column":17}}]},"8":{"line":342,"type":"if","locations":[{"start":{"line":342,"column":12},"end":{"line":342,"column":12}},{"start":{"line":342,"column":12},"end":{"line":342,"column":12}}]},"9":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":12},"end":{"line":346,"column":12}},{"start":{"line":346,"column":12},"end":{"line":346,"column":12}}]},"10":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":12},"end":{"line":350,"column":12}},{"start":{"line":350,"column":12},"end":{"line":350,"column":12}}]},"11":{"line":402,"type":"if","locations":[{"start":{"line":402,"column":12},"end":{"line":402,"column":12}},{"start":{"line":402,"column":12},"end":{"line":402,"column":12}}]},"12":{"line":405,"type":"if","locations":[{"start":{"line":405,"column":16},"end":{"line":405,"column":16}},{"start":{"line":405,"column":16},"end":{"line":405,"column":16}}]},"13":{"line":449,"type":"if","locations":[{"start":{"line":449,"column":12},"end":{"line":449,"column":12}},{"start":{"line":449,"column":12},"end":{"line":449,"column":12}}]},"14":{"line":452,"type":"if","locations":[{"start":{"line":452,"column":17},"end":{"line":452,"column":17}},{"start":{"line":452,"column":17},"end":{"line":452,"column":17}}]},"15":{"line":471,"type":"binary-expr","locations":[{"start":{"line":471,"column":35},"end":{"line":471,"column":39}},{"start":{"line":471,"column":43},"end":{"line":471,"column":48}}]},"16":{"line":472,"type":"binary-expr","locations":[{"start":{"line":472,"column":32},"end":{"line":472,"column":37}},{"start":{"line":472,"column":41},"end":{"line":472,"column":46}}]},"17":{"line":473,"type":"binary-expr","locations":[{"start":{"line":473,"column":31},"end":{"line":473,"column":35}},{"start":{"line":473,"column":39},"end":{"line":473,"column":45}}]},"18":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":12},"end":{"line":486,"column":12}},{"start":{"line":486,"column":12},"end":{"line":486,"column":12}}]},"19":{"line":508,"type":"binary-expr","locations":[{"start":{"line":508,"column":27},"end":{"line":508,"column":33}},{"start":{"line":508,"column":37},"end":{"line":508,"column":60}},{"start":{"line":508,"column":65},"end":{"line":508,"column":90}},{"start":{"line":508,"column":94},"end":{"line":508,"column":102}}]},"20":{"line":515,"type":"if","locations":[{"start":{"line":515,"column":12},"end":{"line":515,"column":12}},{"start":{"line":515,"column":12},"end":{"line":515,"column":12}}]},"21":{"line":518,"type":"binary-expr","locations":[{"start":{"line":518,"column":21},"end":{"line":518,"column":37}},{"start":{"line":518,"column":41},"end":{"line":518,"column":43}}]},"22":{"line":519,"type":"binary-expr","locations":[{"start":{"line":519,"column":26},"end":{"line":519,"column":47}},{"start":{"line":519,"column":51},"end":{"line":519,"column":58}}]},"23":{"line":520,"type":"binary-expr","locations":[{"start":{"line":520,"column":23},"end":{"line":520,"column":41}},{"start":{"line":520,"column":45},"end":{"line":520,"column":49}}]},"24":{"line":525,"type":"if","locations":[{"start":{"line":525,"column":12},"end":{"line":525,"column":12}},{"start":{"line":525,"column":12},"end":{"line":525,"column":12}}]},"25":{"line":528,"type":"if","locations":[{"start":{"line":528,"column":16},"end":{"line":528,"column":16}},{"start":{"line":528,"column":16},"end":{"line":528,"column":16}}]},"26":{"line":532,"type":"binary-expr","locations":[{"start":{"line":532,"column":74},"end":{"line":532,"column":84}},{"start":{"line":532,"column":88},"end":{"line":532,"column":90}}]},"27":{"line":537,"type":"if","locations":[{"start":{"line":537,"column":24},"end":{"line":537,"column":24}},{"start":{"line":537,"column":24},"end":{"line":537,"column":24}}]},"28":{"line":559,"type":"if","locations":[{"start":{"line":559,"column":12},"end":{"line":559,"column":12}},{"start":{"line":559,"column":12},"end":{"line":559,"column":12}}]},"29":{"line":588,"type":"if","locations":[{"start":{"line":588,"column":12},"end":{"line":588,"column":12}},{"start":{"line":588,"column":12},"end":{"line":588,"column":12}}]}},"code":["(function () { YUI.add('aui-button-item-deprecated', function (A, NAME) {","","/**"," * The ButtonItem Utility"," *"," * @module aui-button-item"," */","","var Lang = A.Lang,"," isString = Lang.isString,",""," getClassName = A.getClassName,",""," NAME = 'buttonitem',",""," BOUNDING_BOX = 'boundingBox',"," BUTTON = 'button',"," CONTENT_BOX = 'contentBox',"," DOT = '.',"," HANDLER = 'handler',"," ICON = 'icon',"," ICON_NODE = 'iconNode',"," LABEL = 'label',"," LABEL_NODE = 'labelNode',"," ONLY = 'only',"," RESET = 'reset',"," STATE = 'state',"," SUBMIT = 'submit',"," TITLE = 'title',"," TYPE = 'type',",""," CSS_BUTTON = getClassName(NAME),"," CSS_BUTTON_ICON = getClassName(NAME, ICON),"," CSS_BUTTON_LABEL = getClassName(NAME, LABEL),",""," CSS_BUTTON_ICON_LABEL = getClassName(NAME, ICON, LABEL),"," CSS_BUTTON_ICON_ONLY = getClassName(NAME, ICON, ONLY),"," CSS_BUTTON_LABEL_ONLY = getClassName(NAME, LABEL, ONLY),",""," CSS_ICON = getClassName(ICON),",""," REGEX_ICON = new RegExp(CSS_ICON + '-([a-zA-Z0-9-]+)'),",""," TPL_BUTTON = ' ',"," TPL_ICON = ' ',"," TPL_LABEL = ' ';","","/**"," * A base class for ButtonItem, providing:"," * "," * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor) "," * An optional icon or label "," * Managed user interaction states (default, active, hover) "," * Keyboard accessible "," * "," *"," * Quick Example: "," *"," * var instance = new A.ButtonItem({"," *\ticon: 'gear',"," * label: 'Configuration'"," * }).render();"," *
"," *"," * Check the list of Configuration Attributes available for"," * ButtonItem."," *"," * @param config {Object} Object literal specifying widget configuration properties."," *"," * @class ButtonItem"," * @constructor"," * @extends Component"," * @uses WidgetChild"," */","","var ButtonItem = A.Component.create({"," /**"," * Static property provides a string to identify the class."," *"," * @property ButtonItem.NAME"," * @type String"," * @static"," */",""," NAME: NAME,",""," /**"," * Static property provides an array to specify which classes augment this one."," *"," * @property ButtonItem.AUGMENTS"," * @type array"," * @static"," */",""," AUGMENTS: [A.WidgetChild],",""," /**"," * Static property used to define the default attribute"," * configuration for the ButtonItem."," *"," * @property ButtonItem.ATTRS"," * @type Object"," * @static"," */",""," ATTRS: {"," /**"," * Whether to track the active state of the button."," *"," * @attribute activeState"," * @default false"," * @type Boolean"," */"," activeState: {"," value: false"," },",""," /**"," * An object map of the CSS class names to use for the different interaction states."," *"," * @attribute classNames"," * @type Object"," */"," classNames: {},",""," /**"," * Whether to apply the default interaction state to the button"," *"," * @attribute defaultState"," * @default true"," * @type Boolean"," */"," defaultState: {},",""," /**"," * An event callback to handle when a user interacts with the button."," * This can either be a function that will be attached on click, or"," * an object map that accepts the following keys:"," * {fn: // The function to execute"," * context: // The context to execute the function in"," * type: // The type of event to listen for (defaults to \"click\")"," * }
"," *"," * @attribute handler"," * @default false"," * @type Function | Object"," */"," handler: {"," lazyAdd: false,"," value: null"," },",""," /**"," * Whether to track the hover interaction state of the button."," *"," * @attribute hoverState"," * @default true"," * @type Boolean"," */"," hoverState: {},",""," /**"," * The icon to use inside of the button. Possible values are:"," *"," * @attribute icon"," * @type String"," */"," icon: {"," value: ''"," },",""," /**"," * DOM Node to display the icon of the ButtonItem. If not"," * specified try to query using HTML_PARSER an element inside"," * boundingBox which matches aui-button-icon
."," *"," * @attribute iconNode"," * @default Generated div element."," * @type String"," */"," iconNode: {"," valueFn: function() {"," return A.Node.create(TPL_ICON);"," }"," },",""," /**"," * An id that can be used to identify a button."," *"," * @attribute hoverState"," * @type Boolean"," */"," id: {"," valueFn: function() {"," return A.guid();"," }"," },",""," /**"," * Text to use inside of the button."," *"," * @attribute label"," * @type String"," */"," label: {"," value: ''"," },",""," /**"," * DOM Node to display the text of the ButtonItem. If not"," * specified try to query using HTML_PARSER an element inside"," * boundingBox which matches aui-button-label
."," *"," * @attribute labelNode"," * @default Generated div element."," * @type String"," */"," labelNode: {"," valueFn: function() {"," return A.Node.create(TPL_LABEL);"," }"," },",""," /**"," * Text to use as the title attribute of the button."," *"," * @attribute title"," * @type String"," */"," title: {"," setter: '_setTitle',"," value: false"," },",""," /**"," * Button type."," *"," * @attribute type"," * @default button"," * @type String"," */"," type: {"," validator: function(val) {"," return (val === BUTTON || val === SUBMIT || val === RESET);"," },"," value: BUTTON"," }"," },",""," /**"," * Object hash, defining how attribute values are to be parsed from"," * markup contained in the widget's content box."," *"," * @property ButtonItem.HTML_PARSER"," * @type Object"," * @static"," */"," HTML_PARSER: {"," iconNode: function(srcNode) {"," return srcNode.one(DOT + CSS_BUTTON_ICON);"," },"," labelNode: function(srcNode) {"," return srcNode.one(DOT + CSS_BUTTON_LABEL);"," },"," icon: function(srcNode) {"," var iconNode = srcNode.one(DOT + CSS_BUTTON_ICON);",""," if (iconNode) {"," this.set(ICON_NODE, iconNode);"," var cssClass = iconNode.attr('class');",""," var match = cssClass.match(REGEX_ICON);",""," return match && match[1];"," }"," },"," label: function(srcNode) {"," var labelNode = srcNode.one(DOT + CSS_BUTTON_LABEL);",""," if (labelNode) {"," this.set(LABEL_NODE, labelNode);",""," return labelNode.text();"," }"," }"," },",""," constructor: function(config) {"," var instance = this;",""," var buttonType = 'button';",""," if (config) {"," if (isString(config)) {"," config = {"," icon: config"," };"," }"," else if (config.type) {"," buttonType = config.type;"," }"," }",""," instance.BOUNDING_TEMPLATE = Lang.sub(TPL_BUTTON, [buttonType]);",""," ButtonItem.superclass.constructor.call(instance, config);"," },",""," UI_ATTRS: [HANDLER, ICON, LABEL, TITLE, TYPE],",""," prototype: {"," BOUNDING_TEMPLATE: TPL_BUTTON,"," CONTENT_TEMPLATE: null,",""," /**"," * Create the DOM structure for the ButtonItem. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," var instance = this;",""," instance._renderStates();"," instance._renderIconNode();"," instance._renderLabelNode();"," },",""," /**"," * Sync the ButtonItem UI. Lifecycle."," *"," * @method syncUI"," * @protected"," */"," syncUI: function() {"," var instance = this;",""," var icon = instance.get('icon');"," var label = instance.get('label');"," var title = instance.get('title');",""," if (icon) {"," instance._uiSetIcon(icon);"," }",""," if (label) {"," instance._uiSetLabel(label);"," }",""," if (title) {"," instance._uiSetTitle(title);"," }"," },",""," /**"," * Renders the underlying markup for the icon ."," *"," * @method _renderIconNode"," * @protected"," * @return {Node}"," */"," _renderIconNode: function() {"," var instance = this;",""," instance.get(CONTENT_BOX).append("," instance.get(ICON_NODE)"," );"," },",""," /**"," * Renders the underlying markup for the label ."," *"," * @method _renderLabelNode"," * @protected"," * @return {Node}"," */"," _renderLabelNode: function() {"," var instance = this;",""," instance.get(CONTENT_BOX).append("," instance.get(LABEL_NODE)"," );"," },",""," /**"," * Retrieves the state value from either the current instance, or if defined, the"," * parent widget."," *"," * @method _getState"," * @param {String} key The state name to retrieve"," * @param {Object} parent The parent widget to attempt to retrieve the state from"," * @protected"," * @return {Object}"," */"," _getState: function(key, parent) {"," var instance = this;",""," var value = instance.get(key);",""," var state = value;",""," if (parent) {"," value = parent.get(key);",""," if (!Lang.isUndefined(value)) {"," state = value;"," }"," }",""," return state;"," },",""," /**"," * Attaches state interaction management to the widget."," *"," * @method _renderStates"," * @param {EventFacade} event"," * @protected"," */"," _renderStates: function(event) {"," var instance = this;",""," var parent = instance.get('parent');",""," var activeState = instance._getState('activeState', parent);"," var classNames = instance._getState('classNames', parent);"," var defaultState = instance._getState('defaultState', parent);"," var hoverState = instance._getState('hoverState', parent);",""," instance.plug("," A.Plugin.StateInteraction, {"," activeState: activeState,"," classNames: classNames,"," defaultState: defaultState,"," hoverState: hoverState"," }"," );"," },",""," /**"," * Setter for the title attribute"," *"," * @method _setTitle"," * @protected"," */"," _setTitle: function(value) {"," var instance = this;",""," if (value === null) {"," value = instance.get('label');"," }"," else if (value === false) {"," value = '';"," }",""," return String(value);"," },",""," /**"," * Syncs the boundingBox class names to reflect whether the children only have icons or labels or both."," *"," * @method _syncChildrenStates"," * @protected"," */"," _syncChildrenStates: function() {"," var instance = this;",""," var icon = instance.get('icon');"," var label = instance.get('label');",""," var hasIconAndLabel = (icon && label);"," var hasLabelOnly = (!icon && label);"," var hasIconOnly = (icon && !label);",""," var boundingBox = instance.get(BOUNDING_BOX);",""," boundingBox.toggleClass(CSS_BUTTON_ICON_LABEL, hasIconAndLabel);"," boundingBox.toggleClass(CSS_BUTTON_ICON_ONLY, hasIconOnly);"," boundingBox.toggleClass(CSS_BUTTON_LABEL_ONLY, hasLabelOnly);"," },",""," _uiSetDisabled: function(val) {"," var instance = this,"," boundingBox = instance.get(BOUNDING_BOX);",""," if (val) {"," boundingBox.attr('disabled', 'disabled');"," }"," else {"," boundingBox.removeAttribute('disabled');"," }",""," A.ButtonItem.superclass._uiSetDisabled.apply(instance, arguments);"," },",""," /**"," * Updates the UI for the icon in response to the Handler event."," *"," * @method _uiSetHandler"," * @param {String} val Handler name"," * @protected"," */"," _uiSetHandler: function(value) {"," var instance = this;",""," var fn = value;"," var parent = instance.get('parent');"," var context = (parent && parent._DEFAULT_CONTEXT) || instance._DEFAULT_CONTEXT || instance;",""," var type = 'click';",""," var args = instance;"," var customArgs;",""," if (Lang.isObject(fn)) {"," var handlerConfig = fn;",""," fn = handlerConfig.fn || fn;"," context = handlerConfig.context || context;"," type = handlerConfig.type || type;",""," customArgs = handlerConfig.args;"," }",""," if (Lang.isFunction(fn)) {"," var interactionHandle = instance._interactionHandle;",""," if (interactionHandle) {"," interactionHandle.detach();"," }",""," var boundFn = A.rbind.apply(A, [fn, context, args].concat(customArgs || []));",""," instance._interactionHandle = instance.on("," type,"," function() {"," if (!instance.get('disabled')) {"," boundFn.apply(this, arguments);"," }"," }"," );"," }"," },",""," /**"," * Updates the UI for the icon in response to the iconChange event."," *"," * @method _uiSetIcon"," * @param {String} val Icon name"," * @protected"," */"," _uiSetIcon: function(val) {"," var instance = this;",""," var iconNode = instance.get(ICON_NODE);",""," var action = 'show';",""," if (!val) {"," action = 'hide';"," }",""," val = getClassName(ICON, val);",""," iconNode.replaceClass(instance._iconPrevVal, val);",""," iconNode[action]();",""," instance._syncChildrenStates();",""," instance._iconPrevVal = val;"," },",""," /**"," * Updates the UI for the label in response to the labelChange event."," *"," * @method _uiSetLabel"," * @param {String} val The new value"," * @protected"," */"," _uiSetLabel: function(val) {"," var instance = this;",""," var labelNode = instance.get(LABEL_NODE);",""," var action = 'show';",""," if (!val) {"," action = 'hide';"," }",""," labelNode.text(val);",""," labelNode[action]();",""," instance._syncChildrenStates();"," },",""," /**"," * Updates the UI for the title in response to the titleChange event."," *"," * @method _uiSetTitle"," * @param {String} val The new value"," * @protected"," */"," _uiSetTitle: function(val) {"," var instance = this;",""," var boundingBox = instance.get(BOUNDING_BOX);",""," boundingBox.setAttribute(TITLE, val);"," },",""," /**"," * Updates the UI for the type in response to the typeChange event."," *"," * @method _uiSetType"," * @param {String} val The new value"," * @protected"," */"," _uiSetType: function(val) {"," var instance = this;",""," var boundingBox = instance.get(BOUNDING_BOX);",""," boundingBox.setAttribute(TYPE, val);"," }"," }","});","","A.ButtonItem = ButtonItem;","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"aui-base-deprecated\","," \"aui-state-interaction-deprecated\","," \"widget-child\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_siQWMzdY4tuqigPBXuzZlg = __coverage__['build/aui-button-item-deprecated/aui-button-item-deprecated.js'];
+__cov_siQWMzdY4tuqigPBXuzZlg.s['1']++;YUI.add('aui-button-item-deprecated',function(A,NAME){__cov_siQWMzdY4tuqigPBXuzZlg.f['1']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['2']++;var Lang=A.Lang,isString=Lang.isString,getClassName=A.getClassName,NAME='buttonitem',BOUNDING_BOX='boundingBox',BUTTON='button',CONTENT_BOX='contentBox',DOT='.',HANDLER='handler',ICON='icon',ICON_NODE='iconNode',LABEL='label',LABEL_NODE='labelNode',ONLY='only',RESET='reset',STATE='state',SUBMIT='submit',TITLE='title',TYPE='type',CSS_BUTTON=getClassName(NAME),CSS_BUTTON_ICON=getClassName(NAME,ICON),CSS_BUTTON_LABEL=getClassName(NAME,LABEL),CSS_BUTTON_ICON_LABEL=getClassName(NAME,ICON,LABEL),CSS_BUTTON_ICON_ONLY=getClassName(NAME,ICON,ONLY),CSS_BUTTON_LABEL_ONLY=getClassName(NAME,LABEL,ONLY),CSS_ICON=getClassName(ICON),REGEX_ICON=new RegExp(CSS_ICON+'-([a-zA-Z0-9-]+)'),TPL_BUTTON=' ',TPL_ICON=' ',TPL_LABEL=' ';__cov_siQWMzdY4tuqigPBXuzZlg.s['3']++;var ButtonItem=A.Component.create({NAME:NAME,AUGMENTS:[A.WidgetChild],ATTRS:{activeState:{value:false},classNames:{},defaultState:{},handler:{lazyAdd:false,value:null},hoverState:{},icon:{value:''},iconNode:{valueFn:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['2']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['4']++;return A.Node.create(TPL_ICON);}},id:{valueFn:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['3']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['5']++;return A.guid();}},label:{value:''},labelNode:{valueFn:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['4']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['6']++;return A.Node.create(TPL_LABEL);}},title:{setter:'_setTitle',value:false},type:{validator:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['5']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['7']++;return(__cov_siQWMzdY4tuqigPBXuzZlg.b['1'][0]++,val===BUTTON)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['1'][1]++,val===SUBMIT)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['1'][2]++,val===RESET);},value:BUTTON}},HTML_PARSER:{iconNode:function(srcNode){__cov_siQWMzdY4tuqigPBXuzZlg.f['6']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['8']++;return srcNode.one(DOT+CSS_BUTTON_ICON);},labelNode:function(srcNode){__cov_siQWMzdY4tuqigPBXuzZlg.f['7']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['9']++;return srcNode.one(DOT+CSS_BUTTON_LABEL);},icon:function(srcNode){__cov_siQWMzdY4tuqigPBXuzZlg.f['8']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['10']++;var iconNode=srcNode.one(DOT+CSS_BUTTON_ICON);__cov_siQWMzdY4tuqigPBXuzZlg.s['11']++;if(iconNode){__cov_siQWMzdY4tuqigPBXuzZlg.b['2'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['12']++;this.set(ICON_NODE,iconNode);__cov_siQWMzdY4tuqigPBXuzZlg.s['13']++;var cssClass=iconNode.attr('class');__cov_siQWMzdY4tuqigPBXuzZlg.s['14']++;var match=cssClass.match(REGEX_ICON);__cov_siQWMzdY4tuqigPBXuzZlg.s['15']++;return(__cov_siQWMzdY4tuqigPBXuzZlg.b['3'][0]++,match)&&(__cov_siQWMzdY4tuqigPBXuzZlg.b['3'][1]++,match[1]);}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['2'][1]++;}},label:function(srcNode){__cov_siQWMzdY4tuqigPBXuzZlg.f['9']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['16']++;var labelNode=srcNode.one(DOT+CSS_BUTTON_LABEL);__cov_siQWMzdY4tuqigPBXuzZlg.s['17']++;if(labelNode){__cov_siQWMzdY4tuqigPBXuzZlg.b['4'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['18']++;this.set(LABEL_NODE,labelNode);__cov_siQWMzdY4tuqigPBXuzZlg.s['19']++;return labelNode.text();}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['4'][1]++;}}},constructor:function(config){__cov_siQWMzdY4tuqigPBXuzZlg.f['10']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['20']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['21']++;var buttonType='button';__cov_siQWMzdY4tuqigPBXuzZlg.s['22']++;if(config){__cov_siQWMzdY4tuqigPBXuzZlg.b['5'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['23']++;if(isString(config)){__cov_siQWMzdY4tuqigPBXuzZlg.b['6'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['24']++;config={icon:config};}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['6'][1]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['25']++;if(config.type){__cov_siQWMzdY4tuqigPBXuzZlg.b['7'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['26']++;buttonType=config.type;}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['7'][1]++;}}}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['5'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['27']++;instance.BOUNDING_TEMPLATE=Lang.sub(TPL_BUTTON,[buttonType]);__cov_siQWMzdY4tuqigPBXuzZlg.s['28']++;ButtonItem.superclass.constructor.call(instance,config);},UI_ATTRS:[HANDLER,ICON,LABEL,TITLE,TYPE],prototype:{BOUNDING_TEMPLATE:TPL_BUTTON,CONTENT_TEMPLATE:null,renderUI:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['11']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['29']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['30']++;instance._renderStates();__cov_siQWMzdY4tuqigPBXuzZlg.s['31']++;instance._renderIconNode();__cov_siQWMzdY4tuqigPBXuzZlg.s['32']++;instance._renderLabelNode();},syncUI:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['12']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['33']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['34']++;var icon=instance.get('icon');__cov_siQWMzdY4tuqigPBXuzZlg.s['35']++;var label=instance.get('label');__cov_siQWMzdY4tuqigPBXuzZlg.s['36']++;var title=instance.get('title');__cov_siQWMzdY4tuqigPBXuzZlg.s['37']++;if(icon){__cov_siQWMzdY4tuqigPBXuzZlg.b['8'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['38']++;instance._uiSetIcon(icon);}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['8'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['39']++;if(label){__cov_siQWMzdY4tuqigPBXuzZlg.b['9'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['40']++;instance._uiSetLabel(label);}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['9'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['41']++;if(title){__cov_siQWMzdY4tuqigPBXuzZlg.b['10'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['42']++;instance._uiSetTitle(title);}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['10'][1]++;}},_renderIconNode:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['13']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['43']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['44']++;instance.get(CONTENT_BOX).append(instance.get(ICON_NODE));},_renderLabelNode:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['14']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['45']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['46']++;instance.get(CONTENT_BOX).append(instance.get(LABEL_NODE));},_getState:function(key,parent){__cov_siQWMzdY4tuqigPBXuzZlg.f['15']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['47']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['48']++;var value=instance.get(key);__cov_siQWMzdY4tuqigPBXuzZlg.s['49']++;var state=value;__cov_siQWMzdY4tuqigPBXuzZlg.s['50']++;if(parent){__cov_siQWMzdY4tuqigPBXuzZlg.b['11'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['51']++;value=parent.get(key);__cov_siQWMzdY4tuqigPBXuzZlg.s['52']++;if(!Lang.isUndefined(value)){__cov_siQWMzdY4tuqigPBXuzZlg.b['12'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['53']++;state=value;}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['12'][1]++;}}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['11'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['54']++;return state;},_renderStates:function(event){__cov_siQWMzdY4tuqigPBXuzZlg.f['16']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['55']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['56']++;var parent=instance.get('parent');__cov_siQWMzdY4tuqigPBXuzZlg.s['57']++;var activeState=instance._getState('activeState',parent);__cov_siQWMzdY4tuqigPBXuzZlg.s['58']++;var classNames=instance._getState('classNames',parent);__cov_siQWMzdY4tuqigPBXuzZlg.s['59']++;var defaultState=instance._getState('defaultState',parent);__cov_siQWMzdY4tuqigPBXuzZlg.s['60']++;var hoverState=instance._getState('hoverState',parent);__cov_siQWMzdY4tuqigPBXuzZlg.s['61']++;instance.plug(A.Plugin.StateInteraction,{activeState:activeState,classNames:classNames,defaultState:defaultState,hoverState:hoverState});},_setTitle:function(value){__cov_siQWMzdY4tuqigPBXuzZlg.f['17']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['62']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['63']++;if(value===null){__cov_siQWMzdY4tuqigPBXuzZlg.b['13'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['64']++;value=instance.get('label');}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['13'][1]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['65']++;if(value===false){__cov_siQWMzdY4tuqigPBXuzZlg.b['14'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['66']++;value='';}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['14'][1]++;}}__cov_siQWMzdY4tuqigPBXuzZlg.s['67']++;return String(value);},_syncChildrenStates:function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['18']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['68']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['69']++;var icon=instance.get('icon');__cov_siQWMzdY4tuqigPBXuzZlg.s['70']++;var label=instance.get('label');__cov_siQWMzdY4tuqigPBXuzZlg.s['71']++;var hasIconAndLabel=(__cov_siQWMzdY4tuqigPBXuzZlg.b['15'][0]++,icon)&&(__cov_siQWMzdY4tuqigPBXuzZlg.b['15'][1]++,label);__cov_siQWMzdY4tuqigPBXuzZlg.s['72']++;var hasLabelOnly=(__cov_siQWMzdY4tuqigPBXuzZlg.b['16'][0]++,!icon)&&(__cov_siQWMzdY4tuqigPBXuzZlg.b['16'][1]++,label);__cov_siQWMzdY4tuqigPBXuzZlg.s['73']++;var hasIconOnly=(__cov_siQWMzdY4tuqigPBXuzZlg.b['17'][0]++,icon)&&(__cov_siQWMzdY4tuqigPBXuzZlg.b['17'][1]++,!label);__cov_siQWMzdY4tuqigPBXuzZlg.s['74']++;var boundingBox=instance.get(BOUNDING_BOX);__cov_siQWMzdY4tuqigPBXuzZlg.s['75']++;boundingBox.toggleClass(CSS_BUTTON_ICON_LABEL,hasIconAndLabel);__cov_siQWMzdY4tuqigPBXuzZlg.s['76']++;boundingBox.toggleClass(CSS_BUTTON_ICON_ONLY,hasIconOnly);__cov_siQWMzdY4tuqigPBXuzZlg.s['77']++;boundingBox.toggleClass(CSS_BUTTON_LABEL_ONLY,hasLabelOnly);},_uiSetDisabled:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['19']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['78']++;var instance=this,boundingBox=instance.get(BOUNDING_BOX);__cov_siQWMzdY4tuqigPBXuzZlg.s['79']++;if(val){__cov_siQWMzdY4tuqigPBXuzZlg.b['18'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['80']++;boundingBox.attr('disabled','disabled');}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['18'][1]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['81']++;boundingBox.removeAttribute('disabled');}__cov_siQWMzdY4tuqigPBXuzZlg.s['82']++;A.ButtonItem.superclass._uiSetDisabled.apply(instance,arguments);},_uiSetHandler:function(value){__cov_siQWMzdY4tuqigPBXuzZlg.f['20']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['83']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['84']++;var fn=value;__cov_siQWMzdY4tuqigPBXuzZlg.s['85']++;var parent=instance.get('parent');__cov_siQWMzdY4tuqigPBXuzZlg.s['86']++;var context=(__cov_siQWMzdY4tuqigPBXuzZlg.b['19'][0]++,parent)&&(__cov_siQWMzdY4tuqigPBXuzZlg.b['19'][1]++,parent._DEFAULT_CONTEXT)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['19'][2]++,instance._DEFAULT_CONTEXT)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['19'][3]++,instance);__cov_siQWMzdY4tuqigPBXuzZlg.s['87']++;var type='click';__cov_siQWMzdY4tuqigPBXuzZlg.s['88']++;var args=instance;__cov_siQWMzdY4tuqigPBXuzZlg.s['89']++;var customArgs;__cov_siQWMzdY4tuqigPBXuzZlg.s['90']++;if(Lang.isObject(fn)){__cov_siQWMzdY4tuqigPBXuzZlg.b['20'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['91']++;var handlerConfig=fn;__cov_siQWMzdY4tuqigPBXuzZlg.s['92']++;fn=(__cov_siQWMzdY4tuqigPBXuzZlg.b['21'][0]++,handlerConfig.fn)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['21'][1]++,fn);__cov_siQWMzdY4tuqigPBXuzZlg.s['93']++;context=(__cov_siQWMzdY4tuqigPBXuzZlg.b['22'][0]++,handlerConfig.context)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['22'][1]++,context);__cov_siQWMzdY4tuqigPBXuzZlg.s['94']++;type=(__cov_siQWMzdY4tuqigPBXuzZlg.b['23'][0]++,handlerConfig.type)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['23'][1]++,type);__cov_siQWMzdY4tuqigPBXuzZlg.s['95']++;customArgs=handlerConfig.args;}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['20'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['96']++;if(Lang.isFunction(fn)){__cov_siQWMzdY4tuqigPBXuzZlg.b['24'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['97']++;var interactionHandle=instance._interactionHandle;__cov_siQWMzdY4tuqigPBXuzZlg.s['98']++;if(interactionHandle){__cov_siQWMzdY4tuqigPBXuzZlg.b['25'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['99']++;interactionHandle.detach();}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['25'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['100']++;var boundFn=A.rbind.apply(A,[fn,context,args].concat((__cov_siQWMzdY4tuqigPBXuzZlg.b['26'][0]++,customArgs)||(__cov_siQWMzdY4tuqigPBXuzZlg.b['26'][1]++,[])));__cov_siQWMzdY4tuqigPBXuzZlg.s['101']++;instance._interactionHandle=instance.on(type,function(){__cov_siQWMzdY4tuqigPBXuzZlg.f['21']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['102']++;if(!instance.get('disabled')){__cov_siQWMzdY4tuqigPBXuzZlg.b['27'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['103']++;boundFn.apply(this,arguments);}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['27'][1]++;}});}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['24'][1]++;}},_uiSetIcon:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['22']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['104']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['105']++;var iconNode=instance.get(ICON_NODE);__cov_siQWMzdY4tuqigPBXuzZlg.s['106']++;var action='show';__cov_siQWMzdY4tuqigPBXuzZlg.s['107']++;if(!val){__cov_siQWMzdY4tuqigPBXuzZlg.b['28'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['108']++;action='hide';}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['28'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['109']++;val=getClassName(ICON,val);__cov_siQWMzdY4tuqigPBXuzZlg.s['110']++;iconNode.replaceClass(instance._iconPrevVal,val);__cov_siQWMzdY4tuqigPBXuzZlg.s['111']++;iconNode[action]();__cov_siQWMzdY4tuqigPBXuzZlg.s['112']++;instance._syncChildrenStates();__cov_siQWMzdY4tuqigPBXuzZlg.s['113']++;instance._iconPrevVal=val;},_uiSetLabel:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['23']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['114']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['115']++;var labelNode=instance.get(LABEL_NODE);__cov_siQWMzdY4tuqigPBXuzZlg.s['116']++;var action='show';__cov_siQWMzdY4tuqigPBXuzZlg.s['117']++;if(!val){__cov_siQWMzdY4tuqigPBXuzZlg.b['29'][0]++;__cov_siQWMzdY4tuqigPBXuzZlg.s['118']++;action='hide';}else{__cov_siQWMzdY4tuqigPBXuzZlg.b['29'][1]++;}__cov_siQWMzdY4tuqigPBXuzZlg.s['119']++;labelNode.text(val);__cov_siQWMzdY4tuqigPBXuzZlg.s['120']++;labelNode[action]();__cov_siQWMzdY4tuqigPBXuzZlg.s['121']++;instance._syncChildrenStates();},_uiSetTitle:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['24']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['122']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['123']++;var boundingBox=instance.get(BOUNDING_BOX);__cov_siQWMzdY4tuqigPBXuzZlg.s['124']++;boundingBox.setAttribute(TITLE,val);},_uiSetType:function(val){__cov_siQWMzdY4tuqigPBXuzZlg.f['25']++;__cov_siQWMzdY4tuqigPBXuzZlg.s['125']++;var instance=this;__cov_siQWMzdY4tuqigPBXuzZlg.s['126']++;var boundingBox=instance.get(BOUNDING_BOX);__cov_siQWMzdY4tuqigPBXuzZlg.s['127']++;boundingBox.setAttribute(TYPE,val);}}});__cov_siQWMzdY4tuqigPBXuzZlg.s['128']++;A.ButtonItem=ButtonItem;},'3.1.0-deprecated.52',{'requires':['aui-base-deprecated','aui-state-interaction-deprecated','widget-child'],'skinnable':true});
diff --git a/build/aui-button-item-deprecated/aui-button-item-deprecated-debug.js b/build/aui-button-item-deprecated/aui-button-item-deprecated-debug.js
new file mode 100644
index 00000000000..bbef3790f1c
--- /dev/null
+++ b/build/aui-button-item-deprecated/aui-button-item-deprecated-debug.js
@@ -0,0 +1,641 @@
+YUI.add('aui-button-item-deprecated', function (A, NAME) {
+
+/**
+ * The ButtonItem Utility
+ *
+ * @module aui-button-item
+ */
+
+var Lang = A.Lang,
+ isString = Lang.isString,
+
+ getClassName = A.getClassName,
+
+ NAME = 'buttonitem',
+
+ BOUNDING_BOX = 'boundingBox',
+ BUTTON = 'button',
+ CONTENT_BOX = 'contentBox',
+ DOT = '.',
+ HANDLER = 'handler',
+ ICON = 'icon',
+ ICON_NODE = 'iconNode',
+ LABEL = 'label',
+ LABEL_NODE = 'labelNode',
+ ONLY = 'only',
+ RESET = 'reset',
+ STATE = 'state',
+ SUBMIT = 'submit',
+ TITLE = 'title',
+ TYPE = 'type',
+
+ CSS_BUTTON = getClassName(NAME),
+ CSS_BUTTON_ICON = getClassName(NAME, ICON),
+ CSS_BUTTON_LABEL = getClassName(NAME, LABEL),
+
+ CSS_BUTTON_ICON_LABEL = getClassName(NAME, ICON, LABEL),
+ CSS_BUTTON_ICON_ONLY = getClassName(NAME, ICON, ONLY),
+ CSS_BUTTON_LABEL_ONLY = getClassName(NAME, LABEL, ONLY),
+
+ CSS_ICON = getClassName(ICON),
+
+ REGEX_ICON = new RegExp(CSS_ICON + '-([a-zA-Z0-9-]+)'),
+
+ TPL_BUTTON = ' ',
+ TPL_ICON = ' ',
+ TPL_LABEL = ' ';
+
+/**
+ * A base class for ButtonItem, providing:
+ *
+ * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor)
+ * An optional icon or label
+ * Managed user interaction states (default, active, hover)
+ * Keyboard accessible
+ *
+ *
+ * Quick Example:
+ *
+ * var instance = new A.ButtonItem({
+ * icon: 'gear',
+ * label: 'Configuration'
+ * }).render();
+ *
+ *
+ * Check the list of Configuration Attributes available for
+ * ButtonItem.
+ *
+ * @param config {Object} Object literal specifying widget configuration properties.
+ *
+ * @class ButtonItem
+ * @constructor
+ * @extends Component
+ * @uses WidgetChild
+ */
+
+var ButtonItem = A.Component.create({
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property ButtonItem.NAME
+ * @type String
+ * @static
+ */
+
+ NAME: NAME,
+
+ /**
+ * Static property provides an array to specify which classes augment this one.
+ *
+ * @property ButtonItem.AUGMENTS
+ * @type array
+ * @static
+ */
+
+ AUGMENTS: [A.WidgetChild],
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the ButtonItem.
+ *
+ * @property ButtonItem.ATTRS
+ * @type Object
+ * @static
+ */
+
+ ATTRS: {
+ /**
+ * Whether to track the active state of the button.
+ *
+ * @attribute activeState
+ * @default false
+ * @type Boolean
+ */
+ activeState: {
+ value: false
+ },
+
+ /**
+ * An object map of the CSS class names to use for the different interaction states.
+ *
+ * @attribute classNames
+ * @type Object
+ */
+ classNames: {},
+
+ /**
+ * Whether to apply the default interaction state to the button
+ *
+ * @attribute defaultState
+ * @default true
+ * @type Boolean
+ */
+ defaultState: {},
+
+ /**
+ * An event callback to handle when a user interacts with the button.
+ * This can either be a function that will be attached on click, or
+ * an object map that accepts the following keys:
+ * {fn: // The function to execute
+ * context: // The context to execute the function in
+ * type: // The type of event to listen for (defaults to "click")
+ * }
+ *
+ * @attribute handler
+ * @default false
+ * @type Function | Object
+ */
+ handler: {
+ lazyAdd: false,
+ value: null
+ },
+
+ /**
+ * Whether to track the hover interaction state of the button.
+ *
+ * @attribute hoverState
+ * @default true
+ * @type Boolean
+ */
+ hoverState: {},
+
+ /**
+ * The icon to use inside of the button. Possible values are:
+ *
+ * @attribute icon
+ * @type String
+ */
+ icon: {
+ value: ''
+ },
+
+ /**
+ * DOM Node to display the icon of the ButtonItem. If not
+ * specified try to query using HTML_PARSER an element inside
+ * boundingBox which matches aui-button-icon
.
+ *
+ * @attribute iconNode
+ * @default Generated div element.
+ * @type String
+ */
+ iconNode: {
+ valueFn: function() {
+ return A.Node.create(TPL_ICON);
+ }
+ },
+
+ /**
+ * An id that can be used to identify a button.
+ *
+ * @attribute hoverState
+ * @type Boolean
+ */
+ id: {
+ valueFn: function() {
+ return A.guid();
+ }
+ },
+
+ /**
+ * Text to use inside of the button.
+ *
+ * @attribute label
+ * @type String
+ */
+ label: {
+ value: ''
+ },
+
+ /**
+ * DOM Node to display the text of the ButtonItem. If not
+ * specified try to query using HTML_PARSER an element inside
+ * boundingBox which matches aui-button-label
.
+ *
+ * @attribute labelNode
+ * @default Generated div element.
+ * @type String
+ */
+ labelNode: {
+ valueFn: function() {
+ return A.Node.create(TPL_LABEL);
+ }
+ },
+
+ /**
+ * Text to use as the title attribute of the button.
+ *
+ * @attribute title
+ * @type String
+ */
+ title: {
+ setter: '_setTitle',
+ value: false
+ },
+
+ /**
+ * Button type.
+ *
+ * @attribute type
+ * @default button
+ * @type String
+ */
+ type: {
+ validator: function(val) {
+ return (val === BUTTON || val === SUBMIT || val === RESET);
+ },
+ value: BUTTON
+ }
+ },
+
+ /**
+ * Object hash, defining how attribute values are to be parsed from
+ * markup contained in the widget's content box.
+ *
+ * @property ButtonItem.HTML_PARSER
+ * @type Object
+ * @static
+ */
+ HTML_PARSER: {
+ iconNode: function(srcNode) {
+ return srcNode.one(DOT + CSS_BUTTON_ICON);
+ },
+ labelNode: function(srcNode) {
+ return srcNode.one(DOT + CSS_BUTTON_LABEL);
+ },
+ icon: function(srcNode) {
+ var iconNode = srcNode.one(DOT + CSS_BUTTON_ICON);
+
+ if (iconNode) {
+ this.set(ICON_NODE, iconNode);
+ var cssClass = iconNode.attr('class');
+
+ var match = cssClass.match(REGEX_ICON);
+
+ return match && match[1];
+ }
+ },
+ label: function(srcNode) {
+ var labelNode = srcNode.one(DOT + CSS_BUTTON_LABEL);
+
+ if (labelNode) {
+ this.set(LABEL_NODE, labelNode);
+
+ return labelNode.text();
+ }
+ }
+ },
+
+ constructor: function(config) {
+ var instance = this;
+
+ var buttonType = 'button';
+
+ if (config) {
+ if (isString(config)) {
+ config = {
+ icon: config
+ };
+ }
+ else if (config.type) {
+ buttonType = config.type;
+ }
+ }
+
+ instance.BOUNDING_TEMPLATE = Lang.sub(TPL_BUTTON, [buttonType]);
+
+ ButtonItem.superclass.constructor.call(instance, config);
+ },
+
+ UI_ATTRS: [HANDLER, ICON, LABEL, TITLE, TYPE],
+
+ prototype: {
+ BOUNDING_TEMPLATE: TPL_BUTTON,
+ CONTENT_TEMPLATE: null,
+
+ /**
+ * Create the DOM structure for the ButtonItem. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderStates();
+ instance._renderIconNode();
+ instance._renderLabelNode();
+ },
+
+ /**
+ * Sync the ButtonItem UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ var icon = instance.get('icon');
+ var label = instance.get('label');
+ var title = instance.get('title');
+
+ if (icon) {
+ instance._uiSetIcon(icon);
+ }
+
+ if (label) {
+ instance._uiSetLabel(label);
+ }
+
+ if (title) {
+ instance._uiSetTitle(title);
+ }
+ },
+
+ /**
+ * Renders the underlying markup for the icon .
+ *
+ * @method _renderIconNode
+ * @protected
+ * @return {Node}
+ */
+ _renderIconNode: function() {
+ var instance = this;
+
+ instance.get(CONTENT_BOX).append(
+ instance.get(ICON_NODE)
+ );
+ },
+
+ /**
+ * Renders the underlying markup for the label .
+ *
+ * @method _renderLabelNode
+ * @protected
+ * @return {Node}
+ */
+ _renderLabelNode: function() {
+ var instance = this;
+
+ instance.get(CONTENT_BOX).append(
+ instance.get(LABEL_NODE)
+ );
+ },
+
+ /**
+ * Retrieves the state value from either the current instance, or if defined, the
+ * parent widget.
+ *
+ * @method _getState
+ * @param {String} key The state name to retrieve
+ * @param {Object} parent The parent widget to attempt to retrieve the state from
+ * @protected
+ * @return {Object}
+ */
+ _getState: function(key, parent) {
+ var instance = this;
+
+ var value = instance.get(key);
+
+ var state = value;
+
+ if (parent) {
+ value = parent.get(key);
+
+ if (!Lang.isUndefined(value)) {
+ state = value;
+ }
+ }
+
+ return state;
+ },
+
+ /**
+ * Attaches state interaction management to the widget.
+ *
+ * @method _renderStates
+ * @param {EventFacade} event
+ * @protected
+ */
+ _renderStates: function(event) {
+ var instance = this;
+
+ var parent = instance.get('parent');
+
+ var activeState = instance._getState('activeState', parent);
+ var classNames = instance._getState('classNames', parent);
+ var defaultState = instance._getState('defaultState', parent);
+ var hoverState = instance._getState('hoverState', parent);
+
+ instance.plug(
+ A.Plugin.StateInteraction, {
+ activeState: activeState,
+ classNames: classNames,
+ defaultState: defaultState,
+ hoverState: hoverState
+ }
+ );
+ },
+
+ /**
+ * Setter for the title attribute
+ *
+ * @method _setTitle
+ * @protected
+ */
+ _setTitle: function(value) {
+ var instance = this;
+
+ if (value === null) {
+ value = instance.get('label');
+ }
+ else if (value === false) {
+ value = '';
+ }
+
+ return String(value);
+ },
+
+ /**
+ * Syncs the boundingBox class names to reflect whether the children only have icons or labels or both.
+ *
+ * @method _syncChildrenStates
+ * @protected
+ */
+ _syncChildrenStates: function() {
+ var instance = this;
+
+ var icon = instance.get('icon');
+ var label = instance.get('label');
+
+ var hasIconAndLabel = (icon && label);
+ var hasLabelOnly = (!icon && label);
+ var hasIconOnly = (icon && !label);
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.toggleClass(CSS_BUTTON_ICON_LABEL, hasIconAndLabel);
+ boundingBox.toggleClass(CSS_BUTTON_ICON_ONLY, hasIconOnly);
+ boundingBox.toggleClass(CSS_BUTTON_LABEL_ONLY, hasLabelOnly);
+ },
+
+ _uiSetDisabled: function(val) {
+ var instance = this,
+ boundingBox = instance.get(BOUNDING_BOX);
+
+ if (val) {
+ boundingBox.attr('disabled', 'disabled');
+ }
+ else {
+ boundingBox.removeAttribute('disabled');
+ }
+
+ A.ButtonItem.superclass._uiSetDisabled.apply(instance, arguments);
+ },
+
+ /**
+ * Updates the UI for the icon in response to the Handler event.
+ *
+ * @method _uiSetHandler
+ * @param {String} val Handler name
+ * @protected
+ */
+ _uiSetHandler: function(value) {
+ var instance = this;
+
+ var fn = value;
+ var parent = instance.get('parent');
+ var context = (parent && parent._DEFAULT_CONTEXT) || instance._DEFAULT_CONTEXT || instance;
+
+ var type = 'click';
+
+ var args = instance;
+ var customArgs;
+
+ if (Lang.isObject(fn)) {
+ var handlerConfig = fn;
+
+ fn = handlerConfig.fn || fn;
+ context = handlerConfig.context || context;
+ type = handlerConfig.type || type;
+
+ customArgs = handlerConfig.args;
+ }
+
+ if (Lang.isFunction(fn)) {
+ var interactionHandle = instance._interactionHandle;
+
+ if (interactionHandle) {
+ interactionHandle.detach();
+ }
+
+ var boundFn = A.rbind.apply(A, [fn, context, args].concat(customArgs || []));
+
+ instance._interactionHandle = instance.on(
+ type,
+ function() {
+ if (!instance.get('disabled')) {
+ boundFn.apply(this, arguments);
+ }
+ }
+ );
+ }
+ },
+
+ /**
+ * Updates the UI for the icon in response to the iconChange event.
+ *
+ * @method _uiSetIcon
+ * @param {String} val Icon name
+ * @protected
+ */
+ _uiSetIcon: function(val) {
+ var instance = this;
+
+ var iconNode = instance.get(ICON_NODE);
+
+ var action = 'show';
+
+ if (!val) {
+ action = 'hide';
+ }
+
+ val = getClassName(ICON, val);
+
+ iconNode.replaceClass(instance._iconPrevVal, val);
+
+ iconNode[action]();
+
+ instance._syncChildrenStates();
+
+ instance._iconPrevVal = val;
+ },
+
+ /**
+ * Updates the UI for the label in response to the labelChange event.
+ *
+ * @method _uiSetLabel
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetLabel: function(val) {
+ var instance = this;
+
+ var labelNode = instance.get(LABEL_NODE);
+
+ var action = 'show';
+
+ if (!val) {
+ action = 'hide';
+ }
+
+ labelNode.text(val);
+
+ labelNode[action]();
+
+ instance._syncChildrenStates();
+ },
+
+ /**
+ * Updates the UI for the title in response to the titleChange event.
+ *
+ * @method _uiSetTitle
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetTitle: function(val) {
+ var instance = this;
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.setAttribute(TITLE, val);
+ },
+
+ /**
+ * Updates the UI for the type in response to the typeChange event.
+ *
+ * @method _uiSetType
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetType: function(val) {
+ var instance = this;
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.setAttribute(TYPE, val);
+ }
+ }
+});
+
+A.ButtonItem = ButtonItem;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-state-interaction-deprecated",
+ "widget-child"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-button-item-deprecated/aui-button-item-deprecated-min.js b/build/aui-button-item-deprecated/aui-button-item-deprecated-min.js
new file mode 100644
index 00000000000..9e7de117af8
--- /dev/null
+++ b/build/aui-button-item-deprecated/aui-button-item-deprecated-min.js
@@ -0,0 +1 @@
+YUI.add("aui-button-item-deprecated",function(e,t){var n=e.Lang,r=n.isString,i=e.getClassName,t="buttonitem",s="boundingBox",o="button",u="contentBox",a=".",f="handler",l="icon",c="iconNode",h="label",p="labelNode",d="only",v="reset",m="state",g="submit",y="title",b="type",w=i(t),E=i(t,l),S=i(t,h),x=i(t,l,h),T=i(t,l,d),N=i(t,h,d),C=i(l),k=new RegExp(C+"-([a-zA-Z0-9-]+)"),L=' ',A=' ',O=' ',M=e.Component.create({NAME:t,AUGMENTS:[e.WidgetChild],ATTRS:{activeState:{value:!1},classNames:{},defaultState:{},handler:{lazyAdd:!1,value:null},hoverState:{},icon:{value:""},iconNode:{valueFn:function(){return e.Node.create(A)}},id:{valueFn:function(){return e.guid()}},label:{value:""},labelNode:{valueFn:function(){return e.Node.create(O)}},title:{setter:"_setTitle",value:!1},type:{validator:function(e){return e===o||e===g||e===v},value:o}},HTML_PARSER:{iconNode:function(e){return e.one(a+E)},labelNode:function(e){return e.one(a+S)},icon:function(e){var t=e.one(a+E);if(t){this.set(c,t);var n=t.attr("class"),r=n.match(k);return r&&r[1]}},label:function(e){var t=e.one(a+S);if(t)return this.set(p,t),t.text()}},constructor:function(e){var t=this,i="button";e&&(r(e)?e={icon:e}:e.type&&(i=e.type)),t.BOUNDING_TEMPLATE=n.sub(L,[i]),M.superclass.constructor.call(t,e)},UI_ATTRS:[f,l,h,y,b],prototype:{BOUNDING_TEMPLATE:L,CONTENT_TEMPLATE:null,renderUI:function(){var e=this;e._renderStates(),e._renderIconNode(),e._renderLabelNode()},syncUI:function(){var e=this,t=e.get("icon"),n=e.get("label"),r=e.get("title");t&&e._uiSetIcon(t),n&&e._uiSetLabel(n),r&&e._uiSetTitle(r)},_renderIconNode:function(){var e=this;e.get(u).append(e.get(c))},_renderLabelNode:function(){var e=this;e.get(u).append(e.get(p))},_getState:function(e,t){var r=this,i=r.get(e),s=i;return t&&(i=t.get(e),n.isUndefined(i)||(s=i)),s},_renderStates:function(t){var n=this,r=n.get("parent"),i=n._getState("activeState",r),s=n._getState("classNames",r),o=n._getState("defaultState",r),u=n._getState("hoverState",r);n.plug(e.Plugin.StateInteraction,{activeState:i,classNames:s,defaultState:o,hoverState:u})},_setTitle:function(e){var t=this;return e===null?e=t.get("label"):e===!1&&(e=""),String(e)},_syncChildrenStates:function(){var e=this,t=e.get("icon"),n=e.get("label"),r=t&&n,i=!t&&n,o=t&&!n,u=e.get(s);u.toggleClass(x,r),u.toggleClass(T,o),u.toggleClass(N,i)},_uiSetDisabled:function(t){var n=this,r=n.get(s);t?r.attr("disabled","disabled"):r.removeAttribute("disabled"),e.ButtonItem.superclass._uiSetDisabled.apply(n,arguments)},_uiSetHandler:function(t){var r=this,i=t,s=r.get("parent"),o=s&&s._DEFAULT_CONTEXT||r._DEFAULT_CONTEXT||r,u="click",a=r,f;if(n.isObject(i)){var l=i;i=l.fn||i,o=l.context||o,u=l.type||u,f=l.args}if(n.isFunction(i)){var c=r._interactionHandle;c&&c.detach();var h=e.rbind.apply(e,[i,o,a].concat(f||[]));r._interactionHandle=r.on(u,function(){r.get("disabled")||h.apply(this,arguments)})}},_uiSetIcon:function(e){var t=this,n=t.get(c),r="show";e||(r="hide"),e=i(l,e),n.replaceClass(t._iconPrevVal,e),n[r](),t._syncChildrenStates(),t._iconPrevVal=e},_uiSetLabel:function(e){var t=this,n=t.get(p),r="show";e||(r="hide"),n.text(e),n[r](),t._syncChildrenStates()},_uiSetTitle:function(e){var t=this,n=t.get(s);n.setAttribute(y,e)},_uiSetType:function(e){var t=this,n=t.get(s);n.setAttribute(b,e)}}});e.ButtonItem=M},"3.1.0-deprecated.52",{requires:["aui-base-deprecated","aui-state-interaction-deprecated","widget-child"],skinnable:!0});
diff --git a/build/aui-button-item-deprecated/aui-button-item-deprecated.js b/build/aui-button-item-deprecated/aui-button-item-deprecated.js
new file mode 100644
index 00000000000..bbef3790f1c
--- /dev/null
+++ b/build/aui-button-item-deprecated/aui-button-item-deprecated.js
@@ -0,0 +1,641 @@
+YUI.add('aui-button-item-deprecated', function (A, NAME) {
+
+/**
+ * The ButtonItem Utility
+ *
+ * @module aui-button-item
+ */
+
+var Lang = A.Lang,
+ isString = Lang.isString,
+
+ getClassName = A.getClassName,
+
+ NAME = 'buttonitem',
+
+ BOUNDING_BOX = 'boundingBox',
+ BUTTON = 'button',
+ CONTENT_BOX = 'contentBox',
+ DOT = '.',
+ HANDLER = 'handler',
+ ICON = 'icon',
+ ICON_NODE = 'iconNode',
+ LABEL = 'label',
+ LABEL_NODE = 'labelNode',
+ ONLY = 'only',
+ RESET = 'reset',
+ STATE = 'state',
+ SUBMIT = 'submit',
+ TITLE = 'title',
+ TYPE = 'type',
+
+ CSS_BUTTON = getClassName(NAME),
+ CSS_BUTTON_ICON = getClassName(NAME, ICON),
+ CSS_BUTTON_LABEL = getClassName(NAME, LABEL),
+
+ CSS_BUTTON_ICON_LABEL = getClassName(NAME, ICON, LABEL),
+ CSS_BUTTON_ICON_ONLY = getClassName(NAME, ICON, ONLY),
+ CSS_BUTTON_LABEL_ONLY = getClassName(NAME, LABEL, ONLY),
+
+ CSS_ICON = getClassName(ICON),
+
+ REGEX_ICON = new RegExp(CSS_ICON + '-([a-zA-Z0-9-]+)'),
+
+ TPL_BUTTON = ' ',
+ TPL_ICON = ' ',
+ TPL_LABEL = ' ';
+
+/**
+ * A base class for ButtonItem, providing:
+ *
+ * Widget Lifecycle (initializer, renderUI, bindUI, syncUI, destructor)
+ * An optional icon or label
+ * Managed user interaction states (default, active, hover)
+ * Keyboard accessible
+ *
+ *
+ * Quick Example:
+ *
+ * var instance = new A.ButtonItem({
+ * icon: 'gear',
+ * label: 'Configuration'
+ * }).render();
+ *
+ *
+ * Check the list of Configuration Attributes available for
+ * ButtonItem.
+ *
+ * @param config {Object} Object literal specifying widget configuration properties.
+ *
+ * @class ButtonItem
+ * @constructor
+ * @extends Component
+ * @uses WidgetChild
+ */
+
+var ButtonItem = A.Component.create({
+ /**
+ * Static property provides a string to identify the class.
+ *
+ * @property ButtonItem.NAME
+ * @type String
+ * @static
+ */
+
+ NAME: NAME,
+
+ /**
+ * Static property provides an array to specify which classes augment this one.
+ *
+ * @property ButtonItem.AUGMENTS
+ * @type array
+ * @static
+ */
+
+ AUGMENTS: [A.WidgetChild],
+
+ /**
+ * Static property used to define the default attribute
+ * configuration for the ButtonItem.
+ *
+ * @property ButtonItem.ATTRS
+ * @type Object
+ * @static
+ */
+
+ ATTRS: {
+ /**
+ * Whether to track the active state of the button.
+ *
+ * @attribute activeState
+ * @default false
+ * @type Boolean
+ */
+ activeState: {
+ value: false
+ },
+
+ /**
+ * An object map of the CSS class names to use for the different interaction states.
+ *
+ * @attribute classNames
+ * @type Object
+ */
+ classNames: {},
+
+ /**
+ * Whether to apply the default interaction state to the button
+ *
+ * @attribute defaultState
+ * @default true
+ * @type Boolean
+ */
+ defaultState: {},
+
+ /**
+ * An event callback to handle when a user interacts with the button.
+ * This can either be a function that will be attached on click, or
+ * an object map that accepts the following keys:
+ * {fn: // The function to execute
+ * context: // The context to execute the function in
+ * type: // The type of event to listen for (defaults to "click")
+ * }
+ *
+ * @attribute handler
+ * @default false
+ * @type Function | Object
+ */
+ handler: {
+ lazyAdd: false,
+ value: null
+ },
+
+ /**
+ * Whether to track the hover interaction state of the button.
+ *
+ * @attribute hoverState
+ * @default true
+ * @type Boolean
+ */
+ hoverState: {},
+
+ /**
+ * The icon to use inside of the button. Possible values are:
+ *
+ * @attribute icon
+ * @type String
+ */
+ icon: {
+ value: ''
+ },
+
+ /**
+ * DOM Node to display the icon of the ButtonItem. If not
+ * specified try to query using HTML_PARSER an element inside
+ * boundingBox which matches aui-button-icon
.
+ *
+ * @attribute iconNode
+ * @default Generated div element.
+ * @type String
+ */
+ iconNode: {
+ valueFn: function() {
+ return A.Node.create(TPL_ICON);
+ }
+ },
+
+ /**
+ * An id that can be used to identify a button.
+ *
+ * @attribute hoverState
+ * @type Boolean
+ */
+ id: {
+ valueFn: function() {
+ return A.guid();
+ }
+ },
+
+ /**
+ * Text to use inside of the button.
+ *
+ * @attribute label
+ * @type String
+ */
+ label: {
+ value: ''
+ },
+
+ /**
+ * DOM Node to display the text of the ButtonItem. If not
+ * specified try to query using HTML_PARSER an element inside
+ * boundingBox which matches aui-button-label
.
+ *
+ * @attribute labelNode
+ * @default Generated div element.
+ * @type String
+ */
+ labelNode: {
+ valueFn: function() {
+ return A.Node.create(TPL_LABEL);
+ }
+ },
+
+ /**
+ * Text to use as the title attribute of the button.
+ *
+ * @attribute title
+ * @type String
+ */
+ title: {
+ setter: '_setTitle',
+ value: false
+ },
+
+ /**
+ * Button type.
+ *
+ * @attribute type
+ * @default button
+ * @type String
+ */
+ type: {
+ validator: function(val) {
+ return (val === BUTTON || val === SUBMIT || val === RESET);
+ },
+ value: BUTTON
+ }
+ },
+
+ /**
+ * Object hash, defining how attribute values are to be parsed from
+ * markup contained in the widget's content box.
+ *
+ * @property ButtonItem.HTML_PARSER
+ * @type Object
+ * @static
+ */
+ HTML_PARSER: {
+ iconNode: function(srcNode) {
+ return srcNode.one(DOT + CSS_BUTTON_ICON);
+ },
+ labelNode: function(srcNode) {
+ return srcNode.one(DOT + CSS_BUTTON_LABEL);
+ },
+ icon: function(srcNode) {
+ var iconNode = srcNode.one(DOT + CSS_BUTTON_ICON);
+
+ if (iconNode) {
+ this.set(ICON_NODE, iconNode);
+ var cssClass = iconNode.attr('class');
+
+ var match = cssClass.match(REGEX_ICON);
+
+ return match && match[1];
+ }
+ },
+ label: function(srcNode) {
+ var labelNode = srcNode.one(DOT + CSS_BUTTON_LABEL);
+
+ if (labelNode) {
+ this.set(LABEL_NODE, labelNode);
+
+ return labelNode.text();
+ }
+ }
+ },
+
+ constructor: function(config) {
+ var instance = this;
+
+ var buttonType = 'button';
+
+ if (config) {
+ if (isString(config)) {
+ config = {
+ icon: config
+ };
+ }
+ else if (config.type) {
+ buttonType = config.type;
+ }
+ }
+
+ instance.BOUNDING_TEMPLATE = Lang.sub(TPL_BUTTON, [buttonType]);
+
+ ButtonItem.superclass.constructor.call(instance, config);
+ },
+
+ UI_ATTRS: [HANDLER, ICON, LABEL, TITLE, TYPE],
+
+ prototype: {
+ BOUNDING_TEMPLATE: TPL_BUTTON,
+ CONTENT_TEMPLATE: null,
+
+ /**
+ * Create the DOM structure for the ButtonItem. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var instance = this;
+
+ instance._renderStates();
+ instance._renderIconNode();
+ instance._renderLabelNode();
+ },
+
+ /**
+ * Sync the ButtonItem UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ var instance = this;
+
+ var icon = instance.get('icon');
+ var label = instance.get('label');
+ var title = instance.get('title');
+
+ if (icon) {
+ instance._uiSetIcon(icon);
+ }
+
+ if (label) {
+ instance._uiSetLabel(label);
+ }
+
+ if (title) {
+ instance._uiSetTitle(title);
+ }
+ },
+
+ /**
+ * Renders the underlying markup for the icon .
+ *
+ * @method _renderIconNode
+ * @protected
+ * @return {Node}
+ */
+ _renderIconNode: function() {
+ var instance = this;
+
+ instance.get(CONTENT_BOX).append(
+ instance.get(ICON_NODE)
+ );
+ },
+
+ /**
+ * Renders the underlying markup for the label .
+ *
+ * @method _renderLabelNode
+ * @protected
+ * @return {Node}
+ */
+ _renderLabelNode: function() {
+ var instance = this;
+
+ instance.get(CONTENT_BOX).append(
+ instance.get(LABEL_NODE)
+ );
+ },
+
+ /**
+ * Retrieves the state value from either the current instance, or if defined, the
+ * parent widget.
+ *
+ * @method _getState
+ * @param {String} key The state name to retrieve
+ * @param {Object} parent The parent widget to attempt to retrieve the state from
+ * @protected
+ * @return {Object}
+ */
+ _getState: function(key, parent) {
+ var instance = this;
+
+ var value = instance.get(key);
+
+ var state = value;
+
+ if (parent) {
+ value = parent.get(key);
+
+ if (!Lang.isUndefined(value)) {
+ state = value;
+ }
+ }
+
+ return state;
+ },
+
+ /**
+ * Attaches state interaction management to the widget.
+ *
+ * @method _renderStates
+ * @param {EventFacade} event
+ * @protected
+ */
+ _renderStates: function(event) {
+ var instance = this;
+
+ var parent = instance.get('parent');
+
+ var activeState = instance._getState('activeState', parent);
+ var classNames = instance._getState('classNames', parent);
+ var defaultState = instance._getState('defaultState', parent);
+ var hoverState = instance._getState('hoverState', parent);
+
+ instance.plug(
+ A.Plugin.StateInteraction, {
+ activeState: activeState,
+ classNames: classNames,
+ defaultState: defaultState,
+ hoverState: hoverState
+ }
+ );
+ },
+
+ /**
+ * Setter for the title attribute
+ *
+ * @method _setTitle
+ * @protected
+ */
+ _setTitle: function(value) {
+ var instance = this;
+
+ if (value === null) {
+ value = instance.get('label');
+ }
+ else if (value === false) {
+ value = '';
+ }
+
+ return String(value);
+ },
+
+ /**
+ * Syncs the boundingBox class names to reflect whether the children only have icons or labels or both.
+ *
+ * @method _syncChildrenStates
+ * @protected
+ */
+ _syncChildrenStates: function() {
+ var instance = this;
+
+ var icon = instance.get('icon');
+ var label = instance.get('label');
+
+ var hasIconAndLabel = (icon && label);
+ var hasLabelOnly = (!icon && label);
+ var hasIconOnly = (icon && !label);
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.toggleClass(CSS_BUTTON_ICON_LABEL, hasIconAndLabel);
+ boundingBox.toggleClass(CSS_BUTTON_ICON_ONLY, hasIconOnly);
+ boundingBox.toggleClass(CSS_BUTTON_LABEL_ONLY, hasLabelOnly);
+ },
+
+ _uiSetDisabled: function(val) {
+ var instance = this,
+ boundingBox = instance.get(BOUNDING_BOX);
+
+ if (val) {
+ boundingBox.attr('disabled', 'disabled');
+ }
+ else {
+ boundingBox.removeAttribute('disabled');
+ }
+
+ A.ButtonItem.superclass._uiSetDisabled.apply(instance, arguments);
+ },
+
+ /**
+ * Updates the UI for the icon in response to the Handler event.
+ *
+ * @method _uiSetHandler
+ * @param {String} val Handler name
+ * @protected
+ */
+ _uiSetHandler: function(value) {
+ var instance = this;
+
+ var fn = value;
+ var parent = instance.get('parent');
+ var context = (parent && parent._DEFAULT_CONTEXT) || instance._DEFAULT_CONTEXT || instance;
+
+ var type = 'click';
+
+ var args = instance;
+ var customArgs;
+
+ if (Lang.isObject(fn)) {
+ var handlerConfig = fn;
+
+ fn = handlerConfig.fn || fn;
+ context = handlerConfig.context || context;
+ type = handlerConfig.type || type;
+
+ customArgs = handlerConfig.args;
+ }
+
+ if (Lang.isFunction(fn)) {
+ var interactionHandle = instance._interactionHandle;
+
+ if (interactionHandle) {
+ interactionHandle.detach();
+ }
+
+ var boundFn = A.rbind.apply(A, [fn, context, args].concat(customArgs || []));
+
+ instance._interactionHandle = instance.on(
+ type,
+ function() {
+ if (!instance.get('disabled')) {
+ boundFn.apply(this, arguments);
+ }
+ }
+ );
+ }
+ },
+
+ /**
+ * Updates the UI for the icon in response to the iconChange event.
+ *
+ * @method _uiSetIcon
+ * @param {String} val Icon name
+ * @protected
+ */
+ _uiSetIcon: function(val) {
+ var instance = this;
+
+ var iconNode = instance.get(ICON_NODE);
+
+ var action = 'show';
+
+ if (!val) {
+ action = 'hide';
+ }
+
+ val = getClassName(ICON, val);
+
+ iconNode.replaceClass(instance._iconPrevVal, val);
+
+ iconNode[action]();
+
+ instance._syncChildrenStates();
+
+ instance._iconPrevVal = val;
+ },
+
+ /**
+ * Updates the UI for the label in response to the labelChange event.
+ *
+ * @method _uiSetLabel
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetLabel: function(val) {
+ var instance = this;
+
+ var labelNode = instance.get(LABEL_NODE);
+
+ var action = 'show';
+
+ if (!val) {
+ action = 'hide';
+ }
+
+ labelNode.text(val);
+
+ labelNode[action]();
+
+ instance._syncChildrenStates();
+ },
+
+ /**
+ * Updates the UI for the title in response to the titleChange event.
+ *
+ * @method _uiSetTitle
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetTitle: function(val) {
+ var instance = this;
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.setAttribute(TITLE, val);
+ },
+
+ /**
+ * Updates the UI for the type in response to the typeChange event.
+ *
+ * @method _uiSetType
+ * @param {String} val The new value
+ * @protected
+ */
+ _uiSetType: function(val) {
+ var instance = this;
+
+ var boundingBox = instance.get(BOUNDING_BOX);
+
+ boundingBox.setAttribute(TYPE, val);
+ }
+ }
+});
+
+A.ButtonItem = ButtonItem;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "aui-base-deprecated",
+ "aui-state-interaction-deprecated",
+ "widget-child"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-button-search-cancel/aui-button-search-cancel-coverage.js b/build/aui-button-search-cancel/aui-button-search-cancel-coverage.js
new file mode 100644
index 00000000000..048b2124f09
--- /dev/null
+++ b/build/aui-button-search-cancel/aui-button-search-cancel-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-button-search-cancel/aui-button-search-cancel.js']) {
+ __coverage__['build/aui-button-search-cancel/aui-button-search-cancel.js'] = {"path":"build/aui-button-search-cancel/aui-button-search-cancel.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":36},"end":{"line":1,"column":55}}},"2":{"name":"(anonymous_2)","line":59,"loc":{"start":{"line":59,"column":17},"end":{"line":59,"column":28}}},"3":{"name":"(anonymous_3)","line":73,"loc":{"start":{"line":73,"column":13},"end":{"line":73,"column":24}}},"4":{"name":"(anonymous_4)","line":76,"loc":{"start":{"line":76,"column":39},"end":{"line":76,"column":56}}},"5":{"name":"(anonymous_5)","line":91,"loc":{"start":{"line":91,"column":12},"end":{"line":91,"column":23}}},"6":{"name":"(anonymous_6)","line":116,"loc":{"start":{"line":116,"column":25},"end":{"line":116,"column":43}}},"7":{"name":"(anonymous_7)","line":146,"loc":{"start":{"line":146,"column":13},"end":{"line":146,"column":29}}},"8":{"name":"(anonymous_8)","line":163,"loc":{"start":{"line":163,"column":20},"end":{"line":163,"column":45}}},"9":{"name":"(anonymous_9)","line":168,"loc":{"start":{"line":168,"column":15},"end":{"line":168,"column":26}}},"10":{"name":"(anonymous_10)","line":180,"loc":{"start":{"line":180,"column":24},"end":{"line":180,"column":40}}},"11":{"name":"(anonymous_11)","line":193,"loc":{"start":{"line":193,"column":21},"end":{"line":193,"column":32}}},"12":{"name":"(anonymous_12)","line":196,"loc":{"start":{"line":196,"column":39},"end":{"line":196,"column":56}}},"13":{"name":"(anonymous_13)","line":211,"loc":{"start":{"line":211,"column":19},"end":{"line":211,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":362,"column":3}},"2":{"start":{"line":3,"column":0},"end":{"line":6,"column":36}},"3":{"start":{"line":21,"column":0},"end":{"line":343,"column":3}},"4":{"start":{"line":60,"column":8},"end":{"line":60,"column":28}},"5":{"start":{"line":62,"column":8},"end":{"line":62,"column":31}},"6":{"start":{"line":64,"column":8},"end":{"line":64,"column":26}},"7":{"start":{"line":74,"column":8},"end":{"line":74,"column":28}},"8":{"start":{"line":76,"column":8},"end":{"line":81,"column":11}},"9":{"start":{"line":79,"column":12},"end":{"line":79,"column":79}},"10":{"start":{"line":80,"column":12},"end":{"line":80,"column":28}},"11":{"start":{"line":83,"column":8},"end":{"line":83,"column":61}},"12":{"start":{"line":92,"column":8},"end":{"line":94,"column":46}},"13":{"start":{"line":96,"column":8},"end":{"line":106,"column":10}},"14":{"start":{"line":117,"column":8},"end":{"line":118,"column":58}},"15":{"start":{"line":120,"column":8},"end":{"line":134,"column":9}},"16":{"start":{"line":121,"column":12},"end":{"line":126,"column":24}},"17":{"start":{"line":128,"column":12},"end":{"line":128,"column":50}},"18":{"start":{"line":130,"column":12},"end":{"line":130,"column":57}},"19":{"start":{"line":131,"column":12},"end":{"line":131,"column":57}},"20":{"start":{"line":133,"column":12},"end":{"line":133,"column":88}},"21":{"start":{"line":136,"column":8},"end":{"line":136,"column":22}},"22":{"start":{"line":147,"column":8},"end":{"line":148,"column":64}},"23":{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},"24":{"start":{"line":151,"column":12},"end":{"line":151,"column":26}},"25":{"start":{"line":164,"column":8},"end":{"line":164,"column":28}},"26":{"start":{"line":166,"column":8},"end":{"line":166,"column":48}},"27":{"start":{"line":168,"column":8},"end":{"line":170,"column":11}},"28":{"start":{"line":169,"column":12},"end":{"line":169,"column":28}},"29":{"start":{"line":181,"column":8},"end":{"line":181,"column":28}},"30":{"start":{"line":183,"column":8},"end":{"line":183,"column":45}},"31":{"start":{"line":194,"column":8},"end":{"line":194,"column":28}},"32":{"start":{"line":196,"column":8},"end":{"line":200,"column":11}},"33":{"start":{"line":197,"column":12},"end":{"line":199,"column":13}},"34":{"start":{"line":198,"column":16},"end":{"line":198,"column":76}},"35":{"start":{"line":212,"column":8},"end":{"line":217,"column":26}},"36":{"start":{"line":219,"column":8},"end":{"line":222,"column":9}},"37":{"start":{"line":220,"column":12},"end":{"line":220,"column":26}},"38":{"start":{"line":221,"column":12},"end":{"line":221,"column":19}},"39":{"start":{"line":224,"column":8},"end":{"line":224,"column":48}},"40":{"start":{"line":225,"column":8},"end":{"line":225,"column":40}},"41":{"start":{"line":226,"column":8},"end":{"line":226,"column":46}},"42":{"start":{"line":228,"column":8},"end":{"line":228,"column":46}},"43":{"start":{"line":229,"column":8},"end":{"line":231,"column":9}},"44":{"start":{"line":230,"column":12},"end":{"line":230,"column":54}},"45":{"start":{"line":233,"column":8},"end":{"line":233,"column":44}},"46":{"start":{"line":234,"column":8},"end":{"line":236,"column":9}},"47":{"start":{"line":235,"column":12},"end":{"line":235,"column":52}},"48":{"start":{"line":238,"column":8},"end":{"line":240,"column":94}},"49":{"start":{"line":345,"column":0},"end":{"line":345,"column":42}}},"branchMap":{"1":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":120,"column":8}},{"start":{"line":120,"column":8},"end":{"line":120,"column":8}}]},"2":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":8},"end":{"line":150,"column":8}},{"start":{"line":150,"column":8},"end":{"line":150,"column":8}}]},"3":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"4":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":8},"end":{"line":219,"column":8}},{"start":{"line":219,"column":8},"end":{"line":219,"column":8}}]},"5":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":8},"end":{"line":229,"column":8}},{"start":{"line":229,"column":8},"end":{"line":229,"column":8}}]},"6":{"line":234,"type":"if","locations":[{"start":{"line":234,"column":8},"end":{"line":234,"column":8}},{"start":{"line":234,"column":8},"end":{"line":234,"column":8}}]}},"code":["(function () { YUI.add('aui-button-search-cancel', function (A, NAME) {","","var Lang = A.Lang,"," AArray = A.Array,",""," _DOCUMENT = A.one(A.config.doc);","","/**"," * A base class for `ButtonSearchCancel`, providing:"," *"," * - Adds a button search cancel icon in order to clear the text on inputs and"," * textareas. Similar behavior of the HTML5 search input that contains a cancel"," * button to clear the current element value."," *"," * @class A.ButtonSearchCancel"," * @extends Base"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","var ButtonSearchCancel = A.Base.create('btn-search-cancel', A.Base, [], {"," /**"," * HTML template used on the button search cancel."," *"," * @property TEMPLATE"," * @type {String}"," * @protected"," */"," TEMPLATE: '' +"," ' ' + '
',",""," /**"," * Holds the created buttons for each element match from the trigger"," * selector."," *"," * @property _buttons"," * @type {Array}"," * @protected"," */"," _buttons: null,",""," /**"," * Holds the event handles for any bind event from the internal"," * implementation."," *"," * @property _eventHandles"," * @type {Array}"," * @protected"," */"," _eventHandles: null,",""," /**"," * Construction logic executed during `ButtonSearchCancel` instantiation."," * Lifecycle."," *"," * @method initializer"," */"," initializer: function() {"," var instance = this;",""," instance._buttons = [];",""," instance.bindUI();"," },",""," /**"," * Destructor lifecycle implementation for the `ButtonSearchCancel` class."," *"," * @method destroy"," * @protected"," */"," destroy: function() {"," var instance = this;",""," AArray.each(instance._buttons, function(button) {"," // To avoid memory leak caused by ghost button references, clear"," // its reference from the input element first"," button.getData('btn-search-cancel').clearData('btn-search-cancel');"," button.remove();"," });",""," (new A.EventHandle(instance._eventHandles)).detach();"," },",""," /**"," * Bind events on the UI. Lifecycle."," *"," * @method bindUI"," */"," bindUI: function() {"," var instance = this,"," container = instance.get('container'),"," trigger = instance.get('trigger');",""," instance._eventHandles = ["," container.delegate("," ['focus', 'input'],"," A.debounce(instance._onUserInteraction, 50, instance), trigger),"," container.delegate('blur',"," A.debounce(instance._onBlur, 25, instance), trigger),"," // YUI implementation for the windowresize synthetic event do not"," // support Y.on('windowresize', fn, context) binding, therefore"," // should be wrapped using Y.bind."," A.on('windowresize', A.bind(instance._onWindowResize, instance))"," ];"," },",""," /**"," * Delegates events on the UI. Lifecycle."," *"," * @method getButtonForElement"," * @param {Node} element Input or textarea element align the created button."," * @return {Node} The `Button` node for the element."," */"," getButtonForElement: function(element) {"," var instance = this,"," button = element.getData('btn-search-cancel');",""," if (!button) {"," button = A.Node.create("," A.Lang.sub("," instance.TEMPLATE, {"," iconClass: instance.get('iconClass'),"," zIndex: instance.get('zIndex')"," }));",""," instance._buttons.push(button.hide());",""," button.setData('btn-search-cancel', element);"," element.setData('btn-search-cancel', button);",""," button.on('gesturemovestart', A.rbind('_onButtonClick', instance, element));"," }",""," return button;"," },",""," /**"," * Fires when the input loses focus."," *"," * @method _onBlur"," * @param {EventFacade} event"," * @protected"," */"," _onBlur: function(event) {"," var instance = this,"," button = instance.getButtonForElement(event.target);",""," if (button) {"," button.hide();"," }"," },",""," /**"," * Fires when the user clicks on the cancel search button."," *"," * @method _onButtonClick"," * @param {EventFacade} event"," * @param {Node} element Input or textarea element."," * @protected"," */"," _onButtonClick: function(event, element) {"," var instance = this;",""," instance._syncButtonUI(element.val(''));",""," A.soon(function() {"," element.focus();"," });"," },",""," /**"," * Fires when the user focus or input value on the host element."," *"," * @method _onUserInteraction"," * @param {EventFacade} event"," * @protected"," */"," _onUserInteraction: function(event) {"," var instance = this;",""," instance._syncButtonUI(event.target);"," },",""," /**"," * Fires when the user resizes the browser window."," *"," * @method _onWindowResize"," * @param event"," * @Protected"," */"," _onWindowResize: function() {"," var instance = this;",""," AArray.each(instance._buttons, function(button) {"," if (!button.hasClass('hide')) {"," instance._syncButtonUI(button.getData('btn-search-cancel'));"," }"," });"," },",""," /**"," * Positions the cancel search button and aligns it with the passed"," * `element`."," *"," * @method _syncButtonUI"," * @param {Node} element The input or textarea element align the button."," * @protected"," */"," _syncButtonUI: function(element) {"," var instance = this,"," button = instance.getButtonForElement(element),"," gutter,"," buttonHeight,"," buttonWidth,"," elementRegion;",""," if (!element.val()) {"," button.hide();"," return;"," }",""," element.insert(button.show(), 'before');"," gutter = instance.get('gutter');"," elementRegion = element.get('region');",""," buttonHeight = this.get('iconHeight');"," if (!Lang.isNumber(buttonHeight)) {"," buttonHeight = button.get('offsetHeight');"," }",""," buttonWidth = this.get('iconWidth');"," if (!Lang.isNumber(buttonWidth)) {"," buttonWidth = button.get('offsetWidth');"," }",""," button.setXY(["," elementRegion.right - buttonWidth + gutter[0],"," elementRegion.top + elementRegion.height / 2 - buttonHeight / 2 + gutter[1]]);"," }","}, {"," /**"," * Static property used to define the default attribute configuration for"," * the `ButtonSearchCancel`."," *"," * @property ATTRS"," * @type {Object}"," * @static"," */"," ATTRS: {"," /**"," * Defines the event delegation container of `ButtonSearchCancel`"," * instance."," *"," * @attribute container"," * @type {Node}"," * @writeOnce"," */"," container: {"," setter: A.one,"," value: _DOCUMENT,"," writeOnce: true"," },",""," /**"," * Defines the space surrounding the cancel icon rendered on the input."," * Useful when the user needs a different alignment. Gutter values are"," * added to the X and Y alignment values of the button search cancel."," *"," * @attribute gutter"," * @default [-5, 0]"," * @type {Array}"," */"," gutter: {"," value: [-5, 0]"," },",""," /**"," * Icon CSS class to be used on the search cancel button."," *"," * @attribute iconClass"," * @default 'glyphicon glyphicon-remove'"," * @type {String}"," */"," iconClass: {"," validator: Lang.isString,"," value: 'glyphicon glyphicon-remove'"," },",""," /**"," * Defines the width of the button. Useful when an async request"," * for resource file (image or font for example) may be necessary"," * before calculating the button's width."," *"," * @attribute iconWidth"," * @default 24"," * @type {Number}"," */"," iconWidth: {"," value: 24"," },",""," /**"," * Defines the height of the button. Useful when an async request"," * for resource file (image or font for example) may be necessary"," * before calculating the button's height."," *"," * @attribute iconHeight"," * @default 30"," * @type {Number}"," */"," iconHeight: {"," value: 30"," },",""," /**"," * Defines the CSS selector for the input elements the button search"," * cancel renders. Supports single or multiple node selector."," *"," * @attribute trigger"," * @type {String}"," * @writeOnce"," */"," trigger: {"," validator: Lang.isString,"," writeOnce: true"," },",""," /**"," * Defines the z-index of the button search cancel."," *"," * @attribute zIndex"," * @default 2"," * @type Number"," * @writeOnce"," */"," zIndex: {"," value: 2,"," writeOnce: true"," }"," }","});","","A.ButtonSearchCancel = ButtonSearchCancel;","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"array-invoke\","," \"base\","," \"base-build\","," \"event-focus\","," \"event-move\","," \"event-resize\","," \"node-screen\","," \"node-event-delegate\","," \"aui-node-base\","," \"aui-classnamemanager\","," \"aui-event-input\""," ]","});","","}());"]};
+}
+var __cov_ZTgCZiw4v4agKaBivFIBPg = __coverage__['build/aui-button-search-cancel/aui-button-search-cancel.js'];
+__cov_ZTgCZiw4v4agKaBivFIBPg.s['1']++;YUI.add('aui-button-search-cancel',function(A,NAME){__cov_ZTgCZiw4v4agKaBivFIBPg.f['1']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['2']++;var Lang=A.Lang,AArray=A.Array,_DOCUMENT=A.one(A.config.doc);__cov_ZTgCZiw4v4agKaBivFIBPg.s['3']++;var ButtonSearchCancel=A.Base.create('btn-search-cancel',A.Base,[],{TEMPLATE:''+' '+'
',_buttons:null,_eventHandles:null,initializer:function(){__cov_ZTgCZiw4v4agKaBivFIBPg.f['2']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['4']++;var instance=this;__cov_ZTgCZiw4v4agKaBivFIBPg.s['5']++;instance._buttons=[];__cov_ZTgCZiw4v4agKaBivFIBPg.s['6']++;instance.bindUI();},destroy:function(){__cov_ZTgCZiw4v4agKaBivFIBPg.f['3']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['7']++;var instance=this;__cov_ZTgCZiw4v4agKaBivFIBPg.s['8']++;AArray.each(instance._buttons,function(button){__cov_ZTgCZiw4v4agKaBivFIBPg.f['4']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['9']++;button.getData('btn-search-cancel').clearData('btn-search-cancel');__cov_ZTgCZiw4v4agKaBivFIBPg.s['10']++;button.remove();});__cov_ZTgCZiw4v4agKaBivFIBPg.s['11']++;new A.EventHandle(instance._eventHandles).detach();},bindUI:function(){__cov_ZTgCZiw4v4agKaBivFIBPg.f['5']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['12']++;var instance=this,container=instance.get('container'),trigger=instance.get('trigger');__cov_ZTgCZiw4v4agKaBivFIBPg.s['13']++;instance._eventHandles=[container.delegate(['focus','input'],A.debounce(instance._onUserInteraction,50,instance),trigger),container.delegate('blur',A.debounce(instance._onBlur,25,instance),trigger),A.on('windowresize',A.bind(instance._onWindowResize,instance))];},getButtonForElement:function(element){__cov_ZTgCZiw4v4agKaBivFIBPg.f['6']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['14']++;var instance=this,button=element.getData('btn-search-cancel');__cov_ZTgCZiw4v4agKaBivFIBPg.s['15']++;if(!button){__cov_ZTgCZiw4v4agKaBivFIBPg.b['1'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['16']++;button=A.Node.create(A.Lang.sub(instance.TEMPLATE,{iconClass:instance.get('iconClass'),zIndex:instance.get('zIndex')}));__cov_ZTgCZiw4v4agKaBivFIBPg.s['17']++;instance._buttons.push(button.hide());__cov_ZTgCZiw4v4agKaBivFIBPg.s['18']++;button.setData('btn-search-cancel',element);__cov_ZTgCZiw4v4agKaBivFIBPg.s['19']++;element.setData('btn-search-cancel',button);__cov_ZTgCZiw4v4agKaBivFIBPg.s['20']++;button.on('gesturemovestart',A.rbind('_onButtonClick',instance,element));}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['1'][1]++;}__cov_ZTgCZiw4v4agKaBivFIBPg.s['21']++;return button;},_onBlur:function(event){__cov_ZTgCZiw4v4agKaBivFIBPg.f['7']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['22']++;var instance=this,button=instance.getButtonForElement(event.target);__cov_ZTgCZiw4v4agKaBivFIBPg.s['23']++;if(button){__cov_ZTgCZiw4v4agKaBivFIBPg.b['2'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['24']++;button.hide();}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['2'][1]++;}},_onButtonClick:function(event,element){__cov_ZTgCZiw4v4agKaBivFIBPg.f['8']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['25']++;var instance=this;__cov_ZTgCZiw4v4agKaBivFIBPg.s['26']++;instance._syncButtonUI(element.val(''));__cov_ZTgCZiw4v4agKaBivFIBPg.s['27']++;A.soon(function(){__cov_ZTgCZiw4v4agKaBivFIBPg.f['9']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['28']++;element.focus();});},_onUserInteraction:function(event){__cov_ZTgCZiw4v4agKaBivFIBPg.f['10']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['29']++;var instance=this;__cov_ZTgCZiw4v4agKaBivFIBPg.s['30']++;instance._syncButtonUI(event.target);},_onWindowResize:function(){__cov_ZTgCZiw4v4agKaBivFIBPg.f['11']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['31']++;var instance=this;__cov_ZTgCZiw4v4agKaBivFIBPg.s['32']++;AArray.each(instance._buttons,function(button){__cov_ZTgCZiw4v4agKaBivFIBPg.f['12']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['33']++;if(!button.hasClass('hide')){__cov_ZTgCZiw4v4agKaBivFIBPg.b['3'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['34']++;instance._syncButtonUI(button.getData('btn-search-cancel'));}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['3'][1]++;}});},_syncButtonUI:function(element){__cov_ZTgCZiw4v4agKaBivFIBPg.f['13']++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['35']++;var instance=this,button=instance.getButtonForElement(element),gutter,buttonHeight,buttonWidth,elementRegion;__cov_ZTgCZiw4v4agKaBivFIBPg.s['36']++;if(!element.val()){__cov_ZTgCZiw4v4agKaBivFIBPg.b['4'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['37']++;button.hide();__cov_ZTgCZiw4v4agKaBivFIBPg.s['38']++;return;}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['4'][1]++;}__cov_ZTgCZiw4v4agKaBivFIBPg.s['39']++;element.insert(button.show(),'before');__cov_ZTgCZiw4v4agKaBivFIBPg.s['40']++;gutter=instance.get('gutter');__cov_ZTgCZiw4v4agKaBivFIBPg.s['41']++;elementRegion=element.get('region');__cov_ZTgCZiw4v4agKaBivFIBPg.s['42']++;buttonHeight=this.get('iconHeight');__cov_ZTgCZiw4v4agKaBivFIBPg.s['43']++;if(!Lang.isNumber(buttonHeight)){__cov_ZTgCZiw4v4agKaBivFIBPg.b['5'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['44']++;buttonHeight=button.get('offsetHeight');}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['5'][1]++;}__cov_ZTgCZiw4v4agKaBivFIBPg.s['45']++;buttonWidth=this.get('iconWidth');__cov_ZTgCZiw4v4agKaBivFIBPg.s['46']++;if(!Lang.isNumber(buttonWidth)){__cov_ZTgCZiw4v4agKaBivFIBPg.b['6'][0]++;__cov_ZTgCZiw4v4agKaBivFIBPg.s['47']++;buttonWidth=button.get('offsetWidth');}else{__cov_ZTgCZiw4v4agKaBivFIBPg.b['6'][1]++;}__cov_ZTgCZiw4v4agKaBivFIBPg.s['48']++;button.setXY([elementRegion.right-buttonWidth+gutter[0],elementRegion.top+elementRegion.height/2-buttonHeight/2+gutter[1]]);}},{ATTRS:{container:{setter:A.one,value:_DOCUMENT,writeOnce:true},gutter:{value:[-5,0]},iconClass:{validator:Lang.isString,value:'glyphicon glyphicon-remove'},iconWidth:{value:24},iconHeight:{value:30},trigger:{validator:Lang.isString,writeOnce:true},zIndex:{value:2,writeOnce:true}}});__cov_ZTgCZiw4v4agKaBivFIBPg.s['49']++;A.ButtonSearchCancel=ButtonSearchCancel;},'3.1.0-deprecated.52',{'requires':['array-invoke','base','base-build','event-focus','event-move','event-resize','node-screen','node-event-delegate','aui-node-base','aui-classnamemanager','aui-event-input']});
diff --git a/build/aui-button-search-cancel/aui-button-search-cancel-debug.js b/build/aui-button-search-cancel/aui-button-search-cancel-debug.js
new file mode 100644
index 00000000000..0bbe32c29ae
--- /dev/null
+++ b/build/aui-button-search-cancel/aui-button-search-cancel-debug.js
@@ -0,0 +1,362 @@
+YUI.add('aui-button-search-cancel', function (A, NAME) {
+
+var Lang = A.Lang,
+ AArray = A.Array,
+
+ _DOCUMENT = A.one(A.config.doc);
+
+/**
+ * A base class for `ButtonSearchCancel`, providing:
+ *
+ * - Adds a button search cancel icon in order to clear the text on inputs and
+ * textareas. Similar behavior of the HTML5 search input that contains a cancel
+ * button to clear the current element value.
+ *
+ * @class A.ButtonSearchCancel
+ * @extends Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var ButtonSearchCancel = A.Base.create('btn-search-cancel', A.Base, [], {
+ /**
+ * HTML template used on the button search cancel.
+ *
+ * @property TEMPLATE
+ * @type {String}
+ * @protected
+ */
+ TEMPLATE: '' +
+ ' ' + '
',
+
+ /**
+ * Holds the created buttons for each element match from the trigger
+ * selector.
+ *
+ * @property _buttons
+ * @type {Array}
+ * @protected
+ */
+ _buttons: null,
+
+ /**
+ * Holds the event handles for any bind event from the internal
+ * implementation.
+ *
+ * @property _eventHandles
+ * @type {Array}
+ * @protected
+ */
+ _eventHandles: null,
+
+ /**
+ * Construction logic executed during `ButtonSearchCancel` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance._buttons = [];
+
+ instance.bindUI();
+ },
+
+ /**
+ * Destructor lifecycle implementation for the `ButtonSearchCancel` class.
+ *
+ * @method destroy
+ * @protected
+ */
+ destroy: function() {
+ var instance = this;
+
+ AArray.each(instance._buttons, function(button) {
+ // To avoid memory leak caused by ghost button references, clear
+ // its reference from the input element first
+ button.getData('btn-search-cancel').clearData('btn-search-cancel');
+ button.remove();
+ });
+
+ (new A.EventHandle(instance._eventHandles)).detach();
+ },
+
+ /**
+ * Bind events on the UI. Lifecycle.
+ *
+ * @method bindUI
+ */
+ bindUI: function() {
+ var instance = this,
+ container = instance.get('container'),
+ trigger = instance.get('trigger');
+
+ instance._eventHandles = [
+ container.delegate(
+ ['focus', 'input'],
+ A.debounce(instance._onUserInteraction, 50, instance), trigger),
+ container.delegate('blur',
+ A.debounce(instance._onBlur, 25, instance), trigger),
+ // YUI implementation for the windowresize synthetic event do not
+ // support Y.on('windowresize', fn, context) binding, therefore
+ // should be wrapped using Y.bind.
+ A.on('windowresize', A.bind(instance._onWindowResize, instance))
+ ];
+ },
+
+ /**
+ * Delegates events on the UI. Lifecycle.
+ *
+ * @method getButtonForElement
+ * @param {Node} element Input or textarea element align the created button.
+ * @return {Node} The `Button` node for the element.
+ */
+ getButtonForElement: function(element) {
+ var instance = this,
+ button = element.getData('btn-search-cancel');
+
+ if (!button) {
+ button = A.Node.create(
+ A.Lang.sub(
+ instance.TEMPLATE, {
+ iconClass: instance.get('iconClass'),
+ zIndex: instance.get('zIndex')
+ }));
+
+ instance._buttons.push(button.hide());
+
+ button.setData('btn-search-cancel', element);
+ element.setData('btn-search-cancel', button);
+
+ button.on('gesturemovestart', A.rbind('_onButtonClick', instance, element));
+ }
+
+ return button;
+ },
+
+ /**
+ * Fires when the input loses focus.
+ *
+ * @method _onBlur
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onBlur: function(event) {
+ var instance = this,
+ button = instance.getButtonForElement(event.target);
+
+ if (button) {
+ button.hide();
+ }
+ },
+
+ /**
+ * Fires when the user clicks on the cancel search button.
+ *
+ * @method _onButtonClick
+ * @param {EventFacade} event
+ * @param {Node} element Input or textarea element.
+ * @protected
+ */
+ _onButtonClick: function(event, element) {
+ var instance = this;
+
+ instance._syncButtonUI(element.val(''));
+
+ A.soon(function() {
+ element.focus();
+ });
+ },
+
+ /**
+ * Fires when the user focus or input value on the host element.
+ *
+ * @method _onUserInteraction
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onUserInteraction: function(event) {
+ var instance = this;
+
+ instance._syncButtonUI(event.target);
+ },
+
+ /**
+ * Fires when the user resizes the browser window.
+ *
+ * @method _onWindowResize
+ * @param event
+ * @Protected
+ */
+ _onWindowResize: function() {
+ var instance = this;
+
+ AArray.each(instance._buttons, function(button) {
+ if (!button.hasClass('hide')) {
+ instance._syncButtonUI(button.getData('btn-search-cancel'));
+ }
+ });
+ },
+
+ /**
+ * Positions the cancel search button and aligns it with the passed
+ * `element`.
+ *
+ * @method _syncButtonUI
+ * @param {Node} element The input or textarea element align the button.
+ * @protected
+ */
+ _syncButtonUI: function(element) {
+ var instance = this,
+ button = instance.getButtonForElement(element),
+ gutter,
+ buttonHeight,
+ buttonWidth,
+ elementRegion;
+
+ if (!element.val()) {
+ button.hide();
+ return;
+ }
+
+ element.insert(button.show(), 'before');
+ gutter = instance.get('gutter');
+ elementRegion = element.get('region');
+
+ buttonHeight = this.get('iconHeight');
+ if (!Lang.isNumber(buttonHeight)) {
+ buttonHeight = button.get('offsetHeight');
+ }
+
+ buttonWidth = this.get('iconWidth');
+ if (!Lang.isNumber(buttonWidth)) {
+ buttonWidth = button.get('offsetWidth');
+ }
+
+ button.setXY([
+ elementRegion.right - buttonWidth + gutter[0],
+ elementRegion.top + elementRegion.height / 2 - buttonHeight / 2 + gutter[1]]);
+ }
+}, {
+ /**
+ * Static property used to define the default attribute configuration for
+ * the `ButtonSearchCancel`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Defines the event delegation container of `ButtonSearchCancel`
+ * instance.
+ *
+ * @attribute container
+ * @type {Node}
+ * @writeOnce
+ */
+ container: {
+ setter: A.one,
+ value: _DOCUMENT,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the space surrounding the cancel icon rendered on the input.
+ * Useful when the user needs a different alignment. Gutter values are
+ * added to the X and Y alignment values of the button search cancel.
+ *
+ * @attribute gutter
+ * @default [-5, 0]
+ * @type {Array}
+ */
+ gutter: {
+ value: [-5, 0]
+ },
+
+ /**
+ * Icon CSS class to be used on the search cancel button.
+ *
+ * @attribute iconClass
+ * @default 'glyphicon glyphicon-remove'
+ * @type {String}
+ */
+ iconClass: {
+ validator: Lang.isString,
+ value: 'glyphicon glyphicon-remove'
+ },
+
+ /**
+ * Defines the width of the button. Useful when an async request
+ * for resource file (image or font for example) may be necessary
+ * before calculating the button's width.
+ *
+ * @attribute iconWidth
+ * @default 24
+ * @type {Number}
+ */
+ iconWidth: {
+ value: 24
+ },
+
+ /**
+ * Defines the height of the button. Useful when an async request
+ * for resource file (image or font for example) may be necessary
+ * before calculating the button's height.
+ *
+ * @attribute iconHeight
+ * @default 30
+ * @type {Number}
+ */
+ iconHeight: {
+ value: 30
+ },
+
+ /**
+ * Defines the CSS selector for the input elements the button search
+ * cancel renders. Supports single or multiple node selector.
+ *
+ * @attribute trigger
+ * @type {String}
+ * @writeOnce
+ */
+ trigger: {
+ validator: Lang.isString,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the z-index of the button search cancel.
+ *
+ * @attribute zIndex
+ * @default 2
+ * @type Number
+ * @writeOnce
+ */
+ zIndex: {
+ value: 2,
+ writeOnce: true
+ }
+ }
+});
+
+A.ButtonSearchCancel = ButtonSearchCancel;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "array-invoke",
+ "base",
+ "base-build",
+ "event-focus",
+ "event-move",
+ "event-resize",
+ "node-screen",
+ "node-event-delegate",
+ "aui-node-base",
+ "aui-classnamemanager",
+ "aui-event-input"
+ ]
+});
diff --git a/build/aui-button-search-cancel/aui-button-search-cancel-min.js b/build/aui-button-search-cancel/aui-button-search-cancel-min.js
new file mode 100644
index 00000000000..75d48f20cb5
--- /dev/null
+++ b/build/aui-button-search-cancel/aui-button-search-cancel-min.js
@@ -0,0 +1 @@
+YUI.add("aui-button-search-cancel",function(e,t){var n=e.Lang,r=e.Array,i=e.one(e.config.doc),s=e.Base.create("btn-search-cancel",e.Base,[],{TEMPLATE:''+' '+"
",_buttons:null,_eventHandles:null,initializer:function(){var e=this;e._buttons=[],e.bindUI()},destroy:function(){var t=this;r.each(t._buttons,function(e){e.getData("btn-search-cancel").clearData("btn-search-cancel"),e.remove()}),(new e.EventHandle(t._eventHandles)).detach()},bindUI:function(){var t=this,n=t.get("container"),r=t.get("trigger");t._eventHandles=[n.delegate(["focus","input"],e.debounce(t._onUserInteraction,50,t),r),n.delegate("blur",e.debounce(t._onBlur,25,t),r),e.on("windowresize",e.bind(t._onWindowResize,t))]},getButtonForElement:function(t){var n=this,r=t.getData("btn-search-cancel");return r||(r=e.Node.create(e.Lang.sub(n.TEMPLATE,{iconClass:n.get("iconClass"),zIndex:n.get("zIndex")})),n._buttons.push(r.hide()),r.setData("btn-search-cancel",t),t.setData("btn-search-cancel",r),r.on("gesturemovestart",e.rbind("_onButtonClick",n,t))),r},_onBlur:function(e){var t=this,n=t.getButtonForElement(e.target);n&&n.hide()},_onButtonClick:function(t,n){var r=this;r._syncButtonUI(n.val("")),e.soon(function(){n.focus()})},_onUserInteraction:function(e){var t=this;t._syncButtonUI(e.target)},_onWindowResize:function(){var e=this;r.each(e._buttons,function(t){t.hasClass("hide")||e._syncButtonUI(t.getData("btn-search-cancel"))})},_syncButtonUI:function(e){var t=this,r=t.getButtonForElement(e),i,s,o,u;if(!e.val()){r.hide();return}e.insert(r.show(),"before"),i=t.get("gutter"),u=e.get("region"),s=this.get("iconHeight"),n.isNumber(s)||(s=r.get("offsetHeight")),o=this.get("iconWidth"),n.isNumber(o)||(o=r.get("offsetWidth")),r.setXY([u.right-o+i[0],u.top+u.height/2-s/2+i[1]])}},{ATTRS:{container:{setter:e.one,value:i,writeOnce:!0},gutter:{value:[-5,0]},iconClass:{validator:n.isString,value:"glyphicon glyphicon-remove"},iconWidth:{value:24},iconHeight:{value:30},trigger:{validator:n.isString,writeOnce:!0},zIndex:{value:2,writeOnce:!0}}});e.ButtonSearchCancel=s},"3.1.0-deprecated.52",{requires:["array-invoke","base","base-build","event-focus","event-move","event-resize","node-screen","node-event-delegate","aui-node-base","aui-classnamemanager","aui-event-input"]});
diff --git a/build/aui-button-search-cancel/aui-button-search-cancel.js b/build/aui-button-search-cancel/aui-button-search-cancel.js
new file mode 100644
index 00000000000..0bbe32c29ae
--- /dev/null
+++ b/build/aui-button-search-cancel/aui-button-search-cancel.js
@@ -0,0 +1,362 @@
+YUI.add('aui-button-search-cancel', function (A, NAME) {
+
+var Lang = A.Lang,
+ AArray = A.Array,
+
+ _DOCUMENT = A.one(A.config.doc);
+
+/**
+ * A base class for `ButtonSearchCancel`, providing:
+ *
+ * - Adds a button search cancel icon in order to clear the text on inputs and
+ * textareas. Similar behavior of the HTML5 search input that contains a cancel
+ * button to clear the current element value.
+ *
+ * @class A.ButtonSearchCancel
+ * @extends Base
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+var ButtonSearchCancel = A.Base.create('btn-search-cancel', A.Base, [], {
+ /**
+ * HTML template used on the button search cancel.
+ *
+ * @property TEMPLATE
+ * @type {String}
+ * @protected
+ */
+ TEMPLATE: '' +
+ ' ' + '
',
+
+ /**
+ * Holds the created buttons for each element match from the trigger
+ * selector.
+ *
+ * @property _buttons
+ * @type {Array}
+ * @protected
+ */
+ _buttons: null,
+
+ /**
+ * Holds the event handles for any bind event from the internal
+ * implementation.
+ *
+ * @property _eventHandles
+ * @type {Array}
+ * @protected
+ */
+ _eventHandles: null,
+
+ /**
+ * Construction logic executed during `ButtonSearchCancel` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ */
+ initializer: function() {
+ var instance = this;
+
+ instance._buttons = [];
+
+ instance.bindUI();
+ },
+
+ /**
+ * Destructor lifecycle implementation for the `ButtonSearchCancel` class.
+ *
+ * @method destroy
+ * @protected
+ */
+ destroy: function() {
+ var instance = this;
+
+ AArray.each(instance._buttons, function(button) {
+ // To avoid memory leak caused by ghost button references, clear
+ // its reference from the input element first
+ button.getData('btn-search-cancel').clearData('btn-search-cancel');
+ button.remove();
+ });
+
+ (new A.EventHandle(instance._eventHandles)).detach();
+ },
+
+ /**
+ * Bind events on the UI. Lifecycle.
+ *
+ * @method bindUI
+ */
+ bindUI: function() {
+ var instance = this,
+ container = instance.get('container'),
+ trigger = instance.get('trigger');
+
+ instance._eventHandles = [
+ container.delegate(
+ ['focus', 'input'],
+ A.debounce(instance._onUserInteraction, 50, instance), trigger),
+ container.delegate('blur',
+ A.debounce(instance._onBlur, 25, instance), trigger),
+ // YUI implementation for the windowresize synthetic event do not
+ // support Y.on('windowresize', fn, context) binding, therefore
+ // should be wrapped using Y.bind.
+ A.on('windowresize', A.bind(instance._onWindowResize, instance))
+ ];
+ },
+
+ /**
+ * Delegates events on the UI. Lifecycle.
+ *
+ * @method getButtonForElement
+ * @param {Node} element Input or textarea element align the created button.
+ * @return {Node} The `Button` node for the element.
+ */
+ getButtonForElement: function(element) {
+ var instance = this,
+ button = element.getData('btn-search-cancel');
+
+ if (!button) {
+ button = A.Node.create(
+ A.Lang.sub(
+ instance.TEMPLATE, {
+ iconClass: instance.get('iconClass'),
+ zIndex: instance.get('zIndex')
+ }));
+
+ instance._buttons.push(button.hide());
+
+ button.setData('btn-search-cancel', element);
+ element.setData('btn-search-cancel', button);
+
+ button.on('gesturemovestart', A.rbind('_onButtonClick', instance, element));
+ }
+
+ return button;
+ },
+
+ /**
+ * Fires when the input loses focus.
+ *
+ * @method _onBlur
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onBlur: function(event) {
+ var instance = this,
+ button = instance.getButtonForElement(event.target);
+
+ if (button) {
+ button.hide();
+ }
+ },
+
+ /**
+ * Fires when the user clicks on the cancel search button.
+ *
+ * @method _onButtonClick
+ * @param {EventFacade} event
+ * @param {Node} element Input or textarea element.
+ * @protected
+ */
+ _onButtonClick: function(event, element) {
+ var instance = this;
+
+ instance._syncButtonUI(element.val(''));
+
+ A.soon(function() {
+ element.focus();
+ });
+ },
+
+ /**
+ * Fires when the user focus or input value on the host element.
+ *
+ * @method _onUserInteraction
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onUserInteraction: function(event) {
+ var instance = this;
+
+ instance._syncButtonUI(event.target);
+ },
+
+ /**
+ * Fires when the user resizes the browser window.
+ *
+ * @method _onWindowResize
+ * @param event
+ * @Protected
+ */
+ _onWindowResize: function() {
+ var instance = this;
+
+ AArray.each(instance._buttons, function(button) {
+ if (!button.hasClass('hide')) {
+ instance._syncButtonUI(button.getData('btn-search-cancel'));
+ }
+ });
+ },
+
+ /**
+ * Positions the cancel search button and aligns it with the passed
+ * `element`.
+ *
+ * @method _syncButtonUI
+ * @param {Node} element The input or textarea element align the button.
+ * @protected
+ */
+ _syncButtonUI: function(element) {
+ var instance = this,
+ button = instance.getButtonForElement(element),
+ gutter,
+ buttonHeight,
+ buttonWidth,
+ elementRegion;
+
+ if (!element.val()) {
+ button.hide();
+ return;
+ }
+
+ element.insert(button.show(), 'before');
+ gutter = instance.get('gutter');
+ elementRegion = element.get('region');
+
+ buttonHeight = this.get('iconHeight');
+ if (!Lang.isNumber(buttonHeight)) {
+ buttonHeight = button.get('offsetHeight');
+ }
+
+ buttonWidth = this.get('iconWidth');
+ if (!Lang.isNumber(buttonWidth)) {
+ buttonWidth = button.get('offsetWidth');
+ }
+
+ button.setXY([
+ elementRegion.right - buttonWidth + gutter[0],
+ elementRegion.top + elementRegion.height / 2 - buttonHeight / 2 + gutter[1]]);
+ }
+}, {
+ /**
+ * Static property used to define the default attribute configuration for
+ * the `ButtonSearchCancel`.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+ /**
+ * Defines the event delegation container of `ButtonSearchCancel`
+ * instance.
+ *
+ * @attribute container
+ * @type {Node}
+ * @writeOnce
+ */
+ container: {
+ setter: A.one,
+ value: _DOCUMENT,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the space surrounding the cancel icon rendered on the input.
+ * Useful when the user needs a different alignment. Gutter values are
+ * added to the X and Y alignment values of the button search cancel.
+ *
+ * @attribute gutter
+ * @default [-5, 0]
+ * @type {Array}
+ */
+ gutter: {
+ value: [-5, 0]
+ },
+
+ /**
+ * Icon CSS class to be used on the search cancel button.
+ *
+ * @attribute iconClass
+ * @default 'glyphicon glyphicon-remove'
+ * @type {String}
+ */
+ iconClass: {
+ validator: Lang.isString,
+ value: 'glyphicon glyphicon-remove'
+ },
+
+ /**
+ * Defines the width of the button. Useful when an async request
+ * for resource file (image or font for example) may be necessary
+ * before calculating the button's width.
+ *
+ * @attribute iconWidth
+ * @default 24
+ * @type {Number}
+ */
+ iconWidth: {
+ value: 24
+ },
+
+ /**
+ * Defines the height of the button. Useful when an async request
+ * for resource file (image or font for example) may be necessary
+ * before calculating the button's height.
+ *
+ * @attribute iconHeight
+ * @default 30
+ * @type {Number}
+ */
+ iconHeight: {
+ value: 30
+ },
+
+ /**
+ * Defines the CSS selector for the input elements the button search
+ * cancel renders. Supports single or multiple node selector.
+ *
+ * @attribute trigger
+ * @type {String}
+ * @writeOnce
+ */
+ trigger: {
+ validator: Lang.isString,
+ writeOnce: true
+ },
+
+ /**
+ * Defines the z-index of the button search cancel.
+ *
+ * @attribute zIndex
+ * @default 2
+ * @type Number
+ * @writeOnce
+ */
+ zIndex: {
+ value: 2,
+ writeOnce: true
+ }
+ }
+});
+
+A.ButtonSearchCancel = ButtonSearchCancel;
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "array-invoke",
+ "base",
+ "base-build",
+ "event-focus",
+ "event-move",
+ "event-resize",
+ "node-screen",
+ "node-event-delegate",
+ "aui-node-base",
+ "aui-classnamemanager",
+ "aui-event-input"
+ ]
+});
diff --git a/build/aui-button-switch/assets/aui-button-core-core.css b/build/aui-button-switch/assets/aui-button-core-core.css
new file mode 100644
index 00000000000..3ca69a26912
--- /dev/null
+++ b/build/aui-button-switch/assets/aui-button-core-core.css
@@ -0,0 +1,7 @@
+.btn-hidden {
+ display: none;
+}
+
+.btn-group-hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/build/aui-button-switch/assets/aui-button-switch-core.css b/build/aui-button-switch/assets/aui-button-switch-core.css
new file mode 100644
index 00000000000..8aa34a366f3
--- /dev/null
+++ b/build/aui-button-switch/assets/aui-button-switch-core.css
@@ -0,0 +1,48 @@
+.button-switch {
+ display: block;
+ box-sizing: border-box;
+ width: 32px;
+ height: 16px;
+ border-radius: 999px;
+ background-color: #d8d9db;
+ margin-bottom: 10px;
+ position: relative;
+ line-height: 34px;
+ z-index: 1;
+}
+
+.button-switch-inner-circle {
+ position: absolute;
+ margin-top: 1px;
+ left: 3px;
+ border-radius: 50%;
+ width: 13px;
+ height: 13px;
+ display: inline-block;
+ background-color: #fff;
+ z-index: 3;
+}
+
+.button-switch-inner-label-left {
+ margin-left: 4px;
+ position: absolute;
+ z-index: 2;
+ font-weight: normal;
+}
+
+.button-switch-inner-label-right {
+ margin-right: 4px;
+ position: absolute;
+ right: 0;
+ z-index: 2;
+ font-weight: normal;
+}
+
+.button-switch-left {
+ left: 2px;
+}
+
+.button-switch-right {
+ right: 2px;
+ left: initial;
+}
\ No newline at end of file
diff --git a/build/aui-button-switch/assets/skins/sam/aui-button-core-skin.css b/build/aui-button-switch/assets/skins/sam/aui-button-core-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-button-switch/assets/skins/sam/aui-button-switch-skin.css b/build/aui-button-switch/assets/skins/sam/aui-button-switch-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-button-switch/assets/skins/sam/aui-button-switch.css b/build/aui-button-switch/assets/skins/sam/aui-button-switch.css
new file mode 100644
index 00000000000..1c4a5d47c62
--- /dev/null
+++ b/build/aui-button-switch/assets/skins/sam/aui-button-switch.css
@@ -0,0 +1 @@
+.button-switch{display:block;box-sizing:border-box;width:32px;height:16px;border-radius:999px;background-color:#d8d9db;margin-bottom:10px;position:relative;line-height:34px;z-index:1}.button-switch-inner-circle{position:absolute;margin-top:1px;left:3px;border-radius:50%;width:13px;height:13px;display:inline-block;background-color:#fff;z-index:3}.button-switch-inner-label-left{margin-left:4px;position:absolute;z-index:2;font-weight:normal}.button-switch-inner-label-right{margin-right:4px;position:absolute;right:0;z-index:2;font-weight:normal}.button-switch-left{left:2px}.button-switch-right{right:2px;left:initial}#yui3-css-stamp.skin-sam-aui-button-switch{display:none}
diff --git a/build/aui-button-switch/aui-button-switch-coverage.js b/build/aui-button-switch/aui-button-switch-coverage.js
new file mode 100644
index 00000000000..fb7809458a2
--- /dev/null
+++ b/build/aui-button-switch/aui-button-switch-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-button-switch/aui-button-switch.js']) {
+ __coverage__['build/aui-button-switch/aui-button-switch.js'] = {"path":"build/aui-button-switch/aui-button-switch.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":29},"end":{"line":1,"column":48}}},"2":{"name":"(anonymous_2)","line":40,"loc":{"start":{"line":40,"column":12},"end":{"line":40,"column":23}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":14},"end":{"line":56,"column":25}}},"4":{"name":"(anonymous_4)","line":72,"loc":{"start":{"line":72,"column":27},"end":{"line":72,"column":38}}},"5":{"name":"(anonymous_5)","line":82,"loc":{"start":{"line":82,"column":32},"end":{"line":82,"column":48}}},"6":{"name":"(anonymous_6)","line":92,"loc":{"start":{"line":92,"column":33},"end":{"line":92,"column":49}}},"7":{"name":"(anonymous_7)","line":103,"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":33}}},"8":{"name":"(anonymous_8)","line":118,"loc":{"start":{"line":118,"column":26},"end":{"line":118,"column":37}}},"9":{"name":"(anonymous_9)","line":128,"loc":{"start":{"line":128,"column":32},"end":{"line":128,"column":43}}},"10":{"name":"(anonymous_10)","line":138,"loc":{"start":{"line":138,"column":24},"end":{"line":138,"column":35}}},"11":{"name":"(anonymous_11)","line":148,"loc":{"start":{"line":148,"column":20},"end":{"line":148,"column":40}}},"12":{"name":"(anonymous_12)","line":189,"loc":{"start":{"line":189,"column":29},"end":{"line":189,"column":49}}},"13":{"name":"(anonymous_13)","line":212,"loc":{"start":{"line":212,"column":26},"end":{"line":212,"column":42}}},"14":{"name":"(anonymous_14)","line":223,"loc":{"start":{"line":223,"column":27},"end":{"line":223,"column":43}}},"15":{"name":"(anonymous_15)","line":255,"loc":{"start":{"line":255,"column":23},"end":{"line":255,"column":37}}},"16":{"name":"(anonymous_16)","line":258,"loc":{"start":{"line":258,"column":21},"end":{"line":258,"column":32}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":288,"column":129}},"2":{"start":{"line":9,"column":0},"end":{"line":21,"column":72}},"3":{"start":{"line":32,"column":0},"end":{"line":286,"column":3}},"4":{"start":{"line":41,"column":8},"end":{"line":41,"column":42}},"5":{"start":{"line":43,"column":8},"end":{"line":43,"column":61}},"6":{"start":{"line":44,"column":8},"end":{"line":44,"column":72}},"7":{"start":{"line":45,"column":8},"end":{"line":45,"column":72}},"8":{"start":{"line":46,"column":8},"end":{"line":46,"column":82}},"9":{"start":{"line":47,"column":8},"end":{"line":47,"column":84}},"10":{"start":{"line":57,"column":8},"end":{"line":57,"column":42}},"11":{"start":{"line":59,"column":8},"end":{"line":59,"column":47}},"12":{"start":{"line":61,"column":8},"end":{"line":61,"column":51}},"13":{"start":{"line":62,"column":8},"end":{"line":62,"column":62}},"14":{"start":{"line":63,"column":8},"end":{"line":63,"column":64}},"15":{"start":{"line":73,"column":8},"end":{"line":73,"column":51}},"16":{"start":{"line":83,"column":8},"end":{"line":83,"column":48}},"17":{"start":{"line":93,"column":8},"end":{"line":93,"column":49}},"18":{"start":{"line":104,"column":8},"end":{"line":107,"column":9}},"19":{"start":{"line":105,"column":12},"end":{"line":105,"column":64}},"20":{"start":{"line":106,"column":12},"end":{"line":106,"column":58}},"21":{"start":{"line":109,"column":8},"end":{"line":109,"column":33}},"22":{"start":{"line":119,"column":8},"end":{"line":119,"column":42}},"23":{"start":{"line":129,"column":8},"end":{"line":129,"column":54}},"24":{"start":{"line":139,"column":8},"end":{"line":139,"column":42}},"25":{"start":{"line":149,"column":8},"end":{"line":152,"column":62}},"26":{"start":{"line":154,"column":8},"end":{"line":154,"column":80}},"27":{"start":{"line":155,"column":8},"end":{"line":155,"column":80}},"28":{"start":{"line":156,"column":8},"end":{"line":156,"column":52}},"29":{"start":{"line":158,"column":8},"end":{"line":179,"column":9}},"30":{"start":{"line":159,"column":12},"end":{"line":159,"column":52}},"31":{"start":{"line":162,"column":12},"end":{"line":162,"column":60}},"32":{"start":{"line":163,"column":12},"end":{"line":163,"column":61}},"33":{"start":{"line":165,"column":12},"end":{"line":178,"column":13}},"34":{"start":{"line":166,"column":16},"end":{"line":166,"column":76}},"35":{"start":{"line":167,"column":16},"end":{"line":170,"column":19}},"36":{"start":{"line":173,"column":16},"end":{"line":173,"column":115}},"37":{"start":{"line":174,"column":16},"end":{"line":177,"column":19}},"38":{"start":{"line":190,"column":8},"end":{"line":190,"column":49}},"39":{"start":{"line":193,"column":8},"end":{"line":193,"column":41}},"40":{"start":{"line":195,"column":8},"end":{"line":202,"column":9}},"41":{"start":{"line":196,"column":12},"end":{"line":196,"column":60}},"42":{"start":{"line":197,"column":12},"end":{"line":197,"column":58}},"43":{"start":{"line":200,"column":12},"end":{"line":200,"column":61}},"44":{"start":{"line":201,"column":12},"end":{"line":201,"column":57}},"45":{"start":{"line":213,"column":8},"end":{"line":213,"column":86}},"46":{"start":{"line":224,"column":8},"end":{"line":224,"column":87}},"47":{"start":{"line":256,"column":16},"end":{"line":256,"column":49}},"48":{"start":{"line":259,"column":16},"end":{"line":259,"column":56}}},"branchMap":{"1":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":8},"end":{"line":104,"column":8}},{"start":{"line":104,"column":8},"end":{"line":104,"column":8}}]},"2":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":158,"column":8}},{"start":{"line":158,"column":8},"end":{"line":158,"column":8}}]},"3":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":165,"column":12}},{"start":{"line":165,"column":12},"end":{"line":165,"column":12}}]},"4":{"line":195,"type":"if","locations":[{"start":{"line":195,"column":8},"end":{"line":195,"column":8}},{"start":{"line":195,"column":8},"end":{"line":195,"column":8}}]}},"code":["(function () { YUI.add('aui-button-switch', function (A, NAME) {","","/**"," * The Button Switch module."," *"," * @module aui-button-switch"," */","","var CSS_BUTTON_SWITCH = A.getClassName('button', 'switch'),"," CSS_BUTTON_SWITCH_LEFT = A.getClassName('button', 'switch', 'left'),"," CSS_BUTTON_SWITCH_RIGHT = A.getClassName('button', 'switch', 'right'),"," CSS_INNER_CIRCLE = A.getClassName('button', 'switch', 'inner', 'circle'),"," CSS_INNER_LABEL_LEFT = A.getClassName('button', 'switch', 'inner', 'label', 'left'),"," CSS_INNER_LABEL_RIGHT = A.getClassName('button', 'switch', 'inner', 'label', 'right'),",""," INNER_CIRCLE_THRESHOLD = 2,",""," TPL_BUTTON_SWITCH = '' +"," ' ' +"," '
',"," TPL_INNER_CIRCLE = ' ';","","/**"," * The base class for Button Switch."," *"," * @class A.ButtonSwitch"," * @extends A.Widget"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," */","A.ButtonSwitch = A.Base.create('button-switch', A.Widget, [], {",""," /**"," * Bind the events on the ButtonSwitch UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," var content = this.get('content');",""," content.on('click', this._onButtonSwitchClick, this);"," content.on('key', this._onButtonSwitchKey, 'enter,space', this);"," this.after('activatedChange', this._afterActivatedChange, this);"," this.after('innerLabelLeftChange', this._afterInnerLabelLeftChange, this);"," this.after('innerLabelRightChange', this._afterInnerLabelRightChange, this);"," },",""," /**"," * Renders the ButtonSwitch component instance. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," var content = this.get('content');",""," this.get('contentBox').append(content);",""," this._uiSetActivate(this.get('activated'));"," this._uiSetInnerLabelLeft(this.get('innerLabelLeft'));"," this._uiSetInnerLabelRight(this.get('innerLabelRight'));"," },",""," /**"," * Fires after `activated` attribute changes."," *"," * @method _afterActivatedChange"," * @protected"," */"," _afterActivatedChange: function() {"," this._uiSetActivate(this.get('activated'));"," },",""," /**"," * Fires after `innerLabelLeft` attribute changes."," *"," * @method _afterInnerLabelLeftChange"," * @protected"," */"," _afterInnerLabelLeftChange: function(event) {"," this._uiSetInnerLabelLeft(event.newVal);"," },",""," /**"," * Fires after `innerLabelRight` attribute changes."," *"," * @method _afterInnerLabelRightChange"," * @protected"," */"," _afterInnerLabelRightChange: function(event) {"," this._uiSetInnerLabelRight(event.newVal);"," },",""," /**"," * Returns the switch button instance."," *"," * @method _getInnerCircle"," * @return {Node}"," * @protected"," */"," _getInnerCircle: function () {"," if (!this._innerCircle) {"," this._innerCircle = A.Node.create(TPL_INNER_CIRCLE);"," this.get('content').append(this._innerCircle);"," }",""," return this._innerCircle;"," },",""," /**"," * Fires when Button Switch is clicked."," *"," * @method _onButtonSwitchClick"," * @protected"," */"," _onButtonSwitchClick: function() {"," this._onButtonSwitchInteraction();"," },",""," /**"," * Fires after user interacts."," *"," * @method _onButtonSwitchInteraction"," * @protected"," */"," _onButtonSwitchInteraction: function() {"," this.set('activated', !this.get('activated'));"," },",""," /**"," * Fires when a pres space or enter key."," *"," * @method _onButtonSwitchKey"," * @protected"," */"," _onButtonSwitchKey: function() {"," this._onButtonSwitchInteraction();"," },",""," /**"," * Updates the ui according to the value of the `activated` attribute."," *"," * @method _uiSetActivate"," * @protected"," */"," _uiSetActivate: function(activated) {"," var content = this.get('content'),"," buttonSwitchWidth = content.get('offsetWidth'),"," innerCircle = this._getInnerCircle(),"," innerCircleWidth = innerCircle.get('offsetWidth');",""," content.one('.' + CSS_INNER_LABEL_RIGHT).toggleClass('hide', activated);"," content.one('.' + CSS_INNER_LABEL_LEFT).toggleClass('hide', !activated);"," content.toggleClass('activated', activated);",""," if (!innerCircleWidth) {"," this._setInnerCirclePosition(activated);"," }"," else {"," innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);"," innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);",""," if (activated) {"," innerCircle.setStyle('left', INNER_CIRCLE_THRESHOLD + 'px');"," innerCircle.transition({"," duration: 0.6,"," left: buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px'"," });"," }"," else {"," innerCircle.setStyle('left', buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px');"," innerCircle.transition({"," duration: 0.6,"," left: INNER_CIRCLE_THRESHOLD + 'px'"," });"," }"," }"," },",""," /**"," * Updates Inner Circle position with CSS classes."," *"," * @method _setInnerCirclePosition"," * @param {Boolean} activated"," * @protected"," */"," _setInnerCirclePosition: function(activated) {"," var innerCircle = this._getInnerCircle();",""," // Clear the styling, as it has higher precedence than css classes."," innerCircle.setStyle('left', '');",""," if (activated) {"," innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);"," innerCircle.addClass(CSS_BUTTON_SWITCH_RIGHT);"," }"," else {"," innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);"," innerCircle.addClass(CSS_BUTTON_SWITCH_LEFT);"," }"," },",""," /**"," * Updates the ui according to the value of the `innerLabelLeft` attribute."," *"," * @method _uiSetInnerLabelLeft"," * @param {String} label"," * @protected"," */"," _uiSetInnerLabelLeft: function(label) {"," return this.get('content').one('.' + CSS_INNER_LABEL_LEFT).set('text', label);"," },",""," /**"," * Updates the ui according to the value of the `innerLabelRight` attribute."," *"," * @method _uiSetInnerLabelRight"," * @param {String} label"," * @protected"," */"," _uiSetInnerLabelRight: function(label) {"," return this.get('content').one('.' + CSS_INNER_LABEL_RIGHT).set('text', label);"," }","}, {",""," /**"," * Static property used to define the default attribute configuration for"," * the ButtonSwitch."," *"," * @property ATTRS"," * @type {Object}"," * @static"," */"," ATTRS: {",""," /**"," * Determines if `ButtonSwitch` is active or not."," *"," * @attribute activated"," * @type Boolean"," */"," activated: {"," value: false"," },",""," /**"," * Node containing the contents of this field."," *"," * @attribute content"," * @type Node"," */"," content: {"," validator: function(val) {"," return A.instanceOf(val, A.Node);"," },"," valueFn: function() {"," return A.Node.create(TPL_BUTTON_SWITCH);"," },"," writeOnce: 'initOnly'"," },",""," /**"," * The label to be used on button left side."," *"," * @attribute innerLabelLeft"," * @type String"," */"," innerLabelLeft: {"," value: '',"," validator: A.Lang.isString"," },",""," /**"," * The label to be used on button right side."," *"," * @attribute innerLabelRight"," * @type String"," */"," innerLabelRight: {"," value: '',"," validator: A.Lang.isString"," }"," }","});","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-node-base\", \"base-build\", \"event-key\", \"transition\", \"widget\"], \"skinnable\": true});","","}());"]};
+}
+var __cov_3Qv_I9UiIYi3gApyI5INcA = __coverage__['build/aui-button-switch/aui-button-switch.js'];
+__cov_3Qv_I9UiIYi3gApyI5INcA.s['1']++;YUI.add('aui-button-switch',function(A,NAME){__cov_3Qv_I9UiIYi3gApyI5INcA.f['1']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['2']++;var CSS_BUTTON_SWITCH=A.getClassName('button','switch'),CSS_BUTTON_SWITCH_LEFT=A.getClassName('button','switch','left'),CSS_BUTTON_SWITCH_RIGHT=A.getClassName('button','switch','right'),CSS_INNER_CIRCLE=A.getClassName('button','switch','inner','circle'),CSS_INNER_LABEL_LEFT=A.getClassName('button','switch','inner','label','left'),CSS_INNER_LABEL_RIGHT=A.getClassName('button','switch','inner','label','right'),INNER_CIRCLE_THRESHOLD=2,TPL_BUTTON_SWITCH=''+' '+'
',TPL_INNER_CIRCLE=' ';__cov_3Qv_I9UiIYi3gApyI5INcA.s['3']++;A.ButtonSwitch=A.Base.create('button-switch',A.Widget,[],{bindUI:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['2']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['4']++;var content=this.get('content');__cov_3Qv_I9UiIYi3gApyI5INcA.s['5']++;content.on('click',this._onButtonSwitchClick,this);__cov_3Qv_I9UiIYi3gApyI5INcA.s['6']++;content.on('key',this._onButtonSwitchKey,'enter,space',this);__cov_3Qv_I9UiIYi3gApyI5INcA.s['7']++;this.after('activatedChange',this._afterActivatedChange,this);__cov_3Qv_I9UiIYi3gApyI5INcA.s['8']++;this.after('innerLabelLeftChange',this._afterInnerLabelLeftChange,this);__cov_3Qv_I9UiIYi3gApyI5INcA.s['9']++;this.after('innerLabelRightChange',this._afterInnerLabelRightChange,this);},renderUI:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['3']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['10']++;var content=this.get('content');__cov_3Qv_I9UiIYi3gApyI5INcA.s['11']++;this.get('contentBox').append(content);__cov_3Qv_I9UiIYi3gApyI5INcA.s['12']++;this._uiSetActivate(this.get('activated'));__cov_3Qv_I9UiIYi3gApyI5INcA.s['13']++;this._uiSetInnerLabelLeft(this.get('innerLabelLeft'));__cov_3Qv_I9UiIYi3gApyI5INcA.s['14']++;this._uiSetInnerLabelRight(this.get('innerLabelRight'));},_afterActivatedChange:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['4']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['15']++;this._uiSetActivate(this.get('activated'));},_afterInnerLabelLeftChange:function(event){__cov_3Qv_I9UiIYi3gApyI5INcA.f['5']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['16']++;this._uiSetInnerLabelLeft(event.newVal);},_afterInnerLabelRightChange:function(event){__cov_3Qv_I9UiIYi3gApyI5INcA.f['6']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['17']++;this._uiSetInnerLabelRight(event.newVal);},_getInnerCircle:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['7']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['18']++;if(!this._innerCircle){__cov_3Qv_I9UiIYi3gApyI5INcA.b['1'][0]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['19']++;this._innerCircle=A.Node.create(TPL_INNER_CIRCLE);__cov_3Qv_I9UiIYi3gApyI5INcA.s['20']++;this.get('content').append(this._innerCircle);}else{__cov_3Qv_I9UiIYi3gApyI5INcA.b['1'][1]++;}__cov_3Qv_I9UiIYi3gApyI5INcA.s['21']++;return this._innerCircle;},_onButtonSwitchClick:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['8']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['22']++;this._onButtonSwitchInteraction();},_onButtonSwitchInteraction:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['9']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['23']++;this.set('activated',!this.get('activated'));},_onButtonSwitchKey:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['10']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['24']++;this._onButtonSwitchInteraction();},_uiSetActivate:function(activated){__cov_3Qv_I9UiIYi3gApyI5INcA.f['11']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['25']++;var content=this.get('content'),buttonSwitchWidth=content.get('offsetWidth'),innerCircle=this._getInnerCircle(),innerCircleWidth=innerCircle.get('offsetWidth');__cov_3Qv_I9UiIYi3gApyI5INcA.s['26']++;content.one('.'+CSS_INNER_LABEL_RIGHT).toggleClass('hide',activated);__cov_3Qv_I9UiIYi3gApyI5INcA.s['27']++;content.one('.'+CSS_INNER_LABEL_LEFT).toggleClass('hide',!activated);__cov_3Qv_I9UiIYi3gApyI5INcA.s['28']++;content.toggleClass('activated',activated);__cov_3Qv_I9UiIYi3gApyI5INcA.s['29']++;if(!innerCircleWidth){__cov_3Qv_I9UiIYi3gApyI5INcA.b['2'][0]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['30']++;this._setInnerCirclePosition(activated);}else{__cov_3Qv_I9UiIYi3gApyI5INcA.b['2'][1]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['31']++;innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);__cov_3Qv_I9UiIYi3gApyI5INcA.s['32']++;innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);__cov_3Qv_I9UiIYi3gApyI5INcA.s['33']++;if(activated){__cov_3Qv_I9UiIYi3gApyI5INcA.b['3'][0]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['34']++;innerCircle.setStyle('left',INNER_CIRCLE_THRESHOLD+'px');__cov_3Qv_I9UiIYi3gApyI5INcA.s['35']++;innerCircle.transition({duration:0.6,left:buttonSwitchWidth-innerCircleWidth-INNER_CIRCLE_THRESHOLD+'px'});}else{__cov_3Qv_I9UiIYi3gApyI5INcA.b['3'][1]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['36']++;innerCircle.setStyle('left',buttonSwitchWidth-innerCircleWidth-INNER_CIRCLE_THRESHOLD+'px');__cov_3Qv_I9UiIYi3gApyI5INcA.s['37']++;innerCircle.transition({duration:0.6,left:INNER_CIRCLE_THRESHOLD+'px'});}}},_setInnerCirclePosition:function(activated){__cov_3Qv_I9UiIYi3gApyI5INcA.f['12']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['38']++;var innerCircle=this._getInnerCircle();__cov_3Qv_I9UiIYi3gApyI5INcA.s['39']++;innerCircle.setStyle('left','');__cov_3Qv_I9UiIYi3gApyI5INcA.s['40']++;if(activated){__cov_3Qv_I9UiIYi3gApyI5INcA.b['4'][0]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['41']++;innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);__cov_3Qv_I9UiIYi3gApyI5INcA.s['42']++;innerCircle.addClass(CSS_BUTTON_SWITCH_RIGHT);}else{__cov_3Qv_I9UiIYi3gApyI5INcA.b['4'][1]++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['43']++;innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);__cov_3Qv_I9UiIYi3gApyI5INcA.s['44']++;innerCircle.addClass(CSS_BUTTON_SWITCH_LEFT);}},_uiSetInnerLabelLeft:function(label){__cov_3Qv_I9UiIYi3gApyI5INcA.f['13']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['45']++;return this.get('content').one('.'+CSS_INNER_LABEL_LEFT).set('text',label);},_uiSetInnerLabelRight:function(label){__cov_3Qv_I9UiIYi3gApyI5INcA.f['14']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['46']++;return this.get('content').one('.'+CSS_INNER_LABEL_RIGHT).set('text',label);}},{ATTRS:{activated:{value:false},content:{validator:function(val){__cov_3Qv_I9UiIYi3gApyI5INcA.f['15']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['47']++;return A.instanceOf(val,A.Node);},valueFn:function(){__cov_3Qv_I9UiIYi3gApyI5INcA.f['16']++;__cov_3Qv_I9UiIYi3gApyI5INcA.s['48']++;return A.Node.create(TPL_BUTTON_SWITCH);},writeOnce:'initOnly'},innerLabelLeft:{value:'',validator:A.Lang.isString},innerLabelRight:{value:'',validator:A.Lang.isString}}});},'3.1.0-deprecated.52',{'requires':['aui-node-base','base-build','event-key','transition','widget'],'skinnable':true});
diff --git a/build/aui-button-switch/aui-button-switch-debug.js b/build/aui-button-switch/aui-button-switch-debug.js
new file mode 100644
index 00000000000..22e64f3dc12
--- /dev/null
+++ b/build/aui-button-switch/aui-button-switch-debug.js
@@ -0,0 +1,288 @@
+YUI.add('aui-button-switch', function (A, NAME) {
+
+/**
+ * The Button Switch module.
+ *
+ * @module aui-button-switch
+ */
+
+var CSS_BUTTON_SWITCH = A.getClassName('button', 'switch'),
+ CSS_BUTTON_SWITCH_LEFT = A.getClassName('button', 'switch', 'left'),
+ CSS_BUTTON_SWITCH_RIGHT = A.getClassName('button', 'switch', 'right'),
+ CSS_INNER_CIRCLE = A.getClassName('button', 'switch', 'inner', 'circle'),
+ CSS_INNER_LABEL_LEFT = A.getClassName('button', 'switch', 'inner', 'label', 'left'),
+ CSS_INNER_LABEL_RIGHT = A.getClassName('button', 'switch', 'inner', 'label', 'right'),
+
+ INNER_CIRCLE_THRESHOLD = 2,
+
+ TPL_BUTTON_SWITCH = '' +
+ ' ' +
+ '
',
+ TPL_INNER_CIRCLE = ' ';
+
+/**
+ * The base class for Button Switch.
+ *
+ * @class A.ButtonSwitch
+ * @extends A.Widget
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.ButtonSwitch = A.Base.create('button-switch', A.Widget, [], {
+
+ /**
+ * Bind the events on the ButtonSwitch UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var content = this.get('content');
+
+ content.on('click', this._onButtonSwitchClick, this);
+ content.on('key', this._onButtonSwitchKey, 'enter,space', this);
+ this.after('activatedChange', this._afterActivatedChange, this);
+ this.after('innerLabelLeftChange', this._afterInnerLabelLeftChange, this);
+ this.after('innerLabelRightChange', this._afterInnerLabelRightChange, this);
+ },
+
+ /**
+ * Renders the ButtonSwitch component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var content = this.get('content');
+
+ this.get('contentBox').append(content);
+
+ this._uiSetActivate(this.get('activated'));
+ this._uiSetInnerLabelLeft(this.get('innerLabelLeft'));
+ this._uiSetInnerLabelRight(this.get('innerLabelRight'));
+ },
+
+ /**
+ * Fires after `activated` attribute changes.
+ *
+ * @method _afterActivatedChange
+ * @protected
+ */
+ _afterActivatedChange: function() {
+ this._uiSetActivate(this.get('activated'));
+ },
+
+ /**
+ * Fires after `innerLabelLeft` attribute changes.
+ *
+ * @method _afterInnerLabelLeftChange
+ * @protected
+ */
+ _afterInnerLabelLeftChange: function(event) {
+ this._uiSetInnerLabelLeft(event.newVal);
+ },
+
+ /**
+ * Fires after `innerLabelRight` attribute changes.
+ *
+ * @method _afterInnerLabelRightChange
+ * @protected
+ */
+ _afterInnerLabelRightChange: function(event) {
+ this._uiSetInnerLabelRight(event.newVal);
+ },
+
+ /**
+ * Returns the switch button instance.
+ *
+ * @method _getInnerCircle
+ * @return {Node}
+ * @protected
+ */
+ _getInnerCircle: function () {
+ if (!this._innerCircle) {
+ this._innerCircle = A.Node.create(TPL_INNER_CIRCLE);
+ this.get('content').append(this._innerCircle);
+ }
+
+ return this._innerCircle;
+ },
+
+ /**
+ * Fires when Button Switch is clicked.
+ *
+ * @method _onButtonSwitchClick
+ * @protected
+ */
+ _onButtonSwitchClick: function() {
+ this._onButtonSwitchInteraction();
+ },
+
+ /**
+ * Fires after user interacts.
+ *
+ * @method _onButtonSwitchInteraction
+ * @protected
+ */
+ _onButtonSwitchInteraction: function() {
+ this.set('activated', !this.get('activated'));
+ },
+
+ /**
+ * Fires when a pres space or enter key.
+ *
+ * @method _onButtonSwitchKey
+ * @protected
+ */
+ _onButtonSwitchKey: function() {
+ this._onButtonSwitchInteraction();
+ },
+
+ /**
+ * Updates the ui according to the value of the `activated` attribute.
+ *
+ * @method _uiSetActivate
+ * @protected
+ */
+ _uiSetActivate: function(activated) {
+ var content = this.get('content'),
+ buttonSwitchWidth = content.get('offsetWidth'),
+ innerCircle = this._getInnerCircle(),
+ innerCircleWidth = innerCircle.get('offsetWidth');
+
+ content.one('.' + CSS_INNER_LABEL_RIGHT).toggleClass('hide', activated);
+ content.one('.' + CSS_INNER_LABEL_LEFT).toggleClass('hide', !activated);
+ content.toggleClass('activated', activated);
+
+ if (!innerCircleWidth) {
+ this._setInnerCirclePosition(activated);
+ }
+ else {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);
+
+ if (activated) {
+ innerCircle.setStyle('left', INNER_CIRCLE_THRESHOLD + 'px');
+ innerCircle.transition({
+ duration: 0.6,
+ left: buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px'
+ });
+ }
+ else {
+ innerCircle.setStyle('left', buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px');
+ innerCircle.transition({
+ duration: 0.6,
+ left: INNER_CIRCLE_THRESHOLD + 'px'
+ });
+ }
+ }
+ },
+
+ /**
+ * Updates Inner Circle position with CSS classes.
+ *
+ * @method _setInnerCirclePosition
+ * @param {Boolean} activated
+ * @protected
+ */
+ _setInnerCirclePosition: function(activated) {
+ var innerCircle = this._getInnerCircle();
+
+ // Clear the styling, as it has higher precedence than css classes.
+ innerCircle.setStyle('left', '');
+
+ if (activated) {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);
+ innerCircle.addClass(CSS_BUTTON_SWITCH_RIGHT);
+ }
+ else {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);
+ innerCircle.addClass(CSS_BUTTON_SWITCH_LEFT);
+ }
+ },
+
+ /**
+ * Updates the ui according to the value of the `innerLabelLeft` attribute.
+ *
+ * @method _uiSetInnerLabelLeft
+ * @param {String} label
+ * @protected
+ */
+ _uiSetInnerLabelLeft: function(label) {
+ return this.get('content').one('.' + CSS_INNER_LABEL_LEFT).set('text', label);
+ },
+
+ /**
+ * Updates the ui according to the value of the `innerLabelRight` attribute.
+ *
+ * @method _uiSetInnerLabelRight
+ * @param {String} label
+ * @protected
+ */
+ _uiSetInnerLabelRight: function(label) {
+ return this.get('content').one('.' + CSS_INNER_LABEL_RIGHT).set('text', label);
+ }
+}, {
+
+ /**
+ * Static property used to define the default attribute configuration for
+ * the ButtonSwitch.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Determines if `ButtonSwitch` is active or not.
+ *
+ * @attribute activated
+ * @type Boolean
+ */
+ activated: {
+ value: false
+ },
+
+ /**
+ * Node containing the contents of this field.
+ *
+ * @attribute content
+ * @type Node
+ */
+ content: {
+ validator: function(val) {
+ return A.instanceOf(val, A.Node);
+ },
+ valueFn: function() {
+ return A.Node.create(TPL_BUTTON_SWITCH);
+ },
+ writeOnce: 'initOnly'
+ },
+
+ /**
+ * The label to be used on button left side.
+ *
+ * @attribute innerLabelLeft
+ * @type String
+ */
+ innerLabelLeft: {
+ value: '',
+ validator: A.Lang.isString
+ },
+
+ /**
+ * The label to be used on button right side.
+ *
+ * @attribute innerLabelRight
+ * @type String
+ */
+ innerLabelRight: {
+ value: '',
+ validator: A.Lang.isString
+ }
+ }
+});
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-node-base", "base-build", "event-key", "transition", "widget"], "skinnable": true});
diff --git a/build/aui-button-switch/aui-button-switch-min.js b/build/aui-button-switch/aui-button-switch-min.js
new file mode 100644
index 00000000000..88a00efb771
--- /dev/null
+++ b/build/aui-button-switch/aui-button-switch-min.js
@@ -0,0 +1 @@
+YUI.add("aui-button-switch",function(e,t){var n=e.getClassName("button","switch"),r=e.getClassName("button","switch","left"),i=e.getClassName("button","switch","right"),s=e.getClassName("button","switch","inner","circle"),o=e.getClassName("button","switch","inner","label","left"),u=e.getClassName("button","switch","inner","label","right"),a=2,f=''+' '+'
',l=' ';e.ButtonSwitch=e.Base.create("button-switch",e.Widget,[],{bindUI:function(){var e=this.get("content");e.on("click",this._onButtonSwitchClick,this),e.on("key",this._onButtonSwitchKey,"enter,space",this),this.after("activatedChange",this._afterActivatedChange,this),this.after("innerLabelLeftChange",this._afterInnerLabelLeftChange,this),this.after("innerLabelRightChange",this._afterInnerLabelRightChange,this)},renderUI:function(){var e=this.get("content");this.get("contentBox").append(e),this._uiSetActivate(this.get("activated")),this._uiSetInnerLabelLeft(this.get("innerLabelLeft")),this._uiSetInnerLabelRight(this.get("innerLabelRight"))},_afterActivatedChange:function(){this._uiSetActivate(this.get("activated"))},_afterInnerLabelLeftChange:function(e){this._uiSetInnerLabelLeft(e.newVal)},_afterInnerLabelRightChange:function(e){this._uiSetInnerLabelRight(e.newVal)},_getInnerCircle:function(){return this._innerCircle||(this._innerCircle=e.Node.create(l),this.get("content").append(this._innerCircle)),this._innerCircle},_onButtonSwitchClick:function(){this._onButtonSwitchInteraction()},_onButtonSwitchInteraction:function(){this.set("activated",!this.get("activated"))},_onButtonSwitchKey:function(){this._onButtonSwitchInteraction()},_uiSetActivate:function(e){var t=this.get("content"),n=t.get("offsetWidth"),s=this._getInnerCircle(),f=s.get("offsetWidth");t.one("."+u).toggleClass("hide",e),t.one("."+o).toggleClass("hide",!e),t.toggleClass("activated",e),f?(s.removeClass(r),s.removeClass(i),e?(s.setStyle("left",a+"px"),s.transition({duration:.6,left:n-f-a+"px"})):(s.setStyle("left",n-f-a+"px"),s.transition({duration:.6,left:a+"px"}))):this._setInnerCirclePosition(e)},_setInnerCirclePosition:function(e){var t=this._getInnerCircle();t.setStyle("left",""),e?(t.removeClass(r),t.addClass(i)):(t.removeClass(i),t.addClass(r))},_uiSetInnerLabelLeft:function(e){return this.get("content").one("."+o).set("text",e)},_uiSetInnerLabelRight:function(e){return this.get("content").one("."+u).set("text",e)}},{ATTRS:{activated:{value:!1},content:{validator:function(t){return e.instanceOf(t,e.Node)},valueFn:function(){return e.Node.create(f)},writeOnce:"initOnly"},innerLabelLeft:{value:"",validator:e.Lang.isString},innerLabelRight:{value:"",validator:e.Lang.isString}}})},"3.1.0-deprecated.52",{requires:["aui-node-base","base-build","event-key","transition","widget"],skinnable:!0});
diff --git a/build/aui-button-switch/aui-button-switch.js b/build/aui-button-switch/aui-button-switch.js
new file mode 100644
index 00000000000..22e64f3dc12
--- /dev/null
+++ b/build/aui-button-switch/aui-button-switch.js
@@ -0,0 +1,288 @@
+YUI.add('aui-button-switch', function (A, NAME) {
+
+/**
+ * The Button Switch module.
+ *
+ * @module aui-button-switch
+ */
+
+var CSS_BUTTON_SWITCH = A.getClassName('button', 'switch'),
+ CSS_BUTTON_SWITCH_LEFT = A.getClassName('button', 'switch', 'left'),
+ CSS_BUTTON_SWITCH_RIGHT = A.getClassName('button', 'switch', 'right'),
+ CSS_INNER_CIRCLE = A.getClassName('button', 'switch', 'inner', 'circle'),
+ CSS_INNER_LABEL_LEFT = A.getClassName('button', 'switch', 'inner', 'label', 'left'),
+ CSS_INNER_LABEL_RIGHT = A.getClassName('button', 'switch', 'inner', 'label', 'right'),
+
+ INNER_CIRCLE_THRESHOLD = 2,
+
+ TPL_BUTTON_SWITCH = '' +
+ ' ' +
+ '
',
+ TPL_INNER_CIRCLE = ' ';
+
+/**
+ * The base class for Button Switch.
+ *
+ * @class A.ButtonSwitch
+ * @extends A.Widget
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ */
+A.ButtonSwitch = A.Base.create('button-switch', A.Widget, [], {
+
+ /**
+ * Bind the events on the ButtonSwitch UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ var content = this.get('content');
+
+ content.on('click', this._onButtonSwitchClick, this);
+ content.on('key', this._onButtonSwitchKey, 'enter,space', this);
+ this.after('activatedChange', this._afterActivatedChange, this);
+ this.after('innerLabelLeftChange', this._afterInnerLabelLeftChange, this);
+ this.after('innerLabelRightChange', this._afterInnerLabelRightChange, this);
+ },
+
+ /**
+ * Renders the ButtonSwitch component instance. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ var content = this.get('content');
+
+ this.get('contentBox').append(content);
+
+ this._uiSetActivate(this.get('activated'));
+ this._uiSetInnerLabelLeft(this.get('innerLabelLeft'));
+ this._uiSetInnerLabelRight(this.get('innerLabelRight'));
+ },
+
+ /**
+ * Fires after `activated` attribute changes.
+ *
+ * @method _afterActivatedChange
+ * @protected
+ */
+ _afterActivatedChange: function() {
+ this._uiSetActivate(this.get('activated'));
+ },
+
+ /**
+ * Fires after `innerLabelLeft` attribute changes.
+ *
+ * @method _afterInnerLabelLeftChange
+ * @protected
+ */
+ _afterInnerLabelLeftChange: function(event) {
+ this._uiSetInnerLabelLeft(event.newVal);
+ },
+
+ /**
+ * Fires after `innerLabelRight` attribute changes.
+ *
+ * @method _afterInnerLabelRightChange
+ * @protected
+ */
+ _afterInnerLabelRightChange: function(event) {
+ this._uiSetInnerLabelRight(event.newVal);
+ },
+
+ /**
+ * Returns the switch button instance.
+ *
+ * @method _getInnerCircle
+ * @return {Node}
+ * @protected
+ */
+ _getInnerCircle: function () {
+ if (!this._innerCircle) {
+ this._innerCircle = A.Node.create(TPL_INNER_CIRCLE);
+ this.get('content').append(this._innerCircle);
+ }
+
+ return this._innerCircle;
+ },
+
+ /**
+ * Fires when Button Switch is clicked.
+ *
+ * @method _onButtonSwitchClick
+ * @protected
+ */
+ _onButtonSwitchClick: function() {
+ this._onButtonSwitchInteraction();
+ },
+
+ /**
+ * Fires after user interacts.
+ *
+ * @method _onButtonSwitchInteraction
+ * @protected
+ */
+ _onButtonSwitchInteraction: function() {
+ this.set('activated', !this.get('activated'));
+ },
+
+ /**
+ * Fires when a pres space or enter key.
+ *
+ * @method _onButtonSwitchKey
+ * @protected
+ */
+ _onButtonSwitchKey: function() {
+ this._onButtonSwitchInteraction();
+ },
+
+ /**
+ * Updates the ui according to the value of the `activated` attribute.
+ *
+ * @method _uiSetActivate
+ * @protected
+ */
+ _uiSetActivate: function(activated) {
+ var content = this.get('content'),
+ buttonSwitchWidth = content.get('offsetWidth'),
+ innerCircle = this._getInnerCircle(),
+ innerCircleWidth = innerCircle.get('offsetWidth');
+
+ content.one('.' + CSS_INNER_LABEL_RIGHT).toggleClass('hide', activated);
+ content.one('.' + CSS_INNER_LABEL_LEFT).toggleClass('hide', !activated);
+ content.toggleClass('activated', activated);
+
+ if (!innerCircleWidth) {
+ this._setInnerCirclePosition(activated);
+ }
+ else {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);
+
+ if (activated) {
+ innerCircle.setStyle('left', INNER_CIRCLE_THRESHOLD + 'px');
+ innerCircle.transition({
+ duration: 0.6,
+ left: buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px'
+ });
+ }
+ else {
+ innerCircle.setStyle('left', buttonSwitchWidth - innerCircleWidth - INNER_CIRCLE_THRESHOLD + 'px');
+ innerCircle.transition({
+ duration: 0.6,
+ left: INNER_CIRCLE_THRESHOLD + 'px'
+ });
+ }
+ }
+ },
+
+ /**
+ * Updates Inner Circle position with CSS classes.
+ *
+ * @method _setInnerCirclePosition
+ * @param {Boolean} activated
+ * @protected
+ */
+ _setInnerCirclePosition: function(activated) {
+ var innerCircle = this._getInnerCircle();
+
+ // Clear the styling, as it has higher precedence than css classes.
+ innerCircle.setStyle('left', '');
+
+ if (activated) {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_LEFT);
+ innerCircle.addClass(CSS_BUTTON_SWITCH_RIGHT);
+ }
+ else {
+ innerCircle.removeClass(CSS_BUTTON_SWITCH_RIGHT);
+ innerCircle.addClass(CSS_BUTTON_SWITCH_LEFT);
+ }
+ },
+
+ /**
+ * Updates the ui according to the value of the `innerLabelLeft` attribute.
+ *
+ * @method _uiSetInnerLabelLeft
+ * @param {String} label
+ * @protected
+ */
+ _uiSetInnerLabelLeft: function(label) {
+ return this.get('content').one('.' + CSS_INNER_LABEL_LEFT).set('text', label);
+ },
+
+ /**
+ * Updates the ui according to the value of the `innerLabelRight` attribute.
+ *
+ * @method _uiSetInnerLabelRight
+ * @param {String} label
+ * @protected
+ */
+ _uiSetInnerLabelRight: function(label) {
+ return this.get('content').one('.' + CSS_INNER_LABEL_RIGHT).set('text', label);
+ }
+}, {
+
+ /**
+ * Static property used to define the default attribute configuration for
+ * the ButtonSwitch.
+ *
+ * @property ATTRS
+ * @type {Object}
+ * @static
+ */
+ ATTRS: {
+
+ /**
+ * Determines if `ButtonSwitch` is active or not.
+ *
+ * @attribute activated
+ * @type Boolean
+ */
+ activated: {
+ value: false
+ },
+
+ /**
+ * Node containing the contents of this field.
+ *
+ * @attribute content
+ * @type Node
+ */
+ content: {
+ validator: function(val) {
+ return A.instanceOf(val, A.Node);
+ },
+ valueFn: function() {
+ return A.Node.create(TPL_BUTTON_SWITCH);
+ },
+ writeOnce: 'initOnly'
+ },
+
+ /**
+ * The label to be used on button left side.
+ *
+ * @attribute innerLabelLeft
+ * @type String
+ */
+ innerLabelLeft: {
+ value: '',
+ validator: A.Lang.isString
+ },
+
+ /**
+ * The label to be used on button right side.
+ *
+ * @attribute innerLabelRight
+ * @type String
+ */
+ innerLabelRight: {
+ value: '',
+ validator: A.Lang.isString
+ }
+ }
+});
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-node-base", "base-build", "event-key", "transition", "widget"], "skinnable": true});
diff --git a/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-coverage.js b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-coverage.js
new file mode 100644
index 00000000000..b5a367710c1
--- /dev/null
+++ b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js']) {
+ __coverage__['build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js'] = {"path":"build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0},"b":{},"f":{"1":0,"2":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":37},"end":{"line":1,"column":56}}},"2":{"name":"CarouselMobileTouch","line":11,"loc":{"start":{"line":11,"column":0},"end":{"line":11,"column":31}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":34,"column":72}},"2":{"start":{"line":11,"column":0},"end":{"line":11,"column":33}},"3":{"start":{"line":13,"column":0},"end":{"line":15,"column":2}},"4":{"start":{"line":17,"column":0},"end":{"line":29,"column":2}},"5":{"start":{"line":31,"column":0},"end":{"line":31,"column":46}}},"branchMap":{},"code":["(function () { YUI.add('aui-carousel-mobile-touch', function (A, NAME) {","","/**"," * The Carousel should work a little differently on mobile touch devices,"," * changing the menu contents for example."," * This module will be mixed into the Carousel automatically when loaded."," *"," * @module aui-carousel-touch"," */","","function CarouselMobileTouch() {}","","CarouselMobileTouch.prototype = {"," TPL_MENU: ''","};","","CarouselMobileTouch.ATTRS = {"," /**"," * Position of the menu."," *"," * @attribute nodeMenuPosition"," * @default 'outside'"," * @type String"," */"," nodeMenuPosition: {"," value: 'outside',"," validator: '_validateNodeMenuPosition'"," }","};","","A.Base.mix(A.Carousel, [CarouselMobileTouch]);","","","}, '3.1.0-deprecated.52', {\"requires\": [\"base-build\", \"aui-carousel\"]});","","}());"]};
+}
+var __cov_fkFCQbLkGId0EDN6wFqzWA = __coverage__['build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js'];
+__cov_fkFCQbLkGId0EDN6wFqzWA.s['1']++;YUI.add('aui-carousel-mobile-touch',function(A,NAME){__cov_fkFCQbLkGId0EDN6wFqzWA.f['1']++;__cov_fkFCQbLkGId0EDN6wFqzWA.s['2']++;function CarouselMobileTouch(){__cov_fkFCQbLkGId0EDN6wFqzWA.f['2']++;}__cov_fkFCQbLkGId0EDN6wFqzWA.s['3']++;CarouselMobileTouch.prototype={TPL_MENU:''};__cov_fkFCQbLkGId0EDN6wFqzWA.s['4']++;CarouselMobileTouch.ATTRS={nodeMenuPosition:{value:'outside',validator:'_validateNodeMenuPosition'}};__cov_fkFCQbLkGId0EDN6wFqzWA.s['5']++;A.Base.mix(A.Carousel,[CarouselMobileTouch]);},'3.1.0-deprecated.52',{'requires':['base-build','aui-carousel']});
diff --git a/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-debug.js b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-debug.js
new file mode 100644
index 00000000000..635702fe1be
--- /dev/null
+++ b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-debug.js
@@ -0,0 +1,34 @@
+YUI.add('aui-carousel-mobile-touch', function (A, NAME) {
+
+/**
+ * The Carousel should work a little differently on mobile touch devices,
+ * changing the menu contents for example.
+ * This module will be mixed into the Carousel automatically when loaded.
+ *
+ * @module aui-carousel-touch
+ */
+
+function CarouselMobileTouch() {}
+
+CarouselMobileTouch.prototype = {
+ TPL_MENU: ''
+};
+
+CarouselMobileTouch.ATTRS = {
+ /**
+ * Position of the menu.
+ *
+ * @attribute nodeMenuPosition
+ * @default 'outside'
+ * @type String
+ */
+ nodeMenuPosition: {
+ value: 'outside',
+ validator: '_validateNodeMenuPosition'
+ }
+};
+
+A.Base.mix(A.Carousel, [CarouselMobileTouch]);
+
+
+}, '3.1.0-deprecated.52', {"requires": ["base-build", "aui-carousel"]});
diff --git a/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-min.js b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-min.js
new file mode 100644
index 00000000000..d25a6e0dd15
--- /dev/null
+++ b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch-min.js
@@ -0,0 +1 @@
+YUI.add("aui-carousel-mobile-touch",function(e,t){function n(){}n.prototype={TPL_MENU:''},n.ATTRS={nodeMenuPosition:{value:"outside",validator:"_validateNodeMenuPosition"}},e.Base.mix(e.Carousel,[n])},"3.1.0-deprecated.52",{requires:["base-build","aui-carousel"]});
diff --git a/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js
new file mode 100644
index 00000000000..635702fe1be
--- /dev/null
+++ b/build/aui-carousel-mobile-touch/aui-carousel-mobile-touch.js
@@ -0,0 +1,34 @@
+YUI.add('aui-carousel-mobile-touch', function (A, NAME) {
+
+/**
+ * The Carousel should work a little differently on mobile touch devices,
+ * changing the menu contents for example.
+ * This module will be mixed into the Carousel automatically when loaded.
+ *
+ * @module aui-carousel-touch
+ */
+
+function CarouselMobileTouch() {}
+
+CarouselMobileTouch.prototype = {
+ TPL_MENU: ''
+};
+
+CarouselMobileTouch.ATTRS = {
+ /**
+ * Position of the menu.
+ *
+ * @attribute nodeMenuPosition
+ * @default 'outside'
+ * @type String
+ */
+ nodeMenuPosition: {
+ value: 'outside',
+ validator: '_validateNodeMenuPosition'
+ }
+};
+
+A.Base.mix(A.Carousel, [CarouselMobileTouch]);
+
+
+}, '3.1.0-deprecated.52', {"requires": ["base-build", "aui-carousel"]});
diff --git a/build/aui-carousel-swipe/assets/aui-carousel-core.css b/build/aui-carousel-swipe/assets/aui-carousel-core.css
new file mode 100644
index 00000000000..72296beda85
--- /dev/null
+++ b/build/aui-carousel-swipe/assets/aui-carousel-core.css
@@ -0,0 +1,124 @@
+.carousel.image-viewer-base {
+ overflow: hidden;
+ position: relative;
+}
+
+.carousel .carousel-content {
+ position: relative;
+}
+
+.carousel .carousel-content .image-viewer-base-image-list {
+ display: block;
+}
+
+.carousel .carousel-content .image-viewer-base-image-container {
+ display: none;
+ width: 100%;
+ z-index: 1;
+}
+
+.carousel .carousel-content .image-viewer-base-image {
+ max-height: none;
+ max-width: none;
+}
+
+.carousel .carousel-content .carousel-item-transition {
+ display: block;
+ left: 0;
+ position: absolute;
+ top: 0;
+ z-index: 2;
+}
+
+.carousel .carousel-content .image-viewer-base-current-image {
+ display: block;
+ z-index: 3;
+}
+
+.carousel .carousel-content .carousel-item-active-transition {
+ left: 0;
+ position: absolute;
+ top: 0;
+}
+
+.carousel.carousel-outside-menu .carousel-menu {
+ text-align: center;
+ height: 29px;
+}
+
+.carousel.carousel-outside-menu .carousel-menu menu {
+ background: none;
+ display: inline-block;
+ position: static;
+}
+
+.carousel menu {
+ background: #000;
+ bottom: 6px;
+ position: absolute;
+ list-style: none;
+ margin: 0;
+ padding: 3px;
+ right: 6px;
+ z-index: 4;
+}
+
+.carousel menu li, .carousel menu a {
+ float: left;
+}
+
+.carousel .carousel-menu-item {
+ background: #474A4B;
+ cursor: pointer;
+ display: block;
+ overflow: hidden;
+ text-indent: -999999px;
+}
+
+.carousel.image-viewer-base .carousel-menu-next,
+.carousel.image-viewer-base .carousel-menu-play,
+.carousel.image-viewer-base .carousel-menu-pause,
+.carousel.image-viewer-base .carousel-menu-prev {
+ height: 18px;
+ width: 18px;
+ margin: 0 3px;
+}
+
+.carousel.image-viewer-base .carousel-menu-next,
+.carousel.image-viewer-base .carousel-menu-prev {
+ position: static;
+}
+
+.carousel .carousel-menu-next {
+ background-image: url(next.png);
+}
+
+.carousel .carousel-menu-play {
+ background-image: url(play.png);
+}
+
+.carousel .carousel-menu-pause {
+ background-image: url(pause.png);
+}
+
+.carousel .carousel-menu-prev {
+ background-image: url(prev.png);
+}
+
+.carousel-menu-index {
+ height: 9px;
+ margin: 4px 3px;
+ width: 9px;
+}
+
+.carousel .carousel-menu-active {
+ background: #FFF;
+}
+
+.carousel.carousel-outside-menu .carousel-menu-active {
+ background: #aaa;
+}
+
+.carousel-hidden {
+ display: none;
+}
\ No newline at end of file
diff --git a/build/aui-carousel-swipe/assets/aui-carousel-swipe-core.css b/build/aui-carousel-swipe/assets/aui-carousel-swipe-core.css
new file mode 100644
index 00000000000..4c9c52e7c6c
--- /dev/null
+++ b/build/aui-carousel-swipe/assets/aui-carousel-swipe-core.css
@@ -0,0 +1,11 @@
+.carousel.widget-swipe .yui3-scrollview {
+ display: inline-block;
+ white-space: nowrap;
+}
+
+.carousel.widget-swipe .carousel-content,
+.carousel.widget-swipe .image-viewer-base-image-list,
+.carousel.widget-swipe .image-viewer-base-image-container {
+ display: inline-block;
+ position: static;
+}
diff --git a/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-skin.css b/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-skin.css
new file mode 100644
index 00000000000..b03e8e007a3
--- /dev/null
+++ b/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-skin.css
@@ -0,0 +1,11 @@
+.carousel menu {
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+}
+
+.carousel menu a {
+ -moz-border-radius: 9px;
+ -webkit-border-radius: 9px;
+ border-radius: 9px;
+}
\ No newline at end of file
diff --git a/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe-skin.css b/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe-skin.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe.css b/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe.css
new file mode 100644
index 00000000000..0bc16212936
--- /dev/null
+++ b/build/aui-carousel-swipe/assets/skins/sam/aui-carousel-swipe.css
@@ -0,0 +1 @@
+.carousel.widget-swipe .yui3-scrollview{display:inline-block;white-space:nowrap}.carousel.widget-swipe .carousel-content,.carousel.widget-swipe .image-viewer-base-image-list,.carousel.widget-swipe .image-viewer-base-image-container{display:inline-block;position:static}#yui3-css-stamp.skin-sam-aui-carousel-swipe{display:none}
diff --git a/build/aui-carousel-swipe/assets/skins/sam/next.png b/build/aui-carousel-swipe/assets/skins/sam/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..7686fed591e31833b0701b751303eb665e139d96
GIT binary patch
literal 244
zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaG}Wq?nJ>;M1%J-mG|Q9xi&L}X+_
zLSkk{W^Hx##J>JHGiNPdx^(~Ey)R$90P4!W%DWn92zyD8Uoe9}KtjR!_q7XqjDbSQ
zo-U3d5|?Wyc=9zk@EkT;-7fp<|M8-P2@Ih>GFFBPc?O+eUGQXq-t<7@8Ru(iE68>C-(Kv
znK^6!-n~FIE06cQ18QL}3GxeO5C}*pIRCzOVUICTD8|#pF@)oKazcUtr@nq^3Io%!
zFP}brGGbLYy+?+ntI_GHz=8t`VR3s`*L?l<$%XCvr&*VuR`*SxZqVW!xs>N=K$s
ym=pUUk&T~DNj{x>xlv6y$9V_C$xwsoObmq=T+2`F5aQaG}S%6Q7>;M1%J-mG|Q9xi&LPBC@
zMrLtQQF}}4@}*1n@7;Ur=FOKcUI4Y|?QLHHG=aS&$S;^dARwXO{QKI4J;p$xWKS2z
z5Q)pJ6Yg>yP~dP|YZCtZ>)-e?Q|(&1uSAfQaG}Wq?nJ>;M1%J-mG|Q9xi&L}X+_
zLSkk{W^Hx##J>JHGiNPdx^(~Ey)R$90P4!W%DWn92zyD8Uoe9}KtjR!_q7XqjDbQ)
zo-U3d5|?WySn?e(;5j^H@?QS`|2N9cTFBW`q>|t~Nk#JsQ$SIGa+s9qKDCdEoQaG}Wq?nJ>;M1%J-mG|Q9xi&L}X+_
zLSkk{W^Hx##J>JHGiNPdx^(~Ey)R$90P4!W%DWn92zyD8Uoe9}KtjR!_q7XqjDbSQ
zo-U3d5|?Wyc=9zk@EkT;-7fp<|M8-P2@Ih>GFFBPc?O+eUGQXq-t<7@8Ru(iE68>C-(Kv
znK^6!-n~FIE06cQ18QL}3GxeO5C}*pIRCzOVUICTD8|#pF@)oKazcUtr@nq^3Io%!
zFP}brGGbLYy+?+ntI_GHz=8t`VR3s`*L?l<$%XCvr&*VuR`*SxZqVW!xs>N=K$s
ym=pUUk&T~DNj{x>xlv6y$9V_C$xwsoObmq=T+2`F5aQaG}S%6Q7>;M1%J-mG|Q9xi&LPBC@
zMrLtQQF}}4@}*1n@7;Ur=FOKcUI4Y|?QLHHG=aS&$S;^dARwXO{QKI4J;p$xWKS2z
z5Q)pJ6Yg>yP~dP|YZCtZ>)-e?Q|(&1uSAfQaG}Wq?nJ>;M1%J-mG|Q9xi&L}X+_
zLSkk{W^Hx##J>JHGiNPdx^(~Ey)R$90P4!W%DWn92zyD8Uoe9}KtjR!_q7XqjDbQ)
zo-U3d5|?WySn?e(;5j^H@?QS`|2N9cTFBW`q>|t~Nk#JsQ$SIGa+s9qKDCdEo{index} ',",""," TPL_MENU: '' +"," ' ' +"," ' ' +"," '{items}' +"," ' ' +"," ' ',",""," /**"," * Construction logic executed during `A.Carousel` instantiation."," * Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," this.after({"," render: this._afterRender"," });"," },",""," /**"," * Bind the events on the `A.Carousel` UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," A.Carousel.superclass.bindUI.apply(this, arguments);",""," this.after({"," nodeMenuChange: this._afterNodeMenuChange,"," nodeMenuItemSelectorChange: this._afterNodeMenuItemSelectorChange,"," nodeMenuPositionChange: this._afterNodeMenuPositionChange,"," pauseOnHoverChange: this._afterPauseOnHoverChange,"," playingChange: this._afterPlayingChange"," });",""," this._bindPauseOnHover();"," },",""," /**"," * Create the DOM structure for the `A.Carousel` UI. Lifecycle."," *"," * @method renderUI"," * @protected"," */"," renderUI: function() {"," A.Carousel.superclass.renderUI.apply(this, arguments);"," },",""," /**"," * Sync the `A.Carousel` UI. Lifecycle."," *"," * @method syncUI"," * @protected"," */"," syncUI: function() {"," this._syncNodeMenuPositionUI();",""," if (this.get('useARIA')) {"," this._syncAriaMenuUI();"," }"," },",""," /**"," * Destructor implementation for the `A.Carousel` class. Lifecycle."," *"," * @method destructor"," * @protected"," */"," destructor: function() {"," if (this._menuClickDelegateHandler) {"," this._menuClickDelegateHandler.detach();"," }"," },",""," /**"," * Set the `currentIndex` attribute which"," * activates a certain item on `A.Carousel` based on its index."," *"," * @method item"," * @param {Number} val"," */"," item: function(val) {"," this.set('currentIndex', val);"," },",""," /**"," * Fired after `nodeMenu` attribute changes."," *"," * @method _afterNodeMenuChange"," * @protected"," */"," _afterNodeMenuChange: function() {"," this._bindPauseOnHover();",""," this._syncControlsUI();"," this._syncNodeMenuPositionUI();"," },",""," /**"," * Fired after `nodeMenuItemSelector` attribute changes."," *"," * @method _afterNodeMenuItemSelectorChange"," * @protected"," */"," _afterNodeMenuItemSelectorChange: function() {"," this._bindControls();"," },",""," /**"," * Fired after `nodeMenuPosition` attribute changes."," *"," * @method _afterNodeMenuPositionChange"," * @protected"," */"," _afterNodeMenuPositionChange: function() {"," this._syncNodeMenuPositionUI();"," },",""," /**"," * Fired after `pauseOnHover` attribute changes."," *"," * @method _afterPauseOnHoverChange"," * @protected"," */"," _afterPauseOnHoverChange: function() {"," this._bindPauseOnHover();"," },",""," /**"," * Fired after the `playing` attribute changes."," *"," * @method _afterPlayingChange"," * @protected"," */"," _afterPlayingChange: function() {"," if (this.get('useARIA')) {"," this._syncAriaPlayerUI();"," }"," },",""," /**"," * Fired after `render` event."," *"," * @method _afterRender"," * @param {EventFacade} event"," * @protected"," */"," _afterRender: function() {"," this._plugFocusManager();"," },",""," /**"," * Fired after the `responsive` event."," *"," * @method _afterResponsive"," * @param {EventFacade} event"," * @protected"," */"," _afterResponsive: function(event) {"," this.get('boundingBox').all('.image-viewer-base-image-list, .image-viewer-base-image').setStyles({"," height: event.height,"," width: event.width"," });"," },",""," /**"," * Binds the events related to the carousel's controls."," *"," * @method _bindControls"," * @protected"," */"," _bindControls: function() {"," if (this._menuClickDelegateHandler) {"," this._menuClickDelegateHandler.detach();"," }",""," this._menuClickDelegateHandler = this.get('boundingBox').delegate("," 'click',"," this._onClickControl,"," this.get('nodeMenuItemSelector'),"," this"," );"," },",""," /**"," * Binds the events related to the pause on hover behavior."," *"," * @method _bindPauseOnHover"," * @protected"," */"," _bindPauseOnHover: function() {"," var boundingBox = this.get('boundingBox'),"," nodeMenu = this.get('nodeMenu'),"," pauseOnHover = this.get('pauseOnHover');",""," if (pauseOnHover) {"," this.hoverEventHandles = ["," boundingBox.on('mouseenter', A.bind(this._onCarouselEnter, this)),"," boundingBox.on('mouseleave', A.bind(this._onCarouselLeave, this)),"," nodeMenu.on('mouseenter', A.bind(this._onMenuEnter, this)),"," nodeMenu.on('mouseleave', A.bind(this._onMenuLeave, this))"," ];"," }"," else {"," (new A.EventHandle(this.hoverEventHandles)).detach();"," this.hoverEventHandles = null;"," }"," },",""," /**"," * Creates the default menu node."," *"," * @method _renderMenu"," * @protected"," */"," _createMenuNode: function() {"," var currentIndex = this.get('currentIndex'),"," items = [],"," i,"," len = this.get('sources').length,"," menu;",""," for (i = 0; i < len; i++) {"," items.push("," Lang.sub(this.TPL_ITEM, {"," cssClasses: currentIndex === i ? CSS_MENU_ITEM_ACTIVE : CSS_MENU_ITEM_DEFAULT,"," index: i"," })"," );"," }",""," menu = A.Node.create(Lang.sub(this.TPL_MENU, {"," items: items.join(' ')"," }));",""," return menu;"," },",""," /**"," * Default behavior for animating the current image in the viewer."," *"," * @method _defAnimateFn"," * @protected"," */"," _defAnimateFn: function() {"," if (!this.get('playing')) {"," return;"," }",""," A.Carousel.superclass._defAnimateFn.apply(this, arguments);",""," var currentImage,"," previousImage;",""," if (Lang.isNumber(this._previousIndex)) {"," previousImage = this._getImageContainerAtIndex(this._previousIndex);"," currentImage = this._getCurrentImageContainer(this._previousIndex);",""," previousImage.addClass(CSS_ITEM_TRANSITION);"," currentImage.addClass(CSS_ITEM_ACTIVE_TRANSITION);",""," this._animation.onceAfter('end', function() {"," previousImage.removeClass(CSS_ITEM_TRANSITION);"," currentImage.removeClass(CSS_ITEM_ACTIVE_TRANSITION);"," });"," }"," },",""," /**"," * Checks if the mouse is inside the menu region."," *"," * @method _isMouseInsideMenu"," * @param {EventFacade} event"," * @return {Boolean}"," */"," _isMouseInsideMenu: function(event) {"," var region = this.get('nodeMenu').get('region');"," return (region.left > event.clientX || event.clientX > region.right ||"," region.top > event.clientY || event.clientY > region.bottom);"," },",""," /**"," * Fired when the mouse enters the carousel. If it has also entered the"," * menu the slideshow will be resumed."," *"," * @method _onCarouselEnter"," * @param {EventFacade} event"," * @protected"," */"," _onCarouselEnter: function(event) {"," if (this._isMouseInsideMenu(event)) {"," this._pauseOnEnter();"," }"," },",""," /**"," * Fired when the mouse leaves the carousel, which will resume the slideshow."," *"," * @method _onCarouselLeave"," * @protected"," */"," _onCarouselLeave: function() {"," this._playOnLeave();"," },",""," /**"," * Fired when one of the carousel's controls is clicked."," *"," * @method _onClickControl"," * @param event"," * @protected"," */"," _onClickControl: function(event) {"," A.Carousel.superclass._onClickControl.apply(this, arguments);",""," event.preventDefault();",""," if (event.currentTarget.hasClass(CSS_MENU_INDEX)) {"," this.set('currentIndex', this._menuNodes.indexOf(event.currentTarget));"," }"," },",""," /**"," * Fired when the user presses a key on the keyboard."," *"," * @method _onKeydown"," * @param {EventFacade} event"," * @protected"," */"," _onKeydown: function(event) {"," var controlNext = this.get('controlNext'),"," controlPrevious = this.get('controlPrevious'),"," nodeMenu = this.get('nodeMenu');",""," var focusedNode = nodeMenu.focusManager._focusedNode.one('a');",""," if (focusedNode && event.isKey('ENTER')) {"," if (focusedNode == controlNext) {"," this.next();"," }"," else if (focusedNode == controlPrevious) {"," this.prev();"," }"," else if (focusedNode.hasClass(CSS_MENU_INDEX)) {"," event.currentTarget = focusedNode;",""," this._onClickControl(event);"," }"," else if (focusedNode.hasClass(CSS_MENU_PLAY) || focusedNode.hasClass(CSS_MENU_PAUSE)) {"," this._onPlayerClick();"," }",""," event.preventDefault();"," }",""," if (event.isKey('SPACE')) {"," event.preventDefault();",""," this._onPlayerClick();"," }"," },",""," /**"," * Fired when the mouse enters the menu. If it's coming from the carousel"," * the slideshow will be resumed."," *"," * @method _onMenuEnter"," * @param {EventFacade} event"," * @protected"," */"," _onMenuEnter: function(event) {"," if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {"," this._playOnLeave();"," }"," },",""," /**"," * Fired when the mouse leaves the menu. If it's going to the carousel"," * the slideshow will be paused."," *"," * @method _onMenuLeave"," * @param {EventFacade} event"," * @protected"," */"," _onMenuLeave: function(event) {"," if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {"," this._pauseOnEnter();"," }"," },",""," /**"," * Called when the mouse enters the carousel with pauseOnHover set to"," * true. Pauses the slideshow unless it was already paused."," *"," * @method _pauseOnEnter"," * @protected"," */"," _pauseOnEnter: function() {"," if (this.get('playing')) {"," this.pause();",""," this._pausedOnEnter = true;"," }"," },",""," /**"," * Called when the mouse leaves the carousel with pauseOnHover set to"," * true. If the slideshow was paused due to entering the carousel before,"," * this will resume it."," *"," * @method _playOnLeave"," * @protected"," */"," _playOnLeave: function() {"," if (this._pausedOnEnter) {"," this.play();",""," this._pausedOnEnter = false;"," }"," },",""," /**"," * Setup the `Plugin.NodeFocusManager` that handles keyboard"," * navigation."," *"," * @method _plugFocusManager"," * @protected"," */"," _plugFocusManager: function() {"," var focusManager = this.get('focusManager'),"," nodeMenu = this.get('nodeMenu');",""," nodeMenu.plug(A.Plugin.NodeFocusManager, focusManager);",""," nodeMenu.on('keydown', A.bind('_onKeydown', this));"," },",""," /**"," * Renders the carousel's menu with all its controls."," *"," * @method _renderControls"," * @protected"," */"," _renderControls: function() {"," this.get('boundingBox').append(this.get('nodeMenu'));"," },",""," /**"," * Overrides the original method for rendering the player button. The button"," * is already rendered together with the menu by `_renderControls`, so this is"," * just storing its reference in the right variable."," *"," * @method _renderPlayer"," * @protected"," */"," _renderPlayer: function() {"," this._player = this.get('nodeMenu').one('.' + CSS_MENU_PLAY);"," },",""," /**"," * Set the `nodeMenu` attribute."," *"," * @method _setNodeMenu"," * @param val"," * @protected"," */"," _setNodeMenu: function(val) {"," var nodeMenu = A.one(val) || this._createMenuNode();",""," this._menuNodes = nodeMenu.all(SELECTOR_MENU_INDEX);",""," return nodeMenu;"," },",""," /**"," * Updates the aria values for the controls adding selected true and false as necessary."," *"," * @method _syncAriaControlsUI"," * @param {node} activeNode The current active item"," * @protected"," */"," _syncAriaControlsUI: function(activeNode) {"," this.aria.setAttributes("," ["," {"," name: 'selected',"," node: this._menuNodes,"," value: 'false'"," },"," {"," name: 'selected',"," node: activeNode,"," value: 'true'"," }"," ]"," );"," },",""," /**"," * Update the aria attributes for the `A.Carousel` UI."," *"," * @method _syncAriaMenuUI"," * @protected"," */"," _syncAriaMenuUI: function() {"," this.aria.setAttributes("," ["," {"," name: 'controls',"," node: this.get('nodeMenu'),"," value: 'carousel'"," },"," {"," name: 'label',"," node: this.get('controlNext'),"," value: 'next'"," },"," {"," name: 'label',"," node: this.get('controlPrevious'),"," value: 'previous'"," },"," {"," name: 'label',"," node: this._player,"," value: 'play'"," },"," {"," name: 'live',"," node: this.get('boundingBox'),"," value: 'polite'"," }"," ]"," );"," },",""," /**"," * Update the aria attributes for the pause/play button."," *"," * @method _syncAriaPlayerUI"," * @protected"," */"," _syncAriaPlayerUI: function() {"," var status = 'pause';",""," if (this.get('playing')) {"," status = 'play';"," }",""," this.aria.setAttribute('label', status, this._player);"," },",""," /**"," * Updates the controls, showing or hiding them as necessary."," *"," * @method _syncControlsUI"," * @protected"," */"," _syncControlsUI: function() {"," var currentIndex = this.get('currentIndex'),"," item = this._menuNodes.item(currentIndex);",""," if (item) {"," item.addClass(CSS_MENU_ACTIVE);",""," if (this.get('useARIA')) {"," this._syncAriaControlsUI(item);"," }"," }",""," if (Lang.isNumber(this._previousIndex)) {"," item = this._menuNodes.item(this._previousIndex);",""," if (item) {"," item.removeClass(CSS_MENU_ACTIVE);"," }"," }"," },",""," /**"," * Updates the UI according to the value of the `nodeMenuPosition` attribute."," *"," * @method _syncNodeMenuPositionUI"," * @protected"," */"," _syncNodeMenuPositionUI: function() {"," var nodeMenuPosition = this.get('nodeMenuPosition'),"," yPos = 0;",""," this.get('boundingBox').toggleClass(CSS_OUTSIDE_MENU, nodeMenuPosition === NODE_MENU_OUTSIDE);",""," if (nodeMenuPosition === NODE_MENU_OUTSIDE) {"," yPos = this.get('nodeMenu').get('offsetHeight');"," }",""," this.set('gutter', [0, yPos]);"," },",""," /**"," * Updates the player according to the value of the `playing` attribute."," *"," * @method _syncPlaying"," * @protected"," */"," _syncPlaying: function() {"," var player = this._player;",""," if (player) {"," var originalCssClass = CSS_MENU_PAUSE;"," var replaceCssClass = CSS_MENU_PLAY;",""," if (this.get('playing')) {"," originalCssClass = CSS_MENU_PLAY;"," replaceCssClass = CSS_MENU_PAUSE;"," }",""," player.replaceClass(originalCssClass, replaceCssClass);"," }"," },",""," /**"," * Validates the given value for the `nodeMenuPosition` attribute."," *"," * @method _validateNodeMenuPosition"," * @param {String} val The value to be validated"," * @return {Boolean} `true` if the value is valid or `false` otherwise"," * @protected"," */"," _validateNodeMenuPosition: function(val) {"," return val === NODE_MENU_INSIDE || val === NODE_MENU_OUTSIDE;"," }","}, {"," /**"," * Static property used to define the default attribute"," * configuration for the `A.Carousel`."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {"," /**"," * If the carousel will be circular or not."," *"," * @attribute circular"," * @default true"," * @type Boolean"," */"," circular: {"," validator: Lang.isBoolean,"," value: true"," },",""," /**"," * The node for the control that shows the next image."," *"," * @attribute controlNext"," * @default null"," * @type Node"," */"," controlNext: {"," setter: function(val) {"," return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_NEXT);"," },"," validator: Lang.isNode,"," value: null"," },",""," /**"," * The node for the control that shows the previous image."," *"," * @attribute controlPrevious"," * @default null"," * @type Node"," */"," controlPrevious: {"," setter: function(val) {"," return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_PREV);"," },"," validator: Lang.isNode,"," value: null"," },",""," /**"," * Config object for `Plugin.NodeFocusManager`,"," *"," * @attribute focusManager"," * @default Config object"," * @type Object"," */"," focusManager: {"," value: {"," circular: true,"," descendants: 'li',"," focusClass: 'focused',"," keys: {"," next: 'down:39',"," previous: 'down:37'"," }"," },"," validator: Lang.isObject,"," writeOnce: 'initOnly'"," },",""," /**"," * Node container of the navigation items."," *"," * @attribute nodeMenu"," * @default null"," * @type Node | String"," */"," nodeMenu: {"," setter: '_setNodeMenu',"," value: null"," },",""," /**"," * CSS selector to match the navigation items."," *"," * @attribute nodeMenuItemSelector"," * @default .carousel-menu-item"," * @type String"," */"," nodeMenuItemSelector: {"," validator: Lang.isString,"," value: '.' + CSS_MENU_ITEM"," },",""," /**"," * Position of the menu."," *"," * @attribute nodeMenuPosition"," * @default 'inside'"," * @type String"," */"," nodeMenuPosition: {"," validator: '_validateNodeMenuPosition',"," value: NODE_MENU_INSIDE"," },",""," /**"," * Determines if `A.Carousel` will pause on mouse enter or play when"," * mouse leave."," *"," * @attribute pauseOnHover"," * @type Boolean"," */"," pauseOnHover: {"," validator: Lang.isBoolean,"," value: false"," }"," },",""," /**"," * Static property provides a string to identify the CSS prefix."," *"," * @property CSS_PREFIX"," * @type String"," * @static"," */"," CSS_PREFIX: A.getClassName('carousel')","});","","","}, '3.1.0-deprecated.52', {"," \"requires\": ["," \"anim\","," \"aui-event\","," \"aui-image-viewer-base\","," \"aui-image-viewer-slideshow\","," \"node-event-delegate\","," \"node-focusmanager\""," ],"," \"skinnable\": true","});","","}());"]};
+}
+var __cov_gKdrIwv$6qimVUhb99YL3w = __coverage__['build/aui-carousel/aui-carousel.js'];
+__cov_gKdrIwv$6qimVUhb99YL3w.s['1']++;YUI.add('aui-carousel',function(A,NAME){__cov_gKdrIwv$6qimVUhb99YL3w.f['1']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['2']++;var Lang=A.Lang,getCN=A.getClassName,CSS_IMAGE_VIEWER_CONTROL=getCN('image','viewer','base','control'),CSS_IMAGE_VIEWER_CONTROL_LEFT=getCN('image','viewer','base','control','left'),CSS_IMAGE_VIEWER_CONTROL_RIGHT=getCN('image','viewer','base','control','right'),CSS_ITEM=getCN('image','viewer','base','image'),CSS_ITEM_ACTIVE_TRANSITION=getCN('carousel','item','active','transition'),CSS_ITEM_TRANSITION=getCN('carousel','item','transition'),CSS_MENU=getCN('carousel','menu'),CSS_MENU_ACTIVE=getCN('carousel','menu','active'),CSS_MENU_INDEX=getCN('carousel','menu','index'),CSS_MENU_ITEM=getCN('carousel','menu','item'),CSS_MENU_ITEM_ACTIVE=[CSS_MENU_ITEM,CSS_MENU_INDEX,CSS_MENU_ACTIVE].join(' '),CSS_MENU_ITEM_DEFAULT=[CSS_MENU_ITEM,CSS_MENU_INDEX].join(' '),CSS_MENU_NEXT=getCN('carousel','menu','next'),CSS_MENU_PAUSE=getCN('carousel','menu','pause'),CSS_MENU_PLAY=getCN('carousel','menu','play'),CSS_MENU_PREV=getCN('carousel','menu','prev'),CSS_OUTSIDE_MENU=getCN('carousel','outside','menu'),NODE_MENU_INSIDE='inside',NODE_MENU_OUTSIDE='outside',SELECTOR_MENU_INDEX='.'+CSS_MENU_INDEX;__cov_gKdrIwv$6qimVUhb99YL3w.s['3']++;A.Carousel=A.Base.create('carousel',A.ImageViewerBase,[A.ImageViewerSlideshow],{TPL_ITEM:' ',TPL_MENU:'',initializer:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['2']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['4']++;this.after({render:this._afterRender});},bindUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['3']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['5']++;A.Carousel.superclass.bindUI.apply(this,arguments);__cov_gKdrIwv$6qimVUhb99YL3w.s['6']++;this.after({nodeMenuChange:this._afterNodeMenuChange,nodeMenuItemSelectorChange:this._afterNodeMenuItemSelectorChange,nodeMenuPositionChange:this._afterNodeMenuPositionChange,pauseOnHoverChange:this._afterPauseOnHoverChange,playingChange:this._afterPlayingChange});__cov_gKdrIwv$6qimVUhb99YL3w.s['7']++;this._bindPauseOnHover();},renderUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['4']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['8']++;A.Carousel.superclass.renderUI.apply(this,arguments);},syncUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['5']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['9']++;this._syncNodeMenuPositionUI();__cov_gKdrIwv$6qimVUhb99YL3w.s['10']++;if(this.get('useARIA')){__cov_gKdrIwv$6qimVUhb99YL3w.b['1'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['11']++;this._syncAriaMenuUI();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['1'][1]++;}},destructor:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['6']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['12']++;if(this._menuClickDelegateHandler){__cov_gKdrIwv$6qimVUhb99YL3w.b['2'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['13']++;this._menuClickDelegateHandler.detach();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['2'][1]++;}},item:function(val){__cov_gKdrIwv$6qimVUhb99YL3w.f['7']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['14']++;this.set('currentIndex',val);},_afterNodeMenuChange:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['8']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['15']++;this._bindPauseOnHover();__cov_gKdrIwv$6qimVUhb99YL3w.s['16']++;this._syncControlsUI();__cov_gKdrIwv$6qimVUhb99YL3w.s['17']++;this._syncNodeMenuPositionUI();},_afterNodeMenuItemSelectorChange:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['9']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['18']++;this._bindControls();},_afterNodeMenuPositionChange:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['10']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['19']++;this._syncNodeMenuPositionUI();},_afterPauseOnHoverChange:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['11']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['20']++;this._bindPauseOnHover();},_afterPlayingChange:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['12']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['21']++;if(this.get('useARIA')){__cov_gKdrIwv$6qimVUhb99YL3w.b['3'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['22']++;this._syncAriaPlayerUI();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['3'][1]++;}},_afterRender:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['13']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['23']++;this._plugFocusManager();},_afterResponsive:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['14']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['24']++;this.get('boundingBox').all('.image-viewer-base-image-list, .image-viewer-base-image').setStyles({height:event.height,width:event.width});},_bindControls:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['15']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['25']++;if(this._menuClickDelegateHandler){__cov_gKdrIwv$6qimVUhb99YL3w.b['4'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['26']++;this._menuClickDelegateHandler.detach();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['4'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['27']++;this._menuClickDelegateHandler=this.get('boundingBox').delegate('click',this._onClickControl,this.get('nodeMenuItemSelector'),this);},_bindPauseOnHover:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['16']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['28']++;var boundingBox=this.get('boundingBox'),nodeMenu=this.get('nodeMenu'),pauseOnHover=this.get('pauseOnHover');__cov_gKdrIwv$6qimVUhb99YL3w.s['29']++;if(pauseOnHover){__cov_gKdrIwv$6qimVUhb99YL3w.b['5'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['30']++;this.hoverEventHandles=[boundingBox.on('mouseenter',A.bind(this._onCarouselEnter,this)),boundingBox.on('mouseleave',A.bind(this._onCarouselLeave,this)),nodeMenu.on('mouseenter',A.bind(this._onMenuEnter,this)),nodeMenu.on('mouseleave',A.bind(this._onMenuLeave,this))];}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['5'][1]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['31']++;new A.EventHandle(this.hoverEventHandles).detach();__cov_gKdrIwv$6qimVUhb99YL3w.s['32']++;this.hoverEventHandles=null;}},_createMenuNode:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['17']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['33']++;var currentIndex=this.get('currentIndex'),items=[],i,len=this.get('sources').length,menu;__cov_gKdrIwv$6qimVUhb99YL3w.s['34']++;for(i=0;ievent.clientX)||(__cov_gKdrIwv$6qimVUhb99YL3w.b['9'][1]++,event.clientX>region.right)||(__cov_gKdrIwv$6qimVUhb99YL3w.b['9'][2]++,region.top>event.clientY)||(__cov_gKdrIwv$6qimVUhb99YL3w.b['9'][3]++,event.clientY>region.bottom);},_onCarouselEnter:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['21']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['52']++;if(this._isMouseInsideMenu(event)){__cov_gKdrIwv$6qimVUhb99YL3w.b['10'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['53']++;this._pauseOnEnter();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['10'][1]++;}},_onCarouselLeave:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['22']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['54']++;this._playOnLeave();},_onClickControl:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['23']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['55']++;A.Carousel.superclass._onClickControl.apply(this,arguments);__cov_gKdrIwv$6qimVUhb99YL3w.s['56']++;event.preventDefault();__cov_gKdrIwv$6qimVUhb99YL3w.s['57']++;if(event.currentTarget.hasClass(CSS_MENU_INDEX)){__cov_gKdrIwv$6qimVUhb99YL3w.b['11'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['58']++;this.set('currentIndex',this._menuNodes.indexOf(event.currentTarget));}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['11'][1]++;}},_onKeydown:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['24']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['59']++;var controlNext=this.get('controlNext'),controlPrevious=this.get('controlPrevious'),nodeMenu=this.get('nodeMenu');__cov_gKdrIwv$6qimVUhb99YL3w.s['60']++;var focusedNode=nodeMenu.focusManager._focusedNode.one('a');__cov_gKdrIwv$6qimVUhb99YL3w.s['61']++;if((__cov_gKdrIwv$6qimVUhb99YL3w.b['13'][0]++,focusedNode)&&(__cov_gKdrIwv$6qimVUhb99YL3w.b['13'][1]++,event.isKey('ENTER'))){__cov_gKdrIwv$6qimVUhb99YL3w.b['12'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['62']++;if(focusedNode==controlNext){__cov_gKdrIwv$6qimVUhb99YL3w.b['14'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['63']++;this.next();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['14'][1]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['64']++;if(focusedNode==controlPrevious){__cov_gKdrIwv$6qimVUhb99YL3w.b['15'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['65']++;this.prev();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['15'][1]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['66']++;if(focusedNode.hasClass(CSS_MENU_INDEX)){__cov_gKdrIwv$6qimVUhb99YL3w.b['16'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['67']++;event.currentTarget=focusedNode;__cov_gKdrIwv$6qimVUhb99YL3w.s['68']++;this._onClickControl(event);}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['16'][1]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['69']++;if((__cov_gKdrIwv$6qimVUhb99YL3w.b['18'][0]++,focusedNode.hasClass(CSS_MENU_PLAY))||(__cov_gKdrIwv$6qimVUhb99YL3w.b['18'][1]++,focusedNode.hasClass(CSS_MENU_PAUSE))){__cov_gKdrIwv$6qimVUhb99YL3w.b['17'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['70']++;this._onPlayerClick();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['17'][1]++;}}}}__cov_gKdrIwv$6qimVUhb99YL3w.s['71']++;event.preventDefault();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['12'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['72']++;if(event.isKey('SPACE')){__cov_gKdrIwv$6qimVUhb99YL3w.b['19'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['73']++;event.preventDefault();__cov_gKdrIwv$6qimVUhb99YL3w.s['74']++;this._onPlayerClick();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['19'][1]++;}},_onMenuEnter:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['25']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['75']++;if((__cov_gKdrIwv$6qimVUhb99YL3w.b['21'][0]++,event.relatedTarget)&&(__cov_gKdrIwv$6qimVUhb99YL3w.b['21'][1]++,event.relatedTarget.hasClass(CSS_ITEM))){__cov_gKdrIwv$6qimVUhb99YL3w.b['20'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['76']++;this._playOnLeave();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['20'][1]++;}},_onMenuLeave:function(event){__cov_gKdrIwv$6qimVUhb99YL3w.f['26']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['77']++;if((__cov_gKdrIwv$6qimVUhb99YL3w.b['23'][0]++,event.relatedTarget)&&(__cov_gKdrIwv$6qimVUhb99YL3w.b['23'][1]++,event.relatedTarget.hasClass(CSS_ITEM))){__cov_gKdrIwv$6qimVUhb99YL3w.b['22'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['78']++;this._pauseOnEnter();}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['22'][1]++;}},_pauseOnEnter:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['27']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['79']++;if(this.get('playing')){__cov_gKdrIwv$6qimVUhb99YL3w.b['24'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['80']++;this.pause();__cov_gKdrIwv$6qimVUhb99YL3w.s['81']++;this._pausedOnEnter=true;}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['24'][1]++;}},_playOnLeave:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['28']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['82']++;if(this._pausedOnEnter){__cov_gKdrIwv$6qimVUhb99YL3w.b['25'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['83']++;this.play();__cov_gKdrIwv$6qimVUhb99YL3w.s['84']++;this._pausedOnEnter=false;}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['25'][1]++;}},_plugFocusManager:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['29']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['85']++;var focusManager=this.get('focusManager'),nodeMenu=this.get('nodeMenu');__cov_gKdrIwv$6qimVUhb99YL3w.s['86']++;nodeMenu.plug(A.Plugin.NodeFocusManager,focusManager);__cov_gKdrIwv$6qimVUhb99YL3w.s['87']++;nodeMenu.on('keydown',A.bind('_onKeydown',this));},_renderControls:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['30']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['88']++;this.get('boundingBox').append(this.get('nodeMenu'));},_renderPlayer:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['31']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['89']++;this._player=this.get('nodeMenu').one('.'+CSS_MENU_PLAY);},_setNodeMenu:function(val){__cov_gKdrIwv$6qimVUhb99YL3w.f['32']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['90']++;var nodeMenu=(__cov_gKdrIwv$6qimVUhb99YL3w.b['26'][0]++,A.one(val))||(__cov_gKdrIwv$6qimVUhb99YL3w.b['26'][1]++,this._createMenuNode());__cov_gKdrIwv$6qimVUhb99YL3w.s['91']++;this._menuNodes=nodeMenu.all(SELECTOR_MENU_INDEX);__cov_gKdrIwv$6qimVUhb99YL3w.s['92']++;return nodeMenu;},_syncAriaControlsUI:function(activeNode){__cov_gKdrIwv$6qimVUhb99YL3w.f['33']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['93']++;this.aria.setAttributes([{name:'selected',node:this._menuNodes,value:'false'},{name:'selected',node:activeNode,value:'true'}]);},_syncAriaMenuUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['34']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['94']++;this.aria.setAttributes([{name:'controls',node:this.get('nodeMenu'),value:'carousel'},{name:'label',node:this.get('controlNext'),value:'next'},{name:'label',node:this.get('controlPrevious'),value:'previous'},{name:'label',node:this._player,value:'play'},{name:'live',node:this.get('boundingBox'),value:'polite'}]);},_syncAriaPlayerUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['35']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['95']++;var status='pause';__cov_gKdrIwv$6qimVUhb99YL3w.s['96']++;if(this.get('playing')){__cov_gKdrIwv$6qimVUhb99YL3w.b['27'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['97']++;status='play';}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['27'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['98']++;this.aria.setAttribute('label',status,this._player);},_syncControlsUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['36']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['99']++;var currentIndex=this.get('currentIndex'),item=this._menuNodes.item(currentIndex);__cov_gKdrIwv$6qimVUhb99YL3w.s['100']++;if(item){__cov_gKdrIwv$6qimVUhb99YL3w.b['28'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['101']++;item.addClass(CSS_MENU_ACTIVE);__cov_gKdrIwv$6qimVUhb99YL3w.s['102']++;if(this.get('useARIA')){__cov_gKdrIwv$6qimVUhb99YL3w.b['29'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['103']++;this._syncAriaControlsUI(item);}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['29'][1]++;}}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['28'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['104']++;if(Lang.isNumber(this._previousIndex)){__cov_gKdrIwv$6qimVUhb99YL3w.b['30'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['105']++;item=this._menuNodes.item(this._previousIndex);__cov_gKdrIwv$6qimVUhb99YL3w.s['106']++;if(item){__cov_gKdrIwv$6qimVUhb99YL3w.b['31'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['107']++;item.removeClass(CSS_MENU_ACTIVE);}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['31'][1]++;}}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['30'][1]++;}},_syncNodeMenuPositionUI:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['37']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['108']++;var nodeMenuPosition=this.get('nodeMenuPosition'),yPos=0;__cov_gKdrIwv$6qimVUhb99YL3w.s['109']++;this.get('boundingBox').toggleClass(CSS_OUTSIDE_MENU,nodeMenuPosition===NODE_MENU_OUTSIDE);__cov_gKdrIwv$6qimVUhb99YL3w.s['110']++;if(nodeMenuPosition===NODE_MENU_OUTSIDE){__cov_gKdrIwv$6qimVUhb99YL3w.b['32'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['111']++;yPos=this.get('nodeMenu').get('offsetHeight');}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['32'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['112']++;this.set('gutter',[0,yPos]);},_syncPlaying:function(){__cov_gKdrIwv$6qimVUhb99YL3w.f['38']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['113']++;var player=this._player;__cov_gKdrIwv$6qimVUhb99YL3w.s['114']++;if(player){__cov_gKdrIwv$6qimVUhb99YL3w.b['33'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['115']++;var originalCssClass=CSS_MENU_PAUSE;__cov_gKdrIwv$6qimVUhb99YL3w.s['116']++;var replaceCssClass=CSS_MENU_PLAY;__cov_gKdrIwv$6qimVUhb99YL3w.s['117']++;if(this.get('playing')){__cov_gKdrIwv$6qimVUhb99YL3w.b['34'][0]++;__cov_gKdrIwv$6qimVUhb99YL3w.s['118']++;originalCssClass=CSS_MENU_PLAY;__cov_gKdrIwv$6qimVUhb99YL3w.s['119']++;replaceCssClass=CSS_MENU_PAUSE;}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['34'][1]++;}__cov_gKdrIwv$6qimVUhb99YL3w.s['120']++;player.replaceClass(originalCssClass,replaceCssClass);}else{__cov_gKdrIwv$6qimVUhb99YL3w.b['33'][1]++;}},_validateNodeMenuPosition:function(val){__cov_gKdrIwv$6qimVUhb99YL3w.f['39']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['121']++;return(__cov_gKdrIwv$6qimVUhb99YL3w.b['35'][0]++,val===NODE_MENU_INSIDE)||(__cov_gKdrIwv$6qimVUhb99YL3w.b['35'][1]++,val===NODE_MENU_OUTSIDE);}},{ATTRS:{circular:{validator:Lang.isBoolean,value:true},controlNext:{setter:function(val){__cov_gKdrIwv$6qimVUhb99YL3w.f['40']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['122']++;return val?(__cov_gKdrIwv$6qimVUhb99YL3w.b['36'][0]++,val):(__cov_gKdrIwv$6qimVUhb99YL3w.b['36'][1]++,this.get('nodeMenu').one('.'+CSS_MENU_NEXT));},validator:Lang.isNode,value:null},controlPrevious:{setter:function(val){__cov_gKdrIwv$6qimVUhb99YL3w.f['41']++;__cov_gKdrIwv$6qimVUhb99YL3w.s['123']++;return val?(__cov_gKdrIwv$6qimVUhb99YL3w.b['37'][0]++,val):(__cov_gKdrIwv$6qimVUhb99YL3w.b['37'][1]++,this.get('nodeMenu').one('.'+CSS_MENU_PREV));},validator:Lang.isNode,value:null},focusManager:{value:{circular:true,descendants:'li',focusClass:'focused',keys:{next:'down:39',previous:'down:37'}},validator:Lang.isObject,writeOnce:'initOnly'},nodeMenu:{setter:'_setNodeMenu',value:null},nodeMenuItemSelector:{validator:Lang.isString,value:'.'+CSS_MENU_ITEM},nodeMenuPosition:{validator:'_validateNodeMenuPosition',value:NODE_MENU_INSIDE},pauseOnHover:{validator:Lang.isBoolean,value:false}},CSS_PREFIX:A.getClassName('carousel')});},'3.1.0-deprecated.52',{'requires':['anim','aui-event','aui-image-viewer-base','aui-image-viewer-slideshow','node-event-delegate','node-focusmanager'],'skinnable':true});
diff --git a/build/aui-carousel/aui-carousel-debug.js b/build/aui-carousel/aui-carousel-debug.js
new file mode 100644
index 00000000000..a3ecb60dafb
--- /dev/null
+++ b/build/aui-carousel/aui-carousel-debug.js
@@ -0,0 +1,835 @@
+YUI.add('aui-carousel', function (A, NAME) {
+
+/**
+ * The Carousel Component
+ *
+ * @module aui-carousel
+ */
+
+var Lang = A.Lang,
+
+ getCN = A.getClassName,
+
+ CSS_IMAGE_VIEWER_CONTROL = getCN('image', 'viewer', 'base', 'control'),
+ CSS_IMAGE_VIEWER_CONTROL_LEFT = getCN('image', 'viewer', 'base', 'control', 'left'),
+ CSS_IMAGE_VIEWER_CONTROL_RIGHT = getCN('image', 'viewer', 'base', 'control', 'right'),
+
+ CSS_ITEM = getCN('image', 'viewer', 'base', 'image'),
+ CSS_ITEM_ACTIVE_TRANSITION = getCN('carousel', 'item', 'active', 'transition'),
+ CSS_ITEM_TRANSITION = getCN('carousel', 'item', 'transition'),
+ CSS_MENU = getCN('carousel', 'menu'),
+ CSS_MENU_ACTIVE = getCN('carousel', 'menu', 'active'),
+ CSS_MENU_INDEX = getCN('carousel', 'menu', 'index'),
+ CSS_MENU_ITEM = getCN('carousel', 'menu', 'item'),
+ CSS_MENU_ITEM_ACTIVE = [CSS_MENU_ITEM, CSS_MENU_INDEX, CSS_MENU_ACTIVE].join(' '),
+ CSS_MENU_ITEM_DEFAULT = [CSS_MENU_ITEM, CSS_MENU_INDEX].join(' '),
+ CSS_MENU_NEXT = getCN('carousel', 'menu', 'next'),
+ CSS_MENU_PAUSE = getCN('carousel', 'menu', 'pause'),
+ CSS_MENU_PLAY = getCN('carousel', 'menu', 'play'),
+ CSS_MENU_PREV = getCN('carousel', 'menu', 'prev'),
+ CSS_OUTSIDE_MENU = getCN('carousel', 'outside', 'menu'),
+
+ NODE_MENU_INSIDE = 'inside',
+ NODE_MENU_OUTSIDE = 'outside',
+
+ SELECTOR_MENU_INDEX = '.' + CSS_MENU_INDEX;
+
+/**
+ * A base class for Carousel.
+ *
+ * Check the [live demo](http://alloyui.com/examples/carousel/).
+ *
+ * @class A.Carousel
+ * @extends A.ImageViewerBase
+ * @uses A.ImageViewerSlideshow
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/carousel/basic-markup.html
+ * @include http://alloyui.com/examples/carousel/basic.js
+ */
+
+A.Carousel = A.Base.create('carousel', A.ImageViewerBase, [A.ImageViewerSlideshow], {
+ TPL_ITEM: ' ',
+
+ TPL_MENU: '',
+
+ /**
+ * Construction logic executed during `A.Carousel` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.after({
+ render: this._afterRender
+ });
+ },
+
+ /**
+ * Bind the events on the `A.Carousel` UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ A.Carousel.superclass.bindUI.apply(this, arguments);
+
+ this.after({
+ nodeMenuChange: this._afterNodeMenuChange,
+ nodeMenuItemSelectorChange: this._afterNodeMenuItemSelectorChange,
+ nodeMenuPositionChange: this._afterNodeMenuPositionChange,
+ pauseOnHoverChange: this._afterPauseOnHoverChange,
+ playingChange: this._afterPlayingChange
+ });
+
+ this._bindPauseOnHover();
+ },
+
+ /**
+ * Create the DOM structure for the `A.Carousel` UI. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ A.Carousel.superclass.renderUI.apply(this, arguments);
+ },
+
+ /**
+ * Sync the `A.Carousel` UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ this._syncNodeMenuPositionUI();
+
+ if (this.get('useARIA')) {
+ this._syncAriaMenuUI();
+ }
+ },
+
+ /**
+ * Destructor implementation for the `A.Carousel` class. Lifecycle.
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ if (this._menuClickDelegateHandler) {
+ this._menuClickDelegateHandler.detach();
+ }
+ },
+
+ /**
+ * Set the `currentIndex` attribute which
+ * activates a certain item on `A.Carousel` based on its index.
+ *
+ * @method item
+ * @param {Number} val
+ */
+ item: function(val) {
+ this.set('currentIndex', val);
+ },
+
+ /**
+ * Fired after `nodeMenu` attribute changes.
+ *
+ * @method _afterNodeMenuChange
+ * @protected
+ */
+ _afterNodeMenuChange: function() {
+ this._bindPauseOnHover();
+
+ this._syncControlsUI();
+ this._syncNodeMenuPositionUI();
+ },
+
+ /**
+ * Fired after `nodeMenuItemSelector` attribute changes.
+ *
+ * @method _afterNodeMenuItemSelectorChange
+ * @protected
+ */
+ _afterNodeMenuItemSelectorChange: function() {
+ this._bindControls();
+ },
+
+ /**
+ * Fired after `nodeMenuPosition` attribute changes.
+ *
+ * @method _afterNodeMenuPositionChange
+ * @protected
+ */
+ _afterNodeMenuPositionChange: function() {
+ this._syncNodeMenuPositionUI();
+ },
+
+ /**
+ * Fired after `pauseOnHover` attribute changes.
+ *
+ * @method _afterPauseOnHoverChange
+ * @protected
+ */
+ _afterPauseOnHoverChange: function() {
+ this._bindPauseOnHover();
+ },
+
+ /**
+ * Fired after the `playing` attribute changes.
+ *
+ * @method _afterPlayingChange
+ * @protected
+ */
+ _afterPlayingChange: function() {
+ if (this.get('useARIA')) {
+ this._syncAriaPlayerUI();
+ }
+ },
+
+ /**
+ * Fired after `render` event.
+ *
+ * @method _afterRender
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterRender: function() {
+ this._plugFocusManager();
+ },
+
+ /**
+ * Fired after the `responsive` event.
+ *
+ * @method _afterResponsive
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterResponsive: function(event) {
+ this.get('boundingBox').all('.image-viewer-base-image-list, .image-viewer-base-image').setStyles({
+ height: event.height,
+ width: event.width
+ });
+ },
+
+ /**
+ * Binds the events related to the carousel's controls.
+ *
+ * @method _bindControls
+ * @protected
+ */
+ _bindControls: function() {
+ if (this._menuClickDelegateHandler) {
+ this._menuClickDelegateHandler.detach();
+ }
+
+ this._menuClickDelegateHandler = this.get('boundingBox').delegate(
+ 'click',
+ this._onClickControl,
+ this.get('nodeMenuItemSelector'),
+ this
+ );
+ },
+
+ /**
+ * Binds the events related to the pause on hover behavior.
+ *
+ * @method _bindPauseOnHover
+ * @protected
+ */
+ _bindPauseOnHover: function() {
+ var boundingBox = this.get('boundingBox'),
+ nodeMenu = this.get('nodeMenu'),
+ pauseOnHover = this.get('pauseOnHover');
+
+ if (pauseOnHover) {
+ this.hoverEventHandles = [
+ boundingBox.on('mouseenter', A.bind(this._onCarouselEnter, this)),
+ boundingBox.on('mouseleave', A.bind(this._onCarouselLeave, this)),
+ nodeMenu.on('mouseenter', A.bind(this._onMenuEnter, this)),
+ nodeMenu.on('mouseleave', A.bind(this._onMenuLeave, this))
+ ];
+ }
+ else {
+ (new A.EventHandle(this.hoverEventHandles)).detach();
+ this.hoverEventHandles = null;
+ }
+ },
+
+ /**
+ * Creates the default menu node.
+ *
+ * @method _renderMenu
+ * @protected
+ */
+ _createMenuNode: function() {
+ var currentIndex = this.get('currentIndex'),
+ items = [],
+ i,
+ len = this.get('sources').length,
+ menu;
+
+ for (i = 0; i < len; i++) {
+ items.push(
+ Lang.sub(this.TPL_ITEM, {
+ cssClasses: currentIndex === i ? CSS_MENU_ITEM_ACTIVE : CSS_MENU_ITEM_DEFAULT,
+ index: i
+ })
+ );
+ }
+
+ menu = A.Node.create(Lang.sub(this.TPL_MENU, {
+ items: items.join(' ')
+ }));
+
+ return menu;
+ },
+
+ /**
+ * Default behavior for animating the current image in the viewer.
+ *
+ * @method _defAnimateFn
+ * @protected
+ */
+ _defAnimateFn: function() {
+ if (!this.get('playing')) {
+ return;
+ }
+
+ A.Carousel.superclass._defAnimateFn.apply(this, arguments);
+
+ var currentImage,
+ previousImage;
+
+ if (Lang.isNumber(this._previousIndex)) {
+ previousImage = this._getImageContainerAtIndex(this._previousIndex);
+ currentImage = this._getCurrentImageContainer(this._previousIndex);
+
+ previousImage.addClass(CSS_ITEM_TRANSITION);
+ currentImage.addClass(CSS_ITEM_ACTIVE_TRANSITION);
+
+ this._animation.onceAfter('end', function() {
+ previousImage.removeClass(CSS_ITEM_TRANSITION);
+ currentImage.removeClass(CSS_ITEM_ACTIVE_TRANSITION);
+ });
+ }
+ },
+
+ /**
+ * Checks if the mouse is inside the menu region.
+ *
+ * @method _isMouseInsideMenu
+ * @param {EventFacade} event
+ * @return {Boolean}
+ */
+ _isMouseInsideMenu: function(event) {
+ var region = this.get('nodeMenu').get('region');
+ return (region.left > event.clientX || event.clientX > region.right ||
+ region.top > event.clientY || event.clientY > region.bottom);
+ },
+
+ /**
+ * Fired when the mouse enters the carousel. If it has also entered the
+ * menu the slideshow will be resumed.
+ *
+ * @method _onCarouselEnter
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onCarouselEnter: function(event) {
+ if (this._isMouseInsideMenu(event)) {
+ this._pauseOnEnter();
+ }
+ },
+
+ /**
+ * Fired when the mouse leaves the carousel, which will resume the slideshow.
+ *
+ * @method _onCarouselLeave
+ * @protected
+ */
+ _onCarouselLeave: function() {
+ this._playOnLeave();
+ },
+
+ /**
+ * Fired when one of the carousel's controls is clicked.
+ *
+ * @method _onClickControl
+ * @param event
+ * @protected
+ */
+ _onClickControl: function(event) {
+ A.Carousel.superclass._onClickControl.apply(this, arguments);
+
+ event.preventDefault();
+
+ if (event.currentTarget.hasClass(CSS_MENU_INDEX)) {
+ this.set('currentIndex', this._menuNodes.indexOf(event.currentTarget));
+ }
+ },
+
+ /**
+ * Fired when the user presses a key on the keyboard.
+ *
+ * @method _onKeydown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onKeydown: function(event) {
+ var controlNext = this.get('controlNext'),
+ controlPrevious = this.get('controlPrevious'),
+ nodeMenu = this.get('nodeMenu');
+
+ var focusedNode = nodeMenu.focusManager._focusedNode.one('a');
+
+ if (focusedNode && event.isKey('ENTER')) {
+ if (focusedNode == controlNext) {
+ this.next();
+ }
+ else if (focusedNode == controlPrevious) {
+ this.prev();
+ }
+ else if (focusedNode.hasClass(CSS_MENU_INDEX)) {
+ event.currentTarget = focusedNode;
+
+ this._onClickControl(event);
+ }
+ else if (focusedNode.hasClass(CSS_MENU_PLAY) || focusedNode.hasClass(CSS_MENU_PAUSE)) {
+ this._onPlayerClick();
+ }
+
+ event.preventDefault();
+ }
+
+ if (event.isKey('SPACE')) {
+ event.preventDefault();
+
+ this._onPlayerClick();
+ }
+ },
+
+ /**
+ * Fired when the mouse enters the menu. If it's coming from the carousel
+ * the slideshow will be resumed.
+ *
+ * @method _onMenuEnter
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onMenuEnter: function(event) {
+ if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {
+ this._playOnLeave();
+ }
+ },
+
+ /**
+ * Fired when the mouse leaves the menu. If it's going to the carousel
+ * the slideshow will be paused.
+ *
+ * @method _onMenuLeave
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onMenuLeave: function(event) {
+ if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {
+ this._pauseOnEnter();
+ }
+ },
+
+ /**
+ * Called when the mouse enters the carousel with pauseOnHover set to
+ * true. Pauses the slideshow unless it was already paused.
+ *
+ * @method _pauseOnEnter
+ * @protected
+ */
+ _pauseOnEnter: function() {
+ if (this.get('playing')) {
+ this.pause();
+
+ this._pausedOnEnter = true;
+ }
+ },
+
+ /**
+ * Called when the mouse leaves the carousel with pauseOnHover set to
+ * true. If the slideshow was paused due to entering the carousel before,
+ * this will resume it.
+ *
+ * @method _playOnLeave
+ * @protected
+ */
+ _playOnLeave: function() {
+ if (this._pausedOnEnter) {
+ this.play();
+
+ this._pausedOnEnter = false;
+ }
+ },
+
+ /**
+ * Setup the `Plugin.NodeFocusManager` that handles keyboard
+ * navigation.
+ *
+ * @method _plugFocusManager
+ * @protected
+ */
+ _plugFocusManager: function() {
+ var focusManager = this.get('focusManager'),
+ nodeMenu = this.get('nodeMenu');
+
+ nodeMenu.plug(A.Plugin.NodeFocusManager, focusManager);
+
+ nodeMenu.on('keydown', A.bind('_onKeydown', this));
+ },
+
+ /**
+ * Renders the carousel's menu with all its controls.
+ *
+ * @method _renderControls
+ * @protected
+ */
+ _renderControls: function() {
+ this.get('boundingBox').append(this.get('nodeMenu'));
+ },
+
+ /**
+ * Overrides the original method for rendering the player button. The button
+ * is already rendered together with the menu by `_renderControls`, so this is
+ * just storing its reference in the right variable.
+ *
+ * @method _renderPlayer
+ * @protected
+ */
+ _renderPlayer: function() {
+ this._player = this.get('nodeMenu').one('.' + CSS_MENU_PLAY);
+ },
+
+ /**
+ * Set the `nodeMenu` attribute.
+ *
+ * @method _setNodeMenu
+ * @param val
+ * @protected
+ */
+ _setNodeMenu: function(val) {
+ var nodeMenu = A.one(val) || this._createMenuNode();
+
+ this._menuNodes = nodeMenu.all(SELECTOR_MENU_INDEX);
+
+ return nodeMenu;
+ },
+
+ /**
+ * Updates the aria values for the controls adding selected true and false as necessary.
+ *
+ * @method _syncAriaControlsUI
+ * @param {node} activeNode The current active item
+ * @protected
+ */
+ _syncAriaControlsUI: function(activeNode) {
+ this.aria.setAttributes(
+ [
+ {
+ name: 'selected',
+ node: this._menuNodes,
+ value: 'false'
+ },
+ {
+ name: 'selected',
+ node: activeNode,
+ value: 'true'
+ }
+ ]
+ );
+ },
+
+ /**
+ * Update the aria attributes for the `A.Carousel` UI.
+ *
+ * @method _syncAriaMenuUI
+ * @protected
+ */
+ _syncAriaMenuUI: function() {
+ this.aria.setAttributes(
+ [
+ {
+ name: 'controls',
+ node: this.get('nodeMenu'),
+ value: 'carousel'
+ },
+ {
+ name: 'label',
+ node: this.get('controlNext'),
+ value: 'next'
+ },
+ {
+ name: 'label',
+ node: this.get('controlPrevious'),
+ value: 'previous'
+ },
+ {
+ name: 'label',
+ node: this._player,
+ value: 'play'
+ },
+ {
+ name: 'live',
+ node: this.get('boundingBox'),
+ value: 'polite'
+ }
+ ]
+ );
+ },
+
+ /**
+ * Update the aria attributes for the pause/play button.
+ *
+ * @method _syncAriaPlayerUI
+ * @protected
+ */
+ _syncAriaPlayerUI: function() {
+ var status = 'pause';
+
+ if (this.get('playing')) {
+ status = 'play';
+ }
+
+ this.aria.setAttribute('label', status, this._player);
+ },
+
+ /**
+ * Updates the controls, showing or hiding them as necessary.
+ *
+ * @method _syncControlsUI
+ * @protected
+ */
+ _syncControlsUI: function() {
+ var currentIndex = this.get('currentIndex'),
+ item = this._menuNodes.item(currentIndex);
+
+ if (item) {
+ item.addClass(CSS_MENU_ACTIVE);
+
+ if (this.get('useARIA')) {
+ this._syncAriaControlsUI(item);
+ }
+ }
+
+ if (Lang.isNumber(this._previousIndex)) {
+ item = this._menuNodes.item(this._previousIndex);
+
+ if (item) {
+ item.removeClass(CSS_MENU_ACTIVE);
+ }
+ }
+ },
+
+ /**
+ * Updates the UI according to the value of the `nodeMenuPosition` attribute.
+ *
+ * @method _syncNodeMenuPositionUI
+ * @protected
+ */
+ _syncNodeMenuPositionUI: function() {
+ var nodeMenuPosition = this.get('nodeMenuPosition'),
+ yPos = 0;
+
+ this.get('boundingBox').toggleClass(CSS_OUTSIDE_MENU, nodeMenuPosition === NODE_MENU_OUTSIDE);
+
+ if (nodeMenuPosition === NODE_MENU_OUTSIDE) {
+ yPos = this.get('nodeMenu').get('offsetHeight');
+ }
+
+ this.set('gutter', [0, yPos]);
+ },
+
+ /**
+ * Updates the player according to the value of the `playing` attribute.
+ *
+ * @method _syncPlaying
+ * @protected
+ */
+ _syncPlaying: function() {
+ var player = this._player;
+
+ if (player) {
+ var originalCssClass = CSS_MENU_PAUSE;
+ var replaceCssClass = CSS_MENU_PLAY;
+
+ if (this.get('playing')) {
+ originalCssClass = CSS_MENU_PLAY;
+ replaceCssClass = CSS_MENU_PAUSE;
+ }
+
+ player.replaceClass(originalCssClass, replaceCssClass);
+ }
+ },
+
+ /**
+ * Validates the given value for the `nodeMenuPosition` attribute.
+ *
+ * @method _validateNodeMenuPosition
+ * @param {String} val The value to be validated
+ * @return {Boolean} `true` if the value is valid or `false` otherwise
+ * @protected
+ */
+ _validateNodeMenuPosition: function(val) {
+ return val === NODE_MENU_INSIDE || val === NODE_MENU_OUTSIDE;
+ }
+}, {
+ /**
+ * Static property used to define the default attribute
+ * configuration for the `A.Carousel`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * If the carousel will be circular or not.
+ *
+ * @attribute circular
+ * @default true
+ * @type Boolean
+ */
+ circular: {
+ validator: Lang.isBoolean,
+ value: true
+ },
+
+ /**
+ * The node for the control that shows the next image.
+ *
+ * @attribute controlNext
+ * @default null
+ * @type Node
+ */
+ controlNext: {
+ setter: function(val) {
+ return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_NEXT);
+ },
+ validator: Lang.isNode,
+ value: null
+ },
+
+ /**
+ * The node for the control that shows the previous image.
+ *
+ * @attribute controlPrevious
+ * @default null
+ * @type Node
+ */
+ controlPrevious: {
+ setter: function(val) {
+ return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_PREV);
+ },
+ validator: Lang.isNode,
+ value: null
+ },
+
+ /**
+ * Config object for `Plugin.NodeFocusManager`,
+ *
+ * @attribute focusManager
+ * @default Config object
+ * @type Object
+ */
+ focusManager: {
+ value: {
+ circular: true,
+ descendants: 'li',
+ focusClass: 'focused',
+ keys: {
+ next: 'down:39',
+ previous: 'down:37'
+ }
+ },
+ validator: Lang.isObject,
+ writeOnce: 'initOnly'
+ },
+
+ /**
+ * Node container of the navigation items.
+ *
+ * @attribute nodeMenu
+ * @default null
+ * @type Node | String
+ */
+ nodeMenu: {
+ setter: '_setNodeMenu',
+ value: null
+ },
+
+ /**
+ * CSS selector to match the navigation items.
+ *
+ * @attribute nodeMenuItemSelector
+ * @default .carousel-menu-item
+ * @type String
+ */
+ nodeMenuItemSelector: {
+ validator: Lang.isString,
+ value: '.' + CSS_MENU_ITEM
+ },
+
+ /**
+ * Position of the menu.
+ *
+ * @attribute nodeMenuPosition
+ * @default 'inside'
+ * @type String
+ */
+ nodeMenuPosition: {
+ validator: '_validateNodeMenuPosition',
+ value: NODE_MENU_INSIDE
+ },
+
+ /**
+ * Determines if `A.Carousel` will pause on mouse enter or play when
+ * mouse leave.
+ *
+ * @attribute pauseOnHover
+ * @type Boolean
+ */
+ pauseOnHover: {
+ validator: Lang.isBoolean,
+ value: false
+ }
+ },
+
+ /**
+ * Static property provides a string to identify the CSS prefix.
+ *
+ * @property CSS_PREFIX
+ * @type String
+ * @static
+ */
+ CSS_PREFIX: A.getClassName('carousel')
+});
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "anim",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-slideshow",
+ "node-event-delegate",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-carousel/aui-carousel-min.js b/build/aui-carousel/aui-carousel-min.js
new file mode 100644
index 00000000000..3655f0702cb
--- /dev/null
+++ b/build/aui-carousel/aui-carousel-min.js
@@ -0,0 +1,2 @@
+YUI.add("aui-carousel",function(e,t){var n=e.Lang,r=e.getClassName,i=r("image","viewer","base","control"),s=r("image","viewer","base","control","left"),o=r("image","viewer","base","control","right"),u=r("image","viewer","base","image"),a=r("carousel","item","active","transition"),f=r("carousel","item","transition"),l=r("carousel","menu"),c=r("carousel","menu","active"),h=r("carousel","menu","index"),p=r("carousel","menu","item"),d=[p,h,c].join(" "),v=[p,h].join(" "),m=r("carousel","menu","next"),g=r("carousel","menu","pause"),y=r("carousel","menu","play"),b=r("carousel","menu","prev"),w=r("carousel","outside","menu"),E="inside",S="outside",x="."+h;e.Carousel=e.Base.create("carousel",e.ImageViewerBase,[e.ImageViewerSlideshow],{TPL_ITEM:'{index} ',TPL_MENU:'",initializer:function(){this.after({render:this._afterRender})},bindUI:function(){e.Carousel.superclass.bindUI.apply(this,arguments),this.after({nodeMenuChange:this._afterNodeMenuChange,nodeMenuItemSelectorChange:this._afterNodeMenuItemSelectorChange,nodeMenuPositionChange:this._afterNodeMenuPositionChange,pauseOnHoverChange:this._afterPauseOnHoverChange,playingChange:this._afterPlayingChange}),this._bindPauseOnHover()},renderUI:function(){e.Carousel.superclass.renderUI.apply(this,arguments)},syncUI:function(){this._syncNodeMenuPositionUI(),this.get("useARIA")&&this._syncAriaMenuUI()},destructor:function(){this._menuClickDelegateHandler&&this._menuClickDelegateHandler.detach()},item:function(e){this.set("currentIndex",e)},_afterNodeMenuChange:function(){this._bindPauseOnHover(),this._syncControlsUI(),this._syncNodeMenuPositionUI()},_afterNodeMenuItemSelectorChange:function(){this._bindControls()},_afterNodeMenuPositionChange:function(){this._syncNodeMenuPositionUI()},_afterPauseOnHoverChange:function(){this._bindPauseOnHover()},_afterPlayingChange:function(){this.get("useARIA")&&this._syncAriaPlayerUI()},_afterRender:function(){this._plugFocusManager()},_afterResponsive:function(e){this.get("boundingBox").all(".image-viewer-base-image-list, .image-viewer-base-image").setStyles({height:e.height,width:e.width})},_bindControls:function(){this._menuClickDelegateHandler&&this._menuClickDelegateHandler.detach(),this._menuClickDelegateHandler=this.get("boundingBox").delegate("click",this._onClickControl,this.get("nodeMenuItemSelector"),this)},_bindPauseOnHover:function(){var t=this.get("boundingBox"),n=this.get("nodeMenu"),r=this.get("pauseOnHover");r?this.hoverEventHandles=[t.on("mouseenter",e.bind(this._onCarouselEnter,this)),t.on("mouseleave",e.bind(this._onCarouselLeave,this)),n.on("mouseenter",e.bind(this._onMenuEnter,this)),n.on("mouseleave",e.bind(this._onMenuLeave,this))]:((new e.EventHandle(this.hoverEventHandles)).detach(),this.hoverEventHandles=null)},_createMenuNode:function(){var t=this.get("currentIndex"),r=[],i,s=this.get("sources").length,o;for(i=0;ie.clientX||e.clientX>t.right||t.top>e.clientY||e.clientY>t.bottom},_onCarouselEnter:function(e){this._isMouseInsideMenu(e)&&this._pauseOnEnter()},_onCarouselLeave:function(){this._playOnLeave()},_onClickControl:function(t){e.Carousel.superclass._onClickControl.apply(this,arguments),t.preventDefault(),t.currentTarget.hasClass(h)&&this.set("currentIndex",this._menuNodes.indexOf(t.currentTarget))},_onKeydown:function(e){var t=this.get("controlNext"),n=this.get("controlPrevious"),r=this.get("nodeMenu"),i=r.focusManager._focusedNode.one("a");i&&e.isKey("ENTER")&&(i==t?this.next():i==n?this.prev():i.hasClass(h)?(e.currentTarget=i,this._onClickControl(e)):(i.hasClass(y)||i.hasClass(g))&&this._onPlayerClick(),e.preventDefault()),e.isKey("SPACE")&&(e.preventDefault(),this._onPlayerClick())},_onMenuEnter:function(e){e.relatedTarget&&e.relatedTarget.hasClass(u)&&this._playOnLeave()},_onMenuLeave:function(e){e.relatedTarget&&e.relatedTarget.hasClass(u)&&this._pauseOnEnter()},_pauseOnEnter:function(){this.get("playing")&&(this.pause(),this._pausedOnEnter=!0)},_playOnLeave:function(){this._pausedOnEnter&&(this.play(),this._pausedOnEnter=!1)},_plugFocusManager:function(){var t=this.get("focusManager"),n=this.get("nodeMenu");n.plug(e.Plugin.NodeFocusManager,t),n.on("keydown",e.bind("_onKeydown",this))},_renderControls:function(){this.get("boundingBox").append(this.get("nodeMenu"))},_renderPlayer:function(){this._player=this.get("nodeMenu").one("."+y)},_setNodeMenu:function(t){var n=e.one(t)||this._createMenuNode();return this._menuNodes=n.all(x),n},_syncAriaControlsUI:function(e){this.aria.setAttributes([{name:"selected",node:this._menuNodes,value:"false"},{name:"selected",node:e,value:"true"}])},_syncAriaMenuUI:function(){this.aria.setAttributes([{name:"controls",node:this.get("nodeMenu"),value:"carousel"},{name:"label",node:this.get("controlNext"),value:"next"},{name:"label",node:this.get("controlPrevious"),value:"previous"},{name:"label",node:this._player,value:"play"},{name:"live",node:this.get("boundingBox"),value:"polite"}])},_syncAriaPlayerUI:function(){var e="pause";this.get("playing")&&(e="play"),this.aria.setAttribute("label",e,this._player)},_syncControlsUI:function(){var e=this.get("currentIndex"),t=this._menuNodes.item(e);t&&(t.addClass(c),this.get("useARIA")&&this
+._syncAriaControlsUI(t)),n.isNumber(this._previousIndex)&&(t=this._menuNodes.item(this._previousIndex),t&&t.removeClass(c))},_syncNodeMenuPositionUI:function(){var e=this.get("nodeMenuPosition"),t=0;this.get("boundingBox").toggleClass(w,e===S),e===S&&(t=this.get("nodeMenu").get("offsetHeight")),this.set("gutter",[0,t])},_syncPlaying:function(){var e=this._player;if(e){var t=g,n=y;this.get("playing")&&(t=y,n=g),e.replaceClass(t,n)}},_validateNodeMenuPosition:function(e){return e===E||e===S}},{ATTRS:{circular:{validator:n.isBoolean,value:!0},controlNext:{setter:function(e){return e?e:this.get("nodeMenu").one("."+m)},validator:n.isNode,value:null},controlPrevious:{setter:function(e){return e?e:this.get("nodeMenu").one("."+b)},validator:n.isNode,value:null},focusManager:{value:{circular:!0,descendants:"li",focusClass:"focused",keys:{next:"down:39",previous:"down:37"}},validator:n.isObject,writeOnce:"initOnly"},nodeMenu:{setter:"_setNodeMenu",value:null},nodeMenuItemSelector:{validator:n.isString,value:"."+p},nodeMenuPosition:{validator:"_validateNodeMenuPosition",value:E},pauseOnHover:{validator:n.isBoolean,value:!1}},CSS_PREFIX:e.getClassName("carousel")})},"3.1.0-deprecated.52",{requires:["anim","aui-event","aui-image-viewer-base","aui-image-viewer-slideshow","node-event-delegate","node-focusmanager"],skinnable:!0});
diff --git a/build/aui-carousel/aui-carousel.js b/build/aui-carousel/aui-carousel.js
new file mode 100644
index 00000000000..a3ecb60dafb
--- /dev/null
+++ b/build/aui-carousel/aui-carousel.js
@@ -0,0 +1,835 @@
+YUI.add('aui-carousel', function (A, NAME) {
+
+/**
+ * The Carousel Component
+ *
+ * @module aui-carousel
+ */
+
+var Lang = A.Lang,
+
+ getCN = A.getClassName,
+
+ CSS_IMAGE_VIEWER_CONTROL = getCN('image', 'viewer', 'base', 'control'),
+ CSS_IMAGE_VIEWER_CONTROL_LEFT = getCN('image', 'viewer', 'base', 'control', 'left'),
+ CSS_IMAGE_VIEWER_CONTROL_RIGHT = getCN('image', 'viewer', 'base', 'control', 'right'),
+
+ CSS_ITEM = getCN('image', 'viewer', 'base', 'image'),
+ CSS_ITEM_ACTIVE_TRANSITION = getCN('carousel', 'item', 'active', 'transition'),
+ CSS_ITEM_TRANSITION = getCN('carousel', 'item', 'transition'),
+ CSS_MENU = getCN('carousel', 'menu'),
+ CSS_MENU_ACTIVE = getCN('carousel', 'menu', 'active'),
+ CSS_MENU_INDEX = getCN('carousel', 'menu', 'index'),
+ CSS_MENU_ITEM = getCN('carousel', 'menu', 'item'),
+ CSS_MENU_ITEM_ACTIVE = [CSS_MENU_ITEM, CSS_MENU_INDEX, CSS_MENU_ACTIVE].join(' '),
+ CSS_MENU_ITEM_DEFAULT = [CSS_MENU_ITEM, CSS_MENU_INDEX].join(' '),
+ CSS_MENU_NEXT = getCN('carousel', 'menu', 'next'),
+ CSS_MENU_PAUSE = getCN('carousel', 'menu', 'pause'),
+ CSS_MENU_PLAY = getCN('carousel', 'menu', 'play'),
+ CSS_MENU_PREV = getCN('carousel', 'menu', 'prev'),
+ CSS_OUTSIDE_MENU = getCN('carousel', 'outside', 'menu'),
+
+ NODE_MENU_INSIDE = 'inside',
+ NODE_MENU_OUTSIDE = 'outside',
+
+ SELECTOR_MENU_INDEX = '.' + CSS_MENU_INDEX;
+
+/**
+ * A base class for Carousel.
+ *
+ * Check the [live demo](http://alloyui.com/examples/carousel/).
+ *
+ * @class A.Carousel
+ * @extends A.ImageViewerBase
+ * @uses A.ImageViewerSlideshow
+ * @param {Object} config Object literal specifying widget configuration
+ * properties.
+ * @constructor
+ * @include http://alloyui.com/examples/carousel/basic-markup.html
+ * @include http://alloyui.com/examples/carousel/basic.js
+ */
+
+A.Carousel = A.Base.create('carousel', A.ImageViewerBase, [A.ImageViewerSlideshow], {
+ TPL_ITEM: ' ',
+
+ TPL_MENU: '',
+
+ /**
+ * Construction logic executed during `A.Carousel` instantiation.
+ * Lifecycle.
+ *
+ * @method initializer
+ * @protected
+ */
+ initializer: function() {
+ this.after({
+ render: this._afterRender
+ });
+ },
+
+ /**
+ * Bind the events on the `A.Carousel` UI. Lifecycle.
+ *
+ * @method bindUI
+ * @protected
+ */
+ bindUI: function() {
+ A.Carousel.superclass.bindUI.apply(this, arguments);
+
+ this.after({
+ nodeMenuChange: this._afterNodeMenuChange,
+ nodeMenuItemSelectorChange: this._afterNodeMenuItemSelectorChange,
+ nodeMenuPositionChange: this._afterNodeMenuPositionChange,
+ pauseOnHoverChange: this._afterPauseOnHoverChange,
+ playingChange: this._afterPlayingChange
+ });
+
+ this._bindPauseOnHover();
+ },
+
+ /**
+ * Create the DOM structure for the `A.Carousel` UI. Lifecycle.
+ *
+ * @method renderUI
+ * @protected
+ */
+ renderUI: function() {
+ A.Carousel.superclass.renderUI.apply(this, arguments);
+ },
+
+ /**
+ * Sync the `A.Carousel` UI. Lifecycle.
+ *
+ * @method syncUI
+ * @protected
+ */
+ syncUI: function() {
+ this._syncNodeMenuPositionUI();
+
+ if (this.get('useARIA')) {
+ this._syncAriaMenuUI();
+ }
+ },
+
+ /**
+ * Destructor implementation for the `A.Carousel` class. Lifecycle.
+ *
+ * @method destructor
+ * @protected
+ */
+ destructor: function() {
+ if (this._menuClickDelegateHandler) {
+ this._menuClickDelegateHandler.detach();
+ }
+ },
+
+ /**
+ * Set the `currentIndex` attribute which
+ * activates a certain item on `A.Carousel` based on its index.
+ *
+ * @method item
+ * @param {Number} val
+ */
+ item: function(val) {
+ this.set('currentIndex', val);
+ },
+
+ /**
+ * Fired after `nodeMenu` attribute changes.
+ *
+ * @method _afterNodeMenuChange
+ * @protected
+ */
+ _afterNodeMenuChange: function() {
+ this._bindPauseOnHover();
+
+ this._syncControlsUI();
+ this._syncNodeMenuPositionUI();
+ },
+
+ /**
+ * Fired after `nodeMenuItemSelector` attribute changes.
+ *
+ * @method _afterNodeMenuItemSelectorChange
+ * @protected
+ */
+ _afterNodeMenuItemSelectorChange: function() {
+ this._bindControls();
+ },
+
+ /**
+ * Fired after `nodeMenuPosition` attribute changes.
+ *
+ * @method _afterNodeMenuPositionChange
+ * @protected
+ */
+ _afterNodeMenuPositionChange: function() {
+ this._syncNodeMenuPositionUI();
+ },
+
+ /**
+ * Fired after `pauseOnHover` attribute changes.
+ *
+ * @method _afterPauseOnHoverChange
+ * @protected
+ */
+ _afterPauseOnHoverChange: function() {
+ this._bindPauseOnHover();
+ },
+
+ /**
+ * Fired after the `playing` attribute changes.
+ *
+ * @method _afterPlayingChange
+ * @protected
+ */
+ _afterPlayingChange: function() {
+ if (this.get('useARIA')) {
+ this._syncAriaPlayerUI();
+ }
+ },
+
+ /**
+ * Fired after `render` event.
+ *
+ * @method _afterRender
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterRender: function() {
+ this._plugFocusManager();
+ },
+
+ /**
+ * Fired after the `responsive` event.
+ *
+ * @method _afterResponsive
+ * @param {EventFacade} event
+ * @protected
+ */
+ _afterResponsive: function(event) {
+ this.get('boundingBox').all('.image-viewer-base-image-list, .image-viewer-base-image').setStyles({
+ height: event.height,
+ width: event.width
+ });
+ },
+
+ /**
+ * Binds the events related to the carousel's controls.
+ *
+ * @method _bindControls
+ * @protected
+ */
+ _bindControls: function() {
+ if (this._menuClickDelegateHandler) {
+ this._menuClickDelegateHandler.detach();
+ }
+
+ this._menuClickDelegateHandler = this.get('boundingBox').delegate(
+ 'click',
+ this._onClickControl,
+ this.get('nodeMenuItemSelector'),
+ this
+ );
+ },
+
+ /**
+ * Binds the events related to the pause on hover behavior.
+ *
+ * @method _bindPauseOnHover
+ * @protected
+ */
+ _bindPauseOnHover: function() {
+ var boundingBox = this.get('boundingBox'),
+ nodeMenu = this.get('nodeMenu'),
+ pauseOnHover = this.get('pauseOnHover');
+
+ if (pauseOnHover) {
+ this.hoverEventHandles = [
+ boundingBox.on('mouseenter', A.bind(this._onCarouselEnter, this)),
+ boundingBox.on('mouseleave', A.bind(this._onCarouselLeave, this)),
+ nodeMenu.on('mouseenter', A.bind(this._onMenuEnter, this)),
+ nodeMenu.on('mouseleave', A.bind(this._onMenuLeave, this))
+ ];
+ }
+ else {
+ (new A.EventHandle(this.hoverEventHandles)).detach();
+ this.hoverEventHandles = null;
+ }
+ },
+
+ /**
+ * Creates the default menu node.
+ *
+ * @method _renderMenu
+ * @protected
+ */
+ _createMenuNode: function() {
+ var currentIndex = this.get('currentIndex'),
+ items = [],
+ i,
+ len = this.get('sources').length,
+ menu;
+
+ for (i = 0; i < len; i++) {
+ items.push(
+ Lang.sub(this.TPL_ITEM, {
+ cssClasses: currentIndex === i ? CSS_MENU_ITEM_ACTIVE : CSS_MENU_ITEM_DEFAULT,
+ index: i
+ })
+ );
+ }
+
+ menu = A.Node.create(Lang.sub(this.TPL_MENU, {
+ items: items.join(' ')
+ }));
+
+ return menu;
+ },
+
+ /**
+ * Default behavior for animating the current image in the viewer.
+ *
+ * @method _defAnimateFn
+ * @protected
+ */
+ _defAnimateFn: function() {
+ if (!this.get('playing')) {
+ return;
+ }
+
+ A.Carousel.superclass._defAnimateFn.apply(this, arguments);
+
+ var currentImage,
+ previousImage;
+
+ if (Lang.isNumber(this._previousIndex)) {
+ previousImage = this._getImageContainerAtIndex(this._previousIndex);
+ currentImage = this._getCurrentImageContainer(this._previousIndex);
+
+ previousImage.addClass(CSS_ITEM_TRANSITION);
+ currentImage.addClass(CSS_ITEM_ACTIVE_TRANSITION);
+
+ this._animation.onceAfter('end', function() {
+ previousImage.removeClass(CSS_ITEM_TRANSITION);
+ currentImage.removeClass(CSS_ITEM_ACTIVE_TRANSITION);
+ });
+ }
+ },
+
+ /**
+ * Checks if the mouse is inside the menu region.
+ *
+ * @method _isMouseInsideMenu
+ * @param {EventFacade} event
+ * @return {Boolean}
+ */
+ _isMouseInsideMenu: function(event) {
+ var region = this.get('nodeMenu').get('region');
+ return (region.left > event.clientX || event.clientX > region.right ||
+ region.top > event.clientY || event.clientY > region.bottom);
+ },
+
+ /**
+ * Fired when the mouse enters the carousel. If it has also entered the
+ * menu the slideshow will be resumed.
+ *
+ * @method _onCarouselEnter
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onCarouselEnter: function(event) {
+ if (this._isMouseInsideMenu(event)) {
+ this._pauseOnEnter();
+ }
+ },
+
+ /**
+ * Fired when the mouse leaves the carousel, which will resume the slideshow.
+ *
+ * @method _onCarouselLeave
+ * @protected
+ */
+ _onCarouselLeave: function() {
+ this._playOnLeave();
+ },
+
+ /**
+ * Fired when one of the carousel's controls is clicked.
+ *
+ * @method _onClickControl
+ * @param event
+ * @protected
+ */
+ _onClickControl: function(event) {
+ A.Carousel.superclass._onClickControl.apply(this, arguments);
+
+ event.preventDefault();
+
+ if (event.currentTarget.hasClass(CSS_MENU_INDEX)) {
+ this.set('currentIndex', this._menuNodes.indexOf(event.currentTarget));
+ }
+ },
+
+ /**
+ * Fired when the user presses a key on the keyboard.
+ *
+ * @method _onKeydown
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onKeydown: function(event) {
+ var controlNext = this.get('controlNext'),
+ controlPrevious = this.get('controlPrevious'),
+ nodeMenu = this.get('nodeMenu');
+
+ var focusedNode = nodeMenu.focusManager._focusedNode.one('a');
+
+ if (focusedNode && event.isKey('ENTER')) {
+ if (focusedNode == controlNext) {
+ this.next();
+ }
+ else if (focusedNode == controlPrevious) {
+ this.prev();
+ }
+ else if (focusedNode.hasClass(CSS_MENU_INDEX)) {
+ event.currentTarget = focusedNode;
+
+ this._onClickControl(event);
+ }
+ else if (focusedNode.hasClass(CSS_MENU_PLAY) || focusedNode.hasClass(CSS_MENU_PAUSE)) {
+ this._onPlayerClick();
+ }
+
+ event.preventDefault();
+ }
+
+ if (event.isKey('SPACE')) {
+ event.preventDefault();
+
+ this._onPlayerClick();
+ }
+ },
+
+ /**
+ * Fired when the mouse enters the menu. If it's coming from the carousel
+ * the slideshow will be resumed.
+ *
+ * @method _onMenuEnter
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onMenuEnter: function(event) {
+ if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {
+ this._playOnLeave();
+ }
+ },
+
+ /**
+ * Fired when the mouse leaves the menu. If it's going to the carousel
+ * the slideshow will be paused.
+ *
+ * @method _onMenuLeave
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onMenuLeave: function(event) {
+ if (event.relatedTarget && event.relatedTarget.hasClass(CSS_ITEM)) {
+ this._pauseOnEnter();
+ }
+ },
+
+ /**
+ * Called when the mouse enters the carousel with pauseOnHover set to
+ * true. Pauses the slideshow unless it was already paused.
+ *
+ * @method _pauseOnEnter
+ * @protected
+ */
+ _pauseOnEnter: function() {
+ if (this.get('playing')) {
+ this.pause();
+
+ this._pausedOnEnter = true;
+ }
+ },
+
+ /**
+ * Called when the mouse leaves the carousel with pauseOnHover set to
+ * true. If the slideshow was paused due to entering the carousel before,
+ * this will resume it.
+ *
+ * @method _playOnLeave
+ * @protected
+ */
+ _playOnLeave: function() {
+ if (this._pausedOnEnter) {
+ this.play();
+
+ this._pausedOnEnter = false;
+ }
+ },
+
+ /**
+ * Setup the `Plugin.NodeFocusManager` that handles keyboard
+ * navigation.
+ *
+ * @method _plugFocusManager
+ * @protected
+ */
+ _plugFocusManager: function() {
+ var focusManager = this.get('focusManager'),
+ nodeMenu = this.get('nodeMenu');
+
+ nodeMenu.plug(A.Plugin.NodeFocusManager, focusManager);
+
+ nodeMenu.on('keydown', A.bind('_onKeydown', this));
+ },
+
+ /**
+ * Renders the carousel's menu with all its controls.
+ *
+ * @method _renderControls
+ * @protected
+ */
+ _renderControls: function() {
+ this.get('boundingBox').append(this.get('nodeMenu'));
+ },
+
+ /**
+ * Overrides the original method for rendering the player button. The button
+ * is already rendered together with the menu by `_renderControls`, so this is
+ * just storing its reference in the right variable.
+ *
+ * @method _renderPlayer
+ * @protected
+ */
+ _renderPlayer: function() {
+ this._player = this.get('nodeMenu').one('.' + CSS_MENU_PLAY);
+ },
+
+ /**
+ * Set the `nodeMenu` attribute.
+ *
+ * @method _setNodeMenu
+ * @param val
+ * @protected
+ */
+ _setNodeMenu: function(val) {
+ var nodeMenu = A.one(val) || this._createMenuNode();
+
+ this._menuNodes = nodeMenu.all(SELECTOR_MENU_INDEX);
+
+ return nodeMenu;
+ },
+
+ /**
+ * Updates the aria values for the controls adding selected true and false as necessary.
+ *
+ * @method _syncAriaControlsUI
+ * @param {node} activeNode The current active item
+ * @protected
+ */
+ _syncAriaControlsUI: function(activeNode) {
+ this.aria.setAttributes(
+ [
+ {
+ name: 'selected',
+ node: this._menuNodes,
+ value: 'false'
+ },
+ {
+ name: 'selected',
+ node: activeNode,
+ value: 'true'
+ }
+ ]
+ );
+ },
+
+ /**
+ * Update the aria attributes for the `A.Carousel` UI.
+ *
+ * @method _syncAriaMenuUI
+ * @protected
+ */
+ _syncAriaMenuUI: function() {
+ this.aria.setAttributes(
+ [
+ {
+ name: 'controls',
+ node: this.get('nodeMenu'),
+ value: 'carousel'
+ },
+ {
+ name: 'label',
+ node: this.get('controlNext'),
+ value: 'next'
+ },
+ {
+ name: 'label',
+ node: this.get('controlPrevious'),
+ value: 'previous'
+ },
+ {
+ name: 'label',
+ node: this._player,
+ value: 'play'
+ },
+ {
+ name: 'live',
+ node: this.get('boundingBox'),
+ value: 'polite'
+ }
+ ]
+ );
+ },
+
+ /**
+ * Update the aria attributes for the pause/play button.
+ *
+ * @method _syncAriaPlayerUI
+ * @protected
+ */
+ _syncAriaPlayerUI: function() {
+ var status = 'pause';
+
+ if (this.get('playing')) {
+ status = 'play';
+ }
+
+ this.aria.setAttribute('label', status, this._player);
+ },
+
+ /**
+ * Updates the controls, showing or hiding them as necessary.
+ *
+ * @method _syncControlsUI
+ * @protected
+ */
+ _syncControlsUI: function() {
+ var currentIndex = this.get('currentIndex'),
+ item = this._menuNodes.item(currentIndex);
+
+ if (item) {
+ item.addClass(CSS_MENU_ACTIVE);
+
+ if (this.get('useARIA')) {
+ this._syncAriaControlsUI(item);
+ }
+ }
+
+ if (Lang.isNumber(this._previousIndex)) {
+ item = this._menuNodes.item(this._previousIndex);
+
+ if (item) {
+ item.removeClass(CSS_MENU_ACTIVE);
+ }
+ }
+ },
+
+ /**
+ * Updates the UI according to the value of the `nodeMenuPosition` attribute.
+ *
+ * @method _syncNodeMenuPositionUI
+ * @protected
+ */
+ _syncNodeMenuPositionUI: function() {
+ var nodeMenuPosition = this.get('nodeMenuPosition'),
+ yPos = 0;
+
+ this.get('boundingBox').toggleClass(CSS_OUTSIDE_MENU, nodeMenuPosition === NODE_MENU_OUTSIDE);
+
+ if (nodeMenuPosition === NODE_MENU_OUTSIDE) {
+ yPos = this.get('nodeMenu').get('offsetHeight');
+ }
+
+ this.set('gutter', [0, yPos]);
+ },
+
+ /**
+ * Updates the player according to the value of the `playing` attribute.
+ *
+ * @method _syncPlaying
+ * @protected
+ */
+ _syncPlaying: function() {
+ var player = this._player;
+
+ if (player) {
+ var originalCssClass = CSS_MENU_PAUSE;
+ var replaceCssClass = CSS_MENU_PLAY;
+
+ if (this.get('playing')) {
+ originalCssClass = CSS_MENU_PLAY;
+ replaceCssClass = CSS_MENU_PAUSE;
+ }
+
+ player.replaceClass(originalCssClass, replaceCssClass);
+ }
+ },
+
+ /**
+ * Validates the given value for the `nodeMenuPosition` attribute.
+ *
+ * @method _validateNodeMenuPosition
+ * @param {String} val The value to be validated
+ * @return {Boolean} `true` if the value is valid or `false` otherwise
+ * @protected
+ */
+ _validateNodeMenuPosition: function(val) {
+ return val === NODE_MENU_INSIDE || val === NODE_MENU_OUTSIDE;
+ }
+}, {
+ /**
+ * Static property used to define the default attribute
+ * configuration for the `A.Carousel`.
+ *
+ * @property ATTRS
+ * @type Object
+ * @static
+ */
+ ATTRS: {
+ /**
+ * If the carousel will be circular or not.
+ *
+ * @attribute circular
+ * @default true
+ * @type Boolean
+ */
+ circular: {
+ validator: Lang.isBoolean,
+ value: true
+ },
+
+ /**
+ * The node for the control that shows the next image.
+ *
+ * @attribute controlNext
+ * @default null
+ * @type Node
+ */
+ controlNext: {
+ setter: function(val) {
+ return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_NEXT);
+ },
+ validator: Lang.isNode,
+ value: null
+ },
+
+ /**
+ * The node for the control that shows the previous image.
+ *
+ * @attribute controlPrevious
+ * @default null
+ * @type Node
+ */
+ controlPrevious: {
+ setter: function(val) {
+ return val ? val : this.get('nodeMenu').one('.' + CSS_MENU_PREV);
+ },
+ validator: Lang.isNode,
+ value: null
+ },
+
+ /**
+ * Config object for `Plugin.NodeFocusManager`,
+ *
+ * @attribute focusManager
+ * @default Config object
+ * @type Object
+ */
+ focusManager: {
+ value: {
+ circular: true,
+ descendants: 'li',
+ focusClass: 'focused',
+ keys: {
+ next: 'down:39',
+ previous: 'down:37'
+ }
+ },
+ validator: Lang.isObject,
+ writeOnce: 'initOnly'
+ },
+
+ /**
+ * Node container of the navigation items.
+ *
+ * @attribute nodeMenu
+ * @default null
+ * @type Node | String
+ */
+ nodeMenu: {
+ setter: '_setNodeMenu',
+ value: null
+ },
+
+ /**
+ * CSS selector to match the navigation items.
+ *
+ * @attribute nodeMenuItemSelector
+ * @default .carousel-menu-item
+ * @type String
+ */
+ nodeMenuItemSelector: {
+ validator: Lang.isString,
+ value: '.' + CSS_MENU_ITEM
+ },
+
+ /**
+ * Position of the menu.
+ *
+ * @attribute nodeMenuPosition
+ * @default 'inside'
+ * @type String
+ */
+ nodeMenuPosition: {
+ validator: '_validateNodeMenuPosition',
+ value: NODE_MENU_INSIDE
+ },
+
+ /**
+ * Determines if `A.Carousel` will pause on mouse enter or play when
+ * mouse leave.
+ *
+ * @attribute pauseOnHover
+ * @type Boolean
+ */
+ pauseOnHover: {
+ validator: Lang.isBoolean,
+ value: false
+ }
+ },
+
+ /**
+ * Static property provides a string to identify the CSS prefix.
+ *
+ * @property CSS_PREFIX
+ * @type String
+ * @static
+ */
+ CSS_PREFIX: A.getClassName('carousel')
+});
+
+
+}, '3.1.0-deprecated.52', {
+ "requires": [
+ "anim",
+ "aui-event",
+ "aui-image-viewer-base",
+ "aui-image-viewer-slideshow",
+ "node-event-delegate",
+ "node-focusmanager"
+ ],
+ "skinnable": true
+});
diff --git a/build/aui-char-counter/aui-char-counter-coverage.js b/build/aui-char-counter/aui-char-counter-coverage.js
new file mode 100644
index 00000000000..c56efa0b8f8
--- /dev/null
+++ b/build/aui-char-counter/aui-char-counter-coverage.js
@@ -0,0 +1,6 @@
+if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
+if (!__coverage__['build/aui-char-counter/aui-char-counter.js']) {
+ __coverage__['build/aui-char-counter/aui-char-counter.js'] = {"path":"build/aui-char-counter/aui-char-counter.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":28},"end":{"line":1,"column":47}}},"2":{"name":"(anonymous_2)","line":118,"loc":{"start":{"line":118,"column":20},"end":{"line":118,"column":32}}},"3":{"name":"(anonymous_3)","line":177,"loc":{"start":{"line":177,"column":21},"end":{"line":177,"column":32}}},"4":{"name":"(anonymous_4)","line":191,"loc":{"start":{"line":191,"column":16},"end":{"line":191,"column":27}}},"5":{"name":"(anonymous_5)","line":216,"loc":{"start":{"line":216,"column":16},"end":{"line":216,"column":27}}},"6":{"name":"(anonymous_6)","line":242,"loc":{"start":{"line":242,"column":17},"end":{"line":242,"column":28}}},"7":{"name":"(anonymous_7)","line":259,"loc":{"start":{"line":259,"column":21},"end":{"line":259,"column":32}}},"8":{"name":"(anonymous_8)","line":308,"loc":{"start":{"line":308,"column":30},"end":{"line":308,"column":46}}},"9":{"name":"(anonymous_9)","line":327,"loc":{"start":{"line":327,"column":24},"end":{"line":327,"column":35}}},"10":{"name":"(anonymous_10)","line":342,"loc":{"start":{"line":342,"column":32},"end":{"line":342,"column":43}}},"11":{"name":"(anonymous_11)","line":357,"loc":{"start":{"line":357,"column":34},"end":{"line":357,"column":45}}},"12":{"name":"(anonymous_12)","line":372,"loc":{"start":{"line":372,"column":23},"end":{"line":372,"column":35}}},"13":{"name":"(anonymous_13)","line":390,"loc":{"start":{"line":390,"column":29},"end":{"line":390,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":433,"column":102}},"2":{"start":{"line":9,"column":0},"end":{"line":11,"column":26}},"3":{"start":{"line":13,"column":4},"end":{"line":13,"column":41}},"4":{"start":{"line":14,"column":4},"end":{"line":14,"column":43}},"5":{"start":{"line":32,"column":0},"end":{"line":428,"column":3}},"6":{"start":{"line":119,"column":16},"end":{"line":119,"column":45}},"7":{"start":{"line":178,"column":12},"end":{"line":178,"column":32}},"8":{"start":{"line":180,"column":12},"end":{"line":180,"column":30}},"9":{"start":{"line":182,"column":12},"end":{"line":182,"column":35}},"10":{"start":{"line":192,"column":12},"end":{"line":192,"column":32}},"11":{"start":{"line":194,"column":12},"end":{"line":194,"column":46}},"12":{"start":{"line":196,"column":12},"end":{"line":196,"column":42}},"13":{"start":{"line":198,"column":12},"end":{"line":198,"column":68}},"14":{"start":{"line":200,"column":12},"end":{"line":207,"column":13}},"15":{"start":{"line":201,"column":16},"end":{"line":206,"column":18}},"16":{"start":{"line":217,"column":12},"end":{"line":217,"column":32}},"17":{"start":{"line":219,"column":12},"end":{"line":219,"column":50}},"18":{"start":{"line":220,"column":12},"end":{"line":220,"column":50}},"19":{"start":{"line":222,"column":12},"end":{"line":228,"column":13}},"20":{"start":{"line":223,"column":16},"end":{"line":223,"column":56}},"21":{"start":{"line":225,"column":16},"end":{"line":225,"column":100}},"22":{"start":{"line":227,"column":16},"end":{"line":227,"column":43}},"23":{"start":{"line":230,"column":12},"end":{"line":232,"column":13}},"24":{"start":{"line":231,"column":16},"end":{"line":231,"column":43}},"25":{"start":{"line":243,"column":12},"end":{"line":243,"column":32}},"26":{"start":{"line":245,"column":12},"end":{"line":245,"column":65}},"27":{"start":{"line":260,"column":12},"end":{"line":260,"column":32}},"28":{"start":{"line":262,"column":12},"end":{"line":262,"column":46}},"29":{"start":{"line":264,"column":12},"end":{"line":264,"column":36}},"30":{"start":{"line":266,"column":12},"end":{"line":295,"column":13}},"31":{"start":{"line":267,"column":16},"end":{"line":267,"column":58}},"32":{"start":{"line":268,"column":16},"end":{"line":268,"column":40}},"33":{"start":{"line":270,"column":16},"end":{"line":270,"column":76}},"34":{"start":{"line":272,"column":16},"end":{"line":272,"column":35}},"35":{"start":{"line":274,"column":16},"end":{"line":288,"column":17}},"36":{"start":{"line":275,"column":20},"end":{"line":275,"column":59}},"37":{"start":{"line":276,"column":20},"end":{"line":276,"column":61}},"38":{"start":{"line":278,"column":20},"end":{"line":278,"column":83}},"39":{"start":{"line":280,"column":20},"end":{"line":280,"column":59}},"40":{"start":{"line":282,"column":20},"end":{"line":282,"column":37}},"41":{"start":{"line":284,"column":20},"end":{"line":284,"column":54}},"42":{"start":{"line":285,"column":20},"end":{"line":285,"column":56}},"43":{"start":{"line":287,"column":20},"end":{"line":287,"column":40}},"44":{"start":{"line":290,"column":16},"end":{"line":290,"column":34}},"45":{"start":{"line":292,"column":16},"end":{"line":294,"column":17}},"46":{"start":{"line":293,"column":20},"end":{"line":293,"column":47}},"47":{"start":{"line":297,"column":12},"end":{"line":297,"column":31}},"48":{"start":{"line":309,"column":12},"end":{"line":309,"column":56}},"49":{"start":{"line":311,"column":12},"end":{"line":311,"column":39}},"50":{"start":{"line":313,"column":12},"end":{"line":315,"column":13}},"51":{"start":{"line":314,"column":16},"end":{"line":314,"column":53}},"52":{"start":{"line":317,"column":12},"end":{"line":317,"column":53}},"53":{"start":{"line":328,"column":12},"end":{"line":328,"column":32}},"54":{"start":{"line":330,"column":12},"end":{"line":332,"column":13}},"55":{"start":{"line":331,"column":16},"end":{"line":331,"column":39}},"56":{"start":{"line":343,"column":12},"end":{"line":343,"column":32}},"57":{"start":{"line":345,"column":12},"end":{"line":345,"column":47}},"58":{"start":{"line":347,"column":12},"end":{"line":347,"column":35}},"59":{"start":{"line":358,"column":12},"end":{"line":358,"column":32}},"60":{"start":{"line":360,"column":12},"end":{"line":360,"column":46}},"61":{"start":{"line":373,"column":12},"end":{"line":373,"column":32}},"62":{"start":{"line":375,"column":12},"end":{"line":375,"column":46}},"63":{"start":{"line":377,"column":12},"end":{"line":379,"column":13}},"64":{"start":{"line":378,"column":16},"end":{"line":378,"column":42}},"65":{"start":{"line":381,"column":12},"end":{"line":381,"column":21}},"66":{"start":{"line":391,"column":12},"end":{"line":391,"column":32}},"67":{"start":{"line":393,"column":12},"end":{"line":401,"column":14}},"68":{"start":{"line":403,"column":12},"end":{"line":403,"column":58}},"69":{"start":{"line":405,"column":12},"end":{"line":405,"column":51}},"70":{"start":{"line":407,"column":12},"end":{"line":425,"column":13}},"71":{"start":{"line":408,"column":16},"end":{"line":408,"column":52}},"72":{"start":{"line":409,"column":16},"end":{"line":409,"column":48}},"73":{"start":{"line":411,"column":16},"end":{"line":424,"column":18}},"74":{"start":{"line":430,"column":0},"end":{"line":430,"column":28}}},"branchMap":{"1":{"line":200,"type":"if","locations":[{"start":{"line":200,"column":12},"end":{"line":200,"column":12}},{"start":{"line":200,"column":12},"end":{"line":200,"column":12}}]},"2":{"line":222,"type":"if","locations":[{"start":{"line":222,"column":12},"end":{"line":222,"column":12}},{"start":{"line":222,"column":12},"end":{"line":222,"column":12}}]},"3":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":12},"end":{"line":230,"column":12}},{"start":{"line":230,"column":12},"end":{"line":230,"column":12}}]},"4":{"line":266,"type":"if","locations":[{"start":{"line":266,"column":12},"end":{"line":266,"column":12}},{"start":{"line":266,"column":12},"end":{"line":266,"column":12}}]},"5":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":16},"end":{"line":274,"column":16}},{"start":{"line":274,"column":16},"end":{"line":274,"column":16}}]},"6":{"line":292,"type":"if","locations":[{"start":{"line":292,"column":16},"end":{"line":292,"column":16}},{"start":{"line":292,"column":16},"end":{"line":292,"column":16}}]},"7":{"line":313,"type":"if","locations":[{"start":{"line":313,"column":12},"end":{"line":313,"column":12}},{"start":{"line":313,"column":12},"end":{"line":313,"column":12}}]},"8":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":12},"end":{"line":330,"column":12}},{"start":{"line":330,"column":12},"end":{"line":330,"column":12}}]},"9":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":12},"end":{"line":377,"column":12}},{"start":{"line":377,"column":12},"end":{"line":377,"column":12}}]},"10":{"line":377,"type":"binary-expr","locations":[{"start":{"line":377,"column":16},"end":{"line":377,"column":21}},{"start":{"line":377,"column":26},"end":{"line":377,"column":38}}]},"11":{"line":407,"type":"if","locations":[{"start":{"line":407,"column":12},"end":{"line":407,"column":12}},{"start":{"line":407,"column":12},"end":{"line":407,"column":12}}]}},"code":["(function () { YUI.add('aui-char-counter', function (A, NAME) {","","/**"," * The CharCounter Utility"," *"," * @module aui-char-counter"," */","","var L = A.Lang,"," isNumber = L.isNumber,"," isString = L.isString;",""," A.Node.DOM_EVENTS.compositionend = 1;"," A.Node.DOM_EVENTS.compositionstart = 1;","","/**"," * A base class for CharCounter, providing:"," *"," * - Limit the number of characters allowed in an input box"," * - Display the number of characters left"," *"," * Check the [live demo](http://alloyui.com/examples/char-counter/)."," *"," * @class A.CharCounter"," * @extends Base"," * @param {Object} config Object literal specifying widget configuration"," * properties."," * @constructor"," * @include http://alloyui.com/examples/char-counter/basic-markup.html"," * @include http://alloyui.com/examples/char-counter/basic.js"," */","var CharCounter = A.Component.create({"," /**"," * Static property provides a string to identify the class."," *"," * @property NAME"," * @type String"," * @static"," */"," NAME: 'char-counter',",""," /**"," * Static property used to define the default attribute"," * configuration for the CharCounter."," *"," * @property ATTRS"," * @type Object"," * @static"," */"," ATTRS: {"," /**"," * ARIA atomic attribute that describes assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute."," *"," * @attribute atomic"," * @default true"," * @type {Boolean}"," */"," atomic: {"," value: true"," },",""," /**"," * Node or Selector to display the information of the counter."," *"," * @attribute counter"," * @default null"," * @type {Node | String}"," */"," counter: {"," setter: A.one"," },",""," /**"," * ARIA describedby attribute that describes the current element."," *"," * @attribute describedby"," * @default ''"," * @type {String}"," */"," describedby: {"," value: ''"," },",""," /**"," * Node or Selector for the input field. Required."," *"," * @attribute input"," * @default null"," * @type {Node | String}"," */"," input: {"," setter: A.one"," },",""," /**"," * ARIA live attribute to help assistive technology properly read updates"," * to the number of characters remaining."," *"," * @attribute live"," * @default 'polite'"," * @type {String}"," */"," live: {"," validator: isString,"," value: 'polite'"," },",""," /**"," * Max number of characters the [input](A.CharCounter.html#attr_input)"," * can have."," *"," * @attribute maxLength"," * @default Infinity"," * @type Number"," */"," maxLength: {"," lazyAdd: false,"," setter: function(v) {"," return this._setMaxLength(v);"," },"," validator: isNumber,"," value: Infinity"," },",""," /**"," * Boolean indicating if use of the WAI-ARIA Roles and States"," * should be enabled."," *"," * @attribute useARIA"," * @default true"," * @type Boolean"," */"," useARIA: {"," value: true,"," validator: L.isBoolean,"," writeOnce: 'initOnly'"," }"," },",""," /**"," * Static property used to define which component it extends."," *"," * @property EXTENDS"," * @type Object"," * @static"," */"," EXTENDS: A.Base,",""," prototype: {",""," /**"," * Holds the event handles for any bind event from the internal"," * implementation."," *"," * @property _eventHandles"," * @type {Array}"," * @protected"," */"," _eventHandles: null,",""," /**"," * Tracks whether input is being manipulated by an IME tool."," *"," * @property _inputComposition"," * @type {Boolean}"," * @protected"," */"," _inputComposition: false,",""," /**"," * Construction logic executed during CharCounter instantiation."," * Lifecycle."," *"," * @method initializer"," * @protected"," */"," initializer: function() {"," var instance = this;",""," instance.bindUI();",""," instance.checkLength();"," },",""," /**"," * Bind the events on the CharCounter UI. Lifecycle."," *"," * @method bindUI"," * @protected"," */"," bindUI: function() {"," var instance = this;",""," var input = instance.get('input');",""," instance.publish('maxLength');",""," instance.after('maxLengthChange', instance.checkLength);",""," if (input) {"," instance._eventHandles = ["," input.on('compositionend', A.bind(instance._onInputCompositionEnd, instance)),"," input.on('compositionstart', A.bind(instance._onInputCompositionStart, instance)),"," // use cross browser input-handler event"," input.on('input', A.bind(instance._onInputChange, instance))"," ];"," }"," },",""," /**"," * Sync the CharCounter UI. Lifecycle."," *"," * @method syncUI"," * @protected"," */"," syncUI: function() {"," var instance = this;",""," var counter = instance.get('counter');"," var useAria = instance.get('useARIA');",""," if (counter) {"," var value = instance.get('input').val();",""," var counterValue = instance.get('maxLength') - instance._getNormalizedLength(value);",""," counter.html(counterValue);"," }",""," if (useAria) {"," this._syncAriaControlsUI();"," }"," },",""," /**"," * Destructor lifecycle implementation for the `CharCounter` class."," * Purges events attached to the node (and all child nodes)."," *"," * @method destroy"," * @protected"," */"," destroy: function() {"," var instance = this;",""," (new A.EventHandle(instance._eventHandles)).detach();"," },",""," /**"," * Check the current value of the"," * [input](A.CharCounter.html#attr_input), truncate the data if needed,"," * and re-sync the UI. Fired from"," * [_onInputChange](A.CharCounter.html#method__onInputChange)."," *"," * @method checkLength"," * @return {Boolean | String} Returns the final value if it was changed."," * Otherwise returns either true, when the input value was checked, or"," * false if there was no input to check the value for."," */"," checkLength: function() {"," var instance = this;",""," var input = instance.get('input');",""," var returnValue = false;",""," if (input) {"," var maxLength = instance.get('maxLength');"," var value = input.val();",""," var normalizedLength = instance._getNormalizedLength(value);",""," returnValue = true;",""," if (normalizedLength > maxLength) {"," var scrollTop = input.get('scrollTop');"," var scrollLeft = input.get('scrollLeft');",""," var trimLength = maxLength - (normalizedLength - value.length);",""," value = value.substring(0, trimLength);",""," input.val(value);",""," input.set('scrollTop', scrollTop);"," input.set('scrollLeft', scrollLeft);",""," returnValue = value;"," }",""," instance.syncUI();",""," if (normalizedLength >= maxLength) {"," instance.fire('maxLength');"," }"," }",""," return returnValue;"," },",""," /**"," * Normalize reported length between browsers."," *"," * @method _getNormalizedLength"," * @param {String} value."," * @protected"," * @return {Number}"," */"," _getNormalizedLength: function(value) {"," var newLines = value.match(/(\\r\\n|\\n|\\r)/g);",""," var newLinesCorrection = 0;",""," if (newLines !== null) {"," newLinesCorrection = newLines.length;"," }",""," return value.length + newLinesCorrection;"," },",""," /**"," * Fired on input value change."," *"," * @method _onInputChange"," * @param {EventFacade} event"," * @protected"," */"," _onInputChange: function() {"," var instance = this;",""," if (!instance._inputComposition) {"," instance.checkLength();"," }"," },",""," /**"," * Fired on input when `compositionend` event occurs."," *"," * @method _onInputCompositionEnd"," * @param {EventFacade} event"," * @protected"," */"," _onInputCompositionEnd: function() {"," var instance = this;",""," instance._inputComposition = false;",""," instance.checkLength();"," },",""," /**"," * Fired on input when `compositionstart` event occurs."," *"," * @method _onInputCompositionStart"," * @param {EventFacade} event"," * @protected"," */"," _onInputCompositionStart: function() {"," var instance = this;",""," instance._inputComposition = true;"," },",""," /**"," * Setter for [maxLength](A.CharCounter.html#attr_maxLength)."," *"," * @method _setMaxLength"," * @param {Number} v Value of the new"," * [maxLength](A.CharCounter.html#attr_maxLength)."," * @protected"," * @return {Number}"," */"," _setMaxLength: function(v) {"," var instance = this;",""," var input = instance.get('input');",""," if (input && (v < Infinity)) {"," input.set('maxLength', v);"," }",""," return v;"," },",""," /**"," * Updates the aria attribute for the component."," *"," * @method _syncAriaControlsUI"," * @protected"," */"," _syncAriaControlsUI: function() {"," var instance = this;",""," instance.plug("," A.Plugin.Aria,"," {"," attributes: {"," describedby: 'describedby',"," },"," attributeNode: instance.get('input')"," }"," );",""," var describedBy = instance.get('describedby');",""," describedBy = A.one('#' + describedBy);",""," if (describedBy) {"," var atomic = instance.get('atomic');"," var live = instance.get('live');",""," this.aria.setAttributes("," ["," {"," name: 'atomic',"," node: describedBy,"," value: atomic"," },"," {"," name: 'live',"," node: describedBy,"," value: live"," }"," ]"," );"," }"," }"," }","});","","A.CharCounter = CharCounter;","","","}, '3.1.0-deprecated.52', {\"requires\": [\"aui-aria\", \"aui-node\", \"aui-event-input\", \"aui-component\"]});","","}());"]};
+}
+var __cov_NELhfFunw1OpDtGWV8fO0g = __coverage__['build/aui-char-counter/aui-char-counter.js'];
+__cov_NELhfFunw1OpDtGWV8fO0g.s['1']++;YUI.add('aui-char-counter',function(A,NAME){__cov_NELhfFunw1OpDtGWV8fO0g.f['1']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['2']++;var L=A.Lang,isNumber=L.isNumber,isString=L.isString;__cov_NELhfFunw1OpDtGWV8fO0g.s['3']++;A.Node.DOM_EVENTS.compositionend=1;__cov_NELhfFunw1OpDtGWV8fO0g.s['4']++;A.Node.DOM_EVENTS.compositionstart=1;__cov_NELhfFunw1OpDtGWV8fO0g.s['5']++;var CharCounter=A.Component.create({NAME:'char-counter',ATTRS:{atomic:{value:true},counter:{setter:A.one},describedby:{value:''},input:{setter:A.one},live:{validator:isString,value:'polite'},maxLength:{lazyAdd:false,setter:function(v){__cov_NELhfFunw1OpDtGWV8fO0g.f['2']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['6']++;return this._setMaxLength(v);},validator:isNumber,value:Infinity},useARIA:{value:true,validator:L.isBoolean,writeOnce:'initOnly'}},EXTENDS:A.Base,prototype:{_eventHandles:null,_inputComposition:false,initializer:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['3']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['7']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['8']++;instance.bindUI();__cov_NELhfFunw1OpDtGWV8fO0g.s['9']++;instance.checkLength();},bindUI:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['4']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['10']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['11']++;var input=instance.get('input');__cov_NELhfFunw1OpDtGWV8fO0g.s['12']++;instance.publish('maxLength');__cov_NELhfFunw1OpDtGWV8fO0g.s['13']++;instance.after('maxLengthChange',instance.checkLength);__cov_NELhfFunw1OpDtGWV8fO0g.s['14']++;if(input){__cov_NELhfFunw1OpDtGWV8fO0g.b['1'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['15']++;instance._eventHandles=[input.on('compositionend',A.bind(instance._onInputCompositionEnd,instance)),input.on('compositionstart',A.bind(instance._onInputCompositionStart,instance)),input.on('input',A.bind(instance._onInputChange,instance))];}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['1'][1]++;}},syncUI:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['5']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['16']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['17']++;var counter=instance.get('counter');__cov_NELhfFunw1OpDtGWV8fO0g.s['18']++;var useAria=instance.get('useARIA');__cov_NELhfFunw1OpDtGWV8fO0g.s['19']++;if(counter){__cov_NELhfFunw1OpDtGWV8fO0g.b['2'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['20']++;var value=instance.get('input').val();__cov_NELhfFunw1OpDtGWV8fO0g.s['21']++;var counterValue=instance.get('maxLength')-instance._getNormalizedLength(value);__cov_NELhfFunw1OpDtGWV8fO0g.s['22']++;counter.html(counterValue);}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['2'][1]++;}__cov_NELhfFunw1OpDtGWV8fO0g.s['23']++;if(useAria){__cov_NELhfFunw1OpDtGWV8fO0g.b['3'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['24']++;this._syncAriaControlsUI();}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['3'][1]++;}},destroy:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['6']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['25']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['26']++;new A.EventHandle(instance._eventHandles).detach();},checkLength:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['7']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['27']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['28']++;var input=instance.get('input');__cov_NELhfFunw1OpDtGWV8fO0g.s['29']++;var returnValue=false;__cov_NELhfFunw1OpDtGWV8fO0g.s['30']++;if(input){__cov_NELhfFunw1OpDtGWV8fO0g.b['4'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['31']++;var maxLength=instance.get('maxLength');__cov_NELhfFunw1OpDtGWV8fO0g.s['32']++;var value=input.val();__cov_NELhfFunw1OpDtGWV8fO0g.s['33']++;var normalizedLength=instance._getNormalizedLength(value);__cov_NELhfFunw1OpDtGWV8fO0g.s['34']++;returnValue=true;__cov_NELhfFunw1OpDtGWV8fO0g.s['35']++;if(normalizedLength>maxLength){__cov_NELhfFunw1OpDtGWV8fO0g.b['5'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['36']++;var scrollTop=input.get('scrollTop');__cov_NELhfFunw1OpDtGWV8fO0g.s['37']++;var scrollLeft=input.get('scrollLeft');__cov_NELhfFunw1OpDtGWV8fO0g.s['38']++;var trimLength=maxLength-(normalizedLength-value.length);__cov_NELhfFunw1OpDtGWV8fO0g.s['39']++;value=value.substring(0,trimLength);__cov_NELhfFunw1OpDtGWV8fO0g.s['40']++;input.val(value);__cov_NELhfFunw1OpDtGWV8fO0g.s['41']++;input.set('scrollTop',scrollTop);__cov_NELhfFunw1OpDtGWV8fO0g.s['42']++;input.set('scrollLeft',scrollLeft);__cov_NELhfFunw1OpDtGWV8fO0g.s['43']++;returnValue=value;}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['5'][1]++;}__cov_NELhfFunw1OpDtGWV8fO0g.s['44']++;instance.syncUI();__cov_NELhfFunw1OpDtGWV8fO0g.s['45']++;if(normalizedLength>=maxLength){__cov_NELhfFunw1OpDtGWV8fO0g.b['6'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['46']++;instance.fire('maxLength');}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['6'][1]++;}}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['4'][1]++;}__cov_NELhfFunw1OpDtGWV8fO0g.s['47']++;return returnValue;},_getNormalizedLength:function(value){__cov_NELhfFunw1OpDtGWV8fO0g.f['8']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['48']++;var newLines=value.match(/(\r\n|\n|\r)/g);__cov_NELhfFunw1OpDtGWV8fO0g.s['49']++;var newLinesCorrection=0;__cov_NELhfFunw1OpDtGWV8fO0g.s['50']++;if(newLines!==null){__cov_NELhfFunw1OpDtGWV8fO0g.b['7'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['51']++;newLinesCorrection=newLines.length;}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['7'][1]++;}__cov_NELhfFunw1OpDtGWV8fO0g.s['52']++;return value.length+newLinesCorrection;},_onInputChange:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['9']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['53']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['54']++;if(!instance._inputComposition){__cov_NELhfFunw1OpDtGWV8fO0g.b['8'][0]++;__cov_NELhfFunw1OpDtGWV8fO0g.s['55']++;instance.checkLength();}else{__cov_NELhfFunw1OpDtGWV8fO0g.b['8'][1]++;}},_onInputCompositionEnd:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['10']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['56']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['57']++;instance._inputComposition=false;__cov_NELhfFunw1OpDtGWV8fO0g.s['58']++;instance.checkLength();},_onInputCompositionStart:function(){__cov_NELhfFunw1OpDtGWV8fO0g.f['11']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['59']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['60']++;instance._inputComposition=true;},_setMaxLength:function(v){__cov_NELhfFunw1OpDtGWV8fO0g.f['12']++;__cov_NELhfFunw1OpDtGWV8fO0g.s['61']++;var instance=this;__cov_NELhfFunw1OpDtGWV8fO0g.s['62']++;var input=instance.get('input');__cov_NELhfFunw1OpDtGWV8fO0g.s['63']++;if((__cov_NELhfFunw1OpDtGWV8fO0g.b['10'][0]++,input)&&(__cov_NELhfFunw1OpDtGWV8fO0g.b['10'][1]++,v maxLength) {
+ var scrollTop = input.get('scrollTop');
+ var scrollLeft = input.get('scrollLeft');
+
+ var trimLength = maxLength - (normalizedLength - value.length);
+
+ value = value.substring(0, trimLength);
+
+ input.val(value);
+
+ input.set('scrollTop', scrollTop);
+ input.set('scrollLeft', scrollLeft);
+
+ returnValue = value;
+ }
+
+ instance.syncUI();
+
+ if (normalizedLength >= maxLength) {
+ instance.fire('maxLength');
+ }
+ }
+
+ return returnValue;
+ },
+
+ /**
+ * Normalize reported length between browsers.
+ *
+ * @method _getNormalizedLength
+ * @param {String} value.
+ * @protected
+ * @return {Number}
+ */
+ _getNormalizedLength: function(value) {
+ var newLines = value.match(/(\r\n|\n|\r)/g);
+
+ var newLinesCorrection = 0;
+
+ if (newLines !== null) {
+ newLinesCorrection = newLines.length;
+ }
+
+ return value.length + newLinesCorrection;
+ },
+
+ /**
+ * Fired on input value change.
+ *
+ * @method _onInputChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputChange: function() {
+ var instance = this;
+
+ if (!instance._inputComposition) {
+ instance.checkLength();
+ }
+ },
+
+ /**
+ * Fired on input when `compositionend` event occurs.
+ *
+ * @method _onInputCompositionEnd
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputCompositionEnd: function() {
+ var instance = this;
+
+ instance._inputComposition = false;
+
+ instance.checkLength();
+ },
+
+ /**
+ * Fired on input when `compositionstart` event occurs.
+ *
+ * @method _onInputCompositionStart
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputCompositionStart: function() {
+ var instance = this;
+
+ instance._inputComposition = true;
+ },
+
+ /**
+ * Setter for [maxLength](A.CharCounter.html#attr_maxLength).
+ *
+ * @method _setMaxLength
+ * @param {Number} v Value of the new
+ * [maxLength](A.CharCounter.html#attr_maxLength).
+ * @protected
+ * @return {Number}
+ */
+ _setMaxLength: function(v) {
+ var instance = this;
+
+ var input = instance.get('input');
+
+ if (input && (v < Infinity)) {
+ input.set('maxLength', v);
+ }
+
+ return v;
+ },
+
+ /**
+ * Updates the aria attribute for the component.
+ *
+ * @method _syncAriaControlsUI
+ * @protected
+ */
+ _syncAriaControlsUI: function() {
+ var instance = this;
+
+ instance.plug(
+ A.Plugin.Aria,
+ {
+ attributes: {
+ describedby: 'describedby',
+ },
+ attributeNode: instance.get('input')
+ }
+ );
+
+ var describedBy = instance.get('describedby');
+
+ describedBy = A.one('#' + describedBy);
+
+ if (describedBy) {
+ var atomic = instance.get('atomic');
+ var live = instance.get('live');
+
+ this.aria.setAttributes(
+ [
+ {
+ name: 'atomic',
+ node: describedBy,
+ value: atomic
+ },
+ {
+ name: 'live',
+ node: describedBy,
+ value: live
+ }
+ ]
+ );
+ }
+ }
+ }
+});
+
+A.CharCounter = CharCounter;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-aria", "aui-node", "aui-event-input", "aui-component"]});
diff --git a/build/aui-char-counter/aui-char-counter-min.js b/build/aui-char-counter/aui-char-counter-min.js
new file mode 100644
index 00000000000..355ac5e05f1
--- /dev/null
+++ b/build/aui-char-counter/aui-char-counter-min.js
@@ -0,0 +1 @@
+YUI.add("aui-char-counter",function(e,t){var n=e.Lang,r=n.isNumber,i=n.isString;e.Node.DOM_EVENTS.compositionend=1,e.Node.DOM_EVENTS.compositionstart=1;var s=e.Component.create({NAME:"char-counter",ATTRS:{atomic:{value:!0},counter:{setter:e.one},describedby:{value:""},input:{setter:e.one},live:{validator:i,value:"polite"},maxLength:{lazyAdd:!1,setter:function(e){return this._setMaxLength(e)},validator:r,value:Infinity},useARIA:{value:!0,validator:n.isBoolean,writeOnce:"initOnly"}},EXTENDS:e.Base,prototype:{_eventHandles:null,_inputComposition:!1,initializer:function(){var e=this;e.bindUI(),e.checkLength()},bindUI:function(){var t=this,n=t.get("input");t.publish("maxLength"),t.after("maxLengthChange",t.checkLength),n&&(t._eventHandles=[n.on("compositionend",e.bind(t._onInputCompositionEnd,t)),n.on("compositionstart",e.bind(t._onInputCompositionStart,t)),n.on("input",e.bind(t._onInputChange,t))])},syncUI:function(){var e=this,t=e.get("counter"),n=e.get("useARIA");if(t){var r=e.get("input").val(),i=e.get("maxLength")-e._getNormalizedLength(r);t.html(i)}n&&this._syncAriaControlsUI()},destroy:function(){var t=this;(new e.EventHandle(t._eventHandles)).detach()},checkLength:function(){var e=this,t=e.get("input"),n=!1;if(t){var r=e.get("maxLength"),i=t.val(),s=e._getNormalizedLength(i);n=!0;if(s>r){var o=t.get("scrollTop"),u=t.get("scrollLeft"),a=r-(s-i.length);i=i.substring(0,a),t.val(i),t.set("scrollTop",o),t.set("scrollLeft",u),n=i}e.syncUI(),s>=r&&e.fire("maxLength")}return n},_getNormalizedLength:function(e){var t=e.match(/(\r\n|\n|\r)/g),n=0;return t!==null&&(n=t.length),e.length+n},_onInputChange:function(){var e=this;e._inputComposition||e.checkLength()},_onInputCompositionEnd:function(){var e=this;e._inputComposition=!1,e.checkLength()},_onInputCompositionStart:function(){var e=this;e._inputComposition=!0},_setMaxLength:function(e){var t=this,n=t.get("input");return n&&e maxLength) {
+ var scrollTop = input.get('scrollTop');
+ var scrollLeft = input.get('scrollLeft');
+
+ var trimLength = maxLength - (normalizedLength - value.length);
+
+ value = value.substring(0, trimLength);
+
+ input.val(value);
+
+ input.set('scrollTop', scrollTop);
+ input.set('scrollLeft', scrollLeft);
+
+ returnValue = value;
+ }
+
+ instance.syncUI();
+
+ if (normalizedLength >= maxLength) {
+ instance.fire('maxLength');
+ }
+ }
+
+ return returnValue;
+ },
+
+ /**
+ * Normalize reported length between browsers.
+ *
+ * @method _getNormalizedLength
+ * @param {String} value.
+ * @protected
+ * @return {Number}
+ */
+ _getNormalizedLength: function(value) {
+ var newLines = value.match(/(\r\n|\n|\r)/g);
+
+ var newLinesCorrection = 0;
+
+ if (newLines !== null) {
+ newLinesCorrection = newLines.length;
+ }
+
+ return value.length + newLinesCorrection;
+ },
+
+ /**
+ * Fired on input value change.
+ *
+ * @method _onInputChange
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputChange: function() {
+ var instance = this;
+
+ if (!instance._inputComposition) {
+ instance.checkLength();
+ }
+ },
+
+ /**
+ * Fired on input when `compositionend` event occurs.
+ *
+ * @method _onInputCompositionEnd
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputCompositionEnd: function() {
+ var instance = this;
+
+ instance._inputComposition = false;
+
+ instance.checkLength();
+ },
+
+ /**
+ * Fired on input when `compositionstart` event occurs.
+ *
+ * @method _onInputCompositionStart
+ * @param {EventFacade} event
+ * @protected
+ */
+ _onInputCompositionStart: function() {
+ var instance = this;
+
+ instance._inputComposition = true;
+ },
+
+ /**
+ * Setter for [maxLength](A.CharCounter.html#attr_maxLength).
+ *
+ * @method _setMaxLength
+ * @param {Number} v Value of the new
+ * [maxLength](A.CharCounter.html#attr_maxLength).
+ * @protected
+ * @return {Number}
+ */
+ _setMaxLength: function(v) {
+ var instance = this;
+
+ var input = instance.get('input');
+
+ if (input && (v < Infinity)) {
+ input.set('maxLength', v);
+ }
+
+ return v;
+ },
+
+ /**
+ * Updates the aria attribute for the component.
+ *
+ * @method _syncAriaControlsUI
+ * @protected
+ */
+ _syncAriaControlsUI: function() {
+ var instance = this;
+
+ instance.plug(
+ A.Plugin.Aria,
+ {
+ attributes: {
+ describedby: 'describedby',
+ },
+ attributeNode: instance.get('input')
+ }
+ );
+
+ var describedBy = instance.get('describedby');
+
+ describedBy = A.one('#' + describedBy);
+
+ if (describedBy) {
+ var atomic = instance.get('atomic');
+ var live = instance.get('live');
+
+ this.aria.setAttributes(
+ [
+ {
+ name: 'atomic',
+ node: describedBy,
+ value: atomic
+ },
+ {
+ name: 'live',
+ node: describedBy,
+ value: live
+ }
+ ]
+ );
+ }
+ }
+ }
+});
+
+A.CharCounter = CharCounter;
+
+
+}, '3.1.0-deprecated.52', {"requires": ["aui-aria", "aui-node", "aui-event-input", "aui-component"]});
diff --git a/build/aui-chart-deprecated/assets/chart.swf b/build/aui-chart-deprecated/assets/chart.swf
new file mode 100644
index 0000000000000000000000000000000000000000..2dfc91874f7d8b7dcd903bc3623a20c3c587e972
GIT binary patch
literal 81321
zcmV)XK&`(+S5ph;nF0WK+N6C4U>ilczjn3KXjjcGwqggOP%b2-0>>Rbj+|pViNFn8
zCWM2hQ|z^^Lza9hNzA?bKRN_L?=|#Zj@}8q6MFBx_jdGU9Ds}&b_DPH}lOm
zWv71gP1*G-hw`?=5xB_V2uY5X%E=Cg-QY$IHMoIaGx
zjWo`kyK?2qIV-oHlgb1+TUj-I+D*Md6NBobM>S?tfz9>x%21DM?(F5jRWb-a6Gq5
zd}Jh<=!;Wwb63sI4yF6{T^V1Y&mKs|vqL-2Ed-=ExkN6h@6yztUap51CG}O|9l}k8
z_&l@-LV^1W8QsNJ%s9oK)0ZBeJCaHF=lhVS0VKsE+oMntBl+dYM0QBe?2=FIn@X<~
zk0@{{OkYNi=hDR?Odk0s9qVeY
zKSg$c;~2=qhxPf63dbDBE)L11ZHFW_1l=&0ymS8|Hg(Eon|~&ME;|*E>fL|;U)Z{@
ztNm;w$CU(iwzq0Q)9OQm-|GV4|9Ce2K=jV=bU%BBMcF=}(?)wfuPJZq38|4iz
zyyH6N@&lZ|{`9!>^fOL#opHmh$`8Nnubg(>`^ts`eqo24be?kK&mX%!eeE{(<_70o
z8=S9faNf7U`SJ$mh7HaaH#lF~;5_2`ONRE}|I|M{efYVLD9;{v+#||;XP)$k;;0v;
z`|*Dse~f;gE^rvXzt>!~_^tg8Ua&p?y<_m-T<}GF$u(W`zhCf3y8XDTKKORQWtGV<
zmOuIRf*wCFz_;Sw8(UAif89?lXK%I7_Rp=`YWc2P
zJ@x3z>qb^SpStbI>(}Ag52-WXYC_M52SFPcQYzFqK2(9iq#oc=_1BpDy|
zw+Op)`Cs+EoI_cWPV~Eba+ySG&@FgA5nf+GgUHoNmb)WAyj;(?nlhRAs56nuh0&?!
zjK+u3={fOiE)$C_DBg!*FskH{J7+wZ^di;acnZBgll4ayrTg;PcHyjy
zq;h%&!4oTVQDR0pNN03!Z=^XrJd#e~ah^r_R3D86jmPC#@b9LNE>FiZ{oGY;6fu(1
zhr9Juzn;-E8!1~-A4H%)8@DJC7Ys6RDht(enS<+D0>P_PTxeQbmrP1s?Bbh`_
zcOl(DUF}9qL7*gcl`_H~QX6STUiEAu&a-INg4&hPMcrtH;(B={r*fHeGV5NL&*jpo
z+M>SL49|EXrDrCOTPf}c?;8Gy{b_!3w8fX}NvcuRss=5Z7}iCX^DNH9M}`u8Sp`9K
zuP8U~KkCBKoX)$o(e1ONS!CAVmX0HF$`Vze@Ji`9t+%_aTmM^L&*my9mqNnx`ax2O
zoES(NsNwhsWyeFABciUfP{w#P!cxsoDWph)D4tC0#|tv&ui11;-LEA$eBzJ1~AXAT!acpatSb*iXG4O4e>`u
z)4N)EslqrO)VtA{_S20l)nxR6jGi5`66}GWFW%p;_ZuPHV$yN(?&0DNB{w>vyTxd8
zi|!YQ38&HBloS&47qL7s&x04_PBzP
zEn!q4#FBI-u^$brq+n&ouqd59^h^$#P0~uIh*4XV4t3}#X+E{tvg{gLdIe^-46|}f
z0>P4CRYrlMi4jvA(^EyO@*!`s=>Zt6G_n$@JrerLk#r`fg4vTBP3l>XNzoI8Xc8Wk
zywP~qG`iFz&LN3qA06mI7`A*iBCq;FpjCLJJ!C~8&*Bk&8YC!;a0RXW3wLcvh8B)S
zAl6oG#`QW~be}?xGG@8@LT4mFWzT+vh}a&_?5k&b_D!U;k$5JHF_}zf0(e%0WL4`b
zs-8ewdJyxW*=ME{i;iN?YGaCQv`vw01?E=Ny=VJ5^YCx}Z@mLFRYv0(bb;EUIoFEg
zhp5K9+m+E*ppiVNKrZ?M31b=;mEg;wdUd0QD$p5{ZOBKaUC#}r`?Fe0g131*Gm3aC
zAah8IU6hPt)at4D@}%DHHTX*)x4roU&kD_7Y9h;Nz26_>nQax}t75~{w2N#kcWh;%
zKR3i;LwaIxC@05O$+1xlxyehN-4K-LHFN>12PTy_M5kbT-HH2%yDK
zz!9AqZ?Yv^BPOdy&*dOuCNI~q04a#it~e>sD0em#AIRA%vEads@{)id;ppOdc8e@)
zebBrzyb?WwM*mla(<^jol{D(kqFVJmg|$p2e?es}%H-{7@%CgZ64?YE=rwD-BfU~9
zv;lRno{VPjriO*L(L>b!OnfExrLiiAL4%-a#;80wLrM=P6Xnp;*Im&A&Dl{EoT1^e+hJyXYGPycA
zRv^3jlIW||37c{pO>@y!MLf_pAGdh!^a(R)EGmY%bjwx>J5m_y?ideW7aRKw^7hB<
z`SIBu{+PYczL>4l6|s`?*2KybxFVy|*lJ29h3w4+4DH2m1{2wKdv+@d!$$A}#m-5h
zaNX%-vU7!QiuW2D*Xl1-g4vu*^zCb~LW0$j&SRw6Jt`vwm0Z;3b`y7t(kMPs>LMw@
zt`S|mcwrN?76u~5ya^vt5}_hCRIH~2OWc9j3cHfxFLEhyOt=iI7gWQjKW5La4^v@&
z*m%n9iL+%3t;MX>7EMZh`6SA{XXn5GUyeoggT5VHX`P1%@yJChkIjjK!2ZI;|yA!o7!?E
z5v=4yGl`LC2AMfwYS!A(ouuKF^$M#w4iV-Ry}CV~-8buxjgY{{q(c2o<71RRQMIT*
ztT-#NqJol2XB)r%B9|tzO-WY>vP;kOL7YO8*YxWH@q98@H2i6@;tY)%iBs7c`&?oQ
zn!s|MR`g~^sxIy~yq%}mMNu@(m#3WrVh<);!yBG-fuwFVeI;jh#WBO0oD6?nd!fP%
z&5&n}*JhCG2L*S4YpKS{Q_pN!ZgtaG9A@hHeT;W4t)QqfTKtpNXb4lcXz!|+QJbRC
zX_ZtthEv0}Z$qm#E0P&f*e?95%gQtVpIvg7SUE*7q2d2
z89KQTmf3wLC5^qDq7hRixb~$}kayWa4Q^Go21^2MJJD`tV_`QFg`>{t5+>J06f#&$
zbcmY5{#)SzGs@d#E6Asj5f9p0
zCrRn;6Wd_zdMfWR_RbRC<^of+4GmP*ZnoVpd+ZMRJU~Ds9z{Zk*
z;f+nVWE(S~DFlMTN%E8n{eYzaO*DHK2gIx<1nWW?)tG(lE@&)#b9597EQ_ixXi|$a
ziT*Z>z-(2-B2D>PX=+rKPp!#mPo&bB0(+=v6UU4{HLD{p{ZPP`l=TnBisJ=}ouSw`
z@$1In*Q~JZ9GMT<%nH0m8DD?Q9>-^Q)W*ujoK%)uTog<@wsg@qO|`?df*QJ}q}+Tj
zthx-Zswj72%WMp%Hm0wlW64CxMq&&TNM-<9rLou!mbj~^+Z1n?RgU2VV;SAlPtav)
zNn>}?=A^Z=HFeBxp4CCP|7In7d&RyLg_L#Ptv5seUk>k8W?(MTb@VkN~Jck7J^w?Zg&VLT&hed1Mv6|}H0TP7Oa
zg9QaoZj13BY6huF7WR?a^=uXsSzYm>p-0ax9PPzJD^0D_+K``Qa!NPhq2LtyFHKv`
ziA(OLRHE-dHU~DmNU0X%c
za`ELx<$7{P#ro_ai!yKbaK-5QQ3c-%rubqO%2r#9W+>2ngD|U__1<6DKCt=HVwtC0
z9UI%E8u>Qyg{_J%A-Y2#R@6Ht#maS-fY{+Q&tCn|^%t3W%NpCC1%?lkVtn}?;=EuI
zS8@{~yp_}Hgn1Nz`PB$nSE#?@wXs>5Mcfd$e3r(_rN|>_){wa!Qs}D&r><}wQT(8N
z_0h513Le_FDPNnV)8nFAqG4HM9$rM#)aykXRu9Fqi%Occj-&~dr*ptKkrEy?1%4rc
znk-dJ*9X~a6z43?Z*ZMg|)
zu$Z{e_c_=3}4&^k~{iTaJ{2OwpdbTeQ9=Hh0VJBZ$R9A%JJGo*pJ*^YS50
zZ=ZSTi5y#u6V?_4Y9bUgG~o0J+S?50;%fjkW{wk2%or%{7#}HtSkX`k#)`*^KV}~y
zTFe?FYRnuYN>U%lsaCv7ewD#~fyQU}E@#*A6i&
zNKX!`q%rJfO*BgFfrDAYVNA6y?)K1l*_0k&hO06gsvWan0tZKQjU&;kJUBl^AZm6!9X+`rFu{Fw-NTs?!+MZ#u0>amf
zS6A$`rEX_)QDU!GUo4x7k3`etnf2OeAD_tDMTHm+QFLDn9Xp=vO01&8FB?6n(A^e}
z@?KedP-tU%&D{3woAsLY0@`m(DMFZN8Qr|tVeFQgmlZY9+32!lHNRhhjJ9Dt9ED1R
zY}&e~SzU#GY*i8RQ9tIKGu3aDxxw=48qMp)&Q6@cX1+2wdDFb=ZmLBBIXe6cbO!E#IDLFKo
zxshG!lAsE0?*~hmGscf!64Di;_yHkybYuIh+Hl!V)hFKAC=;o|;92`V^EWjWD@JY6
z2~?wb0_7LIqFHRCt1*(=UH;gJeA}AS@*J*=Gc-b!gJfbtjTb4yOJ*d<)QuM
z2L^`Ysp#@#D4Xk#_4mb44T%(OP{dLhdVaQUj0YFqSso!iUWEAA2=zuneM1l(#Ze}g
z@v=pVj~^*sE>eK%qEIxpJdvXqRm8To@A=fjs7Is!a66^1gt*&sGiP6^E{kt**$6yOAMl?vqx^}RYx*ux*XTi>s$u(0(-Rd
zvhKwTw_Db`hg;{3u61>c-!%$;GbcRrwce1JKao~8=Ge^_x2bp`V~1f(sNYSH?s)P1
zF?;g-(k1twwJ9rNOSI=mna~P4#&0KFA(neh#7i15$eKtcr;iwUp>;pBN}(Kj&l)x0sX?m
z+;ERH^{=2=t-lar-o}#}8$pft_e0@Bu6<%-TsYLBcvesW+C?dZ-*%%9C=Tm0-%V;m
z2lv`&zvx(@KLNPh&jZ;ja+Il$MonEO?BO32L+FpfhEU-0x
z#sF;?L)-9=%hZ-Sb^Pi$xxY$Mz4rnkr3_!=ji>8_nKe;Fd*J#ps~_v-W@l1QIkDcWZW&F*hZB9>
z`e1_6qgI$PP8E#}=_94p-1*yf!tLfl*qIZmGnV4wgi_>$G?e>>e8w#Vp|@o8c)#(c
zHj!dU>LI;`HVC|^j*-Y9);4;-kLc#~F#n*4N{*#NSW@~DS#HzWh0f4V5`&4HmdGyA
zR|%4NZC7^48Qr5aT%e%qkaOd@QE}KBA*9=iCV=o*DP9~PK(*LqwV8{X+fG>T
zg&1lK{Y;2SlL++e7U_s}G_|+(bTu`%PMc`>H7b#gMV(3_HIP=8Hg$I>E904ztF^nk
zv)jerBvqo3_Ev?C5Zy~79W9+p-76ER{`AUhAC$g>=Dg^B_h+c)BnJ>E}5Wm8*Qtf#d*(%NIBT+_3psk^nMm>FzoiZ;cf
zkuJkM+4lIt`yzDlXL8nZ+Ok7Flgh@KR5rXyv&5?<|{Ev=@Xb751rb9p@DZtiUBZSQdR
zaWztDi*&RqbW-8$inKaM61v(GZED^vhR_~<=!7Uf!4eU@oGW4nBGK0NSa&C?xO0!z
zZt>!y@$!n_=GPnbCJJw{Xxyi{Ez-Q3N^JfbVI^m_boMT6YZZR{BD?KH!yvD+f;JJL
zYO^^9FcL-OFGBzIb5Xg-;8~uF5=nIDD)ZKVp||>4TDzzRb~K|?)Gq1lj_d^i*whwl
z+B0Hyk|{R!;_gUGj4IFSR;Ykzq`5doy~P|8zSg_~m`u{kOlEVt`}wN560K3(L%qC$
z1kHM)-L28)B@828&-D#WGu*MJj+R(^Qv^ALjA-iVYHg0jx|^br&Uzzc``8l!cQ;Dj
z6!i!zwx>tD7&Cj+brB$J;eoD`h&ZP=nAH#EdB73#EGyKyWN;`UxtF{30IR7Z-avLb|xnKclU5)|}H78p!URX6ktEY#&5(($mx0hKguyQDf%k0KEJ*
zl%OjzTz{Y!XpMI|ir+TR1_q1VbpN~XAYqv>wp!?!?}>ivT{UvafS!0UX^
zTci0h*4q(@_Egb;E*_?yzDyrKv8gbLW^pvruW|X+Jd{uEt8o$0-P+W$OtsFWy_~tI
zDbm*3q7ipdJVCcTO%b9Mqz_GgQFHa;Hyp-YW4H>-H@=4A*BG*x;g-=H65F+@qqnJh
zS%v9d)Vi>n81Hrq211CX>H~VD}BnLm7tYpUw?cw8%eeE
z!mE9BQ>FzRXwz+ad}JB=2-PC@rir1_)F&(sGy0fnbuB+BNzIVX(R6RLS$w`GpTR@s
zZ%2ffhZ@8buD2uxj2GV)j+$#Ug)*j$(yf4YG~^N|a_w5u+1uUY8lsd~d!(Z`3i&>q
zNTJJQSx;+oXGcp96K@A)eeIF9wur&>4P!7R3?Dc3#HMaS<1X=f+h}LXzI5WB>SCCydmyVBbl)t*wL8*5PB#Q6TrP;!o*oyZ
zYBtMyJ9g`U%y&U@v^QyOt&5_uh279dz1@+;OAOj)v3F~Y`U@U#AzoW&hZ61XZFMbb
zYU^oLI(i|pF_T3)7P~uosfnxGS{JwSDXn`qXog%Zs1!TA?S)Sh)E9@c>kxJJz&2f?
zt~iRN!PMBpo0?2*xxl^A>M>#SIe%NzGI$v?pwHaOqe}OY0-rSQV7mD3-4rqP@e3GZ
zrsW#jdrOIAzj*J?y|5FLZM!qt*`-j`x_Fhk`1`#T@qV%B5`q&lvxnH?0tY&+2a|UX
z~6)-mgf
zWg#&=E7O_&rBF^Qt%Ip1V;{#S_W6wa>$HbWWpXvOv|v__uYjQA+dkQq16&lEp9-Yq
zNtQ)A`C4d~MZ^p*v%Mb~?u(~VY5wKE;e3j}&J|vX9v?2e0u?s)eCAY(G~-2|I4N3?
zbXjkGDk)OY2hy27y(dAlU?7#IqVUxnX56}X`FNVRwGqKu%Y%IOtQ?5+PcuH;S@>vY
zQ_uEux0^R_$GOY%&_)xfnxYRWHj0nqZB@)H|3$m0#ev3rfUsdBiA=G7j@?r&3}#N6WgFw{u@1g#-HcS-f5qiTS kHI3D
z5uVE2IGrotnR9u@jKMHh(_Fm%G%h);?@kTs#xAH3OyO<#XP+9w+N`kn^iyM4n&D05
zht1Oo+TJg`0^l`{q=->1=puonwRb|3Kn|?>KHL
ztXHASMf>e|CD~}K9mXlmMk8%szC;_1GjC(rD;HtT_zx);+|#c^`=NDXpCQyMtOcQY
z^}CP0+5tspWGK!LScH09UFI$O$}um$8$+FcE}3GHq4T^pS)Ha=h^
zzMw*zE9MKa{D&Nq-@ZkSPJ?8SO2s1h6{p_Bs7*GP~3!9UB8`2>)|&3
z)wXT_gUZk-Z{l9fB-#xcb9G4L9|GiRRXwFkf;S%Kdm~}m&kpnVDQm4p6%R4m)?0WJ
zE9(KkM
z!rVtU{LJulzuu%#0+knv<_(SaARbxcy-1|ODcrDGJ3uY20q|vcCQFOxlcFX?O70Rd$X@pdxF$fnc(=!Ydjo-31iYNR)`c
zNim9
ziJbGVBZJP7)Sx)2q7O|_Y895t=#jxfL-Lhy6>5UdULe0w{#sJp4X)nD|%Y8O{>J;rMTSr<>$8EJ0~h`V~UeMt-U
zO0b%XI3aMtbYjUxr6qwI!+x7G-jtg*keovwp%@V#p=fNhec7~&4|C^8dZg0!r!2%0
z&R?WPd-{z1YqvP93-ASeEZQ0Ci8d{66`#^af*L=eWhV)#co?y^R61
zOz@b0WkaE_rfB`vr_5Aqk7l!?g=^`@NImBEjEipo`RuzvelG0HwM$ihVL!;wS)B3Z
zSwGgMR3Bnj+l^VOUr!B0(_uu#RAhfyBrI-6&I;!+lbb42IL>vZ0nQX!Qv!1s7PsiY
zd|8ND%oIlPRM_@b?Ht!YGM&y;c6IhdqLDr5=x$M@BNAPvS>H^{`fQ&>%WBqV(@ef_
zDD>qu_s-#YbLP#LwsvKQ5(7EcNIDtM_=gg?DAvVd55UC_E>!-J4VvW`7U0}YiI<&<
zS6rB&vf^82g>_l5uyEs9s^$JIrOP+3?az_~`$|sU(0locjNiNE*H4L>G{C=Pk)k&n
z&`r=h#Pu4j!#|jjD110nypJ5`cX!Pe6kd%`voc&^LuKEf-odzWk0HNGV2ngDmtUjCaL%ESuJ7I-e=dN69B)XN(`MB&63iv6>&!wQiJ)
zRh)a3_+BM?NaxCwxeM$w_SeMcKO&tmem9`1Xp@Hf1$tVWd%MvcMF_5aibJXt$-<-x
z$t)&qchBy6t$ARHlEcr+M=9I
zbv@wXraLCA0e&RxF;9qtwhz!zFY}Af+0n{q*RI7jS69bk^u}y1JuE&2V~ZygqW0E~
z-k3PGp`SulzgqNIB!BdDftQ-msE9Q#{#sy}j29Mn<9LeMvc5QJy8>;Cx7QeTyP>@2_`M67aA|W}
z8g$)Q51vq&2tviKAM0T%*Hgx+E1rYRhRS=0Y)l!)m*-`?s3JpC$MH3D#aAaqe}%(7
zw#DO%zC*~LIjJ-jA65-xcEN1Q`WQd6+mH1z2UKn8Q;ZjxiXxPMLeapSX7?#OEXT$*
za~B%pV+_g3rJ1w(e0@3TC~9(YIWJzLQ|&%whT`Vq`t#_Um*%E;7>>zOVGx$}5<@U#
zPt-n`tT&yBH
zd0N&>WMi|ker8^bB|N&fYR$R|U3g~s6kiHRnkJ6bNEK81^hDA(U}%w~Gw9Z0$9ku|
zXr)sa=l_?rPEAKTOe@l`u_WdCEPn-De4EfstJi2+OVFWamR_LZA5@5@C-EhQxMW;d
zVYr8}P)pK9KN_Lt3u|n7emT88t@Y996o<^F7NrmoDE_h=>u#leu9m83)52J5M-!Hg
zEyiJf1+gMn_3mjfs)^COB+}M`#jwG1@ujcV_VqB${76<)&L_^2#YJJibw*AHSFB}O
zM^k&Gxk_xXi5vxwLm+XLy>Lu{dmswrVY{CW*y9-4rms^%bBhrB$)mwP5?|qjYP<
zWB!>rCvsku$Qs^VA~06Jc#_I9KzkM*-c=Aqp$~g0^YBx%`Q=&hUZ7B#&Cf5mX}_gU
zchSwLZkEZX=onU^OI-ANAHTrm97(T~yCTlMbk>j$Jr6@VEkTt=YY>xuyQ5ZGmuXv>4Fb^rIOzbru#Td{QV@|-PXBy{=C*o
z;{dYFI6PM}2!%{k7B-ZHgve3{;vZ_+e!B{OgRD1|O$?@V
zERA#GMRX8e{>3!0U+Xa=cxdU&U!=0$d8g0m#rw?^h~uI`l|>s5>zcJ6nXNM0w;;wm
ziR>a;m*`3g)vM$(dEGS-PiA#D4g98@y!RIJ-h0b?FPHZokoQi>duQamb5d9%U+R4b
zF>js|y-40WFYPUPB%kD$RB4v$jezgU^#_~}_KezeS^`><0
zi!~V}4@o_~`10ELl?Bmg%-w$DeIlVa%n+MO1(6sox{@&`41ugC=$1jNap+9PYhnAF
zp4-e2R|`s_LITHgg##1uhUJ__@t3W_#qW8}DSpEcDO!8um{&4J{Q3<9lJVXme*@U~!x_!_
z40^GgA5o}=6siqZKSlK!0)-#rxcG;YJZ5#cg}C+R(!H2b`6h-!k496_`-QynIYG%0
zVO1_U##AJKC$Ug1yI_{&!<7*L$(jW%yfbC@9Jo5Xe|vAsoXZxB0}oZp(n
zjuv5t`JKu6y-Dn35k{E#=0oS351ns3bhep|+4C&U_7<_dLF{01erpmtn#Au+;`b(D
zJbkwL(AnlgXVXKSOIxGPW}p>l@7c{6>5eKrP3=)ei&i+iFe@`ZP_F!^Uhdecv$aGAaZgPPobM~;dxT4wC&uUJ`&!EfkYokb8&{5
z;-{72l&<$@!YIzTecpmAwwa
z+vtV*nme7Q%jq+xhi6DTNlntC^>VFL>#Sw9zS@e~>e{;6`r2^q7PVW~POsgzcE{SC
zYMW}CYg=m<*X~x^UfUJwb~!@JYe!(7DuqsyTn^6%Qs^tP50yhl$l#v{>oI727E6?)KF
z`;gP~h%@v!xt?@}o_2
zXte^rW0cSduxoEoLboZQJ3xl+Ry_A9o@bQM^NQz1CG@fqdX3m$DWPwa(05Ac2XYB@uWNS6xpwm@h%yk!KnSp?fJ&-`Q9D+nOLhCj5El%iiPfEp8Htn
z0dl>@La(#Xn=JG;3%$!i?-TDsGCpFV&sgXS7W$H08^}1w6FS6Gd#ERLxF>XkC$z>B
zI@%LD&f{{7_pkOCt@d=S_AJfisO$1vsMUAZU!>Jvtkqwl)nBUBUq*aq{c@P~_0;fn
zzWT2u&uX8`QGbG5PfcG>?Oiuge+OAR)l;k2KT8I+d;Mo*d?(YR>b{rjf22Uw_0;Sj
z);Q~rc2Y{*S^pr>)YSFV)b-T9b>Vty-nzPaYSDUXPFT;ws@uArnyzk(dTO(JYO{K3
zuzG4RST73eWmnx>l!aHw>t`5si|eV)>Mui;*He4dQ!~|5Gr@WiR$Y5NwNpK{Q{7kY
zdTN|{YMi#t(<)Iwmq$*6RKUgK$%oRT61F|<^PNt$%B|kVCC^Ln+3aO|Bu`+P99CYDUWLzVlHIHF
zH?p!`dILVet>2X1D)9}@l$9ClrMKbzPKlT24(VM712guT-$|Y3(17(zd@j>#K^6x4KBL~Zr&>?bhLX}+<@lcA`dDxhUfgZVA
zJzQRmTpl48J%2Bm9VxE?f7wy8x=)47j^?htkC8pc%6QUoa&Wz*A1|v3?+LPeBD{u9
zl2JP;SsOlCJ_YVm;nYSzoF;3h$m!E%&dAD{GswMOI+HWJd6%r^&f+o7=A6p4GU#(;
zEfb7N%Jf3lbYn)!n(`7*isa-{E6x>fd^AWZ^!n|zCW
zymY&)o-Umx$#=*nOLv01j;i=fNj?K3^DdbK9)Ij|PRzDK@SzE8ftxMFG~
zx90(>)(2(u)r+KuWY0sA{4hDzOIJyc$kL6H=TTXH%y`Z%(&O^#3MR=+R+#K!vYR5v@Myo74!av
z`L<#545rRx{#nd7oB8H2X)g26XRhs-wmnmJVCrvK;CD>=JqtE6?GH@bnR)-noVze-
z0h9m4Di*TJ7FM;0RWD&uglW67nl?76gVpZN>UvmRl!ba(-5xBol!f+W@-imx#p?dd
z>h@-J`>?wIVs$ZA_ZL@tizp}~uGC9d64>LK%CZ}2b
z-`M0mn4Dp9mdQCL=b5~M$t#(>ipir)-jB(DXYzkD`5#RFe@y-#ChspX`2gTR;2_{&
z;1J+Y;4t8DV70_1|Cvqx3!8ids3RrTum<)~z|p`lz_AE*9QelrCjch`Cjlo*to9W6
zoerESF?N>3HalBlo3Dj^4sb4Tp2RB7hkXHXA#f3JF>ndOT?$+V`f}h3;7Z^s;A-HX
zz%{_Nz;(d&c*YH|Zv<`veKT+ia4T>da651Za3`=1xC^)&xCi0y1?~gx2Oa?LLEs_a
zVc-$qQQ$G)abP|01n?xnJ_Y+}*v|mZ0?z@@11|tC0xtnC1FxVQuL7?Dakkm(V7&pn
z3A_co4ZH)q3%n<(m=W02J~s73SRVl&1D^n&0-ph&17Ao?`BGB-G7En#vG6w%oAxa-
z)5oTL2l9K6KfwMGHd2}PFW5*)MoQCuf{oOs{R|r^%1BX0iZW6RBj4d)fPVwO0vmw+
z@rVO}1A&8pgJq^1BC{E{WwzCk7z*WF`z}1L{=g&YHXP}HT{s}jpJL4MQTHrdw
zxgNLyxDh~pX5Iwc4BP_T3fv~M`rBnTYaMVGaJS56qn>Bo1N&Y)<38B;1E}ZO55PUZ
zW>Zx^2=XBWM^~AJEX;Zs^drEdz+=GUzQ0_+!!IkY
zhW!fcS7E;f`*qlF$ZYPLGMoQ4-0#3WkIj1**86aN0DK5_cE53i~kFhr?bC9045ZWPdoy$^MAm_{U>mALnGjhC*K6z4BP_0Tag~BZWpxLg4;l&DtAGv
z?Q%QlJAgY8ZXN8qVBZb<9^hW!KHz>Qb3fo@O%FTSLbTpOwAezl-oi)0d(5dm>{M6_
zTDAqP*@BjBS&uZ}*No>)dIHt-l#?mXIN1_(_Ql{W#(-IjfwLF`Xz_DSwittF2|Do-
z8a&TCS>#10+Z6+1R}6+-Ujj{o;bo-x3jC1o2-1ik-x1`0*H@8;*PN^k&u_!?+wlB0
zJbyQYX@Aqn+R+7qZ#h{9;wkSqSr_uq3BN8ps|(NUdJnw!fe)N)cQozpAHn|Esm^q<
zZj6uaPo1piGXUeG=W}EM-aTKy{@BU7kxciOu)hMn2EGBlb+Y>JoUHdpg!#$Imi_|#
z8~7F206^w0h3s9rzrvOt02~M$1RM+;qA<^)3S);WY_B7LBY`!*QNYm(`!i(tpCQBl
zd@ShW0HpJ0$Z~ePqK4dTpA!|f&q=_^z$w6~z-hqgz!|`qz*)fAK%DKf7S=hyxxjhA
z`M?Fhg}_C?#n3>II~lp#2V#C7i1~dk0evZO8E`oOvA@q12=fbdPPnfEu7(>W+2^0Y
zHNdsNb-?w&4Zw}?M~%p+5qSf3Qn*nYGHOFcE$nl%!v5=4g(QtHi0QeC6kARPXPk>K>&%pm2_(EasFM+RtZ}E)p6_$cpkb+tu{|FkhU+P~7k7A@C
z_ESHBMsZR`8%0a)51kRkOC1OsMU+vr;e$Xw
z4f|jh(++W|C>l#2=3*llRU;T(GRiq}INYld4%IYr1n46{uK`d!GOB6hDDaL3jsbEk
zeXNV6k*s!{i~a2c;6%_Txl}k=<`fspo(i0X=%>Rz12_}(S+J3G_H58=VV?t>2l{;2
z7XTN6z6kckz$KtBg?$-pq@TSU_7$+N1g-**-7K=3y&C*~!oCLfwXm-Pt_O|$WNrX%
z1a1QFX5bb8+0Whz+y>kZ+yQ@-BYP+Ezs{v@$yg5A&m;SJWIvCr=aKb1vYkh^^T=kN
zvWZ@jN7nLpgT4ngvX{RX^!>1r#XPc@M;7zQV*UZ}AB2sp=8?_(LvTL~`w`fW!bXHV18o+o6KI2lKbUE2djER*H
zTC1L;7I(2#7%wX!_f}%OD9^i?@`6i!-X*h9C@-Usy`zxBqmaGIOD?t_jv?b%GL9qTcrs2P<3utpbHX@@sFTS!
zg^W|lIE{?c$vA_IGs!rMjI+sDOU5~5oJ+=eWSmdN1!P=E#zkaY>}K*MZdQG%n;j%w
z>1NthZWYP`J4E^?e84zZLY*8eUE^klN>F(Zm98V|dbj!q#txHibWDA7aAi-_ZJbOz
zF($Tc+qNgR?VDs`+qP}p*qGS4@kA3%te4;SzE}0C&g$CLRp+1G=d8VUSMS|J0BLUd
z;8EucH*_9H$^+;9?cje7&<>u}n`|DxpfVeDbx&a2)A5(K#kWJowxk&=7^I{h2iyr7
zf8!pVM*^mKM7xMCvd1OFuuiAil@Zy;Z6>#EPQhISrANig_~l`a2bUMP%=ksWcG&?A
zUAjJqJU&}9E6N^mCE8M|HDoj^i5M5sg!|vP_@emZN#}~k@2GG2qxg@?w=Zx`aZ%^c
zZhl0ZM0$Y_M~nAB?VEFD|BK2dpz4JgI~VT}8O=89kr>^CyN=7wB{ul`>xNMOD)}4|
z>N6oCe*7sTMrr(MX+|+ckm>+|i%(`Sf;Z6yBwiJSUdpt6VRmZE#V7HSR&lj;w(5Yw
zr|~j?bRfn0A@P>Kb><1mXM7JXf7?Xb*FwdQSj#s)HYG-eaz-^Rmw`=ohSQf8m&9XD
zN=SUOUMM_t#Sse*XY(j?gBq+M*{4R8LU%@tFpcC!9{wht1Gi5;I-8(Kd4R#HNO8bE
z3Q@jjgSEd;e=1)zOL}0(y27gIjBIKtcar2xn8Z!g0oH-q5fQ8}KT2VyFFR^(rmqN7
zbwqy(U&LGhsl|Fv|7~4ryEe7Xg1L_5K$o?S?7)ZBLA;6!vOVEIlT~@hmZq|G!Tzu(
zH->LqxX8A&ed2(Cbtid^XMq>yfN{7#I|4hx9Yy8Z?2*-@&P@oHdhmH6Bt{11`werj
zkSG)-=&qD*+zX>-3@{eiOE`=UOa`g}7lCZR=ELXzw-P`(;MA~JD9dBDQ-NdWF4#Mk
z=>}g6NAK90IU4)YREgGvS0*BLWxA?Ew&2eT_}iXf{(9m$y74=g+Y}*5n|$I@rNo7k
z7y~kY2^ii-j)hfmf5=bA$fvlNtBI$e7@~s1M;hkE(^Fwj}8h|Q2XvclxgVvHGAStN-&DhUs?@n
z7H0OQVP+0`7SdnP3EZhLTmjN?LxQjk^I{i_?VHmsiNTkz;oScx7CD86&qzkBYe8s%
zYx%C_E(lF@!1S#`tb(sXa-rTyqGWrbf9YTRjCM#*2v6`wut#tduQgtuHQtYgaDWtG
z3~>LSzX(0j|FPrFCEUEJ8nh+!
zKw;?u5DuQh-NSrE8suxnFVZ2oX1V@$je8CKMKk}AjKDSIH51r9#V5oYyd4;_^12}`
z1Z?GewlNXJkFS!vuUvp*OA1U1!WJY5&yB|o!;Qs_%uUGsog0^1!#whTB-NfE0(bTn
ztK1e;4fKEV|LFw$1oDgiA+W)})GAmyM0(}?x_TSDd4D?XzM!#wVbg0V-9$%JO!fEM
z{I5jd9*9JHj0eRZ`9(oqfEd_`1V?c|HXu7l51<#c3D^w!l2k$NKm*|Rmo)7K`UBsA
zkiZb27;p&q|LIbY42T9~4Z;QSfV@G_APNvBhy#QKQUKYf3Xu0g?i+yoL1G|N5IRT=
z#0GK&A%NsSbRb(0K1dJ52l53;fv7;(Ag!N)NcM>TD_Oog@B`)ta?MJH8`Q;@W+{jd
z_HP*_OpAkd{^1ln>PIyw`0dLN(A*lP@zRz6?x7*V)LEEDEN)nCY;F{8BQ>V^gwQFD
zHp4DiwfeB)+x+Vem=5F)L$yE`QebR>BZLEt!}5~9`a_4?|LDdbUw|)%yQlUe_#-5W
z)tOwAmOr!?q?f`&5kU(~eU-1yh)=8re_^GPjUoRNO{@S@Z*^t9wBfygQ{GrgZ2~Ta>I9Ca)jI|Eh!r0x%xx8@Rw=y?W1rfCE4h
zU?I>LXakaaBKqc=yRY&1P<5rYqF8qFaTw$buQHb4OpiO3=uC<`mh23HOO@zMi(8)P
z9FKS)LpySM$p2sLcmjCUCtk^!y~)lZnem_fx`DrGIP}k>96c#*rXKAdf3(ZPE?Plz
zN5=h+jaYpIHP*l43gT)h&>V;f{4aS~HoP}UVLZ~vx1c7c{eB8p%@dLtM#Xtxwq1j1vHREkU;07`=8z9sQp$J;TfcTVJC`U+w;V7
z;&fvBwW7Or0(SDUL|}H$Z&d1&*{musrM9kId6s$>B3t?b=2WU5NoZIpi2UM)4FP5w
z6b+C9`l3F>H`D|CQJjRFAesx;?TtCsV7m(Q4X
zY#vBx`iNxHpYW;@KW&x}Zy4_fI${vrjG#!)*o*3j&tzHaNDpk(VU-SbT?#`2sSTu-
z?#;Ghh(O?VAWW&tP7q%2;#ki4&t2%POVfqkhN}>Np$k|5Y*0AZALWm5
zW1)Su-4v?I{7y>ayx+G_bfygWBz9c
zX7!Ji=Mx{lA@?9(A(4XN9+LaQc+KvuZ9Y#~>*e+ke7ukncH!C?)!RdKM=Fh!ef516`MnkDa#8w1`}3&(LQp&(svDbosYX
zHS?V(alS3$l~vA>h53aW`6C(c?0@L7+XZb%_?!c}-_H0HJB{VsQKNQye{R8UU1_0c
zydmi|a@;}&;GiT0?X`!M%;4cB-{U=#>>He@ty1e1O8?&n!yM)QONv0n!60ij@OrK7
zHgM>|$q2#oA6qUQG^|1@0Rk50{FH(M@VsEWu)L7H2))3)zI#o~1$?qzXaTf>xBv$j
z>a*GEVva-ZAw`7s9m|`TI=RQ9=}XHe{{2DQussJ_`D!^xi{JklK>4G15j_FtXa&Dk
z_J1M;%~!18xeg^l>WKB}Z;IV$NAg+XyueU>Q!1=YSDT-}Yf~|Db1d#dls7EZv0V}(?)Af80LN5!_yhy?7;t6A*Rur2pxdQHlgyffr|
z5I8aF9{E;5$d7z&;Xu?^vx6^?1^la~>b&mh#cvCRIn`S2%y@~JT4$E?AE4lx)--aN
znCE`G5Ph~}4Gb(tvf
zkpG@4UF{uu$?qPW)95{8W^52lp_{kh<7@-j1?zh})C!msxD+g2TX+JryPfd118mAS
z(gTd=4zOE)Kd`0r!?z6DTSBH7*m3S4eq>U3wqu%G89|)#1ZSa}zjvH(n!S@VOL{@)
zTYObxupUsaGPk~QG3YceHbo9p2V}AbSVax{d=dds757^*qo!v3N~6tY{9>bvJ7EON
zo7**eo@WQlf%SqxRG0E}7hqNPRA%q&lb_x}VY%8P8bLr^d#dF|^pXk13#{iCuo(RD
zjzmPa6urajh%TOjzWuz7`HH@Syr}Qk%7N!LPa!@=Ae1vD2c@Cevpq!g351GD>>#b6
zRlw@0h-1=?rm#Tn`*#7h0>M!a6`|X|!8^Fh^=5(Ufv^v&;H~!H$$cU@j*w^77fNS!
zHH9+%n)aewdLhgXWCsrgFEDRA5DkVJyQWbu;0;g;p0LL~d?82(%SwBZ6x5i@BeM~ol!D9PHw-G3+jqAdl8zqIQuj9h2AiENi
zptxRXMg414EVIgFY7eZ2)2UKDSh55bnLTOK#dxoeEH^>}c
zEN%O*3kNw_y2Wp5^n=h%^1%-`@|cCGR_cB)$$?c;+K7q<%g&@MdAcPmlxiM=C=GwK
zd+5YP+PpiPX1Q?>(Suk+Q`}_wAq~}33tud_>fZvwtv4|cB1rp{p(@oe_TRq2xNose
zd|WN0BP6izPqs>=PHjtS(X!U$YizsYPyAgYbd+q~$D7e+Y@=oU;}TBE#x3!(I(
zQxzKx7HRTz(|RgbjO*hR4Z^O399GOxb$EHv^~z8Iie5Pv`Ged{iwy51>4h^-H4HbZ
z_3-=<8_7IX4=BA~H_4&eSw#ud^|ZCzY%M)J963c5c@rik)SCotUOLu7`jn|
z?jjP>JaywP4;UxfN7a8UiRzHqx|=5GlPov2Z?`2PWl5VwZzv?BSIEmt(K|0Bjm5Fm
zOGN=__Y;ow5^QL5@3&=xe0XWhG6RT)fU
z3_Fj0&G4jA_tS4nZ^kifKmC?q@jjhy;+1uYU2aoR^u7T5e&m*(HZ!SSiKc6~NR8%q
zFr9r&Z`2gfT)*{!Ei%)CqX&;)X(<++c;tOYfM<=LByixDZqof+rpuT;g^y&+F{Aqs
z&(?h7PScf^poqUI<}9x)qpxQ1@SS2}6aNiON$0^!wh3fW!KjLML@=)8lA!LwQ|isP
zMks<@&d*XEUFDZeMz6(62o2&}b{5jzgFQPU*T(~Jt%
zRLVIFw&++SJIk}~>zD+na{3E-%4=bqj=K!FO->s$j4lC34_hs?I=yBxd?s<$`EMrc
z5{mk_Mr#B}*89YCIG-2(K#yg}E>6;ae~RbCv~m>B)Ab<5&jyTG6Bi9&4Y4@*#@}
zop>m^BVf)JnUxM0Z2WWRwxH}jNx~{h1iEE~A^L;;=A(#49U2r!&lBxY_qcOp@3ZOOLi_VxE5$BR!LjJ6OFiTSUA6S^P?Rd9k>?T+O)rM
zN>fv5a8T2F`8LCqPHwosU=BG$Q^&IPA$==}uAily&s9c~xHN
zj$CO%Wx|nk16!4rOLFHa*&?JGz8$)TP*D3OTbLQsRmX$$6E#->X(1r)IIqsk{`z7
zvIxsfRhRbuxL-7e7JI}q5V*@xNLeXOuy|)4R_w~Tu)pcJ$gk_U*tNwUuD$h>k1b^!
z!hK4($Vbb?F{FLrm3&O|J;~J8;ER!jUF3;|bpxbbrlqCh>_2IFEUxHyj>##;wu~oO
zm?(IT%gcG%@H3CsJ{*%w!($Gg?9({KT$4=4dJdnq;U{ihQ>a?Cxx1`=y^DXn7I@q|yAD2DmdI#l@H$Id6vj{(r
zzD7-)wH*GOUB-i+2T9HF(9NyPAW><|!7_N&gVO8La$w!LttGVh&dyp+YE@UcyB>Nu
z*5-@{Ht)Bq@xMG+)A+l+&VQea4}{k$gq9yq)0^2pTiLnnzE80;VKa7;EAAhn?MjRe
zH>$?WO-Pt|VmeBjEZF6Ax1d9i_(-{-CRG$g@Axw5C5T`3W+OvfUcF9tcPBMCCw-pW
zJxT>wk2073Le0MQstHns}aCM)Mzv#b+L+o>Kh1dvW*>l#DxjgZvb`O
zJp$Hm1aTc+3PwZ^`Q*eS9FGY`R15WVKnwWPLAvg@1^Z~h0?nO+eKZk*>hZxo+P;H6
zIl&KaW&i@uScvE^Fp1{as(GIAU$+%q
zgx#V;#`%JX#CIa!60)7N$$y9pk_SM2OMX@n;enB55rUb-2*`N>=L47hCIl`^BNXX{
zD>P!g>W_C*`NsZd@d>wxdsZi*?5>%326R%eDjz`Tgw+qGJ*+@Tt`lQF
z1b4g2bOsf0o=5Q2_(3K
z(vb8BTeA;IE)r(2d%AhM$Q<(*MoS?m=Et2uLSun
zn2-Dfm;U26T;_|xf%Np~kYqYh9xg5Dmep=KMYh>477Zs8-;1IKn+~l$T&Rw3kphl$Q`WjF&JuB$wbhG?x-bAE68>+Sv8a
z-fh}GoG~V3XwjrrcH=D6E#grkg{2FEjme30BD$0s!7ch#q>PMOAuXa+FxI6l`5hg8
zU?mz0;0c;?up+$VjYCDSUmq#nDID60tW>0ndo
zE)KA(<{_7<+#>48H?fJ(CRqlvqsJ&@m_^_}?yZ4y)4chkdABJCovBJIZBB9pS!_-D_KW;wCEpiby{sjj(*C+6iWk9!egN%?2#-`
z%mou<+=+J`(L;1y;Rkk|;fH$N;Rh%1fV86}$l!}Ib!bhPm@GGjo0%5Ze5=CK>6Vjh
zeag*5tuO(pb4byXZAm-{LCQO;~>KXUrFSGkxZdxi`Q$
zPs{NroYig*ZTvfqtv1?47vrwfr*2vEI;f3uIORTC^?lTb+DPPE{Nb@l#)D=`HTwgY
z`HEVnt5c;g`i}0z1dW`&fPjBpDeIW74z|Ev3RZF|OH_)PU5G*ZXB*yT
z$b#k_Y%28w(3}bma7_t{GU=N+rmM)a=^LWOux55)P_0Oc#zdiQ(6Hu*5>2NOBX;X#
z#kj!){Mnsk9@e560@s3^w2Nhh5M8Au17D>n23w_*0N|(m2H>Z%0J2jW0okd}0KJqO
z>JNi9u^?!SyRnOcB1LtprreSUT;C>qjP3!9#9uS6$@Bc7b!;cy;}AXt
zLs+zK(YhocQZ8eb!#u4tFhk`u2t)NWa6{EJNJC9cFhdnh2ty4`a6>gsNJFg^uz;Ex
z=$^tF$ezj?*q%~5u%22wsGedwh@NUYn4WSw@Sb`*XukqG$QqTlVh0p(^9Sj5aM{`>
zbmqDXh-o!X$OrXDu;Xf9aNkN};EoMcgK#XwgNi92^h^-gXG2kP4>_zURx9cU&_&`#
zMMdxFBDxs>WUOm!U?XW*N3+Wd0D6X&LjYt;VgRz`AwcmGS;OtzniuBG9>@Dz2CEE5
zJe>(@9x4jDBJD(~Uz04IccYIi`yXozb_s#lVA&R&wYo9rws6;ME
zB7jHHGHGA7B)29j-YnnpTyA(q=9zayW~rfY&ktpb=H=*!Iq;Nq{d=_iJ1}!jqu!V&
z2x0aHALtu+;Y@*J`fs
zMhMi+?q>|ctB@uW%8q1x-%<4t?veMi!5h<+uLfQ8mVE)6ORs>HY41!8b7smka#LD6u7A9>?AuWTe0-?8*(=hO}L*wzucyfam2F;XDq
z63Z5M2;*F#P@rTI%a%6`<5YBiH2$M`U2j#+t6iLXhH4)y>q&)PxS?!Ms*Yc#pqh-I
zvWI7{ENPW&fPfKVU80Ftrm}&t?5-zFyC5r!SDUKZSc90tqKivy+FBXRij?BK!LB@N
zySRLa!7oxw<5k2N;wA4*nL%mIHo&fvUAhqJ%tJk*%R{Z!vaYVHlsX4qE1nIhTgkb)
z{F6}He1kus%;wIx&3Xd@c)B49#MOlc$=fIL>T(3qEmKD?uj@ur)On}DYov8*6d$?A
zNlu;X+w+jmE^5MUYjsUj3uo2Wijp9-ELY(~+is<_O6yeAO2~$`A%`+7tUxkK-qfz4
z*+cHjwZ;ObS`+|Ntup|+76t%aYb{8p)Lu=(Xscjilf<^Rji718nh)4$xG59$2_AK&
z%4Pf6x2fS5FRQiWyL~$}-YkJYHmAuzidN(xiui4_1qZFo_O+teM8{LDDxpcNT69ve
zHYIJYQv0 ?5xJ%?DB@UY{MY}@#QKbz)iUOkBb4s
zX@SSL60r^Q-%(mn{NqMu;jPsTTi<`fOG!lk5No#@iL+fr6)H4<<*)Qd^pb7)ZG8!|
zZ`qO!ux!->oV08LPFnc@*e%@v>{eeuddn-QzeYg#ElN|2;jU1>m|xwqa<#Qa%3*V<
zOQfgHSr9AMRcvZ8!DI?&cw(iKM)xEwtv=Fq*-*F2-649Vv-o~R-$-1JW5D1y)MJYv
z9zT1nvYgIqP=iP8iWd6H-|&Coxs&cLBM!C9G`GS)(
z+P`An?@7&m6vTVTm}TMM#oc@?Z~5k3r*FukAaMXm%_ho4svaVWa4`
zq!+1X$IOeSRUb5}Yj_{hjXfZP@!w^{71%IT;gzsodLOz|dmqBXM)6l-SKkNAj2IzO
ze4Azn)ay
znL#Y?aMWY>#dvL~fyU(xX37`!7deasQj^~AP$1~{5)T8;&r!y6oSCTSz#2`*KwY<7
zHi$gT>m0xdbPw3x>c42xfG-&WVfg);R<-_oRs5|BK!o5W2F!-oLA!1PctZ6=>l2+n
ziof*%P=q@RSBZDN7b{-?iBu9OS4oe`2*2Xk$*GgpeICH`pC7Q>hY9HG;|P590S7_$
zqWp|CtVmw!ix66Rjr0lxhlS%t{U`N84D1lp){^Ib=tX)cvN;}-;21tNF*0SgZ->QQ
zKqdI7WD!qa7dEZ<%i-%PC{JWlG34$7DM{>}!2(e^6r1Qn$2o}u-6$dHYnEqLAt6m@
z8w2wLHsXE@C*%oAxaLrj(&tgzKW;Au(m9F+c^J)xfBQ**&T#knhUJh45N5yeH25zjLGs2DMqS(J^oJBKk;{4Odem&?_W#}Ys5xBBUvptpdFg=9;Y~9fYt3!f;;XvwyPvFGEB(`V8Dn!eU9brDeGW`bf
zFr}g9i!lfA#U25=V=w{Tv8e#x7!81L>@vXE6zS)%HUbXE3ixQuy-%bAGBLh7?gq^E
zeK@D6U2Eevr~XFVYd|CPbwMNMbwXoo6Jim)6p}li^jHi5U@SHlKow&Epo-lFl*goF
zx-w%47vB&XbeJw~xz|i1J#^h86}z0oFw=VOM0Au;OJm1;AvQy919pMJlt?-~RyJK7
z`l}Bld`Yz=2cA1MOibZrx$I9~pf(FK#11<$_zo-bVh3~F{1<|Kxx+$?f1qoXje#ru
zxhPS@29{ez;FMcO;8A{0F(p&}
z**T_I>Ie29u8s8s$Alhh7|_E($_F5M1>W)Q5uFdoKf_!P94i1xjv0W3l%w@FaYt`)
zf(v#&tF@N`OCBlSD6I^vSKTGB#Ic-20QS)uXBiZ0`b-oNJWD|rnO5RhE?beTpQ92&
z(`>_?p+U=&)37;a4-h$a4>0tc2w>$I{$O&`q6cjbaa0mzSqiVD+5EyM?}&&T&G|uv
z77twFxRAnG#>imSWjyl~#+pByr$vZUvqNZ3oN`gX?b~>uT6m6?hc4}ggtKjtA?*n<
ztVWKrhgAMSxI%$MUCDoj^1wSK>X>=WL|%K(U=@!<*RzCiU$PFP;-0`9e3xftwuiGz
z0%ZV?rFU8!qaZsft@t0XQiZEc?~qEI(#w0Jbw|Db2I=(E5&P;10~?5Dx6+;0~Iv9StI&glII%s~IHX5#J6V-nu)-|pgdQ9q@fI-DfeC0K3S2FFn
zjBMgRHJzxC?5KUONY|H+bT(g6AVmi*GQw&-)$`TgKe8
ziXl0{20uHk|9bF^5OS^2#b8KIGO)!=x6i=sdxDvJtj2W7v#3Aj;flFmWgj95Fi+rD
zu{;LdlMv@9H>2I?3VY=r{}{fj;fZ)`sRFyJwNdubc?I{?gVisD4Z_fdP23veJxoFl
zQMV$1sjPR0x(QfO0e)a@N1!zP;q)tTM_j=%BjCblM*Lei(pQq9))=gF`=fD=TO|LL
z`H}ySJfqC`LObIV!~L@&0di_sfJ{f&MbP=D$q%b5dQaME7rlQ!-DgbeAr<*XE*6F6XkcPw*surS7eY
zPqZX{t?spoPk1DLweAFit2##N(>yo`Y5y8Y^yBdzoX|D0qwmKCF{(4}8vbf$$YQz*
zuHaYS*c)f?6&>uBB3|T0?1l@Ftv~`RG{kZ@ec(Fge4w>nd{R_EE*?YCUz#6du!Orjr*P?hvtF5U30$m|0PsaIY-U_Z%9o
zEDy$MZX#QriTJJqXRv3gvy6I!wVfvSu%E2-1X%chH5YCbtgoYz@HL27_-4qQGpX8W
z^yU%Ne$@V?z_7w=-LJZ|Et8t>L=Hu+#>X#hyul{LNP-K$%*XKjQYt5Iy+W`v*9sKa
zpRCl>jwWC}mF#0CxO-QbGfRHLSh|pSU|V#(<$km1O5*r!CX4RF$C@^k46OV)y8@K{
zalnmXI8>K&X_{dTVItZ5iL58v#zS{wpVS(Yq>1mxLs84|1TU-Wc%5q277Jq}
zVXerxdkvY?
z^^FHvHaqbkp=G25wn(q=+SnQ&Lr~PS+VT&l+75DCd?~@tZjwu=A%)YpVM3V~#*_k6
z%JQ^LvWq6IH3~!q%<03dld>&xipy5QygcO@hvhbGi#%&-$gE^
z^crRJw9h5|{GfFh&)BsA#6>bMuSn(~$zQn)ErIa3@{1
zL6$UANEc|-Q+Ts;*;$OclIOH`-6r}4TQkoRlYVocbZWNa;Hebc<^jyfm`o6@xgg`6
zZ3^xk&|Qt~P&M~T70*A$M_##M4d^hb(3I_hVBe_K89NG3=Q-c~)%uuiJA(Fc+KsJj
zi)*pge-e^yyH4F^+O1snG%ruH7US-pSjg>~6n`}tC5nioleyc=8tLMCeT8nY{&YNNrw
zY5X#wK2Cis-w}DUf6N0jZK+!!1>p3u9Dog;N)@xs!C*Mdww?9?`rMnR5(fx|Q7_8&&q
z;_x92hw+$#w`7zTsYs6%t6K$08b3M~zRgVV{!opJwpRzoq={*brA4&QOi-{SnK$Fc
ziWU8w*diXGcVB5GF=N411#=mL0<5O7HB5s83fMOuZ`1p^_JzGLfTi8!*XcDE(DFrB~CdY+22rET`43V_ea^yx`H=(Cp47`c0YG!Z5ld{2-(j2WK+sbO5{!r!3foFqXJ{%_kEM_r7IVcGj
z4taZis7}?&`%E;`g!DHO!nrzVS2YbS@R3*08&=iB-PAQVjFI_}XX{MPQhTRk?Vu1c#KXBcW{GgTxJ1qdv~p@Lh;w35TOAaWX1i1^^o=)vU^;p0S-xndbAfK
zo$#M|gRI!peg#F>>1ot{sDmq;7=Kl?vvc8z;_vG(NubqQ2RCw6yp*(y{SzlG!2-R5
zC*uLzT4lGzKt6dbZ-mhIDaO=*jlDbLRH4#_I1SpsU&Da{6}P&-jJT_AEipbuHfbMe
z-gXHq{Yt8?nT~AzFb0{hZF=DLv@ERs*s->?G;RI957wJ_tcP9OYH{?T@2ygu_rUB`
zFS-d5Ox<$L_cfyiG(&8%{`%|_J&8sQuQZ7cL~P!XIa>O@%6>^R?=oG{tD-_IHXD4o5!5m%wvInxA{|pi|kMJT1D~g
zEeo^D0a~yP%4GT@#AqzP;X&h)uWu{2oxQ|qwmCQ7e7o;E
zvOn1g^sW=#;@P#^3HG7z8d#}22$|e}C~y_tpa~*X+y;H^1m>}ZdGO*D3q>p%7UY}T
zA}msfH?;|IWEPnHymJ@Z+U2ysoAjQ)Wy+RzH-D?pz$?_!@y7f4VyhD}BZc+85^8O|
z7q>UR%JV6w;tISoTO0Q`}4^{v39w0#l*W+Qv;(ir~}iU
zV7wXJXJc=^`nPaj?3!U@y(cjWsfF>jlSc7ms>e&EAQo1bgVYDo`7H!B*lKSy=^
z%wl6M((55mE4e4sLquaKdp4uLo?zy$i;3TitTkV^si6&`
z89_SwL~;B>a6PENg29(n=G-cG=St?v^%Jan&^AFrQ+IvHuAR~2{9(z#uS3D%
z7lqgqm$7~e=ILY1e0atI&m9*}s%tF_gOeFj=S*VyJ
z%!;h>F5|z2E38)!J@#4Sg>v($CSN%d-1tXzF4koaR9n^DK~J0
zzK&|68%HT?Jf$AWbF{7AnvpXhlAZ0}!kA^iS_f04k(6|Up&+P4*(+dXgd34g&D+{p
zqEy7$eXC{!cnfhcwhLgEwVR2C4~&hLqA*`giWZc=>R=>A9?)h7tx|Tc#pC@Y(->ZD
zi+rD9r9-_TOC}?*)zrz^mCt?|f*T}~r{r4P23IvW5>d({UL~^ku+1mtr(#ZhVAbd-
z8&E+t*Gy=$qv23{>lV`HqpA};XowD!5L?~q3n(B@gnEY`mQb4J7sxD|X0_N=MADI$
zPOMScs%|SMpX66eJW*LSeX=MRKFKSL3h5+6B5_Pql*FT86+2fO)ps5sFDh)
zB%2~}Sig%aOy(6#+>EhX-(_Z{2QMVKwJn9?O$wjP_csN3mC;pe!aU9#1f5n)(^0ab!+ndjIayNi~^d%%{@Q
z)5)?E$srsEpu2Y8@*`q@HR362nfS{X_|@!sZuB6`h8lHACNe^RkA7qD>p&c{=QmbwPK-;*h-npq%D$~LP%qiu^r<35}n})$a_yb
ze6EhRTY`Jejn;30n{ZE*`=vZ9>
zyd9|9L?X&xYsBZwS~SytRanNu73F|FsroqpeJStvA2pmgyr<_YD(1hLC>J%U!W45D
z1u6nTlX-i>tFqtJZ~j5}2u#%Y2tsuUW>$IcK)yJ$YCQHp{*y%G;Qzzemo2mOuLt6v
zCR!{1B_Iqfz?Z~X?An0BIL+(x*3h8qFWdEk+D1LvFaHN`OWKJ+jNCW@V-QLg7
z-p|I~&)DA2-ri5kzNd*ZpoSB9r9f2ZINgcQ4YP#T;
z766K`8k&
z%ptr-I(lIe+_HEDg{Z)HyvTXK_}7!ox@H{RpNr&>{j9cy4F2=mXn5;+e3X!Sai=ap
zBco6W5{yJT(M{x5b=x~iWJG8#j|(}eX?Tw*l6UHwp)>l6eOFILRRuTXXn4It1}2x}MAO2n6#1$
z^F;yWTAoq#8|f>5)6QZZk!@gkaJ|(8JY(bbEJ{gfg@Fm2m!XU8s_GIWZef>k)q9Gp
zz^q&>?3p6ta*32ss3L&)%UvhFkhUFjx1p1TbFPMq9W{Ya^K->Nwm
z*L+Yizcdm$w>Z7B#Jo7Scd^eyGYxKVB3O2JJ%jJ~IdCLHo_rv7bht!U&SUC64XJO>
z31{C&y1YL3Nbj{t1Vv0`*`5>Ef75
zd<9Y^P*py8;9Y8p1zBS-KE#<-zJ!C8JSpNxbC?B>F;F%>aS*i%vTgjnL8HkPmpZWj
z{LtL_5daS@=vGIm(|KI=*|qodPYg{ge_bw7de7
zv|oZSqCzRj8t45YDa!toqtV6ms}!Dl_U=Y`&|`!V%6v=A*Y;w~sx1v2yJrH~9QKg&
zzR7KIY1fb~ZDubK!Q!Vv;RfYg3oL9?D99A-#88$|uVr7UNRSKc9x0>$P)PcrKzK5b
z_Cq20hXT>bJo=9rgC*$#2K^=Zf*JiKtkhO?@oJsROKy9vFjUG#T$+SJ(MKp&`HD>8
zu;^Q~aX6JMJ!eml(7|5=N%&rL{o-F}jG|+K^>@CplI(=rUJaci4z0^&jhXfh6*E7QN9@wd8vHqJ
zOPXb~Iaah&XZYc(+jP1HA2t#BLLfP9iyA^WZL1o@IBm-shd6EP8p$|q3mc0$ePxZu
z>>gSM<2EmFGjki(n|b-Hn@x^f>XjeepbLnqzzhlvfC@e^eRCW`xjpQeewfIYjT;ldmS
zCXGw&%?DB)1R{n9WW{_cai=85d^&P3wGOyzn(y;Qhr4#U{T+mGTvY7ap_tyh|LZO4
z$kmYn#>j}^+PC`bOMh*_{g2WBRs8<|RzRu0BsfZ
znIhzgl*x~$knlG@YVUQo``Nxe7)RTLaL&U??76h
zK%x2x<%qTE%ZbEf5lN-q3{m7ws8$>f{eZ}x7ZR+Z%5IJ+E(?MmO%XZY#C9>0B`iUS
zllhcPsWj`nEuqq>>bluTFxAyFDW%~g9_UqH!{PcTH7rYNSjOEFTn)<_XgIRIhLaN-
zmNnFHgq=`7sbOiI+1+fehM#70ta$!>**%5I+G$E3Rl4yub+eR9h|pxO3&q-q7IJ4W
z#{P|N&*)Y#5}K#MF&ULOYW$L;TJ}%E9V4MWrmxKQO|`Qw*iu1N)Mpe|xtnY(SCPUY-9T_j@~uTlmu%lU1efhDTAq@t(4~pE$o;ZoSayZD
zJ>u@|5dPQbDoOX1+bH9Myyn&6jKBw^g1D7x`Ug4^zGC}%A!YGcbmFIkuG)kJ6@T-J
zqV}};Zijg1ilX%6bdmz97yHqi=0PQ^IVX|y4j?UbP2Acg9|@#|t|xK2aLNFmZ@yjS
z`By4Y6o1`rnhA$u0cloGfVc&$CjfYiihNfrAg+~Sp=+|RQm#tT&~6?JU6r#wCW_`7
zE~vtCK@E1Jq))M%9uDfTTR0Z@0Ji&ztXuX4VY^1vWHN<-N~fAyrq-h>61suzg~fwW
zjPRTGNA1&rw~K^s*&lgNLOpQ_SshE>LB^6-kg?UQiz1c!Fv}DQZH>c$k6?Kb?dSLIQJ$Navq*
z)VVfYma23FT1T8`!w;ekzuk%@7VU*Loz6zE4e)-2tl{nQEn`#_?A$~
zqS)+JvK$ds%XE{L+Bq5#=)e?dL|SGOA(PE>nb)}o#+1^}Ce$V0t|Rxi33bVLK>h~0
z|6L*X4#~~BYxDFLF6;6-GVy!7?g4GI*tfE7^A!o*gOnz2j-3kSxR=Zk3Ei(tTP393
zuSZsaP-MM3p`JvE)Di{+vId_IXLX==FUi6nuF
zWkGGYENI@Y;>|}xIa=MipwYUJmK38U76wf$4E4zF%AnE8P>-5e8py*Ax*NhbeOtxN
z9a{Hmwq|>d>2$?X-BDbG=XKj$Uc(g*-8DbADV-KC@rCW{n
zrTVuEQr+!>xDO3Yvc1j3zE|-bk-`ZQb@N2}_`381iS+Sx=`w9l+j|o?4pL|tnkC7O
zxh+AfCk|b*k4R6*N_I(+(UN1O#7r#Mc(w3Qjdv2GY+7%
zZ~_yy69@Z7QdIh@BD3M1m`I5$%|tZc(^&Yui3*V8o9~{D8_BbA!HFJ_-cXF_1tOa`
z>!2;aXJ$e!xF?B5O9Fa%cdz}$36MChnX2v4q8c67n7tjw
z4LWR*6gqg3O;+GA#mo9QOjTH+!!&U$qsw%hVkoSy!%T&JJq??s?}j_(H1c=p+=%Bj
zs*GSDbTDB5Opf7_$$ZBMbjVZR%3b!
z^6!dfr4675*aejtd3se_EQ{BrT*W`o3H@I|WrSW5AG5_vV&8GGc_hk-1VttS(FZvk
znWLEu?bf3@mT5J{l9zK`3U|IPaR@};@tv}LKhM4=VMpORoruy%3fDV$Z)vEn^YlOd
znHraUi{4JR4R?HxecFT8SMc{PZ<%=1+6lJ)w!~$nW4L425vFgn(QSm;b)@MVYjhiF
zb{%E<#v9#6nO%!a-$bKZk=b>$>6>hH8%+;iU*lX+HSzEj*ngl@87-MJ*r8&Tccqry
z{s#JgKEn;O0*2~3#%vQ9V|E>D`p($&ch=67;0Cyl%;AZ&Y176h`(*zRCv?fmWbNB$
zvd%B0`Oe!3jt;&jaO~3mo{S5BPX_wwShMRmGpCTZ>0HQpU>w!(JM`clHS~`)(d1c*
zX_$X~!A
z2^I+0pNFA5bZ6cAaQ_4)oPE>e;q0ZHh5h4|&;>Jl4(DBmIbnZKUeRrs({;GhrrU7G
zKTPS(8zg%Ua&t;L%!P>PBdCJ!`b6FqvP;!_IPnH)0r~4-#UD^F8XFlR6i2+
zJrdP2+%ZCUQ+gQ%q5Zh1@D)*EF;31P#Xm?1oi*EZ
z9;8UwV;stqohoPu74&_2&)&jCBZ-2-p~*aZBB$Bv2Py8M#Qnn*_s}GFI5dez65KzM
zq0qlla&I0%qeo}A_mYbl^}kS2H6~
z|Ej3%Fskiv)ONld$r|f$wN%8TB3@Rn>gP<`^kn-v@s&pWgJe87z
zb;(mHIX9JDPRT!~9`$t>P4)&AQF^&Y_B>-2&|xD*Pn!i;M1-ZIt?Tu#_hd+H3K8zu
zY=aiY7+NX1eu$dz8LC--9%+qUAl`AJPAhr#TG0`HK^)&Cj)Eulpn^mXN_35kru3|^
zL3iqw>a~NYR=-SDy4xU1{#7b@FeU%GE_pB|zfUdmW#Dg(FZDB7Z}6oq_4CZ52uxh!z~cGs=tF(~90MXPiTL
z);NcML=Q-F#@K|5Zx}MV4S@CECnJTivSh91JZlx_{#J!Z5K=@dP}hlON+reO{Gag234AionJmi8Wc2X?6#gys!F1H(ibV&n2*QE!RFmJ4
z?Y#99LgSrIRPo=-iq&{EulM;)I5di9G?^hhI_~{7xFo-Y
zO!un|#kqzKhl=BneIpEsoMHz}Q7i`3hZqvh7lk|KziMYR#ZJFXr<_t72)!sSsQl!I
zZV}&oySx)`{Ok+DZR$avkabE7J9JxY{2L2%^yls%C7Ks!>ZBOU9PU>N1#c6V7yBKa-0xs((^9+zkVJE2
zkV2BHn)Jh8{F;pZKO^{PP7!IUL*I=}b7)8Mzckgfty|VInu-^~?p&8AETy+?2S&Qo<#pyLs{7vsbkE<#M#H4bTMW#n!F&!
zE}WX_7z684P7P?7Lz$;3OZYr98YDyPUo@yR&;35LT3n$JQ&S%@jI~o4=(^-H{cH>!xiKJ@Rifk2lAHKi2l;2`+IZMBX4$|4-rK!$$u&lcqpw
zN%}-dU^z1sz|J!i?oR%BoLXHYXRf>x{cAzA#(j+p=)r2>UVCM2;@tZpwf+JQa`dCb
zvL{B1of<8zv35XWK9`f8X1(mh)<&?kaoKutE+zfT-u2=IBKuRKZYj6ct=$e$yFOfU
z7jZ0N6U_|THTu2b?1?5xE#%4X3THW={#~J**n)Y%-Ivq9-bwk!P(BGhT}~CxcvtC0
zjWU+EKtaF97HX2|+o<>>61LqLz8Wi&4nwf@7W?m=GQe4@wXdh+Kca*lnZA7IrCT!g
zIKYXXQQkh?5_91J9x8V-%ISNUaGO9r7hj18qL|mKKKWs7
zI7$;cSYPLDUwKu`?UU-tJWORy=BaNk4)cgOe~tv8rSC3JI7h{GIgV0}DWbMLTs+d`
zmyAXHvz-d}!ZqTb8uJ*Tr3h-ldf7xoi@iwn^K{_@WukiiJ=VL#NqvFiZ(a!UY_6!5y%ck3CacV3
zRdgwxk>|}-sFkp6a?vHSFJXfVf@`kSnksw$NQsw`nCzDUbVig)Ps~W1=lfy}ujWy=
zM7kPxg$UVnt4bB1)WB7lRHLiuSYUw@^Lq=09zn%F+00(UrJy)r+aN_F&1S{p;kR5r
zXbyF3`}Z`3(Y1TMqTfywP2PiBbj+U?T8J6uI?t|fB*GQ}`#6Oy26iKbEdh2@VBs7d
z%i_Wd7R67C$5HZJu4$G%O(xUPRZVmH?1c)CB-EJl0i8KDDy7?!T*Wh#^yz#A?bf_K
zSOeGOoVGzVt1WL6SnA}YBbv@z2bMWOHKnFl43;~pAi26WAh`-RAh}v6Nzfc}p*lSQ
zf>uG5zB>&gxXSqkC8$K3{W2c+^kfX0I)B34N?X?z4*x)`Y@Wd5HiY8He2w#ZT9S$C
zX_!Lm%vn#fggsrY$e==rF=)_4+X?T&lZAqFnhTW`bPn;Vf~-cL@+xj`NeBsJb|$BT
zzL{F-gmb*0dU>MHY!C-K6{5Z7@#H7qq5Wb6p!?4k6HfC4tu^{x4n_>;^nL|d7SKOZ
zE0)9l@4^Gcw4SaN
zDNWt=wAl1l@_GyEI<%kdi0}O0ATjGP>$-U8KFyOG&?9W8or_244gk~d{m)u9Hr7d~
zAqku6B-ErN)O?nN&2A91)05O;&RgO%Ya2IY+sUWnO}Hi`Mm&&7BL2pOAJSEBnC^}e_=lBY_%HQX
zk35;RDyIdlL}9ww0xc4Tx04v1(J*|TM7(ng4fWiP;bl9|QnjMcE&@H9lD<)BTVCW2
z!5!50R!21EnkRLfN>2a3tG7&cpSzTCCs$!q4Aibugg>`cCST6mMG8!zPO=M~#C8&$
zWQys(TfdX+Mgur$b)94n?C+!nz}!>n+*4wCJ*CR9cy}e-kBA!=eg@WJ&vRt^W3DgY
zNhXssu-0Mq*XnTS0S`Q&@F5R86l?chuC;K|&ZzDIxTkGydPd&!xn6p{)}(E2Q_PLc
zGV+?_HV?mbk&8mo-Tl--p8Tje9D2lkL#1-^nS4`a5Bd6(>L4^=N0}(N;s00XGwW_t}1>|K?~C_7i1MkQV%+254$hSjGz`Y
zNSapIBi9Vah$o2TtlpB^BiHih%Q;?BiQao(7FUph(-tBf0n@}%ncD~zYV7$B`fwrG
zI0gxQC7J3S3wpBdDZEE+dQLkbsT~%r##y~(Dew9A?Q^}MQu;-QlYB(bE^!}nVxeeE
zD$%pO_PI@hg2ke=V3VL3n8b7L+JZ>Or609VZ$zhEf>h>`sHMU=&4W!a!_n&Kd9@DD
zx&mhf+e(N^$A&)G1pE5Q2>jj(I!vHQp?C+G%ufrX7i+02eyqchi_mn6_h_G+E)u37
zh9-3~#kw18N(*m~+@@~M^hCB`6TwR{C)gxJ1UjFcYD>X1krHf5$cDzj#=%C-7T01S
z&6m7ws0-#x{%1n@RyfpOa^DaNLa#bPMj)T4WDl_qpckGPphd#54W?!HlQ?}H5ymD*
z3|yn|gWP6e?0p2*q)_z49AB^*R7>mZlU;H3N)=BZ>zA4!1e*s2(GEV$70XF0q|?Y;
z1AW0v^)c;9y-1JxYn2M`f09?#!_7pKof$M@LDTJh`C6gJw``b~YYI0(wf&%;d#W
zf_ljmBnFjCsdQ-2DDD&sYHpsPpkVw(ghErrnLR+gQ34*iagB0Wb<$qJ?wHhwxF6Ofb*RQFT_~YPDb$~o7=6r&
zsz7YkdUP})AO`>6N&6jDSFdgh&QGsSm8;*kpw;7+sHU^roLVK4Rjcq&T#1&Dxkr>x
z=T_>`ONm_C$*+Yrkmt3Jb45(C(a=LWUaI7>?xg)D@lv;KuG*GfN1hapXtn2i2|qNJ
z9OAi3B$g?a0PT^hiYS^_U>c0A(rCe?M1xeJK}z$SH>jXeVh1MW(r;CmYBX#j`;lf`3@~RJoj0jKl_UQQO40u
zCVz+f#yFps-=R-+usXg&AKSI@^|xDh(E}xB*HV*?E=DmWU_rP&^-95e-ArTxU;Ar~#V4Bozl0-{vxc&`w>rcHqcJJaY
z)Oku{NdCn-Uu%q%^tHxFpW$m=s*^B|BwVhOFfJuw+-FI+QYT>oNw`|iTbn>iUaMo6
zL=4vjgSf>DpuXbJk+F|O!EeECFLi#2<-PR($)VWP(4jzKH-u01GQ=K|#W+4B^KjM)
znbU8n(J;{92yAw;G~NkO3K+Y|CB=4r^jMyg$WtAov%g3TIXY2w^FMOWVz67BPjOl`
zqLhG-)Mx75y`XRl6>Q`x{VQ#DpP!_i3{ueg=x>
z&8#Vs1i{gu8Wo?rizKWYYAk`Gteh5@Y7JU0=zln>RCXk2C4aCfs5C2$$H~-pF!|a}
z*Th|eI1%9=RVFST1X5M+u;Zg@*Jq1Fv!_c^7=uk{ZWVr%tAw)`N-U_jXDu@&fC>WT
z5_OcjqIF&+!$c$qp|hCKC@FQ$@wBMwC`s(mBT}K@ilq)KPKbH#9#=Hm*(lC=s!0%?
zShT_p?JYXJNgi7WsflBYpHd@Ld%jC6SVZa^f!9m9=+g>um@tYCWauz~rsYUfsDW{KICUJ^P=9r7cygM%*r*A6hyx|KC&l{@gN$KNNaZ9AiQ08Nz
zGWSKF5W9x|2`SfOUDTH
z&l=vODtZ%V4VxYD!V-%LT?LXur^2E0mzvqLBq>VoZa-PCBp11T?umoDxYUS&|9vX-
zSq$%ylDN8RL>C&*5}LKmVOh^|B+?sP@r#g%M^eB07@=Q%jELWSjF8bIblN~Y?;%&x
zZD+W6D*SA&**4c|n`^htb=u~p(RM+2)s*6)iB)v77Yg%Uz~I@fCp#U+PXAO7tR`1V
zA)va$l-6F?M7cVI8J_3JMbDanPJr^lp%Ienwgk;cAdJBh4MYILV#FC_!^sj4%+u--
zipdeNf^dtP!mcl!m#EW~qEvF;fMQ@-aKVa$T4@QWgcg%J;)^lx*wzz}!{Ia^22DC25+1kFEE;mX{Wc_x@*da`vp@ZajHqqVU!*%eWmWvk{XVR*(x=mwa?Yk=>by{@%wRVP$Os6
zou}xA&Ct^~xKEf+YAsjMzt>4(e7on7O_Jx4;m~NQ$ldW!6f~lj7tx(1*5bfuiN;=<
z7<&{KGo2iZG`m8lazzq-H$Y*imnwdd64C4-st6OF{@ld=LJ)d`Fuy*5T>p8=4M&j_
z&YDC2L|fITZal>HKYIc89e;Ri-=Q?zcc`@QP)Ok@Z9IykhU$oYMtyba2nlr(1o(=B
z)G*1RQenwBmte_kcO4=}6vLvj&J*<|7M7U1c+l+R_HC7RldAacg_g{qTHK>j%vpQf
z)gn(Kx!#k={6f8z#P;q~cDOE_sJ;ALnxTi#pL}PISCw$mMMe-#nNza}ualrY4
z-b?U%>-dG2F`7J=-jd$fc2-HW9dpDgkw)`nBk?JqNEMh^{54D)W_FRK2~zeR
zaDs&SNK32}YI2=upW8_6DBSwxifO+bRh
zu_)9n3pIpcbB{~oLJbbmif9E{RPVGltqRUT7=CblGHWX!M7ZxZpyG}Jzmo`&P
zf0^m8Q3GLzB8${OL_~I~fvDr3N=d#FClC|yMXGO>oQUsKeG?7DQ9wUQmSv?q{b;Uu
zhY<1074!oFIVE<4K28wt9V#I;5{fx+M$vQoqle0hh25)51!;h!K*}@Wj=uMDrkOdV
zb|m>zb@W?rBG*7k)@7wgBMa83G}G-=X{KGI=4$kNccFbwy`M&Xx;hpKRXTwy3c@NU
za9N3jsvTO#WB&Cr#l>&Q?RNrKk#fMvXo4v&MzO$cC5DPuc)!3|PK_GNs!_QpFcLcG
z)V-LxYZFf0y-1t|iR3_7jf4(8#&xJ6*C7}bT!$ayI^2-!uoI{P*OAA#jx^*t;sg$Z
z>*!-#M;me-bporvb<7bzjzE-SPGGne2_3Ja9CrfaREnH%0;fdeq!Z|;QRI{p7$_pA
zoxll^bjAr>5|Oh`phzU0a{^;D`cbOW*U^&c{wnljz_
zMCC*@aNzG4Q%xE3LS4QKPT<(zF|V31FGXC_sYyer2}5~)MxAaE%<>L~#Uhwx5zIo}
zHWIp+C`?2H6Q$2COiQ)pB_~O^Z;Y~OX3=__?Id^@ZR-w^vB`>i$KQ2QO`8%AIxf#J3|QW)U|qugLCy`I=+`N|yM
z)c?oYn}A7GW$B`E<~R{?g2)7%5KOBQ5~;ADY_0C9>Y>W+3aPx^mDTUH_3R<@Wkgg*
z$E|0*d+)RG>#n}{eo112qR2cCnMool$)unNDku)j5GR7nL{!8H2OJSaL5R2hwa*lp
ziCWeDDUoOIz4pBJu-0Dt-?3}M$vu(e>R9sOXsw>y6#Y7Ta+p~hFzRluO0O}Sx=mP5
z%#7knN>>cF6?-F4O3aEvO))!~ybz&sKtVAl3YEp&XtErkV%%)zyUnJxCZ$II-z??V
znoa9Wl!?l+D?(+VEix5`a-#olR`cti)R-j)OfuF~nq22~&@*g++pD+q({+}(v^z0Oyo_!Jv$ybIJ_;q>`by_IoiNzYn9ecO=#X_Kn%Kw}AbTbV*hiT`h?IYp>Tsix
zJ~d%#sS5~7Lr{f<3;1$0P$*b1wLu&%xg72o`EZha0}L2P!GsgLT%aSFFM^$piF|I=
zDIpJAQD+rf6W_tBf1Jb=E(Ft5U&0oij#F%!4=@mi7jI~Q0@}GxV<2&}L{R#4EOEUP
z!`xJLO=v**!{YW|m~xjyRmc2BO^CcTMkCUk#FXLJGW3#K6>*aB+lIDYV|cKy&m;
zHpYqJE(|fgZ=ieA$gr3$*2WwFDaSP}^%+d5oa9isA@0RQ$uAlOnLezf^h+twInIpa
z)K2t_GtRhYxKsX}I|bfOr-<9GrqgDoxGEN_2j@L1H%ja$3`g*poE9tO4#==6;ro*U
zX?}0e18DU7Jdc|6erb?~{5KMGX@9=8AMbh{PP$9sJ@7WlyK;5ETl$4=VBo(9QraA($&!USjaF#
z7h(XQD#t>m8S3Pb|Gw&veA5~EJkBrWao+Zua3QxtcDRNiS)~CC>roztSL11cy?UDZ>N6=Ma_2E??9=xepXE8?)m>MT`!ztJmrO%Jeg16cVDN;T!J9A1)dR3<6;NpAUyBvBXIblk5`
zYq?+d*hEb~pgW&Z`azv{T;AI=?k>d&>{0}O{4A3LOSDUmNL!gr^l27mH^CftT40X5
ztdOdNrW14AuY)6WC3GJ(IN#4Mkf11~pP=379ywGTK{;@bVYRHdf!G7sZ#Hf4byOS7=JjUtTXOC(
zv)NYC_gIc|tJyqR_MO|z=2L;t$Ia%^zUv9Id7JJ#pER2{vvUKI6lpuo$+Ae>ah_5{
z+KzLyNZN62(?!~jbF(heCMQ*Dt*7H!Z`!$gENbd?p4SG~YrU*%iaMV~gEKI05IQs>
z5HHZ!?gKPL-qs5^uj7iHJ0KyrQBjUJ*tprmcWSdKr3+N@c@{REMOMVk
zvse)~-%8t3(atTfXzNUW7h36qQjx1Rk*ij8sx}UaxEWUZO9^_Xd#&_Y{#azy@im6J
z1nnfoq|21cOv_b(&9u_zrNmE>B~=@cRilekQ9C!wN-vgO$80OTRJN1r