{"version":3,"sources":["webpack:///app.89154e0f2714751e6227.js","webpack:///./public/app/core/core_module.ts","webpack:///./public/app/core/app_events.ts","webpack:///./public/app/core/config.ts","webpack:///./public/app/core/store.ts","webpack:///./public/app/core/services/context_srv.ts","webpack:///./public/app/stores/store.ts","webpack:///./public/app/stores/PermissionsStore/PermissionsStore.ts","webpack:///./public/app/core/components/PageHeader/PageHeader.tsx","webpack:///./public/app/core/utils/colors.ts","webpack:///./node_modules/react-hot-loader/index.js","webpack:///./public/app/core/utils/emitter.ts","webpack:///./public/app/core/utils/location_util.ts","webpack:///./node_modules/rxjs/util/root.js","webpack:///./public/app/core/services/impression_srv.ts","webpack:///./public/app/core/utils/react2angular.ts","webpack:///./public/app/core/utils/tags.ts","webpack:///./public/app/core/services/experiments_impression_srv.ts","webpack:///./public/app/core/components/Picker/DescriptionPicker.tsx","webpack:///./public/app/core/utils/kbn.ts","webpack:///./public/app/core/time_series2.ts","webpack:///./public/app/core/constants.ts","webpack:///./node_modules/rxjs/symbol/rxSubscriber.js","webpack:///./public/app/features/dashboard/panel_model.ts","webpack:///./public/app/core/components/json_explorer/json_explorer.ts","webpack:///./public/app/core/components/colorpicker/ColorPickerPopover.tsx","webpack:///./public/app/core/profiler.ts","webpack:///./public/app/stores/AlertListStore/helpers.ts","webpack:///./node_modules/rxjs/util/isFunction.js","webpack:///./node_modules/rxjs/util/errorObject.js","webpack:///./node_modules/rxjs/Observer.js","webpack:///./public/app/core/components/TagFilter/TagBadge.tsx","webpack:///./public/app/core/components/Picker/UserPicker.tsx","webpack:///./public/app/core/components/Picker/PickerOption.tsx","webpack:///./public/app/core/components/Picker/withPicker.tsx","webpack:///./public/app/core/components/Permissions/Permissions.tsx","webpack:///./public/app/core/components/Tooltip/Tooltip.tsx","webpack:///./public/app/core/components/Permissions/PermissionsInfo.tsx","webpack:///./public/app/core/components/Permissions/AddPermissions.tsx","webpack:///./public/app/core/components/Animations/SlideDown.tsx","webpack:///./node_modules/rxjs/Observable.js","webpack:///./public/app/core/utils/datemath.ts","webpack:///./public/app/core/nav_model_srv.ts","webpack:///./node_modules/rxjs/Subscriber.js","webpack:///./public/app/core/utils/ticks.ts","webpack:///./public/app/core/utils/rangeutil.ts","webpack:///./public/app/features/alerting/alert_def.ts","webpack:///./public/app/core/components/query_part/query_part.ts","webpack:///./node_modules/rxjs/Subscription.js","webpack:///./node_modules/rxjs/util/isArray.js","webpack:///./node_modules/rxjs/symbol/observable.js","webpack:///./public/app/features/dashboard/dashboard_model.ts","webpack:///./node_modules/rxjs/util/isObject.js","webpack:///./public/app/core/utils/model_utils.ts","webpack:///./public/app/index.ts","webpack:///./public/app/app.ts","webpack:///./public/vendor/bootstrap/bootstrap.js","webpack:///./public/vendor/angular-ui/ui-bootstrap-tpls.js","webpack:///./public/vendor/angular-other/angular-strap.js","webpack:///./public/app/core/directives/dash_class.ts","webpack:///./public/app/core/directives/dropdown_typeahead.ts","webpack:///./public/app/core/directives/metric_segment.ts","webpack:///./public/app/core/directives/misc.ts","webpack:///./public/app/core/directives/ng_model_on_blur.ts","webpack:///./public/app/core/directives/tags.ts","webpack:///./public/vendor/tagsinput/bootstrap-tagsinput.js","webpack:///./public/app/core/directives/videojs.ts","webpack:///./public/app/core/directives/value_select_dropdown.ts","webpack:///./public/app/core/directives/rebuild_on_change.ts","webpack:///./public/app/core/directives/give_focus.ts","webpack:///./public/app/core/directives/diff-view.ts","webpack:///./public/app/core/jquery_extended.ts","webpack:///./public/app/core/partials.ts","webpack:///./public/app \\.html$","webpack:///./public/app/core/components/help/help.html","webpack:///./public/app/core/components/manage_dashboards/manage_dashboards.html","webpack:///./public/app/core/components/navbar/navbar.html","webpack:///./public/app/core/components/search/search.html","webpack:///./public/app/core/components/search/search_results.html","webpack:///./public/app/core/components/sidemenu/sidemenu.html","webpack:///./public/app/core/components/sidepane/sidepane.html","webpack:///./public/app/features/admin/partials/admin_home.html","webpack:///./public/app/features/admin/partials/edit_org.html","webpack:///./public/app/features/admin/partials/edit_user.html","webpack:///./public/app/features/admin/partials/experiments.html","webpack:///./public/app/features/admin/partials/new_user.html","webpack:///./public/app/features/admin/partials/orgs.html","webpack:///./public/app/features/admin/partials/settings.html","webpack:///./public/app/features/admin/partials/stats.html","webpack:///./public/app/features/admin/partials/users.html","webpack:///./public/app/features/alerting/partials/alert_howto.html","webpack:///./public/app/features/alerting/partials/alert_tab.html","webpack:///./public/app/features/alerting/partials/notification_edit.html","webpack:///./public/app/features/alerting/partials/notifications_list.html","webpack:///./public/app/features/annotations/partials/editor.html","webpack:///./public/app/features/annotations/partials/event_editor.html","webpack:///./public/app/features/dashboard/dashnav/dashnav.html","webpack:///./public/app/features/dashboard/export/export_modal.html","webpack:///./public/app/features/dashboard/export_data/export_data_modal.html","webpack:///./public/app/features/dashboard/export_experiment/export_experiment_modal.html","webpack:///./public/app/features/dashboard/folder_picker/folder_picker.html","webpack:///./public/app/features/dashboard/history/history.html","webpack:///./public/app/features/dashboard/move_to_folder_modal/move_to_folder.html","webpack:///./public/app/features/dashboard/partials/create_folder.html","webpack:///./public/app/features/dashboard/partials/dashboard_import.html","webpack:///./public/app/features/dashboard/partials/dashboard_list.html","webpack:///./public/app/features/dashboard/partials/folder_dashboards.html","webpack:///./public/app/features/dashboard/partials/folder_permissions.html","webpack:///./public/app/features/dashboard/partials/folder_settings.html","webpack:///./public/app/features/dashboard/partials/inspector.html","webpack:///./public/app/features/dashboard/partials/row_options.html","webpack:///./public/app/features/dashboard/partials/shareModal.html","webpack:///./public/app/features/dashboard/settings/settings.html","webpack:///./public/app/features/dashboard/submenu/submenu.html","webpack:///./public/app/features/dashboard/timepicker/settings.html","webpack:///./public/app/features/dashboard/timepicker/timepicker.html","webpack:///./public/app/features/dashlinks/editor.html","webpack:///./public/app/features/experiments/partials/edit_experiment.html","webpack:///./public/app/features/experiments/partials/edit_folder.html","webpack:///./public/app/features/org/partials/apikeyModal.html","webpack:///./public/app/features/org/partials/change_password.html","webpack:///./public/app/features/org/partials/create_team.html","webpack:///./public/app/features/org/partials/invite.html","webpack:///./public/app/features/org/partials/newOrg.html","webpack:///./public/app/features/org/partials/orgApiKeys.html","webpack:///./public/app/features/org/partials/orgDetails.html","webpack:///./public/app/features/org/partials/orgUsers.html","webpack:///./public/app/features/org/partials/profile.html","webpack:///./public/app/features/org/partials/select_org.html","webpack:///./public/app/features/org/partials/team_details.html","webpack:///./public/app/features/org/partials/teams.html","webpack:///./public/app/features/panel/partials/metrics_tab.html","webpack:///./public/app/features/panel/partials/panelTime.html","webpack:///./public/app/features/panel/partials/query_editor_row.html","webpack:///./public/app/features/panel/partials/soloPanel.html","webpack:///./public/app/features/panellinks/module.html","webpack:///./public/app/features/playlist/partials/playlist.html","webpack:///./public/app/features/playlist/partials/playlist_search.html","webpack:///./public/app/features/playlist/partials/playlists.html","webpack:///./public/app/features/plugins/import_list/import_list.html","webpack:///./public/app/features/plugins/partials/ds_dashboards.html","webpack:///./public/app/features/plugins/partials/ds_edit.html","webpack:///./public/app/features/plugins/partials/ds_http_settings.html","webpack:///./public/app/features/plugins/partials/ds_list.html","webpack:///./public/app/features/plugins/partials/plugin_edit.html","webpack:///./public/app/features/plugins/partials/plugin_list.html","webpack:///./public/app/features/plugins/partials/plugin_page.html","webpack:///./public/app/features/plugins/partials/update_instructions.html","webpack:///./public/app/features/sensors/partials/bind_sensor.html","webpack:///./public/app/features/sensors/partials/edit_sensor.html","webpack:///./public/app/features/snapshot/partials/snapshots.html","webpack:///./public/app/features/styleguide/styleguide.html","webpack:///./public/app/features/templating/partials/editor.html","webpack:///./public/app/features/upload/partials/upload.html","webpack:///./public/app/partials/confirm_modal.html","webpack:///./public/app/partials/dashboard.html","webpack:///./public/app/partials/edit_json.html","webpack:///./public/app/partials/error.html","webpack:///./public/app/partials/home.html","webpack:///./public/app/partials/login.html","webpack:///./public/app/partials/modal.html","webpack:///./public/app/partials/panelgeneral.html","webpack:///./public/app/partials/reset_password.html","webpack:///./public/app/partials/signup_invited.html","webpack:///./public/app/partials/signup_step2.html","webpack:///./public/app/partials/valueSelectDropdown.html","webpack:///./public/app/plugins/app/testdata/partials/query.editor.html","webpack:///./public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/cloudwatch/partials/config.html","webpack:///./public/app/plugins/datasource/cloudwatch/partials/query.editor.html","webpack:///./public/app/plugins/datasource/cloudwatch/partials/query.parameter.html","webpack:///./public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html","webpack:///./public/app/plugins/datasource/elasticsearch/partials/config.html","webpack:///./public/app/plugins/datasource/elasticsearch/partials/metric_agg.html","webpack:///./public/app/plugins/datasource/elasticsearch/partials/query.editor.html","webpack:///./public/app/plugins/datasource/grafana-live/partials/query.editor.html","webpack:///./public/app/plugins/datasource/grafana/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/grafana/partials/query.editor.html","webpack:///./public/app/plugins/datasource/graphite/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/graphite/partials/config.html","webpack:///./public/app/plugins/datasource/graphite/partials/query.editor.html","webpack:///./public/app/plugins/datasource/influxdb/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/influxdb/partials/config.html","webpack:///./public/app/plugins/datasource/influxdb/partials/query.editor.html","webpack:///./public/app/plugins/datasource/mssql/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/mssql/partials/config.html","webpack:///./public/app/plugins/datasource/mssql/partials/query.editor.html","webpack:///./public/app/plugins/datasource/mysql/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/mysql/partials/config.html","webpack:///./public/app/plugins/datasource/mysql/partials/query.editor.html","webpack:///./public/app/plugins/datasource/opentsdb/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/opentsdb/partials/config.html","webpack:///./public/app/plugins/datasource/opentsdb/partials/query.editor.html","webpack:///./public/app/plugins/datasource/postgres/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/postgres/partials/config.html","webpack:///./public/app/plugins/datasource/postgres/partials/query.editor.html","webpack:///./public/app/plugins/datasource/prometheus/partials/annotations.editor.html","webpack:///./public/app/plugins/datasource/prometheus/partials/config.html","webpack:///./public/app/plugins/datasource/prometheus/partials/query.editor.html","webpack:///./public/app/plugins/panel/alertlist/editor.html","webpack:///./public/app/plugins/panel/alertlist/module.html","webpack:///./public/app/plugins/panel/dashlist/editor.html","webpack:///./public/app/plugins/panel/dashlist/module.html","webpack:///./public/app/plugins/panel/experimentdetails/module.html","webpack:///./public/app/plugins/panel/experimentvideo/module.html","webpack:///./public/app/plugins/panel/gettingstarted/editor.html","webpack:///./public/app/plugins/panel/gettingstarted/module.html","webpack:///./public/app/plugins/panel/graph/axes_editor.html","webpack:///./public/app/plugins/panel/graph/tab_display.html","webpack:///./public/app/plugins/panel/graph/tab_legend.html","webpack:///./public/app/plugins/panel/heatmap/module.html","webpack:///./public/app/plugins/panel/heatmap/partials/axes_editor.html","webpack:///./public/app/plugins/panel/heatmap/partials/display_editor.html","webpack:///./public/app/plugins/panel/pluginlist/editor.html","webpack:///./public/app/plugins/panel/pluginlist/module.html","webpack:///./public/app/plugins/panel/sensor/partials/tab.html","webpack:///./public/app/plugins/panel/singlestat/editor.html","webpack:///./public/app/plugins/panel/singlestat/mappings.html","webpack:///./public/app/plugins/panel/singlestat/module.html","webpack:///./public/app/plugins/panel/table/column_options.html","webpack:///./public/app/plugins/panel/table/editor.html","webpack:///./public/app/plugins/panel/table/module.html","webpack:///./public/app/plugins/panel/text/editor.html","webpack:///./public/app/plugins/panel/text/module.html","webpack:///./public/app/plugins/panel/unknown/module.html","webpack:///./public/app/core/components/jsontree/jsontree.ts","webpack:///./public/app/core/components/json_explorer/helpers.ts","webpack:///./public/app/core/components/code_editor/code_editor.ts","webpack:///./public/app/core/components/code_editor/theme-grafana-dark.js","webpack:///./node_modules/brace/ext/language_tools.js","webpack:///./node_modules/brace/theme/textmate.js","webpack:///./node_modules/brace/mode/sql.js","webpack:///./node_modules/brace/snippets/sql.js","webpack:///./node_modules/brace/mode/sqlserver.js","webpack:///./node_modules/brace/mode/markdown.js","webpack:///./node_modules/brace/worker/javascript.js","webpack:///./node_modules/brace/worker/css.js","webpack:///./node_modules/brace/worker/html.js","webpack:///./node_modules/brace/snippets/markdown.js","webpack:///./node_modules/brace/mode/json.js","webpack:///./public/app/core/utils/outline.ts","webpack:///./public/app/core/components/colorpicker/ColorPicker.tsx","webpack:///./public/app/core/components/colorpicker/ColorPalette.tsx","webpack:///./public/app/core/components/colorpicker/SpectrumPicker.tsx","webpack:///./public/vendor/spectrum.js","webpack:///./public/app/core/components/colorpicker/SeriesColorPicker.tsx","webpack:///./public/app/core/components/colorpicker/spectrum_picker.ts","webpack:///./public/app/core/services/search_srv.ts","webpack:///./public/app/core/services/ng_react.ts","webpack:///./public/app/core/components/grafana_app.ts","webpack:///./public/app/stores/RootStore/RootStore.ts","webpack:///./public/app/stores/SearchStore/SearchStore.ts","webpack:///./public/app/stores/SearchStore/SearchResultSection.ts","webpack:///./public/app/stores/SearchStore/ResultItem.ts","webpack:///./public/app/stores/ServerStatsStore/ServerStatsStore.ts","webpack:///./public/app/stores/ServerStatsStore/ServerStat.ts","webpack:///./public/app/stores/NavStore/NavStore.ts","webpack:///./public/app/stores/NavStore/NavItem.ts","webpack:///./public/app/stores/AlertListStore/AlertListStore.ts","webpack:///./public/app/stores/AlertListStore/AlertRule.ts","webpack:///./public/app/stores/ViewStore/ViewStore.ts","webpack:///./public/app/core/utils/url.ts","webpack:///./public/app/stores/FolderStore/FolderStore.ts","webpack:///./public/app/stores/PermissionsStore/PermissionsStoreItem.ts","webpack:///./public/app/core/components/sidemenu/sidemenu.ts","webpack:///./public/app/core/components/search/search.ts","webpack:///./public/app/core/components/info_popover.ts","webpack:///./public/app/core/components/navbar/navbar.ts","webpack:///./public/app/core/directives/array_join.ts","webpack:///./public/app/core/live/live_srv.ts","webpack:///./node_modules/rxjs/util/toSubscriber.js","webpack:///./node_modules/rxjs/util/tryCatch.js","webpack:///./node_modules/rxjs/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/util/pipe.js","webpack:///./node_modules/rxjs/util/noop.js","webpack:///./public/app/core/components/layout_selector/layout_selector.ts","webpack:///./public/app/core/components/switch.ts","webpack:///./public/app/core/components/dashboard_selector.ts","webpack:///./public/app/core/components/query_part/query_part_editor.ts","webpack:///./public/app/core/components/form_dropdown/form_dropdown.ts","webpack:///./public/app/core/components/sidepane_search/sidepane_search.ts","webpack:///./public/app/core/controllers/all.ts","webpack:///./public/app/core/controllers/inspect_ctrl.ts","webpack:///./public/app/core/controllers/json_editor_ctrl.ts","webpack:///./public/app/core/controllers/login_ctrl.ts","webpack:///./public/app/core/controllers/invited_ctrl.ts","webpack:///./public/app/core/controllers/signup_ctrl.ts","webpack:///./public/app/core/controllers/reset_password_ctrl.ts","webpack:///./public/app/core/controllers/error_ctrl.ts","webpack:///./public/app/core/controllers/home_ctrl.ts","webpack:///./public/app/core/services/all.ts","webpack:///./public/app/core/services/alert_srv.ts","webpack:///./public/app/core/services/util_srv.ts","webpack:///./public/app/core/services/timer.ts","webpack:///./public/app/core/services/analytics.ts","webpack:///./public/app/core/services/popover_srv.ts","webpack:///./public/app/core/services/segment_srv.ts","webpack:///./public/app/core/services/backend_srv.ts","webpack:///./public/app/features/dashboard/dashboard_migration.ts","webpack:///./public/app/core/utils/sort_by_keys.ts","webpack:///./public/app/core/services/dynamic_directive_srv.ts","webpack:///./public/app/core/services/bridge_srv.ts","webpack:///./public/app/core/services/experiments_search_srv.ts","webpack:///./public/app/core/services/experiment_srv.ts","webpack:///./public/app/core/services/sensor_srv.ts","webpack:///./public/app/core/services/matlab_plugin_srv.ts","webpack:///./public/app/core/services/freshchat.ts","webpack:///./public/app/core/services/mixpanel.ts","webpack:///./public/app/core/filters/filters.ts","webpack:///./public/app/core/services/keybindingSrv.ts","webpack:///./public/app/core/components/help/help.ts","webpack:///./public/app/core/components/user_picker.ts","webpack:///./public/app/core/components/team_picker.ts","webpack:///./public/app/core/components/scroll/scroll.ts","webpack:///./public/app/core/components/scroll/page_scroll.ts","webpack:///./public/app/core/components/gf_page.ts","webpack:///./public/app/core/components/org_switcher.ts","webpack:///./public/app/core/angular_wrappers.ts","webpack:///./public/app/core/components/PasswordStrength.tsx","webpack:///./public/app/core/components/EmptyListCTA/EmptyListCTA.tsx","webpack:///./public/app/core/components/Login/LoginBackground.tsx","webpack:///./public/app/core/components/search/SearchResult.tsx","webpack:///./public/app/core/components/TagFilter/TagFilter.tsx","webpack:///./public/app/core/components/TagFilter/TagValue.tsx","webpack:///./public/app/core/components/TagFilter/TagOption.tsx","webpack:///./public/app/core/components/Permissions/DashboardPermissions.tsx","webpack:///./public/app/core/components/Permissions/PermissionsList.tsx","webpack:///./public/app/core/components/Permissions/PermissionsListItem.tsx","webpack:///./public/app/core/components/Picker/DescriptionOption.tsx","webpack:///./public/app/core/components/Permissions/DisabledPermissionsListItem.tsx","webpack:///./public/app/core/components/Tooltip/withTooltip.tsx","webpack:///./public/app/core/components/Picker/TeamPicker.tsx","webpack:///./public/app/core/components/Tree/Tree.tsx","webpack:///./public/app/core/components/search/search_results.ts","webpack:///./public/app/core/components/manage_dashboards/manage_dashboards.ts","webpack:///./public/app/core/components/sidepane/sidepane.ts","webpack:///./public/app/routes/routes.ts","webpack:///./public/app/routes/dashboard_loaders.ts","webpack:///./public/app/routes/ReactContainer.tsx","webpack:///./public/app/containers/ServerStats/ServerStats.tsx","webpack:///./public/app/containers/AlertRuleList/AlertRuleList.tsx","webpack:///./node_modules/react-hot-loader/dist/react-hot-loader.production.min.js","webpack:///./public/app/containers/ManageDashboards/FolderSettings.tsx","webpack:///./public/app/containers/ManageDashboards/FolderPermissions.tsx"],"names":["webpackJsonp","module","__webpack_exports__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_angular__","__WEBPACK_IMPORTED_MODULE_0_angular___default","n","a","__WEBPACK_IMPORTED_MODULE_0__utils_emitter__","appEvents","__WEBPACK_IMPORTED_MODULE_0_lodash__","__WEBPACK_IMPORTED_MODULE_0_lodash___default","Settings","options","defaults","datasources","panels","new_panel_title","playlist_timespan","unsaved_changes_warning","appSubUrl","extend","this","bootData","window","grafanaBootData","settings","config","Store","prototype","get","key","localStorage","set","value","getBool","def","exists","delete","removeItem","store","d","contextSrv","__WEBPACK_IMPORTED_MODULE_0_app_core_config__","__WEBPACK_IMPORTED_MODULE_1_lodash__","__WEBPACK_IMPORTED_MODULE_1_lodash___default","__WEBPACK_IMPORTED_MODULE_2_app_core_core_module__","__WEBPACK_IMPORTED_MODULE_3_app_core_store__","User","user","ContextSrv","sidemenuSmallBreakpoint","sidemenu","buildInfo","version","isSignedIn","isGrafanaAdmin","isEditor","hasRole","hasEditPermissionInFolders","role","orgRole","isGrafanaVisible","undefined","document","visibilityState","toggleSideMenu","factory","createStore","services","__WEBPACK_IMPORTED_MODULE_0__RootStore_RootStore__","create","__assign","navTree","__WEBPACK_IMPORTED_MODULE_1_app_core_config__","Object","assign","t","s","i","arguments","length","p","hasOwnProperty","call","apply","permissionOptions","aclTypes","PermissionsStore","__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__","__WEBPACK_IMPORTED_MODULE_1__PermissionsStoreItem__","__generator","thisArg","body","verb","v","step","op","f","TypeError","_","y","next","done","label","ops","pop","trys","push","e","g","sent","throw","return","Symbol","iterator","description","aclTypeValues","GROUP","text","USER","VIEWER","EDITOR","keys","map","item","defaultNewType","NewPermissionsItem","model","type","optional","enumeration","userId","maybe","number","userLogin","string","userAvatarUrl","teamAvatarUrl","teamId","team","permission","views","self","isValid","actions","setUser","setTeam","setPermission","fetching","boolean","isFolder","dashboardId","items","array","originalItems","newType","newItem","isAddPermissionsVisible","isInRoot","find","it","isDuplicate","resetNewTypeInternal","load","backendSrv","res","_a","clear","prepareServerResponse","addStoreItem","updatedItems","sortedItems","_b","Error","peek","prepareItem","updateItems","sort","b","sortRank","name","localeCompare","Promise","resolve","removeStoreItem","idx","splice","updatePermissionOnIndex","permissionName","updatePermission","setNewType","resetNewType","toggleAddPermissions","hideAddPermissions","updated","_i","items_1","inherited","id","post","response","icon","origItem","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_mobx_react__","__WEBPACK_IMPORTED_MODULE_2_classnames__","__WEBPACK_IMPORTED_MODULE_2_classnames___default","__WEBPACK_IMPORTED_MODULE_3_app_core_app_events__","__WEBPACK_IMPORTED_MODULE_4_mobx__","__extends","extendStatics","setPrototypeOf","__proto__","Array","__","constructor","__decorate","decorators","target","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","SelectNav","main","customCss","defaultSelectedItem","children","navItem","active","gotoUrl","evt","element","url","selectedIndex","emit","href","createElement","className","htmlFor","onChange","hideFromTabs","Tabs","tab","tabClasses","gf-tabs-link","Navigation","PageHeader","_super","props","shouldComponentUpdate","renderTitle","title","breadcrumbs","breadcrumbsResult","bc","renderHeaderTitle","img","src","subTitle","subType","render","Component","hexToHsl","color","__WEBPACK_IMPORTED_MODULE_1_tinycolor2___default","toHsl","hslToHex","toHexString","DEFAULT_ANNOTATION_COLOR","OK_COLOR","ALERTING_COLOR","NO_DATA_COLOR","REGION_FILL_ALPHA","sortedColors","__WEBPACK_IMPORTED_MODULE_1_tinycolor2__","PALETTE_ROWS","colors","hexColors","hslColors","sortedHSLColors","sortBy","chunk","flattenDeep","zip","exports","Emitter","__WEBPACK_IMPORTED_MODULE_0_eventemitter3__","emitter","data","on","handler","scope","_this","unbind","$on","off","removeAllListeners","__WEBPACK_IMPORTED_MODULE_12__partials__","__WEBPACK_IMPORTED_MODULE_15__utils_outline__","__WEBPACK_IMPORTED_MODULE_38__core_module__","__WEBPACK_IMPORTED_MODULE_39__app_events__","__WEBPACK_IMPORTED_MODULE_42__services_context_srv__","__WEBPACK_IMPORTED_MODULE_45__components_json_explorer_json_explorer__","__WEBPACK_IMPORTED_MODULE_53__profiler__","__WEBPACK_IMPORTED_MODULE_54__angular_wrappers__","__WEBPACK_IMPORTED_MODULE_55__time_series2__","decodePathComponent","encodePathComponent","pc","decodeURIComponent","replace","RegExp","encodeURIComponent","stripBaseFromUrl","stripExtraChars","endsWith","indexOf","slice","global","__window","__self","WorkerGlobalScope","__global","_root","root","__WEBPACK_IMPORTED_MODULE_0_app_core_store__","__WEBPACK_IMPORTED_MODULE_2_app_core_config__","ImpressionSrv","addDashboardImpression","dashUrl","lastUrlKey","impressionsKey","impressionKey","impressions","JSON","parse","isArray","filter","imp","unshift","stringify","getDashboardOpened","el","isNumber","getLastDashUrl","orgId","impressionSrv","react2AngularDirective","component","__WEBPACK_IMPORTED_MODULE_0_app_core_core_module__","directive","reactDirective","getTagColorsFromName","toLowerCase","borderColor","hash","djb2","TAG_COLORS","Math","abs","TAG_BORDER_COLORS","str","charCodeAt","__WEBPACK_IMPORTED_MODULE_0__store__","__WEBPACK_IMPORTED_MODULE_2__config__","ExperimentImpressionSrv","addExperimentImpression","experimentId","isNaN","getExperimentOpened","experimentImpressionSrv","__WEBPACK_IMPORTED_MODULE_1_react_select__","__WEBPACK_IMPORTED_MODULE_2__DescriptionOption__","DescriptionPicker","state","optionsWithDesc","handlePicked","disabled","valueKey","multi","clearable","labelKey","optionComponent","placeholder","__WEBPACK_IMPORTED_MODULE_1_moment__","__WEBPACK_IMPORTED_MODULE_1_moment___default","kbn","valueFormats","regexEscape","round_interval","interval","secondsToHms","seconds","numyears","floor","numdays","numhours","numminutes","numseconds","nummilliseconds","nummicroseconds","numnanoseconds","secondsToHhmmss","strings","join","to_percent","nr","outof","addslashes","interval_regex","intervals_in_seconds","M","w","h","m","ms","calculateInterval","range","resolution","lowLimitInterval","intervalMs","lowLimitMs","interval_to_ms","to","valueOf","from","describe_interval","matches","match","has","sec","count","parseInt","info","interval_to_seconds","query_color_dot","diameter","slugifyForUrl","stringToJsRegex","toFixed","decimals","factor","pow","max","formatted","String","round","decimalPos","precision","substr","toFixedScaled","scaledDecimals","additionalDecimals","ext","roundValue","num","parseFloat","formatBuilders","fixedUnit","unit","size","scaledUnits","extArray","steps","limit","decimalSIPrefix","offset","prefixes","units","binarySIPrefix","currency","symbol","scaler","scaled","simpleCountUnit","none","short","dB","percent","percentunit","hex","toString","toUpperCase","hex0x","hexString","substring","sci","toExponential","locale","toLocaleString","maximumFractionDigits","currencyUSD","currencyGBP","currencyEUR","currencyJPY","currencyRUB","currencyUAH","currencyBRL","currencyDKK","currencyISK","currencyNOK","currencySEK","currencyCZK","currencyCHF","bits","bytes","kbytes","mbytes","gbytes","decbits","decbytes","deckbytes","decmbytes","decgbytes","pps","bps","Bps","KBs","Kbits","MBs","Mbits","GBs","Gbits","Hs","KHs","MHs","GHs","THs","PHs","EHs","reqps","rps","wps","iops","opm","rpm","wpm","watt","kwatt","mwatt","kwattm","Wm2","voltamp","kvoltamp","voltampreact","kvoltampreact","watth","kwatth","joule","ev","amp","kamp","mamp","volt","kvolt","mvolt","dBm","ohm","lumens","celsius","farenheit","kelvin","humidity","pressurebar","pressurembar","pressurekbar","pressurehpa","pressurekpa","pressurehg","pressurepsi","forceNm","forcekNm","forceN","forcekN","lengthm","lengthmm","lengthkm","lengthmi","lengthft","areaM2","areaF2","areaMI2","massmg","massg","masskg","masst","velocityms","velocitykmh","velocitymph","velocityknot","accMS2","accFS2","accG","litre","mlitre","m3","Nm3","dm3","gallons","flowgpm","flowcms","flowcfs","flowcfm","litreh","flowlpm","flowmlpm","degree","radian","grad","radbq","radci","radgy","radrad","radsv","radrem","radexpckg","radr","radsvh","ppm","conppb","conngm3","conngNm3","conμgm3","conμgNm3","conmgm3","conmgNm3","congm3","congNm3","hertz","ns","toDuration","timeScale","long","decrementDecimals","dtdurationms","dtdurations","dthms","timeticks","dateTimeAsIso","epoch","isUtc","time","utc","isSame","format","dateTimeAsUS","dateTimeFromNow","fromNow","getUnitFormats","submenu","matchSeriesOverride","aliasOrRegex","seriesAlias","regex","__WEBPACK_IMPORTED_MODULE_0_app_core_utils_kbn__","translateFillOption","fill","updateLegendValues","panel","height","series","yaxes","seriesYAxis","yaxis","axis","formater","__WEBPACK_IMPORTED_MODULE_2_lodash___default","getDataMinMax","datamin","datamax","__WEBPACK_IMPORTED_MODULE_1_app_core_utils_ticks__","tickDecimals","data_1","stats","min","__WEBPACK_IMPORTED_MODULE_2_lodash__","TimeSeries","opts","datapoints","alias","aliasEscaped","escape","bars","fillColor","valueFormater","legend","hasMsResolution","isMsResolutionNeeded","applySeriesOverrides","overrides","lines","dashes","dashLength","points","zindex","nullPointMode","stack","show","override","lineWidth","linewidth","spaceLength","pointradius","radius","steppedLine","fillBelowTo","setColor","transform","getFlotPairs","fillStyle","result","total","Number","MAX_VALUE","logmin","avg","current","first","delta","diff","timeStep","allIsNull","allIsZero","currentTime","currentValue","previousTime","ignoreNulls","nullAsZero","nonNulls","previousValue","previousDeltaUp","formatValue","isFinite","timestamp","hideFromLegend","hideEmpty","hideZero","GRID_CELL_HEIGHT","GRID_CELL_VMARGIN","GRID_COLUMN_COUNT","REPEAT_DIR_VERTICAL","DEFAULT_PANEL_SPAN","DEFAULT_ROW_HEIGHT","MIN_PANEL_HEIGHT","LS_PANEL_COPY_KEY","root_1","rxSubscriber","for","$$rxSubscriber","PanelModel","__WEBPACK_IMPORTED_MODULE_0_app_core_utils_emitter__","notPersistedProperties","events","fullscreen","isEditing","showEcuEvents","property","gridPos","x","getSaveModel","cloneDeep","targets","hasCustomTitle","setViewMode","updateGridPos","newPos","sizeChanged","console","log","resizeDone","refresh","destroy","JsonExplorer","__WEBPACK_IMPORTED_MODULE_0__helpers__","DATE_STRING_REGEX","PARTIAL_DATE_REGEX","JSON_DATE_REGEX","requestAnimationFrame","cb","_defaultConfig","animateOpen","animateClose","theme","json","open","_isOpen","skipChildren","enumerable","configurable","test","isEmptyObject","isObject","toggleOpen","isOpen","appendChildren","removeChildren","classList","toggle","openAtDepth","depth","remove","add","isNumberArray","renderArray","arrayWrapperSpan","appendChild","forEach","val","index","skipRoot","togglerLink","togglerIcon","hasKey","objectWrapperSpan","constructorName","isUrl","isDate","setAttribute","valuePreview","createTextNode","isEmpty","removeChild","addEventListener","bind","animated","querySelector","index_1","addAChild_1","formatter","childrenElement","childrenRemoved_1","removeAChild_1","innerHTML","ColorPickerPopover","__WEBPACK_IMPORTED_MODULE_1_jquery__","__WEBPACK_IMPORTED_MODULE_1_jquery___default","__WEBPACK_IMPORTED_MODULE_2_tinycolor2__","__WEBPACK_IMPORTED_MODULE_2_tinycolor2___default","__WEBPACK_IMPORTED_MODULE_3__ColorPalette__","__WEBPACK_IMPORTED_MODULE_4__SpectrumPicker__","DEFAULT_COLOR","colorString","setPickerNavElem","elem","pickerNavElem","newColor","setState","onColorSelect","sampleColorSelected","spectrumColorSelected","rgbColor","toRgbString","onColorStringChange","newColorString","onColorStringBlur","componentDidMount","addClass","paletteTab","spectrumTab","currentTab","ref","data-toggle","onBlur","profiler","__WEBPACK_IMPORTED_MODULE_0_jquery__","__WEBPACK_IMPORTED_MODULE_0_jquery___default","__WEBPACK_IMPORTED_MODULE_1_angular__","__WEBPACK_IMPORTED_MODULE_1_angular___default","Profiler","init","$rootScope","enabled","timings","appStart","loadStart","Date","getTime","$watch","digestCounter","onAppEvent","dashboardFetched","dashboardInitialized","panelInitialized","query","setTimeout","panelsInitCount","dashboardLoadStart","panelsRendered","getTotalWatcherCount","scopeCount","timeTaken","lastPanelInitializedAt","rootDigestStart","performance","now","$apply","scopes","getElementsByTagName","$scope","$$watchers","childElement","renderingCompleted","panelId","panelTimings","renderEnd","queryEnd","queryStart","renderStart","setStateFields","rule","stateModel","__WEBPACK_IMPORTED_MODULE_1_app_features_alerting_alert_def__","getStateDisplayModel","stateText","stateIcon","iconClass","stateClass","stateAge","__WEBPACK_IMPORTED_MODULE_0_moment___default","newStateDate","__WEBPACK_IMPORTED_MODULE_0_moment__","isFunction","errorObject","empty","closed","error","err","complete","TagBadge","__WEBPACK_IMPORTED_MODULE_1_app_core_utils_tags__","onClick","event","removeIcon","tagStyle","backgroundColor","countLabel","style","__WEBPACK_IMPORTED_MODULE_2__PickerOption__","__WEBPACK_IMPORTED_MODULE_3__withPicker__","__WEBPACK_IMPORTED_MODULE_4_lodash__","UserPicker","search","debouncedSearch","leading","trailing","toggleLoading","then","users","login","email","avatarUrl","AsyncComponent","creatable","AsyncCreatable","Async","isLoading","cache","loadOptions","loadingPlaceholder","noResultsText","autosize","UserPickerOption","handleMouseDown","handleMouseEnter","handleMouseMove","preventDefault","stopPropagation","onSelect","option","onFocus","isFocused","onMouseDown","onMouseEnter","onMouseMove","alt","withPicker","WrappedComponent","WithPicker","prevState","__WEBPACK_IMPORTED_MODULE_1__PermissionsList__","__WEBPACK_IMPORTED_MODULE_2_mobx_react__","Permissions","folderInfo","permissionChanged","typeChanged","loadStore","permissions","__WEBPACK_IMPORTED_MODULE_1__withTooltip__","__WEBPACK_IMPORTED_MODULE_2_react_popper__","Tooltip","showTooltip","hideTooltip","tooltipSetState","onMouseOver","onMouseOut","__WEBPACK_IMPORTED_MODULE_2_app_stores_PermissionsStore_PermissionsStore__","__WEBPACK_IMPORTED_MODULE_3_app_core_components_Picker_UserPicker__","__WEBPACK_IMPORTED_MODULE_4_app_core_components_Picker_TeamPicker__","__WEBPACK_IMPORTED_MODULE_5_app_core_components_Picker_DescriptionPicker__","AddPermissions","userPicked","teamPicked","permissionPicked","handleSubmit","componentWillMount","onSubmit","data-save-permission","__WEBPACK_IMPORTED_MODULE_1_react_transition_group_Transition__","__WEBPACK_IMPORTED_MODULE_1_react_transition_group_Transition___default","defaultStyle","transition","overflow","inProp","in","maxHeight","transitionStyles","exited","entering","entered","exiting","timeout","toSubscriber_1","observable_1","pipe_1","Observable","subscribe","_isScalar","_subscribe","lift","operator","observable","source","observerOrNext","sink","toSubscriber","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","PromiseCtor","Rx","reject","subscription","unsubscribe","subscriber","pipe","operations","pipeFromArray","toPromise","roundUp","timezone","isMoment","parseString","mathString","ISO_8601","parseDateMath","date","dateTime","len","charAt","numFrom","includes","endOf","startOf","subtract","NavModel","NavModelSrv","navItems","getCfgNode","getNav","args","nav","args_1","node","_c","getNotFoundNav","service","isTrustedSubscriber","obj","Subscriber","rxSubscriber_1","isFunction_1","Subscription_1","Observer_1","destinationOrNext","isStopped","destination","trustedSubscriber","SafeSubscriber","_next","_error","_complete","_unsubscribeAndRecycle","_parent","_parents","Subscription","_parentSubscriber","context","_context","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","_unsubscribe","tickStep","start","stop","e10","sqrt","e5","e2","step0","step1","LN10","getScaledDecimals","tick_size","getFlotTickSize","noTicks","dec","maxDec","magn","norm","getFlotRange","panelMin","panelMax","widen","getFlotTickDecimals","grafanaTimeFormat","ticks","secPerTick","logp","base","getPrecision","getStringPrecision","dot_index","getRelativeTimesList","timepickerSettings","currentDisplay","groupBy","rangeOptions","display","section","formatDate","absoluteFormat","describeTextRange","expr","isLast","opt","rangeIndex","parts","exec","amount","span","spans","invalid","describeTimeRange","toMoment","__WEBPACK_IMPORTED_MODULE_2__datemath__","each","frame","createReducerPart","__WEBPACK_IMPORTED_MODULE_1_app_core_components_query_part_query_part__","defaultParams","message","joinEvalMatches","separator","reduce","metric","Metric","Value","getAlertAnnotationInfo","ah","evalMatches","alertQueryDef","params","dynamicLookup","conditionTypes","alertStateSortScore","alerting","no_data","pending","ok","paused","evalFunctions","evalOperators","reducerTypes","noDataModes","executionErrorModes","functionRenderer","part","innerExpr","parameters","paramType","quote","suffixRenderer","QueryPartDef","QueryPart","renderer","category","addStrategy","clone","updateText","hasMultipleParamsInString","strValue","updateParam","split","partVal","trim","flattenUnsubscriptionErrors","errors","errs","concat","UnsubscriptionError_1","UnsubscriptionError","isArray_1","isObject_1","tryCatch_1","errorObject_1","_subscriptions","hasErrors","trial","tryCatch","sub","teardown","EMPTY","_addParent","tmp","subscriptions","subscriptionIndex","getSymbolObservable","$$observable","DashboardModel","__WEBPACK_IMPORTED_MODULE_2_app_core_constants__","__WEBPACK_IMPORTED_MODULE_3_app_core_utils_colors__","__WEBPACK_IMPORTED_MODULE_4_app_core_utils_emitter__","__WEBPACK_IMPORTED_MODULE_5_app_core_services_context_srv__","__WEBPACK_IMPORTED_MODULE_6_app_core_utils_sort_by_keys__","__WEBPACK_IMPORTED_MODULE_7__panel_model__","__WEBPACK_IMPORTED_MODULE_8__dashboard_migration__","meta","uid","revision","autoUpdate","tags","editable","graphTooltip","timepicker","templating","ensureListExist","annotations","snapshot","schemaVersion","links","gnetId","panelData","resetOriginalVariables","resetOriginalTime","initMeta","updateSchema","addBuiltInAnnotationQuery","sortPanelsByGridPos","found","list","builtIn","datasource","iconColor","enable","hide","canShare","canSave","canStar","canEdit","showSettings","canMakeEditable","canDelete","getSaveModelClone","saveVariables","saveTimerange","copy","nonPersistedProperties","variable","original","originalTemplating","filters","originalTime","chain","getNextPanelId","collapsed","rowPanel","forEachPanel","callback","getPanelById","addSensorPanel","sensorKey","addPanel","xaxis","tzero","sensorTargets","sensorShortName","addExperimentMetaPanel","addVideoPanel","panelA","panelB","cleanUpRepeats","iteration","panelsToRemove","scopedVars","repeat","repeatedByRow","repeatPanelId","repeatIteration","pull","processRepeats","repeatPanel","cleanUpRowRepeats","rowPanels","processRowRepeats","row","rowPanelIndex","findIndex","getRowPanels","this_1","panelIndex","getPanelRepeatClone","sourcePanel","valueIndex","sourcePanelIndex","getRowRepeatClone","sourceRowPanel","rowPanels_1","insertPos","updateRepeatedPanelIds","repeatRow","selectedOptions","getSelectedVariableOptions","minWidth","minSpan","xPos","yPos","repeatDirection","yOffset","panelBelowIndex","setScopedVars","variableOption","this_2","optionIndex","rowCopy","rowHeight","getRowHeight","insertPos_1","cloneRowPanel","selected","rowYPos","positions","maxPos","maxBy","pos","removePanel","removeRow","removePanels","toggleRow","expandRows","collapseRows","setPanelFocus","focusPanelId","updateSubmenuVisibility","submenuEnabled","annotation","getPanelInfoById","duplicatePanel","newPanel","alert","thresholds","getTimezone","rowIndex","hasRepeat","some","firstPanel","yDiff","yMax","pushDownAmount","eventName","cycleGraphTooltip","sharedTooltipModeEnabled","sharedCrosshairModeOnly","getRelativeTime","getNextQueryLetter","refId","every","other","isTimezoneUtc","old","hasTimeChanged","isEqual","hasVariableValuesChanged","assignModelProperties","removeDefaults","__WEBPACK_IMPORTED_MODULE_0_babel_polyfill__","__WEBPACK_IMPORTED_MODULE_1_file_saver__","__WEBPACK_IMPORTED_MODULE_3_jquery__","__WEBPACK_IMPORTED_MODULE_3_jquery___default","__WEBPACK_IMPORTED_MODULE_4_angular__","__WEBPACK_IMPORTED_MODULE_4_angular___default","__WEBPACK_IMPORTED_MODULE_5_angular_route__","__WEBPACK_IMPORTED_MODULE_6_angular_sanitize__","__WEBPACK_IMPORTED_MODULE_7_angular_native_dragdrop__","__WEBPACK_IMPORTED_MODULE_8_angular_bindonce__","__WEBPACK_IMPORTED_MODULE_9_react__","__WEBPACK_IMPORTED_MODULE_10_react_dom__","__WEBPACK_IMPORTED_MODULE_11_vendor_bootstrap_bootstrap__","__WEBPACK_IMPORTED_MODULE_12_vendor_angular_ui_ui_bootstrap_tpls__","__WEBPACK_IMPORTED_MODULE_13_vendor_angular_other_angular_strap__","__WEBPACK_IMPORTED_MODULE_14_app_core_config__","__WEBPACK_IMPORTED_MODULE_15_moment__","__WEBPACK_IMPORTED_MODULE_15_moment___default","__WEBPACK_IMPORTED_MODULE_16__sentry_browser__","__WEBPACK_IMPORTED_MODULE_17__core_core__","__WEBPACK_IMPORTED_MODULE_18__routes_routes__","dsn","environment","release","move","fromIndex","toIndex","GrafanaApp","preBootModules","registerFunctions","ngModuleDependencies","useModule","app","$provide","decorator","$delegate","exception","cause","$locationProvider","$controllerProvider","$compileProvider","$filterProvider","$httpProvider","preAssignBindingsEnabled","env","debugInfoEnabled","useApplyAsync","controller","register","$templateCache","module_types","moduleName","preBootRequires","all","tooltip","animation","bootstrap","invoke","catch","$","support","transitionEnd","transEndEventNames","WebkitTransition","MozTransition","OTransition","end","jQuery","clearMenus","getParent","removeClass","$this","$parent","selector","attr","Dropdown","$el","isActive","is","hasClass","documentElement","insertBefore","toggleClass","focus","keydown","$items","keyCode","which","click","eq","dropdown","Constructor","noConflict","Modal","$element","delegate","proxy","remote","isShown","that","Event","trigger","isDefaultPrevented","backdrop","appendTo","offsetWidth","enforceFocus","one","hideWithTransition","hideModal","keyboard","clearTimeout","removeBackdrop","$backdrop","animate","doAnimate","modal","$target","eventIn","eventOut","triggers","getOptions","enter","leave","_options","fixTitle","delay","currentTarget","hoverState","$tip","actualWidth","actualHeight","placement","tp","hasContent","tip","setContent","detach","css","top","left","container","insertAfter","getPosition","offsetHeight","width","applyPlacement","replaceArrow","dimension","position","arrow","getTitle","html","$e","getBoundingClientRect","o","template","$arrow","validate","parentNode","disable","toggleEnabled","removeData","Tab","previous","$ul","closest","relatedTarget","activate","$active","Typeahead","typeahead","matcher","sorter","highlighter","updater","$menu","menu","shown","listen","select","change","lookup","minLength","process","grep","beginswith","caseSensitive","caseInsensitive","shift","$1","prev","last","blur","keypress","keyup","eventSupported","mouseenter","mouseleave","isSupported","shiftKey","suppressKeyPressRepeat","inArray","submit","focused","mousedover","Affix","affix","$window","checkPosition","scrollHeight","scrollTop","offsetBottom","bottom","offsetTop","unpin","affixed","$spy","angular","$document","getStyle","cssprop","currentStyle","getComputedStyle","isStaticPositioned","parentOffsetEl","docDomEl","offsetParent","elBCR","offsetParentBCR","offsetParentEl","clientTop","clientLeft","scrollLeft","boundingClientRect","prop","pageYOffset","pageXOffset","positionElements","hostEl","targetEl","positionStr","appendToBody","hostElPos","targetElWidth","targetElHeight","targetElPos","positionStrParts","pos0","pos1","shiftWidth","center","right","shiftHeight","$log","$locale","orderByFilter","createParser","formatCodeToRegex","code","year","month","SPECIAL_CHARACTERS_REGEXP","parsers","yyyy","yy","MMMM","DATETIME_FORMATS","MONTH","MMM","SHORTMONTH","MM","dd","EEEE","DAY","EEE","SHORTDAY","HH","hours","hh","H","mm","minutes","sss","milliseconds","ss","AMPMS","input","baseDate","isString","parser","results","fields","dt","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","warn","mapper","constant","formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","datepickerMode","minMode","maxMode","showWeeks","startingDay","yearRange","minDate","maxDate","shortcutPropagation","$attrs","$parse","$interpolate","dateFilter","datepickerConfig","$datepickerSuppressError","ngModelCtrl","$setViewValue","noop","modes","isDefined","$eval","refreshView","uniqueId","$id","random","initDate","activeDate","$isEmpty","$modelValue","$invalid","dateObject","compare","activeDateId","ngModelCtrl_","$render","$viewValue","_refreshView","$setValidity","isDisabled","createDateObject","customClass","dateDisabled","mode","arr","arrays","fixTimeZone","setHours","setFullYear","direction","years","months","toggleMode","13","32","33","34","35","36","37","38","39","40","focusElement","altKey","ctrlKey","handleKeyDown","restrict","templateUrl","attrs","require","controllerAs","link","ctrls","datepickerCtrl","ctrl","getDaysInMonth","DAYS_IN_MONTH","getDates","startDate","dates","setDate","getISO8601WeekNumber","checkDate","getDay","setMonth","firstDayOfMonth","difference","numDisplayedFromPreviousMonth","firstDate","days","secondary","labels","j","abbr","full","rows","weekNumbers","thursdayIndex","numWeeks","curWeek","date1","date2","getStartingYear","datepickerPopup","datepickerPopupTemplateUrl","datepickerTemplateUrl","html5Types","datetime-local","currentText","clearText","closeText","closeOnDateSelection","showButtonBar","onOpenFocus","$compile","$position","dateParser","datepickerPopupConfig","$timeout","ngModel","cameltoDash","parseDate","viewValue","dateFormat","validator","modelValue","ngRequired","datepickerAppendToBody","getText","watchData","isHtml5DateInput","$observe","oldValue","newDateFormat","popupEl","ng-model","ng-change","template-url","datepickerEl","datepickerOptions","getAttribute","oldvalue","$formatters","$$parserName","$validators","$parsers","dateSelection","$viewChangeListeners","documentClickBind","contains","inputKeydownBind","$broadcast","today","close","$popup","append","after","$$phase","transclude","run","put","$http","$q","$strapConfig","$new","when","templateHtml","$modal","modalClass","dismiss","$emit","persist","$destroy","getter","bsTooltip","newValue","_tooltip","bsTypeahead","matchAll","dashClass","dropdownTypeahead","menuItems","dropdownTypeaheadOnSelect","$input","$button","linkText","subItem","typeaheadValues","memo","subIndex","menuItemSelected","menuItem","payload","$item","$subItem","submenuItem","contents","dropdownTypeahead2","$inject","__WEBPACK_IMPORTED_MODULE_2__core_module__","metricSegment","$sce","segment","debounce","selectMode","cancelBlur","linkMode","debounceLookup","updateVariableValue","unescape","altSegments","fake","expandable","custom","trustAsHtml","switchToLink","fromClick","inputBlur","$query","metricSegmentModel","uiSegmentSrv","pre","cachedOptions","valueToSegment","cssClass","newSegment","getOptionsInternal","onSegmentChange","$$postDigest","_t","__WEBPACK_IMPORTED_MODULE_3_app_core_utils_kbn__","replaceWith","clipboardButton","clipboard","__WEBPACK_IMPORTED_MODULE_1_clipboard___default","__WEBPACK_IMPORTED_MODULE_4_app_core_core__","compile","watchChange","onchange","inputValue","editorOptBool","ngchange","showIf","editorCheckbox","gfDropdown","buildTemplate","upclass","ul","divider","li","method","iElement","iAttrs","__WEBPACK_IMPORTED_MODULE_1_clipboard__","ngModelOnBlur","priority","elm","emptyToNull","validTimeSpan","integer","__WEBPACK_IMPORTED_MODULE_1_app_core_utils_rangeutil__","__WEBPACK_IMPORTED_MODULE_0__core_module__","__WEBPACK_IMPORTED_MODULE_3_app_core_utils_tags__","tagColorFromName","bootstrapTagsinput","getItemProperty","onTagsUpdated","tagsinput","typeaheadSource","widthClass","itemValue","itemvalue","itemText","itemtext","tagClass","tagclass","tagElement","__WEBPACK_IMPORTED_MODULE_4_vendor_tagsinput_bootstrap_tagsinput_js__","TagsInput","itemsArray","isSelect","tagName","multiple","hasAttribute","objectItems","placeholderText","$container","build","makeOptionItemFunction","propertyName","makeOptionFunction","htmlEncode","htmlEncodeContainer","doGetCaretPosition","oField","iCaretPos","selection","oSel","createRange","moveStart","selectionStart","defaultOptions","freeInput","maxTags","confirmKeys","onTagExists","$tag","fadeIn","dontPushVal","pushVal","existing","$existingTag","findInputWrapper","before","$option","removeAll","isEnabled","nodeType","nodeValue","processItems","texts","success","$inputWrapper","$prevTag","$nextTag","inputSize","elt","arg1","arg2","retVal","framebyframe","player","ready","controlBar","addChild","FBFButton","__WEBPACK_IMPORTED_MODULE_1_video_js__","dom","createEl","fps","__WEBPACK_IMPORTED_MODULE_2_app_core_core__","videoJs","sync","tag","plugins","sendHover","updateHover","cancelAnimationFrame","request","timeMs","panelRelY","isVideoSync","VjsButton","getComponent","frameTime","step_size","pause","dist","registerPlugin","valueSelectDropdown","onUpdated","bindToController","openDropdown","inputEl","linkEl","bodyEl","bodyOnClick","vm","commitChanges","cleanUp","updateLinkText","ValueSelectDropdownCtrl","oldVariableText","highlightIndex","selectedValues","tagObj","dropdownVisible","selectedAndNotInTag","values","currentTexts","clearSelections","selectionsChanged","selectTag","tagValuesPromise","getValuesForTag","valuesText","keyDown","moveHighlight","selectValue","commitChange","excludeOthers","setAllExceptCurrentTo","metaKey","selectedTags","queryChanged","getBlockNodes","nodes","blockNodes","endNode","nextSibling","rebuildOnChange","$animate","multiElement","terminal","previousElements","childScope","block","showNull","newScope","createComment","giveFocus","domEl","setSelectionRange","DeltaCtrl","linkJson","LinkJSONCtrl","line","switchView","__WEBPACK_IMPORTED_MODULE_1__core_module__","waitForCompile","mutations","appEvent","observer","MutationObserver","observerConfig","attributes","attributeFilter","characterData","childList","subtree","observe","$onDestroy","disconnect","$anchorScroll","goToLine","scroll","$win","place_tt","$tooltip","injector","tmpScope","scopeData","$digest","outerWidth","outerHeight","templates","webpackContext","req","webpackContextResolve","./core/components/help/help.html","./core/components/manage_dashboards/manage_dashboards.html","./core/components/navbar/navbar.html","./core/components/search/search.html","./core/components/search/search_results.html","./core/components/sidemenu/sidemenu.html","./core/components/sidepane/sidepane.html","./features/admin/partials/admin_home.html","./features/admin/partials/edit_org.html","./features/admin/partials/edit_user.html","./features/admin/partials/experiments.html","./features/admin/partials/new_user.html","./features/admin/partials/orgs.html","./features/admin/partials/settings.html","./features/admin/partials/stats.html","./features/admin/partials/users.html","./features/alerting/partials/alert_howto.html","./features/alerting/partials/alert_tab.html","./features/alerting/partials/notification_edit.html","./features/alerting/partials/notifications_list.html","./features/annotations/partials/editor.html","./features/annotations/partials/event_editor.html","./features/dashboard/dashnav/dashnav.html","./features/dashboard/export/export_modal.html","./features/dashboard/export_data/export_data_modal.html","./features/dashboard/export_experiment/export_experiment_modal.html","./features/dashboard/folder_picker/folder_picker.html","./features/dashboard/history/history.html","./features/dashboard/move_to_folder_modal/move_to_folder.html","./features/dashboard/partials/create_folder.html","./features/dashboard/partials/dashboard_import.html","./features/dashboard/partials/dashboard_list.html","./features/dashboard/partials/folder_dashboards.html","./features/dashboard/partials/folder_permissions.html","./features/dashboard/partials/folder_settings.html","./features/dashboard/partials/inspector.html","./features/dashboard/partials/row_options.html","./features/dashboard/partials/shareModal.html","./features/dashboard/settings/settings.html","./features/dashboard/submenu/submenu.html","./features/dashboard/timepicker/settings.html","./features/dashboard/timepicker/timepicker.html","./features/dashlinks/editor.html","./features/experiments/partials/edit_experiment.html","./features/experiments/partials/edit_folder.html","./features/org/partials/apikeyModal.html","./features/org/partials/change_password.html","./features/org/partials/create_team.html","./features/org/partials/invite.html","./features/org/partials/newOrg.html","./features/org/partials/orgApiKeys.html","./features/org/partials/orgDetails.html","./features/org/partials/orgUsers.html","./features/org/partials/profile.html","./features/org/partials/select_org.html","./features/org/partials/team_details.html","./features/org/partials/teams.html","./features/panel/partials/metrics_tab.html","./features/panel/partials/panelTime.html","./features/panel/partials/query_editor_row.html","./features/panel/partials/soloPanel.html","./features/panellinks/module.html","./features/playlist/partials/playlist.html","./features/playlist/partials/playlist_search.html","./features/playlist/partials/playlists.html","./features/plugins/import_list/import_list.html","./features/plugins/partials/ds_dashboards.html","./features/plugins/partials/ds_edit.html","./features/plugins/partials/ds_http_settings.html","./features/plugins/partials/ds_list.html","./features/plugins/partials/plugin_edit.html","./features/plugins/partials/plugin_list.html","./features/plugins/partials/plugin_page.html","./features/plugins/partials/update_instructions.html","./features/sensors/partials/bind_sensor.html","./features/sensors/partials/edit_sensor.html","./features/snapshot/partials/snapshots.html","./features/styleguide/styleguide.html","./features/templating/partials/editor.html","./features/upload/partials/upload.html","./partials/confirm_modal.html","./partials/dashboard.html","./partials/edit_json.html","./partials/error.html","./partials/home.html","./partials/login.html","./partials/modal.html","./partials/panelgeneral.html","./partials/reset_password.html","./partials/signup_invited.html","./partials/signup_step2.html","./partials/valueSelectDropdown.html","./plugins/app/testdata/partials/query.editor.html","./plugins/datasource/cloudwatch/partials/annotations.editor.html","./plugins/datasource/cloudwatch/partials/config.html","./plugins/datasource/cloudwatch/partials/query.editor.html","./plugins/datasource/cloudwatch/partials/query.parameter.html","./plugins/datasource/elasticsearch/partials/annotations.editor.html","./plugins/datasource/elasticsearch/partials/bucket_agg.html","./plugins/datasource/elasticsearch/partials/config.html","./plugins/datasource/elasticsearch/partials/metric_agg.html","./plugins/datasource/elasticsearch/partials/query.editor.html","./plugins/datasource/grafana-live/partials/query.editor.html","./plugins/datasource/grafana/partials/annotations.editor.html","./plugins/datasource/grafana/partials/query.editor.html","./plugins/datasource/graphite/partials/annotations.editor.html","./plugins/datasource/graphite/partials/config.html","./plugins/datasource/graphite/partials/query.editor.html","./plugins/datasource/influxdb/partials/annotations.editor.html","./plugins/datasource/influxdb/partials/config.html","./plugins/datasource/influxdb/partials/query.editor.html","./plugins/datasource/mssql/partials/annotations.editor.html","./plugins/datasource/mssql/partials/config.html","./plugins/datasource/mssql/partials/query.editor.html","./plugins/datasource/mysql/partials/annotations.editor.html","./plugins/datasource/mysql/partials/config.html","./plugins/datasource/mysql/partials/query.editor.html","./plugins/datasource/opentsdb/partials/annotations.editor.html","./plugins/datasource/opentsdb/partials/config.html","./plugins/datasource/opentsdb/partials/query.editor.html","./plugins/datasource/postgres/partials/annotations.editor.html","./plugins/datasource/postgres/partials/config.html","./plugins/datasource/postgres/partials/query.editor.html","./plugins/datasource/prometheus/partials/annotations.editor.html","./plugins/datasource/prometheus/partials/config.html","./plugins/datasource/prometheus/partials/query.editor.html","./plugins/panel/alertlist/editor.html","./plugins/panel/alertlist/module.html","./plugins/panel/dashlist/editor.html","./plugins/panel/dashlist/module.html","./plugins/panel/experimentdetails/module.html","./plugins/panel/experimentvideo/module.html","./plugins/panel/gettingstarted/editor.html","./plugins/panel/gettingstarted/module.html","./plugins/panel/graph/axes_editor.html","./plugins/panel/graph/tab_display.html","./plugins/panel/graph/tab_legend.html","./plugins/panel/heatmap/module.html","./plugins/panel/heatmap/partials/axes_editor.html","./plugins/panel/heatmap/partials/display_editor.html","./plugins/panel/pluginlist/editor.html","./plugins/panel/pluginlist/module.html","./plugins/panel/sensor/partials/tab.html","./plugins/panel/singlestat/editor.html","./plugins/panel/singlestat/mappings.html","./plugins/panel/singlestat/module.html","./plugins/panel/table/column_options.html","./plugins/panel/table/editor.html","./plugins/panel/table/module.html","./plugins/panel/text/editor.html","./plugins/panel/text/module.html","./plugins/panel/unknown/module.html","path","__WEBPACK_IMPORTED_MODULE_1__json_explorer_json_explorer__","object","startExpanded","rootName","jsonExp","escapeString","getObjectName","funcNameRegex","getType","getValuePreview","content","Node","setEditorContent","codeEditor","setValue","clearSelection","langMode","DEFAULT_MODE","maxLines","DEFAULT_MAX_LINES","showGutter","tabSize","DEFAULT_TAB_SIZE","behavioursEnabled","DEFAULT_BEHAVIOURS","snippetsEnabled","DEFAULT_SNIPPETS","aceElem","__WEBPACK_IMPORTED_MODULE_2_brace___default","edit","editorSession","getSession","editorOptions","highlightActiveLine","showPrintMargin","autoScrollEditorIntoView","setOptions","$blockScrolling","Infinity","setScrollMargin","setPadding","DEFAULT_THEME_DARK","lightTheme","DEFAULT_THEME_LIGHT","setTheme","lang","acequire","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","getCompleter","anyEditor","completers","aceModeName","setMode","textarea","codeEditorFocus","getValue","editorValue","commands","addCommand","bindKey","win","mac","codeEditorDirective","editorTemplate","__WEBPACK_IMPORTED_MODULE_2_brace__","__WEBPACK_IMPORTED_MODULE_3__theme_grafana_dark__","__WEBPACK_IMPORTED_MODULE_4_brace_ext_language_tools__","__WEBPACK_IMPORTED_MODULE_5_brace_theme_textmate__","__WEBPACK_IMPORTED_MODULE_6_brace_mode_text__","__WEBPACK_IMPORTED_MODULE_7_brace_snippets_text__","__WEBPACK_IMPORTED_MODULE_8_brace_mode_sql__","__WEBPACK_IMPORTED_MODULE_9_brace_snippets_sql__","__WEBPACK_IMPORTED_MODULE_10_brace_mode_sqlserver__","__WEBPACK_IMPORTED_MODULE_11_brace_snippets_sqlserver__","__WEBPACK_IMPORTED_MODULE_12_brace_mode_markdown__","__WEBPACK_IMPORTED_MODULE_13_brace_snippets_markdown__","__WEBPACK_IMPORTED_MODULE_14_brace_mode_json__","__WEBPACK_IMPORTED_MODULE_15_brace_snippets_json__","ace","define","isDark","cssText","importCssString","oop","EventEmitter","Range","Anchor","HashHandler","Tokenizer","comparePoints","SnippetManager","snippetMap","snippetNameMap","implement","getTokenizer","TabstopToken","inFormatString","tabstopId","ch","$tokenizer","onMatch","expectIf","elseBranch","changeCase","local","token","merge","snippetVar","choices","ts","fmtString","splitRegex","guard","fmt","flag","formatString","tokenizeTmSnippet","startState","getLineTokens","tokens","$getDefaultValue","editor","variables","session","getWordRange","getTextRange","getLine","getCursorPosition","column","getUseSoftTabs","getTabSize","getVariableValue","varName","tmStrFormat","re","fmtTokens","_self","fmtParts","resolveVariables","gChangeCase","snippet","gotoNext","i1","skip","processed","insertSnippetForSelection","snippetText","cursor","tabString","getTabString","indentString","tabstops","expanding","arg","lastIndexOf","getSelectionRange","tabstopManager","TabstopManager","selectionId","inVirtualSelectionMode","addTabstops","insertSnippet","forEachSelection","keepOrder","tabNext","$getScope","$mode","inlinePhp","getState","getActiveScopes","includeScopes","expandWithTab","expandSnippetForSelection","snippets","findMatchingSnippet","dryRun","doc","removeInLine","replaceBefore","replaceAfter","M__","matchBefore","T__","matchAfter","snippetList","startRe","endRe","triggerRe","endTriggerRe","wrapRegexp","guardedRegexp","opening","addSnippet","unregister","tabTrigger","escapeRegExp","endTrigger","endGuard","_signal","removeSnippet","nameMap","parseSnippetFile","guardRe","getSnippetByName","$onChange","$onChangeSelection","delayedCall","onChangeSelection","schedule","$onChangeSession","onChangeSession","$onAfterExec","onAfterExec","attach","ranges","$openTabstops","selectedTabstop","keyBinding","addKeyboardHandler","keyboardHandler","removeTabstopMarkers","removeListener","removeKeyboardHandler","isRemove","action","startRow","endRow","lineDif","colDiff","$inChange","removeRange","updateLinkedFields","hasLinkedRanges","firstNonLinked","linked","snippetManager","command","readOnly","lead","anchor","containsLead","containsAnchor","dir","selectTabstop","addTabstopMarkers","setRange","sel","multiSelect","toSingleRange","addRange","fromPoints","moveRelative","dest","movePoint","tabstop","markerId","addMarker","removeMarker","bindKeys","ed","Shift-Tab","Esc","Return","changeTracker","setPosition","update","$insertRight","point","Editor","expandSnippet","Renderer","VirtualRenderer","$singleLineEditor","$maxLines","setHighlightActiveLine","setShowPrintMargin","setShowGutter","setHighlightGutterLine","$mouseHandler","$focusWaitTimout","$highlightTagPending","AcePopup","popup","setStyle","setOption","$isFocused","$cursorLayer","restartTimer","opacity","$keepTextAreaAtCursor","highlight","$searchHighlight","clazz","getDocumentPosition","moveToPosition","selectionMarker","lastMouseEvent","hoverMarker","setSelectOnHover","setRow","setHoverMarker","$pos","getRow","$textLayer","childNodes","firstRow","selectedNode","removeCssClass","addCssClass","hideHoverMarker","suppressRedraw","_emit","getHoveredRow","addListener","getLength","bgTokenizer","$tokenizeRow","caption","matchMask","maxW","$size","scrollerWidth","layerConfig","characterWidth","metaData","$updateOnChange","$computeWidth","screenWidth","isTopdown","setData","stringRepeat","getData","moveCursorTo","scrollCursorIntoView","lineHeight","topdownOnly","screenHeight","innerHeight","innerWidth","maxH","$borderSize","$maxPixelHeight","checkForSizeChanges","getTextLeftOffset","$padding","$imageSize","parForEach","completed","arLength","ID_REGEX","retrievePrecedingIdentifier","buf","reverse","retrieveFollowingIdentifier","getCompletionPrefix","prefix","completer","identifierRegexps","identifierRegex","util","Autocomplete","autoInsert","autoSelect","exactMatch","gatherCompletionsId","blurListener","changeListener","mousedownListener","mousewheelListener","changeTimer","updateCompletions","tooltipTimer","updateDocTooltip","$init","insertMatch","getPopup","openPopup","keepPopupPosition","completions","filtered","getTheme","setFontSize","getFontSize","getPixelPosition","rect","gutterWidth","cancel","hideDocTooltip","activated","nodeName","activeElement","textInput","getElement","fromTooltip","tooltipNode","goTo","where","filterText","getAllRanges","execCommand","Up","Down","Ctrl-Up|Ctrl-Home","Ctrl-Down|Ctrl-End","Shift-Return","deleteSuffix","PageUp","gotoPageUp","PageDown","gotoPageDown","gatherCompletions","createAnchor","getCompletions","finished","showPopup","setFilter","_id","detachIfFinished","FilteredList","cancelContextMenu","getDocTooltip","docText","docHTML","showDocTooltip","margin","pointerEvents","tabIndex","onblur","textContent","startCommand","filterCompletions","score","needle","upper","lower","loop","distance","lastIndex","penalty","i2","getWordIndex","wordDistance","prefixPos","words","wordScores","currentWord","word","wordScore","textCompleter","keyWordCompleter","snippetCompleter","escapeHTML","setCompleters","addCompleter","onChangeMode","loadSnippetsForMode","files","loadSnippetFile","snippetFilePath","loadModule","doLiveAutocomplete","hasCompleter","defineOptions","removeCommand","TextHighlightRules","SqlHighlightRules","keywordMapper","createKeywordMapper","support.function","keyword","constant.language","storage.type","$rules","normalizeRules","inherits","TextMode","Mode","HighlightRules","$behaviour","$defaultBehaviour","lineCommentStart","DocCommentHighlightRules","getTagRule","defaultToken","getStartRule","getEndRule","SqlServerHighlightRules","logicalOperators","builtinFunctions","dataTypes","builtInStoredProcedures","keywords","support.storedprocedure","setStatements","isolationLevels","comment","embedRules","addCompletions","BaseFoldMode","FoldMode","commentRegex","foldingStartMarker","foldingStopMarker","singleLineBlockCommentRe","tripleStarBlockCommentRe","startRegionRe","_getFoldWidgetBase","getFoldWidget","foldStyle","fw","getFoldWidgetRange","forceMultiline","getCommentRegionBlock","openingBracketBlock","getCommentFoldRange","isMultiLine","getSectionRange","closingBracketBlock","startIndent","startColumn","maxRow","indent","subRange","getBeginEndBlock","matchSequence","SqlServerFoldMode","foldingRules","blockComment","$highlightRules","JSX","tagRegex","identifierRe","jsxTag","nextState","jsxJsRule","jsx","include","jsxAttributes","currentState","comments","stateName","reference","JavaScriptHighlightRules","variable.language","constant.language.boolean","escapedRe","no_regex","regex_character_class","function_arguments","qqstring","qstring","noES6","MatchingBraceOutdent","checkOutdent","autoOutdent","openBracePos","findMatchingBracket","$getIndent","WorkerClient","CstyleBehaviour","CStyleFoldMode","$outdent","getNextLineIndent","tokenizedLine","endState","createWorker","worker","attachToDocument","getDocument","setAnnotations","clearAnnotations","XmlHighlightRules","normalize","xml_decl","processing_instruction","doctype","int_subset","cdata","attr_reference","tag_whitespace","whitespace","attribute_value","embedTagRules","Behaviour","TokenIterator","XmlBehaviour","getWrapBehavioursEnabled","rightChar","getCurrentToken","stepBackward","rightSpace","firstChar","lastChar","tokenEnd","getCurrentTokenColumn","stepForward","tokenRow","getCurrentTokenRow","tokenColumn","voidElements","nextToken","getTokenAt","nextIndent","optionalEndTags","mixin","Tag","closing","selfClosing","_getFirstTagInLine","_findEndTagInLine","getTokens","_readTagForward","_readTagBackward","_pop","firstTag","isBackward","XmlFoldMode","arrayToMap","supportType","supportFunction","supportConstant","supportConstantColor","supportConstantFonts","numRe","pseudoElements","pseudoClasses","CssHighlightRules","support.constant","support.type","support.constant.color","support.constant.fonts","media","ruleset","propertyMap","background","#$0","background-color","transparent","fixed","background-image","url('/$0')","background-repeat","repeat-x","repeat-y","no-repeat","inherit","background-position","background-attachment","background-size","cover","contain","background-clip","border-box","padding-box","content-box","background-origin","border","solid $0","dashed $0","dotted $0","border-color","border-style","solid","dashed","dotted","double","groove","hidden","inset","outset","ridged","border-collapse","collapse","separate","px","em","%","both","rgb(#$00,0,0)","default","pointer","wait","help","progress","n-resize","ne-resize","e-resize","se-resize","s-resize","sw-resize","w-resize","nw-resize","inline","inline-block","table-cell","empty-cells","float","font-family","Arial","Comic Sans MS","Consolas","Courier New","Courier","Georgia","Monospace","Sans-Serif","Segoe UI","Tahoma","Times New Roman","Trebuchet MS","Verdana","font-size","font-weight","bold","normal","font-style","italic","font-variant","small-caps","letter-spacing","line-height","list-style-type","disc","circle","square","decimal","decimal-leading-zero","lower-roman","upper-roman","lower-greek","lower-latin","upper-latin","georgian","lower-alpha","upper-alpha","margin-right","margin-left","margin-top","margin-bottom","max-height","max-width","min-height","min-width","visible","auto","overflow-x","overflow-y","padding","padding-top","padding-right","padding-bottom","padding-left","page-break-after","always","avoid","page-break-before","absolute","relative","static","table-layout","text-decoration","underline","line-through","blink","text-align","justify","text-transform","capitalize","uppercase","lowercase","vertical-align","visibility","white-space","nowrap","pre-line","pre-wrap","word-spacing","alpha(opacity=$0100)","text-shadow","$02px 2px 2px #777","text-overflow","ellipsis-word","clip","ellipsis","-moz-border-radius","-moz-border-radius-topright","-moz-border-radius-bottomright","-moz-border-radius-topleft","-moz-border-radius-bottomleft","-webkit-border-radius","-webkit-border-top-right-radius","-webkit-border-top-left-radius","-webkit-border-bottom-right-radius","-webkit-border-bottom-left-radius","-moz-box-shadow","-webkit-box-shadow","rotate($00deg)","skew($00deg)","-moz-transform","-webkit-transform","CssCompletions","completionsDefined","defineCompletions","getPropertyValueCompletions","getPropertyCompletions","CssBehaviour","$completer","tagMap","createMap","button","form","script","table","tbody","td","tfoot","th","tr","HtmlHighlightRules","addRules","group","tag_stuff","getRules","defaultMode","subModes","$getMode","$tryMode","MixedFoldMode","optionalTags","js-","css-","findTagName","findAttributeName","commonAttributes","eventAttributes","globalAttributes","attributeMap","manifest","head","hreflang","rel","stylesheet","screen","print","text/css","image/png","image/jpeg","image/gif","sizes","http-equiv","content-type","text/html; charset=UTF-8","charset","scoped","text/javascript","defer","async","noscript","onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload","article","pubdate","aside","h1","h2","h3","h4","h5","h6","header","footer","address","hr","blockquote","cite","ol","reversed","dl","figure","figcaption","div","_blank","ping","nofollow","alternate","author","bookmark","license","noreferrer","prefetch","strong","small","q","dfn","datetime","var","samp","kbd","sup","u","mark","ruby","rt","rp","bdi","bdo","br","wbr","ins","del","usemap","ismap","iframe","sandbox","allow-same-origin","allow-top-navigation","allow-forms","allow-scripts","seamless","embed","param","classid","video","autobuffer","autoplay","controls","poster","muted","preload","metadata","audio","track","kind","srclang","canvas","area","shape","coords","svg","math","summary","colgroup","col","thead","headers","rowspan","colspan","accept-charset","autocomplete","enctype","multipart/form-data","application/x-www-form-urlencoded","novalidate","fieldset","password","checkbox","radio","file","reset","image","tel","week","accept","autofocus","checked","formaction","formenctype","text/plain","formmethod","formnovalidate","formtarget","_top","maxlength","pattern","readonly","acequired","datalist","optgroup","cols","wrap","hard","soft","keygen","challenge","keytype","rsa","dsa","ec","output","meter","low","high","optimum","details","radiogroup","dialog","elements","HtmlCompletions","getTagCompletions","getAttributeCompletions","getAttributeValueCompletions","getHTMLEntityCompletions","attribute","attributeName","JavaScriptMode","CssMode","HtmlFoldMode","fragmentContext","createModeDelegates","github_embed","escaped","MarkdownHighlightRules","basic","allowBlock","listblock-start","listblock","noEscape","githubblock","isHeading","heading","getLevel","startHeadingLevel","level","endColumn","XmlMode","HtmlMode","MarkdownFoldMode","xml-","html-","marker","JsonHighlightRules","style_element","dom_events","add_event_listener","attachEvent","set_css","css_text","styleSheet","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_jquery__","__WEBPACK_IMPORTED_MODULE_2_jquery___default","__WEBPACK_IMPORTED_MODULE_3_tether_drop__","__WEBPACK_IMPORTED_MODULE_3_tether_drop___default","__WEBPACK_IMPORTED_MODULE_4__ColorPickerPopover__","__WEBPACK_IMPORTED_MODULE_5_app_core_utils_react2angular__","ColorPicker","openColorPicker","closeColorPicker","setPickerElem","pickerElem","dropContent","dropContentElem","drop","classes","openOn","hoverCloseDelay","tetherOptions","constraints","attachment","colorPickerDrop","tether","watchDepth","wrapApply","ColorPalette","__WEBPACK_IMPORTED_MODULE_1_app_core_utils_colors__","paletteColors","colorPaletteItems","paletteColor","SpectrumPicker","__WEBPACK_IMPORTED_MODULE_3_vendor_spectrum__","onSpectrumMove","setComponentElem","isMoving","spectrumOptions","assignIn","flat","showAlpha","showButtons","spectrum","componentWillUpdate","nextProps","componentDidUpdate","componentWillUnmount","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","paletteTemplate","tiny","tinycolor","l","equals","formattedString","preferredFormat","swatchStyle","rgbaSupport","toFilter","noColorSelectedText","hideAll","spectrums","instanceOptions","callbackContext","defaultOpts","callbacks","beforeShow","applyOptions","showPaletteOnly","showPalette","toggleButton","togglePaletteMoreText","togglePaletteLessText","palette","paletteArray","paletteLookup","rgb","showInput","allowEmpty","togglePaletteOnly","showInitial","containerClassName","reflow","updateSelectionPaletteFromStorage","localStorageKey","oldPalette","addColorToSelectionPalette","selectionPalette","showSelectionPalette","maxSelectionSize","getUniqueSelectionPalette","unique","drawPalette","currentColor","paletteContainer","drawInitial","initial","colorOnShow","initialColorContainer","dragStart","dragHeight","dragWidth","slideHeight","isDragging","draggingClass","shiftMovementDirection","boundElement","dragStop","setFromTextInput","updateOriginalInput","onkeydown","clickout","resize","replacer","updateUI","clickoutFiresChange","revert","ignoreFormatChange","newHsv","toHsv","currentHue","currentSaturation","currentAlpha","currentPreferredFormat","getFormat","fromRatio","updateHelperLocations","flatColor","dragger","realColor","displayColor","previewElement","realHex","realRgb","alpha","toRgb","realAlpha","gradient","IE","alphaSliderInner","gradientType","alphaSlideHelper","slideHelper","dragHelper","dragX","dragY","dragHelperHeight","alphaX","alphaWidth","alphaSlideHelperWidth","slideY","slideHelperHeight","fireCallback","hasChanged","isInput","slideWidth","slider","alphaSlider","getOffset","offsetElement","spect","optionName","optionValue","setOffset","coord","throttle","ownerDocument","markup","pickerContainer","cancelButton","clearButton","chooseButton","isInputTypeColor","inputTypeColorSupport","shouldReplace","replaceInput","replacerClassName","initialColor","paletteElementClick","ignore","hideAfterPaletteSelect","cancelText","chooseText","draggable","oldDragX","oldDragY","furtherFromX","setSaturation","paletteEvent","picker","dpWidth","dpHeight","inputHeight","docElem","viewWidth","clientWidth","viewHeight","clientHeight","func","onmove","onstart","onstop","prevent","returnValue","dragging","documentMode","t0","originalEvent","touches","pageX","pageY","maxWidth","hasTouch","duringDragEvents","throttler","navigator","userAgent","gradientFix","extra","loadOpts","_cachedResult","colorInput","localization","palettes","processNativeColorInputs","colorInputs","inputToRGB","stringInputToObject","rgbToRgb","convertToPercentage","hsvToRgb","hslToRgb","boundAlpha","mathMin","mathMax","bound01","rgbToHsl","hue2rgb","rgbToHsv","mod","rgbToHex","allow3Char","pad2","mathRound","rgbaToHex","convertDecimalToHex","desaturate","hsl","clamp01","saturate","greyscale","lighten","brighten","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","slices","ret","monochromatic","hsv","modification","isOnePointZero","processPercent","isPercentage","parseIntFromHex","convertHexToDecimal","trimLeft","trimRight","named","names","matchers","rgba","hsla","hsva","hex8","hex6","hex3","tinyCounter","mathRandom","_originalInput","_r","_g","_roundA","_format","_gradientType","_ok","_tc_id","getBrightness","isLight","getOriginalInput","getAlpha","setAlpha","toHsvString","toHslString","toHex","toHex8","toHex8String","toPercentageRgb","toPercentageRgbString","toName","hexNames","secondColor","hex8String","secondHex8String","formatSet","hasAlpha","_applyModification","_applyCombination","color1","color2","mix","w1","rgb1","rgb2","w2","readability","c1","c2","brightnessA","brightnessB","colorDiff","brightness","isReadable","mostReadable","baseColor","colorList","bestColor","bestScore","bestIsReadable","readable","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","__WEBPACK_IMPORTED_MODULE_1__ColorPickerPopover__","__WEBPACK_IMPORTED_MODULE_2_app_core_utils_react2angular__","SeriesColorPicker","onColorChange","onToggleAxis","renderAxisSelection","leftButtonClass","rightButtonClass","spectrumPicker","__WEBPACK_IMPORTED_MODULE_1_app_core_core_module__","__WEBPACK_IMPORTED_MODULE_2_app_core_services_impression_srv__","__WEBPACK_IMPORTED_MODULE_4_app_core_services_context_srv__","__WEBPACK_IMPORTED_MODULE_5_app_core_services_experiments_impression_srv__","SearchSrv","$routeParams","recentIsOpen","starredIsOpen","getRecentDashboards","sections","queryForRecentDashboards","removable","expanded","toggleRecent","dashIds","take","dashboardIds","orderId","hit","isStarred","toggleStarred","getStarred","starred","promises","hasFilters","folderIds","skipRecent","skipStarred","handleSearchResult","results_1","toggleFolder","results_2","folderId","folderUid","folderTitle","folderUrl","getDashboardTags","getReactComponent","$injector","__WEBPACK_IMPORTED_MODULE_2_angular___default","reactComponent","namePart","applied","wrappedInApply","wrapped","phase","$root","applyFunctions","propsConfig","watchProps","watchExpressions","listener","supportsWatchCollection","$watchCollection","supportsWatchGroup","$watchGroup","watchGroupExpressions","actualExpr","getPropExpression","exprWatchDepth","getPropWatchDepth","renderComponent","$evalAsync","getPropName","getPropConfig","findAttribute","propName","defaultWatch","__WEBPACK_IMPORTED_MODULE_2_angular__","renderMyComponent","scopeProps","onScopeDestroy","unmountComponent","unmountComponentAtNode","reactComponentName","conf","injectableProps","propTypes","propExpressions","ngModule","grafanaAppDirective","playlistSrv","$location","GrafanaCtrl","checkForInActiveUser","activeUser","lastActivity","inActiveTimeLimit","sidemenuOpen","sidemenuHidden","userActivityDetected","__WEBPACK_IMPORTED_MODULE_5_app_core_app_events__","dashboard","__WEBPACK_IMPORTED_MODULE_9_app_core_services_experiments_impression_srv__","isPlaying","cookie","pageClass","$$route","kiosk","inactive","__WEBPACK_IMPORTED_MODULE_6_tether_drop___default","drops","mousemove","capture","passive","setInterval","parents","clickAutoHide","clickAutoHideParent","popover","__WEBPACK_IMPORTED_MODULE_3_app_core_core_module__","__WEBPACK_IMPORTED_MODULE_4_app_core_profiler__","__WEBPACK_IMPORTED_MODULE_6_tether_drop__","__WEBPACK_IMPORTED_MODULE_7_app_stores_store__","__WEBPACK_IMPORTED_MODULE_8_app_core_utils_colors__","alertSrv","utilSrv","$controller","bridgeSrv","datasourceSrv","dashAlerts","initDashboard","dashboardData","viewScope","localScope","callerScope","RootStore","__WEBPACK_IMPORTED_MODULE_1__SearchStore_SearchStore__","__WEBPACK_IMPORTED_MODULE_2__ServerStatsStore_ServerStatsStore__","__WEBPACK_IMPORTED_MODULE_3__NavStore_NavStore__","__WEBPACK_IMPORTED_MODULE_4__AlertListStore_AlertListStore__","__WEBPACK_IMPORTED_MODULE_5__ViewStore_ViewStore__","__WEBPACK_IMPORTED_MODULE_6__FolderStore_FolderStore__","__WEBPACK_IMPORTED_MODULE_7__PermissionsStore_PermissionsStore__","serverStats","alertList","rules","view","routeParams","folder","SearchStore","__WEBPACK_IMPORTED_MODULE_1__SearchResultSection__","SearchResultSection","__WEBPACK_IMPORTED_MODULE_1__ResultItem__","identifier","ResultItem","ServerStatsStore","__WEBPACK_IMPORTED_MODULE_1__ServerStat__","dashboards","activeUsers","orgs","playlists","snapshots","stars","alerts","ServerStat","NavStore","__WEBPACK_IMPORTED_MODULE_1_mobx_state_tree__","__WEBPACK_IMPORTED_MODULE_2__NavItem__","initFolderNav","activeChildId","initDatasourceEditNav","ds","plugin","currentPage","logos","large","NavItem","late","Breadcrumb","AlertListStore","__WEBPACK_IMPORTED_MODULE_1__AlertRule__","__WEBPACK_IMPORTED_MODULE_2__helpers__","stateFilter","filteredRules","loadRules","apiRules","apiRules_1","executionError","evalData","noData","setSearchQuery","AlertRule","__WEBPACK_IMPORTED_MODULE_1__helpers__","isPaused","togglePaused","ViewStore","__WEBPACK_IMPORTED_MODULE_1_mobx__","__WEBPACK_IMPORTED_MODULE_2_app_core_utils_url__","QueryInnerValueType","union","QueryValueType","currentUrl","updateQuery","updateRouteParams","updatePathAndQuery","toUrlParams","rbracket","k","buildParams","FolderStore","Folder","getFolderByUid","setTitle","originalTitle","saveFolder","updateFolder","deleteFolder","PermissionsStoreItem","userEmail","updateRole","sideMenuDirective","SideMenuCtrl","__WEBPACK_IMPORTED_MODULE_3__core_module__","__WEBPACK_IMPORTED_MODULE_4_app_core_app_events__","mainLinks","hideFromMenu","bottomNav","loginUrl","orgCount","profileNode","showOrgSwitcher","toggleSideMenuSmallBreakpoint","switchOrg","itemClicked","searchDirective","SearchCtrl","__WEBPACK_IMPORTED_MODULE_2_app_core_services_context_srv__","searchSrv","openSearch","closeSearch","initialFolderFilterTitle","getTags","onTagSelect","ignoreClose","giveSearchFocus","currentSearchId","moveSelection","flattenedResult","getFlattenedResultForNavigation","currentItem","dashboardIndex","selectedDash","folderIndex","selectedFolder","onFilterboxClick","preventClose","newIndex","selectedItem","hideHeader","searchDashboards","localSearchId","location","queryHasNoFilters","filterByTag","removeTag","without","newTags","clearSearchFilter","showStarred","showImport","folderExpanding","flatMap","infoPopover","wide","dropOptions","hoverOpenDelay","pin","$applyAsync","__WEBPACK_IMPORTED_MODULE_2_tether_drop___default","__WEBPACK_IMPORTED_MODULE_2_tether_drop__","navbarDirective","NavbarCtrl","pageH1","__WEBPACK_IMPORTED_MODULE_1_app_core_app_events__","showSearch","navItemClicked","clickHandler","arrayJoin","split_array","join_array","__WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__","LiveSrv","observers","getWebSocketUrl","protocol","host","getConnection","initPromise","conn","readyState","WebSocket","onclose","reconnect","handleMessage","onerror","onopen","stream","removeObserver","send","addObserver","streamName","nextOrObserver","Subscriber_1","tryCatcher","tryCatchTarget","fns","noop_1","layoutSelector","LayoutSelectorCtrl","layoutMode","layout","newLayout","listView","gridView","switchDirective","SwitchCtrl","labelClass","switchClass","internalOnChange","dashboardSelector","DashboardSelectorCtrl","$onInit","dash","queryPartEditorDirective","templateSrv","handleEvent","clickFuncParam","paramIndex","$link","highlightVariablesAsHtml","$event","inputKeyPress","inputKeyDown","addTypeahead","dynamicOptions","addElementsAndCompile","partDef","$paramsContainer","paramValue","$paramLink","partial","partActions","showActionsMenu","triggerPartAction","typeaheadMatcher","formDropdownDirective","FormDropdownCtrl","allowCustom","labelMode","lookupText","startOpen","inputElement","linkElement","modelChanged","cssClasses","typeaheadUpdater","isPromiseLike","updateDisplay","optionCache","optionTexts","updateValue","concatNoDup","lowstr","lowquery","sidepaneSearchDirective","SidepaneSearchCtrl","sensors","onSearch","DROPDOWN_MAX_ITEMS","reFilters","sensor","SENSOR_KEYWORD","TAG_KEYWORD","DATE_KEYWORD","prettyHints","sensor:","date:","tag:","searchButton","initDropdownMode","searchTerm","dropdownMode","sensorNames","shortName","tagCache","searchExperimentTags","totalCount","hint","inputClicked","inputChanged","reOpenTimer","inputFocused","inputBlurred","searchButtonClicked","inputSubmit","clearClicked","InspectCtrl","$sanitize","inspector","toJson","request_parameters","stack_trace","getParametersFromQueryString","queryString","keyValue","JsonEditorCtrl","canUpdate","updateHandler","canCopy","enableCopy","newObject","fromJson","getContentForClipboard","LoginCtrl","formModel","oauth","oauthEnabled","ldapEnabled","authProxyEnabled","disableLoginForm","disableUserSignUp","loginHint","loginMode","submitBtnText","loginModeChanged","loginError","signUp","changeView","loginView","changePasswordView","getElementById","changePassword","oldPassword","newPassword","confirmNew","toGrafana","loginForm","$valid","status","isHandled","redirect","redirectUrl","InvitedCtrl","navModel","invite","username","inviteCode","greeting","invitedBy","inviteForm","SignUpCtrl","orgName","newsletter","verifyEmailEnabled","autoAssignOrg","signUpForm","rsp","ResetPasswordCtrl","sendResetEmail","sendResetForm","submitReset","resetForm","confirmPassword","__WEBPACK_IMPORTED_MODULE_2_app_core_app_events__","ErrorCtrl","navModelSrv","HomeCtrl","matlabPluginSrv","experimentSrv","hasLoaded","getUrl","matlabPluginUrl","getRootObjectCount","hasExperiments","AlertSrv","getIconForSeverity","severity","statusText","newAlert","newAlertJson","clearAll","UtilSrv","showModal","showConfirmModal","modalScope","modalEl","onConfirm","updateConfirmText","confirmTextValid","confirmText","text2","onAltAction","altActionText","yesText","noText","Timer","timers","promise","cancelAll","startAnalytics","googleAnalyticsSrv","googleAnalyticsId","Analytics","gaInit","ajax","dataType","ga","page","popoverSrv","openDrop","onClose","contentElement","classNames","MetricSegment","getSegmentForValue","fallbackText","newSelectMeasurement","newFake","newKey","newKeyValue","newCondition","condition","newOperator","newOperators","transformToSegments","addTemplateVars","variableTypeFilter","segments","newSelectMetric","newPlusButton","__WEBPACK_IMPORTED_MODULE_3_app_features_dashboard_dashboard_model__","BackendSrv","inFlightRequests","HTTP_REQUEST_CANCELLED","patch","withNoBackendCache","noBackendCache","finally","requestErrorHandler","retry","requestIsLocal","firstAttempt","showSuccessAlert","loginPing","addCanceler","requestId","canceler","resolveCancelerIfExists","cancelers","isUndefined","datasourceRequest","Authorization","silent","cancelled","searchExperiments","searchSensors","getExperimentTree","updateExperimentTree","newTree","createExperiment","exp","updateExperiment","experiment","updateExperimentSilent","getExperiment","deleteExperiment","experimentCreateVideoJob","filename","experimentGetVideoJob","experimentAddSensors","sensorIds","experimentRemoveSensor","sensorId","createExperimentFolder","updateExperimentFolder","getExperimentFolder","deleteExperimentFolder","createSensor","updateSensor","updateSensorSilent","getSensor","deleteSensor","getDashboardBySlug","slug","getDashboardByUid","saveDashboard","overwrite","createFolder","deleteDashboard","deleteFoldersAndDashboards","folderUids","dashboardUids","tasks","folderUids_1","createTask","dashboardUids_1","dashboardUid","executeInOrder","moveDashboards","toFolder","dashboardUids_2","moveDashboard","successCount","succeeded","alreadyInFolderCount","alreadyInFolder","deferred","fullDash","ignoreRejections","initialValue","sortByKeys","isPlainObject","sortedObject","getGridHeight","__WEBPACK_IMPORTED_MODULE_1_app_core_constants__","ceil","DashboardMigrator","__WEBPACK_IMPORTED_MODULE_2__panel_model__","dashboardModel","oldVersion","panelUpgrades","isBoolean","grid","leftMin","leftMax","y_format","y_formats","y2_format","maxId","aliasYAxis","seriesOverrides","pulldowns","allFormat","rawQuery","field","mathExpr","asExpr","styles","templateVariable","hideVariable","hideLabel","logBase","leftLogBase","leftYAxisLabel","rightMin","rightMax","rightLogBase","rightYAxisLabel","t1","t2","threshold1","thresholdLine","lineColor","threshold1Color","colorMode","threshold2","threshold2Color","sharedCrosshair","upgradeToGridLayout","widthFactor","maxPanelId","nextRowId","showRows","showTitle","rowGridHeight","rowPanelModel","rowArea","RowArea","panelWidth","panelHeight","panelPos","getPanelPosition","callOnce","startPlace","endPlace","DynamicDirectiveSrv","addDirective","child","directiveInfo","registered","$normalize","watchPath","childScope_1","__WEBPACK_IMPORTED_MODULE_2_app_stores_store__","__WEBPACK_IMPORTED_MODULE_3_mobx__","__WEBPACK_IMPORTED_MODULE_4_app_core_utils_location_util__","BridgeSrv","$route","fullPageReloadRoutes","angularUrl","urlWithoutBase","ExperimentsSearchSrv","handleSearchResults","created","tZero","ExperimentSrv","rootObjectCount","rootObjectRequests","getCurrentId","getCurrent","setRootObjectCount","clearCache","SensorSrv","sensors_1","getAll","MatlabPluginSrv","hostname","startFreshchat","freshchatSrv","Freshchat","startMixpanel","mixpanelSrv","Mixpanel","mixpanel","identify","$email","$last_name","people","interpolateTemplateVars","filterFunc","replaceWithText","$stateful","__WEBPACK_IMPORTED_MODULE_2_moment__","__WEBPACK_IMPORTED_MODULE_2_moment___default","isNull","noXml","__WEBPACK_IMPORTED_MODULE_5_app_core_utils_location_util__","__WEBPACK_IMPORTED_MODULE_6_mousetrap__","__WEBPACK_IMPORTED_MODULE_6_mousetrap___default","__WEBPACK_IMPORTED_MODULE_7_mousetrap_global_bind__","__awaiter","_arguments","P","generator","fulfilled","rejected","KeybindingSrv","timeSrv","modalOpen","timepickerOpen","setupGlobal","showHelpModal","goToHome","openAlerting","goToProfile","openSearchStarred","openSearchTags","bindGlobal","exit","tagsMode","editview","keyArg","showDashEditView","setupDashboardBindings","exploreEnabled","exploreState","supportsExplore","timeRangeForUrl","getExploreState","shareScope","panelInfo","helpModal","HelpCtrl","shortcuts","Global","Dashboard","Focused Panel","Time Range","userPicker","UserPickerCtrl","debouncedSearchUsers","searchUsers","$user","teamPicker","TeamPickerCtrl","debouncedSearchGroups","searchGroups","teams","ug","$group","geminiScrollbar","forceUpdate","scrollbar","scrollRoot","scroller","grafanaScrollbar","scrollRootClass","scrollBarHTML","scrollerClass","scrollParams","bar","barOnCls","scrollingCls","__WEBPACK_IMPORTED_MODULE_1_baron___default","lastPos","restore","dispose","__WEBPACK_IMPORTED_MODULE_1_baron__","pageScrollbar","gfPageDirective","orgSwitcher","OrgSwitchCtrl","__WEBPACK_IMPORTED_MODULE_1_app_core_services_context_srv__","currentOrgId","getUserOrgs","setUsingOrg","org","setWindowLocation","registerAngularDirectives","__WEBPACK_IMPORTED_MODULE_0_app_core_utils_react2angular__","__WEBPACK_IMPORTED_MODULE_1__components_PasswordStrength__","__WEBPACK_IMPORTED_MODULE_2__components_PageHeader_PageHeader__","__WEBPACK_IMPORTED_MODULE_9__components_Tree_Tree__","__WEBPACK_IMPORTED_MODULE_3__components_EmptyListCTA_EmptyListCTA__","__WEBPACK_IMPORTED_MODULE_4__components_Login_LoginBackground__","__WEBPACK_IMPORTED_MODULE_5__components_search_SearchResult__","__WEBPACK_IMPORTED_MODULE_6__components_TagFilter_TagFilter__","__WEBPACK_IMPORTED_MODULE_7__components_Picker_UserPicker__","__WEBPACK_IMPORTED_MODULE_8__components_Permissions_DashboardPermissions__","PasswordStrength","strengthText","strengthClass","EmptyListCTA","buttonIcon","buttonLink","buttonTitle","proTip","proTipLink","proTipLinkTitle","proTipTarget","Cell","flipIndex","xCount","bgColor1","getColor","getRandomInt","LoginBackground","flipElements","elementIndexToFlip","cancelInterval","clearInterval","el2","SearchResult","__WEBPACK_IMPORTED_MODULE_1_classnames__","__WEBPACK_IMPORTED_MODULE_1_classnames___default","__WEBPACK_IMPORTED_MODULE_3_app_stores_store__","toggleSection","renderItem","collapseClassNames","fa","fa-plus","fa-minus","search-section__header__toggle","TagFilter","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_1_react___default","__WEBPACK_IMPORTED_MODULE_2_react_select__","__WEBPACK_IMPORTED_MODULE_3__TagValue__","__WEBPACK_IMPORTED_MODULE_4__TagOption__","searchTags","onTagRemove","tagOptions","tagOption","term","selectOptions","TagValue","__WEBPACK_IMPORTED_MODULE_1__TagBadge__","onRemove","TagOption","__WEBPACK_IMPORTED_MODULE_3_app_core_components_Permissions_Permissions__","__WEBPACK_IMPORTED_MODULE_4_app_core_components_Tooltip_Tooltip__","__WEBPACK_IMPORTED_MODULE_5_app_core_components_Permissions_PermissionsInfo__","__WEBPACK_IMPORTED_MODULE_6_app_core_components_Permissions_AddPermissions__","__WEBPACK_IMPORTED_MODULE_7_app_core_components_Animations_SlideDown__","DashboardPermissions","handleAddPermission","__WEBPACK_IMPORTED_MODULE_1__PermissionsListItem__","__WEBPACK_IMPORTED_MODULE_2__DisabledPermissionsListItem__","__WEBPACK_IMPORTED_MODULE_3_mobx_react__","PermissionsList","itemIndex","colSpan","ItemAvatar","ItemDescription","__WEBPACK_IMPORTED_MODULE_2_app_core_components_Picker_DescriptionPicker__","__WEBPACK_IMPORTED_MODULE_3_app_stores_PermissionsStore_PermissionsStore__","setClassNameHelper","handleRemoveItem","handleChangePermission","permissionOption","inheritedFromRoot","DescriptionOption","aria-hidden","__WEBPACK_IMPORTED_MODULE_1_app_core_components_Picker_DescriptionPicker__","DisabledPermissionListItem","withTooltip","class_1","componentWillReceiveProps","renderContent","ReactComponent","__WEBPACK_IMPORTED_MODULE_1_react_popper__","TeamPicker","__WEBPACK_IMPORTED_MODULE_1_react_ui_tree__","__WEBPACK_IMPORTED_MODULE_1_react_ui_tree___default","__WEBPACK_IMPORTED_MODULE_2__store__","__WEBPACK_IMPORTED_MODULE_4_classnames__","__WEBPACK_IMPORTED_MODULE_4_classnames___default","Tree","onCollapse","collapsedMap","onDragStart","dragData","databaseId","offsetX","offsetY","transferDataObject","channel","transferDataText","dataTransfer","effectAllowed","onDragEnd","dragEnd","renderNode","indexId","leaf","renderTags","getIcon","canDrop","dropTarget","canDropInto","tree","initTreeState","prevProps","jsonString","initCollapsedStates","states","initCollapsedStatesHelper","searchterm","searchinprogress","searcherror","fontSize","paddingLeft","handleChange","onEdit","onAdd","onView","canDropInPosition","searchResultsDirective","SearchResultsCtrl","onSelectionChanged","onTagSelected","onFolderExpanding","toggleFolderExpand","navigateToFolder","toggleSelection","onItemClick","manageDashboardsDirective","ManageDashboardsCtrl","Query","selectAllChecked","canMove","starredFilterOptions","selectedStarredFilter","refreshList","initTagFilter","initDashboardList","selectionChanged","selectedDashboards","selectedFolders","getFoldersAndDashboardsToDelete","folders","getFolderIds","ids","sections_1","folderCount","dashCount","getDashboardsToMove","moveTo","afterSave","tagFilterOptions","selectedTagFilter","onQueryChange","onTagFilterChange","removeStarred","onStarredFilterChange","onSelectAllChanged","clearFilters","createDashboardUrl","importDashboardUrl","sidepaneDirective","SidepaneCtrl","__WEBPACK_IMPORTED_MODULE_0_app_core_app_events__","__WEBPACK_IMPORTED_MODULE_3_app_core_config__","__WEBPACK_IMPORTED_MODULE_4_app_core_store__","__WEBPACK_IMPORTED_MODULE_5_jquery__","__WEBPACK_IMPORTED_MODULE_5_jquery___default","__WEBPACK_IMPORTED_MODULE_6_app_core_services_impression_srv__","dashboardSrv","loading","searchInProgress","showSensorsWarning","showLoadMoreExperimentsButton","loadMoreExperimentsButtonText","experimentLoadLimit","experimentLoadOffset","matlabPluginUrlClick","formatSearchResultsForTree","formatHelper","appendSensorNodes","loadFullDash","handleExperimentTreeModification","changeEvent","handleTreeUpdate","serverChangeEvent","fromId","toId","collapsedKey","initMatlabUrl","reactDragStart","reactDragEnd","candidates","navObject","doSearch","sensorFilter","lastBackendSearchTerm","searchError","searchArgs","activeExperimentNode","errorMessage","clearSearch","makeSensorNode","makeSensorNodes","total_count","loadMoreExperiments","currentCount","treeCopy","activeExperiment","experimentDetails","videoPanel","lastDashUrl","startedNs","stoppedNs","addPanelForCurrent","addMetaPanelForCurrent","addPanelFromExperiment","toggleCollapsed","toggleExpand","sidepaneClicked","startedAt","lpad","setupAngularRoutes","$routeProvider","html5Mode","reloadOnSearch","__WEBPACK_IMPORTED_MODULE_5_app_containers_ManageDashboards_FolderPermissions__","__WEBPACK_IMPORTED_MODULE_4_app_containers_ManageDashboards_FolderSettings__","roles","__WEBPACK_IMPORTED_MODULE_2_app_containers_ServerStats_ServerStats__","redirectTo","__WEBPACK_IMPORTED_MODULE_3_app_containers_AlertRuleList_AlertRuleList__","otherwise","__WEBPACK_IMPORTED_MODULE_1_app_core_utils_location_util__","__WEBPACK_IMPORTED_MODULE_2_app_core_services_experiments_impression_srv__","__WEBPACK_IMPORTED_MODULE_3_app_core_services_impression_srv__","experimentRedirect","newUrl","experimentId_1","LoadDashboardCtrl","dashboardLoaderSrv","dashId","newPath","loadDashboard","dashboardNotFound","isSnapshot","snapshotKey","keepRows","homeDash","redirectUri","NewDashboardCtrl","launcherEvents","showIn","tagsColumn","isNew","WrapInProvider","reactContainer","locals","__WEBPACK_IMPORTED_MODULE_4_app_stores_store__","StatItem","stat","__WEBPACK_IMPORTED_MODULE_1_react_hot_loader__","__WEBPACK_IMPORTED_MODULE_3_app_core_components_PageHeader_PageHeader__","ServerStats","React","classCallCheck","writable","possibleConstructorReturn","ReferenceError","AppContainer","Children","only","hot_prod","areComponentsEqual","setConfig","hot","AlertStateFilterOption","__WEBPACK_IMPORTED_MODULE_4_app_core_components_PageHeader_PageHeader__","__WEBPACK_IMPORTED_MODULE_6_react_highlight_words__","__WEBPACK_IMPORTED_MODULE_6_react_highlight_words___default","AlertRuleList","stateFilters","onStateFilterChanged","fetchRules","onOpenHowTo","onSearchQueryChange","AlertRuleItem","toggleState","renderText","highlightClassName","textToHighlight","searchWords","fa-play","fa-pause","ruleUrl","__WEBPACK_IMPORTED_MODULE_5_mobx_state_tree__","__WEBPACK_IMPORTED_MODULE_6_app_core_app_events__","FolderSettings","formSnapshot","onTitleChange","getFormSnapshot","save","handleSaveFolderError","nav_1","folder_1","view_1","__WEBPACK_IMPORTED_MODULE_5_app_core_components_Permissions_Permissions__","__WEBPACK_IMPORTED_MODULE_6_app_core_components_Tooltip_Tooltip__","__WEBPACK_IMPORTED_MODULE_7_app_core_components_Permissions_PermissionsInfo__","__WEBPACK_IMPORTED_MODULE_8_app_core_components_Permissions_AddPermissions__","__WEBPACK_IMPORTED_MODULE_9_app_core_components_Animations_SlideDown__","FolderPermissions"],"mappings":"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,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUD,EAAQC,EAAqBC,GAE7C,YACqB,IAAIO,GAAuCP,EAAoB,GAC3DQ,EAA+CR,EAAoBG,EAAEI,GACrE4X,EAAuCnY,EAAoB,GAC3DoY,EAA+CpY,EAAoBG,EAAEgY,GmBniD1FE,IAEJA,GAAIC,gBAEJD,EAAIE,YAAc,SAASxW,GACzB,MAAOA,GAAM0R,QAAQ,wBAAyB,SAKhD4E,EAAIG,eAAiB,SAASC,GAC5B,QAAQ,GACN,IAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KAET,KAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KAET,KAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KACT,KAAKA,GAAW,MACd,MAAO,KAET,KAAKA,GAAW,MACd,MAAO,IACT,KAAKA,GAAW,MACd,MAAO,IACT,KAAKA,GAAW,MACd,MAAO,IAET,KAAKA,GAAW,KACd,MAAO,GACT,KAAKA,GAAW,KACd,MAAO,GACT,KAAKA,GAAW,KACd,MAAO,GAET,KAAKA,GAAW,IACd,MAAO,EACT,KAAKA,GAAW,IACd,MAAO,EACT,KAAKA,GAAW,IACd,MAAO,EAET,KAAKA,GAAW,IACd,MAAO,EACT,KAAKA,GAAW,IACd,MAAO,EACT,KAAKA,GAAW,IACd,MAAO,EAGT,KAAKA,GAAW,GACd,MAAO,GAET,KAAKA,GAAW,GACd,MAAO,GAET,KAAKA,GAAW,GACd,MAAO,GAET,KAAKA,GAAW,IACd,MAAO,IAET,KAAKA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CA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUlvB,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOwwB,IAC9E,IAAIC,GAAyCxwB,EAAoB,MwBtuGtFyC,EAAAzC,EAAA,GAAA0C,EAAA1C,EAAAG,EAAAsC,GAOMguB,EAAoB,sGACpBC,EAAqB,8BACrBC,EAAkB,6CAKlBC,EACJvvB,OAAOuvB,uBACP,SAASC,GAEP,MADAA,KACO,GASLC,GACJC,aAAa,EACbC,cAAc,EACdC,MAAO,MASTV,EAAA,WAqCE,QAAAA,GACSW,EACCC,EACA3vB,EACAI,OAFA,KAAAuvB,MAAA,OACA,KAAA3vB,MAAAsvB,GAFD3vB,KAAA+vB,OACC/vB,KA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ACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUvO,EAAQiS,EAAS/R,GAEjC,YwC7oJA,IAAA4uB,GAAA5uB,EAAA,KACAggC,EAAAhgC,EAAA,MACAigC,EAAAjgC,EAAA,KACAkgC,EAAAlgC,EAAA,MAOAmgC,EAAA,WAQA,QAAAA,GAAAC,GACAj/B,KAAAk/B,WAAA,EACAD,IACAj/B,KAAAm/B,WAAAF,GAuRA,MA7QAD,GAAAz+B,UAAA6+B,KAAA,SAAAC,GACA,GAAAC,GAAA,GAAAN,EAGA,OAFAM,GAAAC,OAAAv/B,KACAs/B,EAAAD,WACAC,GAoHAN,EAAAz+B,UAAA0+B,UAAA,SAAAO,EAAA3G,EAAAE,GACA,GAAAsG,GAAAr/B,KAAAq/B,SACAI,EAAAZ,EAAAa,aAAAF,EAAA3G,EAAAE,EAOA,IANAsG,EACAA,EAAAv7B,KAAA27B,EAAAz/B,KAAAu/B,QAGAE,EAAAxO,IAAAjxB,KAAAu/B,SAAAE,EAAAE,mBAAA3/B,KAAAm/B,WAAAM,GAAAz/B,KAAA4/B,cAAAH,IAEAA,EAAAE,qBACAF,EAAAE,oBAAA,EACAF,E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I,2BAA4B8J,KAGxCue,EAAA,EAAOp3C,SAAS0B,KAAKM,YACvBu1C,EAAA,SACEnd,MAAOgd,EAAA,EAAOp3C,SAAS0B,KAAK04B,MAC5BpvB,GAAIosC,EAAA,EAAOp3C,SAAS0B,KAAKsJ,MAmBjCgtC,IAEAr5C,GAAA,KAAmBq5C,IvDqhOV,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUt5C,EAAQiS,IwD55OxB,SAAAqpC,GAEA,YAMAA,GAAA,WAEAA,EAAAC,QAAAhc,WAAA,WAEA,GAAAic,GAAA,WAEA,GAOApwC,GAPAuK,EAAA5R,SAAAkL,cAAA,aACAwsC,GACAC,iBAAA,sBACAC,cAAA,gBACAC,YAAA,gCACArc,WAAA,gBAIA,KAAAn0B,IAAAqwC,GACA,OAAA33C,KAAA6R,EAAAklB,MAAAzvB,GACA,MAAAqwC,GAAArwC,KAMA,OAAAowC,KACAK,IAAAL,SAOCj6C,OAAAu6C,QAoBD,SAAAR,GAEA,YA0GA,SAAAS,KACAT,EAAA,sBAAAjpB,SACAipB,EAAAppB,GAAA0W,KAAA,WACAoT,EAAAV,EAAAj6C,OAAA46C,YAAA,UAIA,QAAAD,GAAAE,GACA,GACAC,GADAC,EAAAF,EAAAG,KAAA,cAaA,OAVAD,KACAA,EAAAF,EAAAG,KAAA,QAEAD,KAAA,YAAA1qB,KAAA0qB,MAAAzoC,QAAA,sBAGAwoC,EAAAC,GAAAd,EAAAc,GAEAD,KAAAn3C,SAAAm3C,EAAAD,EAAA9W,UAEA+W,EAtGA,GAAAjqB,GAAA,yBACAoqB,EAAA,SAAA1tC,GACA,GAAA2tC,GAAAjB,EAAA1sC,GAAA0D,GAAA,0BAAAjR,KAAA6wB,OACAopB,GAAA,QAAAhpC,GAAA,qCACAiqC,EAAAnX,SAAA6W,YAAA,UAIAK,GAAA16C,WAEA4L,YAAA8uC,EAEApqB,OAAA,SAAAtrB,GACA,GACAu1C,GACAK,EAFAN,EAAAZ,EAAAj6C,KAIA,KAAA66C,EAAAO,GAAA,wBAkBA,MAhBAN,GAAAH,EAAAE,GAEAM,EAAAL,EAAAO,SAAA,QAEAX,IAEAS,IACA,gBAAAz4C,UAAA44C,iBAEArB,EAAA,oCAAAsB,aAAAtB,EAAAj6C,OAAAiR,GAAA,QAAAypC,GAEAI,EAAAU,YAAA,SAGAX,EAAAY,SAEA,GAGAC,QAAA,SAAAn2C,GACA,GAAAs1C,GACAc,EAEAb,EACAK,EACA3pB,CAEA,iBAAAnB,KAAA9qB,EAAAq2C,WAEAf,EAAAZ,EAAAj6C,MAEAuF,EAAA81B,iBACA91B,EAAA+1B,mBAEAuf,EAAAO,GAAA,0BAMA,GAJAN,EAAAH,EAAAE,KAEAM,EAAAL,EAAAO,SAAA,UAEAF,GAAA,IAAA51C,EAAAq2C,QAEA,MADA,KAAAr2C,EAAAs2C,OAAAf,EAAApyC,KAAAmoB,GAAA4qB,QACAZ,EAAAiB,OAGAH,GAAA1B,EAAA,yCAAAa,GAEAa,EAAAh4C,SAEA6tB,EAAAmqB,EAAAnqB,MAAAmqB,EAAA1nC,OAAA,WAEA,IAAA1O,EAAAq2C,SAAApqB,EAAA,GAAAA,IACA,IAAAjsB,EAAAq2C,SAAApqB,EAAAmqB,EAAAh4C,OAAA,GAAA6tB,KACAA,MAAA,GAEAmqB,EACAI,GAAAvqB,GACAiqB,WAiCA,IAAAzF,GAAAiE,EAAAnW,GAAAkY,QAEA/B,GAAAnW,GAAAkY,SAAA,SAAAxgB,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,WACAA,IAAA6pC,EAAA7pC,KAAA,WAAAA,EAAA,GAAAiqC,GAAAj7C,OACA,gBAAAw7B,IAAAxqB,EAAAwqB,GAAA13B,KAAA+2C,MAIAZ,EAAAnW,GAAAkY,SAAAC,YAAAhB,EAMAhB,EAAAnW,GAAAkY,SAAAE,WAAA,WAEA,MADAjC,GAAAnW,GAAAkY,SAAAhG,EACAh2C,MAOAi6C,EAAAv3C,UACAuO,GAAA,0BAAAypC,GACAzpC,GAAA,oDAAA1L,GAAmEA,EAAA+1B,oBACnErqB,GAAA,0BAAA4f,EAAAoqB,EAAA16C,UAAAswB,QACA5f,GAAA,4BAAA4f,EAAA,gBAAAoqB,EAAA16C,UAAAm7C,UAECx7C,OAAAu6C,QAqBD,SAAAR,GAEA,YAMA,IAAAkC,GAAA,SAAA5uC,EAAAhO,GACAS,KAAAT,UACAS,KAAAo8C,SAAAnC,EAAA1sC,GACA8uC,SAAA,+CAAApC,EAAAqC,MAAAt8C,KAAAouC,KAAApuC,OACAA,KAAAT,QAAAg9C,QAAAv8C,KAAAo8C,SAAA1zC,KAAA,eAAAI,KAAA9I,KAAAT,QAAAg9C,QAGAJ,GAAA57C,WAEA4L,YAAAgwC,EAEAtrB,OAAA,WACA,MAAA7wB,WAAAw8C,QAAA,kBAGA/xB,KAAA,WACA,GAAAgyB,GAAAz8C,KACAuF,EAAA00C,EAAAyC,MAAA,OAEA18C,MAAAo8C,SAAAO,QAAAp3C,GAEAvF,KAAAw8C,SAAAj3C,EAAAq3C,uBAEA58C,KAAAw8C,SAAA,EAEAx8C,KAAAypB,SAEAzpB,KAAA68C,SAAA,WACA,GAAA3e,GAAA+b,EAAAC,QAAAhc,YAAAue,EAAAL,SAAAf,SAAA,OAEAoB,GAAAL,SAAArY,SAAApgC,QACA84C,EAAAL,SAAAU,SAAAp6C,SAAA6B,MAGAk4C,EAAAL,SAAA3xB,OAEAyT,GACAue,EAAAL,SAAA,GAAAW,YAGAN,EAAAL,SACA5nB,SAAA,MACAwmB,KAAA,kBAEAyB,EAAAO,eAEA9e,EACAue,EAAAL,SAAAa,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAA,WAAqEiC,EAAAL,SAAAX,QAAAkB,QAAA,WACrEF,EAAAL,SAAAX,QAAAkB,QAAA,aAKAvO,KAAA,SAAA7oC,GACAA,KAAA81B,gBAIA91B,GAAA00C,EAAAyC,MAAA,QAEA18C,KAAAo8C,SAAAO,QAAAp3C,GAEAvF,KAAAw8C,UAAAj3C,EAAAq3C,uBAEA58C,KAAAw8C,SAAA,EAEAx8C,KAAAypB,SAEAwwB,EAAAv3C,UAAA6O,IAAA,iBAEAvR,KAAAo8C,SACAxB,YAAA,MACAI,KAAA,kBAEAf,EAAAC,QAAAhc,YAAAl+B,KAAAo8C,SAAAf,SAAA,QACAr7C,KAAAk9C,qBACAl9C,KAAAm9C,cAGAH,aAAA,WACA,GAAAP,GAAAz8C,IACAi6C,GAAAv3C,UAAAuO,GAAA,yBAAA1L,GACAk3C,EAAAL,SAAA,KAAA72C,EAAA+G,QAAAmwC,EAAAL,SAAAviC,IAAAtU,EAAA+G,QAAA3I,QACA84C,EAAAL,SAAAX,WAKAhyB,OAAA,WACA,GAAAgzB,GAAAz8C,IACAA,MAAAw8C,SAAAx8C,KAAAT,QAAA69C,SACAp9C,KAAAo8C,SAAAnrC,GAAA,+BAAA1L,GACA,IAAAA,EAAAs2C,OAAAY,EAAArO,SAESpuC,KAAAw8C,SACTx8C,KAAAo8C,SAAA7qC,IAAA,wBAIA2rC,mBAAA,WACA,GAAAT,GAAAz8C,KACA4+B,EAAAxI,WAAA,WACAqmB,EAAAL,SAAA7qC,IAAA0oC,EAAAC,QAAAhc,WAAAsc,KACAiC,EAAAU,aACa,IAEbn9C,MAAAo8C,SAAAa,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAA,WACA6C,aAAAze,GACA6d,EAAAU,eAIAA,UAAA,WACA,GAAAV,GAAAz8C,IACAA,MAAAo8C,SAAAhO,OACApuC,KAAA68C,SAAA,WACAJ,EAAAa,iBACAb,EAAAL,SAAAO,QAAA,aAIAW,eAAA,WACAt9C,KAAAu9C,WAAAv9C,KAAAu9C,UAAAvsB,SACAhxB,KAAAu9C,UAAA,MAGAV,SAAA,SAAAlN,GACA,GACA6N,GAAAx9C,KAAAo8C,SAAAf,SAAA,iBAEA,IAAAr7C,KAAAw8C,SAAAx8C,KAAAT,QAAAs9C,SAAA,CACA,GAAAY,GAAAxD,EAAAC,QAAAhc,YAAAsf,CAeA,IAbAx9C,KAAAu9C,UAAAtD,EAAA,8BAAAuD,EAAA,QACAV,SAAAp6C,SAAA6B,MAEAvE,KAAAu9C,UAAAzB,MACA,UAAA97C,KAAAT,QAAAs9C,SACA5C,EAAAqC,MAAAt8C,KAAAo8C,SAAA,GAAAX,MAAAz7C,KAAAo8C,SAAA,IACAnC,EAAAqC,MAAAt8C,KAAAouC,KAAApuC,OAGAy9C,GAAAz9C,KAAAu9C,UAAA,GAAAR,YAEA/8C,KAAAu9C,UAAA/oB,SAAA,OAEAmb,EAAA,MAEA8N,GACAz9C,KAAAu9C,UAAAN,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAA7K,GACAA,SAES3vC,KAAAw8C,SAAAx8C,KAAAu9C,WACTv9C,KAAAu9C,UAAA3C,YAAA,MAEAX,EAAAC,QAAAhc,YAAAl+B,KAAAo8C,SAAAf,SAAA,QACAr7C,KAAAu9C,UAAAN,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAA7K,GACAA,KAESA,GACTA,KASA,IAAAqG,GAAAiE,EAAAnW,GAAA4Z,KAEAzD,GAAAnW,GAAA4Z,MAAA,SAAAliB,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,SACAzR,EAAA06C,EAAAl6C,UAA+Bk6C,EAAAnW,GAAA4Z,MAAAl+C,SAAAq7C,EAAA7pC,OAAA,gBAAAwqB,MAC/BxqB,IAAA6pC,EAAA7pC,KAAA,QAAAA,EAAA,GAAAmrC,GAAAn8C,KAAAT,IACA,gBAAAi8B,GAAAxqB,EAAAwqB,KACAj8B,EAAAkrB,MAAAzZ,EAAAyZ,UAIAwvB,EAAAnW,GAAA4Z,MAAAl+C,UACAq9C,UAAA,EACAO,UAAA,EACA3yB,MAAA,GAGAwvB,EAAAnW,GAAA4Z,MAAAzB,YAAAE,EAMAlC,EAAAnW,GAAA4Z,MAAAxB,WAAA,WAEA,MADAjC,GAAAnW,GAAA4Z,MAAA1H,EACAh2C,MAOAi6C,EAAAv3C,UAAAuO,GAAA,wDAAA1L,GACA,GAAAs1C,GAAAZ,EAAAj6C,MACA2N,EAAAktC,EAAAG,KAAA,QACA2C,EAAA1D,EAAAY,EAAAG,KAAA,gBAAArtC,KAAA2E,QAAA,sBACAkpB,EAAAmiB,EAAA3sC,KAAA,kBAAAipC,EAAAl6C,QAA8Dw8C,QAAA,IAAAlsB,KAAA1iB,OAAiCgwC,EAAA3sC,OAAA6pC,EAAA7pC,OAE/FzL,GAAA81B,iBAEAsiB,EACAD,MAAAliB,GACAyhB,IAAA,kBACApC,EAAAY,aAICv7C,OAAAu6C,QAsBD,SAAAR,GAEA,YAMA,IAAApd,GAAA,SAAAtvB,EAAAhO,GACAS,KAAAq1B,KAAA,UAAA9nB,EAAAhO,GAGAs9B,GAAAt8B,WAEA4L,YAAA0wB,EAEAxH,KAAA,SAAA1uB,EAAA4G,EAAAhO,GACA,GAAAq+C,GACAC,EACAC,EACAnB,EACAl5C,CASA,KAPAzD,KAAA2G,OACA3G,KAAAo8C,SAAAnC,EAAA1sC,GACAvN,KAAAT,QAAAS,KAAA+9C,WAAAx+C,GACAS,KAAAu1B,SAAA,EAEAuoB,EAAA99C,KAAAT,QAAAo9C,QAAArS,MAAA,KAEA7mC,EAAAq6C,EAAAn6C,OAA+BF,KAC/Bk5C,EAAAmB,EAAAr6C,GACA,SAAAk5C,EACA38C,KAAAo8C,SAAAnrC,GAAA,SAAAjR,KAAA2G,KAAA3G,KAAAT,QAAAw7C,SAAAd,EAAAqC,MAAAt8C,KAAA6wB,OAAA7wB,OACS,UAAA28C,IACTiB,EAAA,SAAAjB,EAAA,qBACAkB,EAAA,SAAAlB,EAAA,oBACA38C,KAAAo8C,SAAAnrC,GAAA2sC,EAAA,IAAA59C,KAAA2G,KAAA3G,KAAAT,QAAAw7C,SAAAd,EAAAqC,MAAAt8C,KAAAg+C,MAAAh+C,OACAA,KAAAo8C,SAAAnrC,GAAA4sC,EAAA,IAAA79C,KAAA2G,KAAA3G,KAAAT,QAAAw7C,SAAAd,EAAAqC,MAAAt8C,KAAAi+C,MAAAj+C,OAIAA,MAAAT,QAAAw7C,SACA/6C,KAAAk+C,SAAAjE,EAAAl6C,UAAoCC,KAAAT,SAAiBo9C,QAAA,SAAA5B,SAAA,KACrD/6C,KAAAm+C,YAGAJ,WAAA,SAAAx+C,GAUA,MATAA,GAAA06C,EAAAl6C,UAA2Bk6C,EAAAnW,GAAA9jC,KAAA2G,MAAAnH,SAAAQ,KAAAo8C,SAAAprC,OAAAzR,GAE3BA,EAAA6+C,OAAA,gBAAA7+C,GAAA6+C,QACA7+C,EAAA6+C,OACA3zB,KAAAlrB,EAAA6+C,MACAhQ,KAAA7uC,EAAA6+C,QAIA7+C,GAGAy+C,MAAA,SAAAz4C,GACA,GAEAkC,GAFAjI,EAAAy6C,EAAAnW,GAAA9jC,KAAA2G,MAAAnH,SACAD,IASA,IANAS,KAAAk+C,UAAAjE,EAAA1S,KAAAvnC,KAAAk+C,SAAA,SAAAz9C,EAAAG,GACApB,EAAAiB,IAAAG,IAAArB,EAAAkB,GAAAG,IACOZ,MAEPyH,EAAAwyC,EAAA10C,EAAA84C,eAAAr+C,KAAA2G,MAAApH,GAAAyR,KAAAhR,KAAA2G,OAEAc,EAAAlI,QAAA6+C,QAAA32C,EAAAlI,QAAA6+C,MAAA3zB,KAAA,MAAAhjB,GAAAgjB,MAEA4yB,cAAAr9C,KAAA4+B,SACAn3B,EAAA62C,WAAA,KACAt+C,KAAA4+B,QAAAxI,WAAA,WACA,MAAA3uB,EAAA62C,YAAA72C,EAAAgjB,QACOhjB,EAAAlI,QAAA6+C,MAAA3zB,OAGPwzB,MAAA,SAAA14C,GACA,GAAAkC,GAAAwyC,EAAA10C,EAAA84C,eAAAr+C,KAAA2G,MAAA3G,KAAAk+C,UAAAltC,KAAAhR,KAAA2G,KAGA,IADA3G,KAAA4+B,SAAAye,aAAAr9C,KAAA4+B,UACAn3B,EAAAlI,QAAA6+C,QAAA32C,EAAAlI,QAAA6+C,MAAAhQ,KAAA,MAAA3mC,GAAA2mC,MAEA3mC,GAAA62C,WAAA,MACAt+C,KAAA4+B,QAAAxI,WAAA,WACA,OAAA3uB,EAAA62C,YAAA72C,EAAA2mC,QACO3mC,EAAAlI,QAAA6+C,MAAAhQ,OAGP3jB,KAAA,WACA,GAAA8zB,GACA1K,EACA2K,EACAC,EACAC,EACAC,EACAp5C,EAAA00C,EAAAyC,MAAA,OAEA,IAAA18C,KAAA4+C,cAAA5+C,KAAAu1B,QAAA,CAEA,GADAv1B,KAAAo8C,SAAAO,QAAAp3C,GACAA,EAAAq3C,qBAAA,MAuBA,QAtBA2B,EAAAv+C,KAAA6+C,MACA7+C,KAAA8+C,aAEA9+C,KAAAT,QAAAs6C,WACA0E,EAAA/pB,SAAA,QAGAkqB,EAAA,kBAAA1+C,MAAAT,QAAAm/C,UACA1+C,KAAAT,QAAAm/C,UAAA56C,KAAA9D,KAAAu+C,EAAA,GAAAv+C,KAAAo8C,SAAA,IACAp8C,KAAAT,QAAAm/C,UAEAH,EACAQ,SACAC,KAAgBC,IAAA,EAAAC,KAAA,EAAA7Y,QAAA,UAEhBrmC,KAAAT,QAAA4/C,UAAAZ,EAAAzB,SAAA98C,KAAAT,QAAA4/C,WAAAZ,EAAAa,YAAAp/C,KAAAo8C,UAEAvI,EAAA7zC,KAAAq/C,cAEAb,EAAAD,EAAA,GAAAxB,YACA0B,EAAAF,EAAA,GAAAe,aAEAZ,GACA,aACAC,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA+2B,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,EAAAf,EAAA,EAClB,MACA,WACAG,GAAkBM,IAAApL,EAAAoL,IAAAR,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,EAAAf,EAAA,EAClB,MACA,YACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,EAAAs2B,EAAA,EAAAS,KAAArL,EAAAqL,KAAAV,EAClB,MACA,aACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,EAAAs2B,EAAA,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAClB,MAGA,eACAZ,GAAkBM,IAAApL,EAAAoL,IAAAR,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,KAAAf,EAClB,MACA,gBACAG,GAAkBM,IAAApL,EAAAoL,IAAAR,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,KAAAf,EAClB,MAGA,gBACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,KAAAs2B,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAClB,MACA,mBACAZ,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,KAAAs2B,EAAAS,KAAArL,EAAAqL,KAAArL,EAAA0L,MAClB,MAGA,kBACAZ,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA+2B,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,KAAAf,EAClB,MACA,mBACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA+2B,KAAArL,EAAAqL,KAAArL,EAAA0L,MAAA,KAAAf,EAClB,MAGA,eACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,KAAAs2B,EAAAS,KAAArL,EAAAqL,KAAAV,EAClB,MACA,kBACAG,GAAkBM,IAAApL,EAAAoL,IAAApL,EAAA1rB,OAAA,KAAAs2B,EAAAS,KAAArL,EAAAqL,KAAAV,GAMlBx+C,KAAAw/C,eAAAb,EAAAD,GACA1+C,KAAAo8C,SAAAO,QAAA,WAIA6C,eAAA,SAAAtjC,EAAAwiC,GACA,GAGAF,GACAC,EACA3yB,EACAxZ,EANAisC,EAAAv+C,KAAA6+C,MACAU,EAAAhB,EAAA,GAAAxB,YACA50B,EAAAo2B,EAAA,GAAAe,YAMAf,GACAriC,UACAsY,SAAAkqB,GACAlqB,SAAA,MAEAgqB,EAAAD,EAAA,GAAAxB,YACA0B,EAAAF,EAAA,GAAAe,aAEA,OAAAZ,GAAAD,GAAAt2B,IACAjM,EAAA+iC,IAAA/iC,EAAA+iC,IAAA92B,EAAAs2B,EACAnsC,GAAA,GAGA,UAAAosC,GAAA,OAAAA,GACA5yB,EAAA,EAEA5P,EAAAgjC,KAAA,IACApzB,GAAA,EAAA5P,EAAAgjC,KACAhjC,EAAAgjC,KAAA,EACAX,EAAAriC,UACAsiC,EAAAD,EAAA,GAAAxB,YACA0B,EAAAF,EAAA,GAAAe,cAGAt/C,KAAAy/C,aAAA3zB,EAAAyzB,EAAAf,IAAA,SAEAx+C,KAAAy/C,aAAAhB,EAAAt2B,EAAAs2B,EAAA,OAGAnsC,GAAAisC,EAAAriC,WAGAujC,aAAA,SAAA3zB,EAAA4zB,EAAAC,GACA3/C,KACA4/C,QACAZ,IAAAW,EAAA7zB,EAAA,MAAAA,EAAA4zB,GAAA,SAGAZ,WAAA,WACA,GAAAP,GAAAv+C,KAAA6+C,MACAlwC,EAAA3O,KAAA6/C,UAEAtB,GAAA71C,KAAA,kBAAA1I,KAAAT,QAAAugD,KAAA,eAAAnxC,GACA4vC,EAAA3D,YAAA,kCAGAxM,KAAA,WACA,GACAmQ,GAAAv+C,KAAA6+C,MACAt5C,EAAA00C,EAAAyC,MAAA,OAGA,IADA18C,KAAAo8C,SAAAO,QAAAp3C,IACAA,EAAAq3C,qBAqBA,MAnBA2B,GAAA3D,YAAA,MAaAX,EAAAC,QAAAhc,YAAAl+B,KAAAu+C,KAAAlD,SAAA,QAXA,WACA,GAAAzc,GAAAxI,WAAA,WACAmoB,EAAAhtC,IAAA0oC,EAAAC,QAAAhc,WAAAsc,KAAAuE,UACS,IAETR,GAAAtB,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAA,WACA6C,aAAAze,GACA2f,EAAAQ,cAMAR,EAAAQ,SAEA/+C,KAAAo8C,SAAAO,QAAA,UAEA38C,MAGAm+C,SAAA,WACA,GAAA4B,GAAA//C,KAAAo8C,UACA2D,EAAA/E,KAAA,0BAAA+E,GAAA/E,KAAA,yBACA+E,EAAA/E,KAAA,sBAAA+E,EAAA/E,KAAA,cAAAA,KAAA,aAIA4D,WAAA,WACA,MAAA5+C,MAAA6/C,YAGAR,YAAA,WACA,GAAA/qC,GAAAtU,KAAAo8C,SAAA,EACA,OAAAnC,GAAAl6C,UAAwB,kBAAAuU,GAAA0rC,sBAAA1rC,EAAA0rC,yBACxBT,MAAAjrC,EAAAyoC,YACA50B,OAAA7T,EAAAgrC,cACOt/C,KAAAo8C,SAAAlgC,WAGP2jC,SAAA,WACA,GACAE,GAAA//C,KAAAo8C,SACA6D,EAAAjgD,KAAAT,OAKA,OAHAwgD,GAAA/E,KAAA,yBACA,kBAAAiF,GAAAtxC,MAAAsxC,EAAAtxC,MAAA7K,KAAAi8C,EAAA,IAAAE,EAAAtxC,QAKAkwC,IAAA,WACA,MAAA7+C,MAAAu+C,KAAAv+C,KAAAu+C,MAAAtE,EAAAj6C,KAAAT,QAAA2gD,WAGAN,MAAA,WACA,MAAA5/C,MAAAmgD,OAAAngD,KAAAmgD,QAAAngD,KAAA6+C,MAAAn2C,KAAA,mBAGA03C,SAAA,WACApgD,KAAAo8C,SAAA,GAAAiE,aACArgD,KAAAouC,OACApuC,KAAAo8C,SAAA,KACAp8C,KAAAT,QAAA,OAIA4uC,OAAA,WACAnuC,KAAAu1B,SAAA,GAGA+qB,QAAA,WACAtgD,KAAAu1B,SAAA,GAGAgrB,cAAA,WACAvgD,KAAAu1B,SAAAv1B,KAAAu1B,SAGA1E,OAAA,SAAAtrB,GACA,GAAAkC,GAAAlC,EAAA00C,EAAA10C,EAAA84C,eAAAr+C,KAAA2G,MAAA3G,KAAAk+C,UAAAltC,KAAAhR,KAAA2G,MAAA3G,IACAyH,GAAAo3C,MAAAxD,SAAA,MAAA5zC,EAAA2mC,OAAA3mC,EAAAgjB,QAGA0E,QAAA,WACAnvB,KAAAouC,OAAAgO,SAAA7qC,IAAA,IAAAvR,KAAA2G,MAAA65C,WAAAxgD,KAAA2G,OASA,IAAAqvC,GAAAiE,EAAAnW,GAAA8V,OAEAK,GAAAnW,GAAA8V,QAAA,SAAApe,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,WACAzR,EAAA,gBAAAi8B,KACAxqB,IAAA6pC,EAAA7pC,KAAA,UAAAA,EAAA,GAAA6rB,GAAA78B,KAAAT,IACA,gBAAAi8B,IAAAxqB,EAAAwqB,QAIAye,EAAAnW,GAAA8V,QAAAqC,YAAApf,EAEAod,EAAAnW,GAAA8V,QAAAp6C,UACAq6C,WAAA,EACA6E,UAAA,MACA3D,UAAA,EACAmF,SAAA,gGACAvD,QAAA,cACAhuC,MAAA,GACAyvC,MAAA,EACA0B,MAAA,EACAX,WAAA,GAOAlF,EAAAnW,GAAA8V,QAAAsC,WAAA,WAEA,MADAjC,GAAAnW,GAAA8V,QAAA5D,EACAh2C,OAGCE,OAAAu6C,QAsBD,SAAAR,GAEA,YAMA,IAAAwG,GAAA,SAAAlzC,GACAvN,KAAAuN,QAAA0sC,EAAA1sC,GAGAkzC,GAAAlgD,WAEA4L,YAAAs0C,EAEAh2B,KAAA,WACA,GAGAi2B,GACA/C,EACAp4C,EALAs1C,EAAA76C,KAAAuN,QACAozC,EAAA9F,EAAA+F,QAAA,0BACA7F,EAAAF,EAAAG,KAAA,cAKAD,KACAA,EAAAF,EAAAG,KAAA,QACAD,OAAAzoC,QAAA,sBAGAuoC,EAAA9W,OAAA,MAAAsX,SAAA,YAEAqF,EAAAC,EAAAj4C,KAAA,qBAEAnD,EAAA00C,EAAAyC,MAAA,QACAmE,cAAAH,IAGA7F,EAAA8B,QAAAp3C,GAEAA,EAAAq3C,uBAEAe,EAAA1D,EAAAc,GAEA/6C,KAAA8gD,SAAAjG,EAAA9W,OAAA,MAAA4c,GACA3gD,KAAA8gD,SAAAnD,IAAA5Z,SAAA,WACA8W,EAAA8B,SACAh2C,KAAA,QACAk6C,cAAAH,SAKAI,SAAA,SAAAvzC,EAAA4xC,EAAAxP,GAMA,QAAA3qC,KACA+7C,EACAnG,YAAA,UACAlyC,KAAA,8BACAkyC,YAAA,UAEArtC,EAAAinB,SAAA,UAEA0J,GACA3wB,EAAA,GAAAwvC,YACAxvC,EAAAinB,SAAA,OAEAjnB,EAAAqtC,YAAA,QAGArtC,EAAAw2B,OAAA,mBACAx2B,EAAAqzC,QAAA,eAAApsB,SAAA,UAGAmb,OAxBA,GAAAoR,GAAA5B,EAAAz2C,KAAA,aACAw1B,EAAAyR,GACAsK,EAAAC,QAAAhc,YACA6iB,EAAA1F,SAAA,OAwBAnd,GACA6iB,EAAA9D,IAAAhD,EAAAC,QAAAhc,WAAAsc,IAAAx1C,GACAA,IAEA+7C,EAAAnG,YAAA,OAQA,IAAA5E,GAAAiE,EAAAnW,GAAA51B,GAEA+rC,GAAAnW,GAAA51B,IAAA,SAAAstB,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,MACAA,IAAA6pC,EAAA7pC,KAAA,MAAAA,EAAA,GAAAyvC,GAAAzgD,OACA,gBAAAw7B,IAAAxqB,EAAAwqB,QAIAye,EAAAnW,GAAA51B,IAAA+tC,YAAAwE,EAMAxG,EAAAnW,GAAA51B,IAAAguC,WAAA,WAEA,MADAjC,GAAAnW,GAAA51B,IAAA8nC,EACAh2C,MAOAi6C,EAAAv3C,UAAAuO,GAAA,0EAAA1L,GACAA,EAAA81B,iBACA4e,EAAAj6C,MAAAkO,IAAA,WAGChO,OAAAu6C,QAoBD,SAAAR,GAEA,YAMA,IAAA+G,GAAA,SAAAzzC,EAAAhO,GACAS,KAAAo8C,SAAAnC,EAAA1sC,GACAvN,KAAAT,QAAA06C,EAAAl6C,UAA8Bk6C,EAAAnW,GAAAmd,UAAAzhD,SAAAD,GAC9BS,KAAAkhD,QAAAlhD,KAAAT,QAAA2hD,SAAAlhD,KAAAkhD,QACAlhD,KAAAmhD,OAAAnhD,KAAAT,QAAA4hD,QAAAnhD,KAAAmhD,OACAnhD,KAAAohD,YAAAphD,KAAAT,QAAA6hD,aAAAphD,KAAAohD,YACAphD,KAAAqhD,QAAArhD,KAAAT,QAAA8hD,SAAArhD,KAAAqhD,QACArhD,KAAAu/B,OAAAv/B,KAAAT,QAAAggC,OACAv/B,KAAAshD,MAAArH,EAAAj6C,KAAAT,QAAAgiD,MACAvhD,KAAAwhD,OAAA,EACAxhD,KAAAyhD,SAGAT,GAAAzgD,WAEA4L,YAAA60C,EAEAU,OAAA,WAEA,GAAAnwB,GAAAvxB,KAAAshD,MAAA54C,KAAA,WAAAsyC,KAAA,eAAAh7C,KAAAo8C,SAAA7qB,KAIA,OAHAvxB,MAAAo8C,SACA7qB,IAAAvxB,KAAAqhD,QAAA9vB,IACAowB,SACA3hD,KAAAouC,QAGAiT,QAAA,SAAA96C,GACA,MAAAA,IAGAkkB,KAAA,WACA,GAAAopB,GAAAoG,EAAAl6C,UAA2BC,KAAAo8C,SAAAuD,YAC3Bx3B,OAAAnoB,KAAAo8C,SAAA,GAAAkD,cAYA,OATAt/C,MAAAshD,MACAlC,YAAAp/C,KAAAo8C,UACA4C,KACAC,IAAApL,EAAAoL,IAAApL,EAAA1rB,OACA+2B,KAAArL,EAAAqL,OAEAz0B,OAEAzqB,KAAAwhD,OAAA,EACAxhD,MAGAouC,KAAA,WAGA,MAFApuC,MAAAshD,MAAAlT,OACApuC,KAAAwhD,OAAA,EACAxhD,MAGA4hD,OAAA,SAAAzoB,GACA,GAAAhxB,EAIA,OAFAnI,MAAAm2B,MAAAn2B,KAAAo8C,SAAA7qB,OAEAvxB,KAAAm2B,OAAAn2B,KAAAm2B,MAAAxyB,OAAA3D,KAAAT,QAAAsiD,UACA7hD,KAAAwhD,MAAAxhD,KAAAouC,OAAApuC,MAGAmI,EAAA8xC,EAAAxhB,WAAAz4B,KAAAu/B,QAAAv/B,KAAAu/B,OAAAv/B,KAAAm2B,MAAA8jB,EAAAqC,MAAAt8C,KAAA8hD,QAAA9hD,YAAAu/B,OAEAp3B,EAAAnI,KAAA8hD,QAAA35C,GAAAnI,OAGA8hD,QAAA,SAAA35C,GACA,GAAAs0C,GAAAz8C,IAQA,OANAmI,GAAA8xC,EAAA8H,KAAA55C,EAAA,SAAA5B,GACA,MAAAk2C,GAAAyE,QAAA36C,KAGA4B,EAAAnI,KAAAmhD,OAAAh5C,GAEAA,EAAAxE,OAIA3D,KAAAoP,OAAAjH,EAAA0K,MAAA,EAAA7S,KAAAT,QAAA4I,QAAAsiB,OAHAzqB,KAAAwhD,MAAAxhD,KAAAouC,OAAApuC,MAMAkhD,QAAA,SAAA36C,GACA,OAAAA,EAAA0O,cAAArC,QAAA5S,KAAAm2B,MAAAlhB,gBAGAksC,OAAA,SAAAh5C,GAMA,IALA,GAGA5B,GAHAy7C,KACAC,KACAC,KAGA37C,EAAA4B,EAAAg6C,SACA57C,EAAA0O,cAAArC,QAAA5S,KAAAm2B,MAAAlhB,gBACA1O,EAAAqM,QAAA5S,KAAAm2B,OAAA8rB,EAAA38C,KAAAiB,GACA27C,EAAA58C,KAAAiB,GAFAy7C,EAAA18C,KAAAiB,EAKA,OAAAy7C,GAAApX,OAAAqX,EAAAC,IAGAd,YAAA,SAAA76C,GACA,GAAA4vB,GAAAn2B,KAAAm2B,MAAA7jB,QAAA,8BAA+C,OAC/C,OAAA6jB,GAGA5vB,EAAA+L,QAAA,GAAAC,QAAA,IAAA4jB,EAAA,mBAAAisB,EAAAxoC,GACA,iBAAAA,EAAA,cAHArT,GAOA6I,OAAA,SAAAjH,GACA,GAAAs0C,GAAAz8C,IAWA,OATAmI,GAAA8xC,EAAA9xC,GAAA7B,IAAA,SAAA7C,EAAA8C,GAGA,MAFA9C,GAAAw2C,EAAAwC,EAAAl9C,QAAAgH,MAAAy0C,KAAA,aAAAz0C,GACA9C,EAAAiF,KAAA,KAAAo3C,KAAArD,EAAA2E,YAAA76C,IACA9C,EAAA,KAKAzD,KAAAshD,MAAAxB,KAAA33C,GACAnI,MAGAgF,KAAA,SAAAm0B,GACA,GAAA/rB,GAAApN,KAAAshD,MAAA54C,KAAA,WAAAkyC,YAAA,UACA51C,EAAAoI,EAAApI,MAEAA,GAAArB,SACAqB,EAAAi1C,EAAAj6C,KAAAshD,MAAA54C,KAAA,WAGA1D,EAAAwvB,SAAA,WAGA6tB,KAAA,SAAAlpB,GACA,GAAA/rB,GAAApN,KAAAshD,MAAA54C,KAAA,WAAAkyC,YAAA,UACAyH,EAAAj1C,EAAAi1C,MAEAA,GAAA1+C,SACA0+C,EAAAriD,KAAAshD,MAAA54C,KAAA,MAAA45C,QAGAD,EAAA7tB,SAAA,WAGAitB,OAAA,WACAzhD,KAAAo8C,SACAnrC,GAAA,QAAAgpC,EAAAqC,MAAAt8C,KAAAy7C,MAAAz7C,OACAiR,GAAA,OAAAgpC,EAAAqC,MAAAt8C,KAAAuiD,KAAAviD,OACAiR,GAAA,WAAAgpC,EAAAqC,MAAAt8C,KAAAwiD,SAAAxiD,OACAiR,GAAA,QAAAgpC,EAAAqC,MAAAt8C,KAAAyiD,MAAAziD,OAEAA,KAAA0iD,eAAA,YACA1iD,KAAAo8C,SAAAnrC,GAAA,UAAAgpC,EAAAqC,MAAAt8C,KAAA07C,QAAA17C,OAGAA,KAAAshD,MACArwC,GAAA,QAAAgpC,EAAAqC,MAAAt8C,KAAA87C,MAAA97C,OACAiR,GAAA,kBAAAgpC,EAAAqC,MAAAt8C,KAAA2iD,WAAA3iD,OACAiR,GAAA,kBAAAgpC,EAAAqC,MAAAt8C,KAAA4iD,WAAA5iD,QAGAmvB,QAAA,WACAnvB,KAAAo8C,SAAA7qC,MAAAivC,WAAA,aACAxgD,KAAAshD,MAAA/vC,OAGAmxC,eAAA,SAAApN,GACA,GAAAuN,GAAAvN,IAAAt1C,MAAAo8C,QAKA,OAJAyG,KACA7iD,KAAAo8C,SAAAnqB,aAAAqjB,EAAA,WACAuN,EAAA,kBAAA7iD,MAAAo8C,SAAA9G,IAEAuN,GAGA/K,KAAA,SAAAvyC,GACA,GAAAvF,KAAAwhD,SAGAj8C,EAAAu9C,UAAA,KAAAv9C,EAAAq2C,SAAA,CAIA,OAAAr2C,EAAAq2C,SACA,OACA,QACA,QACAr2C,EAAA81B,gBACA,MAEA,SACA91B,EAAA81B,iBACAr7B,KAAAqiD,MACA,MAEA,SACA98C,EAAA81B,iBACAr7B,KAAAgF,OAIAO,EAAA+1B,oBAGAogB,QAAA,SAAAn2C,GACAvF,KAAA+iD,wBAAA9I,EAAA+I,QAAAz9C,EAAAq2C,SAAA,mBACA57C,KAAA83C,KAAAvyC,IAGAi9C,SAAA,SAAAj9C,GACAvF,KAAA+iD,wBACA/iD,KAAA83C,KAAAvyC,IAGAk9C,MAAA,SAAAl9C,GACA,OAAAA,EAAAq2C,SACA,QACA,QACA,QACA,QACA,QACA,KAEA,QACA,QACA,IAAA57C,KAAAwhD,MAAA,MACAxhD,MAAA0hD,QACA,MAEA,SACA,IAAA1hD,KAAAwhD,MAAA,MACAxhD,MAAAouC,MACA,MAEA,SACApuC,KAAA4hD,SAGA,KAAAr8C,EAAAq2C,aAAA,KAAA57C,KAAAshD,MAAA54C,KAAA,WAAAsyC,KAAA,cAEAh7C,KAAAo8C,SAAA6G,UAEA19C,EAAA+1B,kBACA/1B,EAAA81B,mBAKAogB,MAAA,SAAAl2C,GACAvF,KAAAkjD,SAAA,GAGAX,KAAA,SAAAh9C,GACAvF,KAAAkjD,SAAA,GACAljD,KAAAmjD,YAAAnjD,KAAAwhD,OAAAxhD,KAAAouC,QAGA0N,MAAA,SAAAv2C,GACAA,EAAA+1B,kBACA/1B,EAAA81B,iBACAr7B,KAAA0hD,SACA1hD,KAAAo8C,SAAAX,SAGAkH,WAAA,SAAAp9C,GACAvF,KAAAmjD,YAAA,EACAnjD,KAAAshD,MAAA54C,KAAA,WAAAkyC,YAAA,UACAX,EAAA10C,EAAA84C,eAAA7pB,SAAA,WAGAouB,WAAA,SAAAr9C,GACAvF,KAAAmjD,YAAA,GACAnjD,KAAAkjD,SAAAljD,KAAAwhD,OAAAxhD,KAAAouC,QASA,IAAA4H,GAAAiE,EAAAnW,GAAAmd,SAEAhH,GAAAnW,GAAAmd,UAAA,SAAAzlB,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,aACAzR,EAAA,gBAAAi8B,KACAxqB,IAAA6pC,EAAA7pC,KAAA,YAAAA,EAAA,GAAAgwC,GAAAhhD,KAAAT,IACA,gBAAAi8B,IAAAxqB,EAAAwqB,QAIAye,EAAAnW,GAAAmd,UAAAzhD,UACA+/B,UACAp3B,MAAA,EACAo5C,KAAA,4CACAh7C,KAAA,4BACAs7C,UAAA,GAGA5H,EAAAnW,GAAAmd,UAAAhF,YAAA+E,EAMA/G,EAAAnW,GAAAmd,UAAA/E,WAAA,WAEA,MADAjC,GAAAnW,GAAAmd,UAAAjL,EACAh2C,MAOAi6C,EAAAv3C,UAAAuO,GAAA,iEAAA1L,GACA,GAAAs1C,GAAAZ,EAAAj6C,KACA66C,GAAA7pC,KAAA,cACA6pC,EAAAoG,UAAApG,EAAA7pC,WAGC9Q,OAAAu6C,QAqBD,SAAAR,GAEA,YAMA,IAAAmJ,GAAA,SAAA71C,EAAAhO,GACAS,KAAAT,QAAA06C,EAAAl6C,UAA8Bk6C,EAAAnW,GAAAuf,MAAA7jD,SAAAD,GAC9BS,KAAAsjD,QAAArJ,EAAA/5C,QACA+Q,GAAA,wBAAAgpC,EAAAqC,MAAAt8C,KAAAujD,cAAAvjD,OACAiR,GAAA,uBAAAgpC,EAAAqC,MAAA,WAAwDlmB,WAAA6jB,EAAAqC,MAAAt8C,KAAAujD,cAAAvjD,MAAA,IAAmDA,OAC3GA,KAAAo8C,SAAAnC,EAAA1sC,GACAvN,KAAAujD,gBAGAH,GAAA7iD,UAAAgjD,cAAA,WACA,GAAAvjD,KAAAo8C,SAAAhB,GAAA,aAEA,GAOAiI,GAPAG,EAAAvJ,EAAAv3C,UAAAylB,SACAs7B,EAAAzjD,KAAAsjD,QAAAG,YACA9D,EAAA3/C,KAAAo8C,SAAAlgC,SACAA,EAAAlc,KAAAT,QAAA2c,OACAwnC,EAAAxnC,EAAAynC,OACAC,EAAA1nC,EAAA+iC,GAIA,iBAAA/iC,KAAAwnC,EAAAE,EAAA1nC,GACA,kBAAA0nC,OAAA1nC,EAAA+iC,OACA,kBAAAyE,OAAAxnC,EAAAynC,UAEAN,IAAA,MAAArjD,KAAA6jD,OAAAJ,EAAAzjD,KAAA6jD,OAAAlE,EAAAV,OACA,MAAAyE,GAAA/D,EAAAV,IAAAj/C,KAAAo8C,SAAAj0B,UAAAq7B,EAAAE,EACA,eAAAE,GAAAH,GAAAG,GACA,OAEA5jD,KAAA8jD,UAAAT,IAEArjD,KAAA8jD,QAAAT,EACArjD,KAAA6jD,MAAA,UAAAR,EAAA1D,EAAAV,IAAAwE,EAAA,KAEAzjD,KAAAo8C,SAAAxB,YAjBA,gCAiBApmB,SAAA,SAAA6uB,EAAA,IAAAA,EAAA,OAOA,IAAArN,GAAAiE,EAAAnW,GAAAuf,KAEApJ,GAAAnW,GAAAuf,MAAA,SAAA7nB,GACA,MAAAx7B,MAAAunC,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MACAgR,EAAA6pC,EAAA7pC,KAAA,SACAzR,EAAA,gBAAAi8B,KACAxqB,IAAA6pC,EAAA7pC,KAAA,QAAAA,EAAA,GAAAoyC,GAAApjD,KAAAT,IACA,gBAAAi8B,IAAAxqB,EAAAwqB,QAIAye,EAAAnW,GAAAuf,MAAApH,YAAAmH,EAEAnJ,EAAAnW,GAAAuf,MAAA7jD,UACA0c,OAAA,GAOA+9B,EAAAnW,GAAAuf,MAAAnH,WAAA,WAEA,MADAjC,GAAAnW,GAAAuf,MAAArN,EACAh2C,MAOAi6C,EAAA/5C,QAAA+Q,GAAA,kBACAgpC,EAAA,sBAAA1S,KAAA,WACA,GAAAwc,GAAA9J,EAAAj6C,MACAgR,EAAA+yC,EAAA/yC,MAEAA,GAAAkL,OAAAlL,EAAAkL,WAEAlL,EAAA0yC,eAAA1yC,EAAAkL,OAAAynC,OAAA3yC,EAAA0yC,cACA1yC,EAAA4yC,YAAA5yC,EAAAkL,OAAA+iC,IAAAjuC,EAAA4yC,WAEAG,EAAAV,MAAAryC,QAKC9Q,OAAAu6C,SxDu7OK,SAAU97C,EAAQiS,GyDl5RxBozC,QAAArlD,OAAA,kHACAqlD,QAAArlD,OAAA,8LACAqlD,QAAArlD,OAAA,4BAQAkE,QAAA,4CAAAohD,EAAAX,GACA,QAAAY,GAAA5vC,EAAA6vC,GACA,MAAA7vC,GAAA8vC,aACA9vC,EAAA8vC,aAAAD,GACOb,EAAAe,iBACPf,EAAAe,iBAAA/vC,GAAA6vC,GAGA7vC,EAAAklB,MAAA2qB,GAOA,QAAAG,GAAA/2C,GACA,kBAAA22C,EAAA32C,EAAA,uBAOA,GAAAg3C,GAAA,SAAAh3C,GAGA,IAFA,GAAAi3C,GAAAP,EAAA,GACAQ,EAAAl3C,EAAAk3C,cAAAD,EACAC,OAAAD,GAAAF,EAAAG,IACAA,gBAEA,OAAAA,IAAAD,EAGA,QAKA7E,SAAA,SAAApyC,GACA,GAAAm3C,GAAA1kD,KAAAkc,OAAA3O,GACAo3C,GAA+B1F,IAAA,EAAAC,KAAA,GAC/B0F,EAAAL,EAAAh3C,EAAA,GACAq3C,IAAAX,EAAA,KACAU,EAAA3kD,KAAAkc,OAAA8nC,QAAAz2C,QAAAq3C,IACAD,EAAA1F,KAAA2F,EAAAC,UAAAD,EAAAnB,UACAkB,EAAAzF,MAAA0F,EAAAE,WAAAF,EAAAG,WAGA,IAAAC,GAAAz3C,EAAA,GAAAyyC,uBACA,QACAT,MAAAyF,EAAAzF,OAAAhyC,EAAA03C,KAAA,eACA98B,OAAA68B,EAAA78B,QAAA5a,EAAA03C,KAAA,gBACAhG,IAAAyF,EAAAzF,IAAA0F,EAAA1F,IACAC,KAAAwF,EAAAxF,KAAAyF,EAAAzF,OAQAhjC,OAAA,SAAA3O,GACA,GAAAy3C,GAAAz3C,EAAA,GAAAyyC,uBACA,QACAT,MAAAyF,EAAAzF,OAAAhyC,EAAA03C,KAAA,eACA98B,OAAA68B,EAAA78B,QAAA5a,EAAA03C,KAAA,gBACAhG,IAAA+F,EAAA/F,KAAAqE,EAAA4B,aAAAjB,EAAA,GAAA3I,gBAAAmI,WACAvE,KAAA8F,EAAA9F,MAAAoE,EAAA6B,aAAAlB,EAAA,GAAA3I,gBAAAyJ,cAOAK,iBAAA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,GAGAC,GACAC,EACAC,EACAC,EANAC,EAAAN,EAAAjb,MAAA,KACAwb,EAAAD,EAAA,GAAAE,EAAAF,EAAA,YAOAJ,GAAAD,EAAAxlD,KAAAkc,OAAAmpC,GAAArlD,KAAA2/C,SAAA0F,GAEAK,EAAAJ,EAAAL,KAAA,eACAU,EAAAL,EAAAL,KAAA,eAEA,IAAAe,IACAC,OAAA,WACA,MAAAR,GAAAvG,KAAAuG,EAAAlG,MAAA,EAAAmG,EAAA,GAEAxG,KAAA,WACA,MAAAuG,GAAAvG,MAEAgH,MAAA,WACA,MAAAT,GAAAvG,KAAAuG,EAAAlG,QAIA4G,GACAF,OAAA,WACA,MAAAR,GAAAxG,IAAAwG,EAAAt9B,OAAA,EAAAw9B,EAAA,GAEA1G,IAAA,WACA,MAAAwG,GAAAxG,KAEA0E,OAAA,WACA,MAAA8B,GAAAxG,IAAAwG,EAAAt9B,QAIA,QAAA29B,GACA,YACAF,GACA3G,IAAAkH,EAAAJ,KACA7G,KAAA8G,EAAAF,KAEA,MACA,YACAF,GACA3G,IAAAkH,EAAAJ,KACA7G,KAAAuG,EAAAvG,KAAAwG,EAEA,MACA,cACAE,GACA3G,IAAAkH,EAAAL,KACA5G,KAAA8G,EAAAD,KAEA,MACA,SACAH,GACA3G,IAAAwG,EAAAxG,IAAA0G,EACAzG,KAAA8G,EAAAD,MAKA,MAAAH,QAKA5B,QAAArlD,OAAA,8BAEAyjC,QAAA,wDAAAgkB,EAAAC,EAAAC,GAmGA,QAAAC,GAAAn/B,GACA,GAAA9gB,MAAAuhB,EAAAT,EAAAkjB,MAAA,GAoBA,OAlBA0Z,SAAA1yB,QAAAk1B,EAAA,SAAAx1C,EAAAy1C,GACA,GAAAj1B,GAAApK,EAAAxU,QAAA6zC,EAEA,IAAAj1B,GAAA,GACApK,IAAAkjB,MAAA,IAEAziB,EAAA2J,GAAA,IAAAxgB,EAAA6W,MAAA,IACAT,EAAAoK,GAAA,GACA,QAAA/tB,GAAA+tB,EAAA,EAAAxyB,EAAAwyB,EAAAi1B,EAAA9iD,OAAwDF,EAAAzE,EAAOyE,IAC/DokB,EAAApkB,GAAA,GACA2jB,EAAA3jB,GAAA,GAEA2jB,KAAAhP,KAAA,IAEA9R,EAAAhB,MAAkBksB,QAAAztB,MAAAiN,EAAAjN,YAKlB8jB,MAAA,GAAAtV,QAAA,IAAAsV,EAAAzP,KAAA,SACA9R,IAAAggD,EAAAhgD,EAAA,UA2DA,QAAAoB,GAAAg/C,EAAAC,EAAA3lB,GACA,QAAAA,EAAA,KAIA,IAAA2lB,GAAA3lB,EAAA,GACA,KAAAA,IAAA0lB,EAAA,MAAAA,EAAA,QAAAA,EAAA,QAGA,IAAAC,GAAA,IAAAA,GAAA,IAAAA,GAAA,KAAAA,GACA3lB,EAAA,IA7LA,GAAA4lB,GAAA,iCAEA5mD,MAAA6mD,UAEA,IAAAL,IACAM,MACAj/B,MAAA,SACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA0mD,MAAA9lD,IAE9BmmD,IACAl/B,MAAA,SACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA0mD,MAAA9lD,EAAA,MAE9BmE,GACA8iB,MAAA,WACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA0mD,MAAA9lD,IAE9BomD,MACAn/B,MAAAw+B,EAAAY,iBAAAC,MAAA9uC,KAAA,KACArU,MAAA,SAAAnD,GAA8BZ,KAAA2mD,MAAAN,EAAAY,iBAAAC,MAAAt0C,QAAAhS,KAE9BumD,KACAt/B,MAAAw+B,EAAAY,iBAAAG,WAAAhvC,KAAA,KACArU,MAAA,SAAAnD,GAA8BZ,KAAA2mD,MAAAN,EAAAY,iBAAAG,WAAAx0C,QAAAhS,KAE9BymD,IACAx/B,MAAA,gBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA2mD,MAAA/lD,EAAA,IAE9B+X,GACAkP,MAAA,eACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA2mD,MAAA/lD,EAAA,IAE9B0mD,IACAz/B,MAAA,0BACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAghC,MAAApgC,IAE9BO,GACA0mB,MAAA,2BACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAghC,MAAApgC,IAE9B2mD,MACA1/B,MAAAw+B,EAAAY,iBAAAO,IAAApvC,KAAA,MAEAqvC,KACA5/B,MAAAw+B,EAAAY,iBAAAS,SAAAtvC,KAAA,MAEAuvC,IACA9/B,MAAA,sBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA4nD,OAAAhnD,IAE9BinD,IACAhgC,MAAA,gBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA4nD,OAAAhnD,IAE9BknD,GACAjgC,MAAA,iBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA4nD,OAAAhnD,IAE9BiY,GACAgP,MAAA,eACA9jB,MAAA,SAAAnD,GAA8BZ,KAAA4nD,OAAAhnD,IAE9BmnD,IACAlgC,MAAA,aACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAgoD,SAAApnD,IAE9BkY,GACA+O,MAAA,mBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAgoD,SAAApnD,IAE9BqnD,KACApgC,MAAA,kBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAkoD,cAAAtnD,IAE9BunD,IACAtgC,MAAA,aACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAwX,SAAA5W,IAE9B4C,GACAqkB,MAAA,mBACA9jB,MAAA,SAAAnD,GAA8BZ,KAAAwX,SAAA5W,IAE9B3B,GACA4oB,MAAAw+B,EAAAY,iBAAAmB,MAAAhwC,KAAA,KACArU,MAAA,SAAAnD,GACA,KAAAZ,KAAA4nD,QACA5nD,KAAA4nD,MAAA,GAGA,OAAAhnD,IACAZ,KAAA4nD,OAAA,MAiCA5nD,MAAA+T,MAAA,SAAAs0C,EAAAjhC,EAAAkhC,GACA,IAAAtE,QAAAuE,SAAAF,KAAAjhC,EACA,MAAAihC,EAGAjhC,GAAAi/B,EAAAY,iBAAA7/B,MACAA,IAAA9U,QAAAs0C,EAAA,QAEA5mD,KAAA6mD,QAAAz/B,KACApnB,KAAA6mD,QAAAz/B,GAAAm/B,EAAAn/B,GAGA,IAAAohC,GAAAxoD,KAAA6mD,QAAAz/B,GACAS,EAAA2gC,EAAA3gC,MACAvhB,EAAAkiD,EAAAliD,IACAmiD,EAAAJ,EAAAzuC,MAAAiO,EAEA,IAAA4gC,KAAA9kD,OAAA,CACA,GAAA+kD,GAAAC,CACA3E,SAAAhyB,OAAAs2B,KAAAtyC,MAAAsyC,EAAA1yB,WACA8yB,GACAhC,KAAA4B,EAAAM,cACAjC,MAAA2B,EAAAO,WACA7nB,KAAAsnB,EAAAQ,UACAlB,MAAAU,EAAAS,WACAf,QAAAM,EAAAU,aACAxxC,QAAA8wC,EAAAW,aACAf,aAAAI,EAAAY,oBAGAZ,GACAlC,EAAA+C,KAAA,8CAEAT,GAAkBhC,KAAA,KAAAC,MAAA,EAAA3lB,KAAA,EAAA4mB,MAAA,EAAAI,QAAA,EAAAxwC,QAAA,EAAA0wC,aAAA,GAGlB,QAAAzkD,GAAA,EAAAzE,EAAAypD,EAAA9kD,OAAyCF,EAAAzE,EAAOyE,IAAA,CAChD,GAAA2lD,GAAA9iD,EAAA7C,EAAA,EACA2lD,GAAArlD,OACAqlD,EAAArlD,MAAAD,KAAA4kD,EAAAD,EAAAhlD,IAUA,MANAiE,GAAAghD,EAAAhC,KAAAgC,EAAA/B,MAAA+B,EAAA1nB,QACA2nB,EAAA,GAAAhzB,MAAA+yB,EAAAhC,KAAAgC,EAAA/B,MAAA+B,EAAA1nB,KACA0nB,EAAAd,MAAAc,EAAAV,QAAAU,EAAAlxC,QACAkxC,EAAAR,cAAA,IAGAS,OAuBA3E,QAAArlD,OAAA,+EAEAiC,MAAA,+BAEAyoD,SAAA,oBACAC,UAAA,KACAC,YAAA,OACAC,WAAA,OACAC,gBAAA,MACAC,eAAA,YACAC,iBAAA,OACAC,eAAA,MACAC,QAAA,MACAC,QAAA,OACAC,WAAA,EACAC,YAAA,EACAC,UAAA,GACAC,QAAA,KACAC,QAAA,KACAC,qBAAA,IAGA/Q,WAAA,6IAAAniB,EAAAmzB,EAAAC,EAAAC,EAAAnE,EAAAoE,EAAAC,EAAAC,GACA,GAAAjjD,GAAAzH,KACA2qD,GAAqBC,cAAA5G,QAAA6G,KAGrB7qD,MAAA8qD,OAAA,sBAGA9G,QAAA1yB,SAAA,6FACA,sEAAA7wB,EAAA+wB,GACA/pB,EAAAhH,GAAAujD,QAAA+G,UAAAV,EAAA5pD,IAAA+wB,EAAA,EAAA+4B,EAAAF,EAAA5pD,IAAAy2B,EAAA4jB,SAAA5jB,EAAA4jB,QAAAkQ,MAAAX,EAAA5pD,IAAAgqD,EAAAhqD,KAIAujD,QAAA1yB,SAAA,8BAAA7wB,GACA4pD,EAAA5pD,GACAy2B,EAAA4jB,QAAAjlB,OAAAy0B,EAAAD,EAAA5pD,IAAA,SAAAG,GACA6G,EAAAhH,GAAAG,EAAA,GAAA+0B,MAAA/0B,GAAA,KACA6G,EAAAwjD,gBAGAxjD,EAAAhH,GAAAgqD,EAAAhqD,GAAA,GAAAk1B,MAAA80B,EAAAhqD,IAAA,OAIAujD,QAAA1yB,SAAA,8BAAA7wB,GACA4pD,EAAA5pD,GACAy2B,EAAA4jB,QAAAjlB,OAAAy0B,EAAAD,EAAA5pD,IAAA,SAAAG,GACA6G,EAAAhH,GAAAujD,QAAA+G,UAAAnqD,KAAAypD,EAAA5pD,GACAy2B,EAAAz2B,GAAAgH,EAAAhH,IACA,WAAAA,GAAAgH,EAAAqjD,MAAAl4C,QAAAskB,EAAA0yB,gBAAAniD,EAAAqjD,MAAAl4C,QAAAnL,EAAAhH,KAAA,WAAAA,GAAAgH,EAAAqjD,MAAAl4C,QAAAskB,EAAA0yB,gBAAAniD,EAAAqjD,MAAAl4C,QAAAnL,EAAAhH,OACAy2B,EAAA0yB,eAAAniD,EAAAhH,OAIAgH,EAAAhH,GAAAgqD,EAAAhqD,IAAA,KACAy2B,EAAAz2B,GAAAgH,EAAAhH,MAIAy2B,EAAA0yB,eAAA1yB,EAAA0yB,gBAAAa,EAAAb,eACA1yB,EAAAg0B,SAAA,cAAAh0B,EAAAi0B,IAAA,IAAA71C,KAAAoC,MAAA,IAAApC,KAAA81C,UAEApH,QAAA+G,UAAAV,EAAAgB,WACArrD,KAAAsrD,WAAAp0B,EAAA4jB,QAAAkQ,MAAAX,EAAAgB,WAAA,GAAA11B,MACAuB,EAAA4jB,QAAAjlB,OAAAw0B,EAAAgB,SAAA,SAAAA,GACAA,IAAAV,EAAAY,SAAAZ,EAAAa,cAAAb,EAAAc,YACAhkD,EAAA6jD,WAAAD,EACA5jD,EAAAwjD,kBAIAjrD,KAAAsrD,WAAA,GAAA31B,MAGAuB,EAAAikB,SAAA,SAAAuQ,GACA,WAAAjkD,EAAAkkD,QAAAD,EAAA1qB,KAAAv5B,EAAA6jD,cACAp0B,EAAA00B,aAAAF,EAAAjf,KACA,IAKAzsC,KAAAq1B,KAAA,SAAAw2B,GACAlB,EAAAkB,EAEAlB,EAAAmB,QAAA,WACArkD,EAAA2H,WAIApP,KAAAoP,OAAA,WACA,GAAAu7C,EAAAoB,WAAA,CACA,GAAA/qB,GAAA,GAAArL,MAAAg1B,EAAAoB,aACA/1C,MAAAgrB,GAGAhhC,KAAAsrD,WAAAtqB,EACO0pB,GACPtE,EAAAvtB,MAAA,iKAGA74B,KAAAirD,eAGAjrD,KAAAirD,YAAA,WACA,GAAAjrD,KAAAuN,QAAA,CACAvN,KAAAgsD,cAEA,IAAAhrB,GAAA2pB,EAAAoB,WAAA,GAAAp2B,MAAAg1B,EAAAoB,YAAA,IACApB,GAAAsB,aAAA,gBAAAjrB,GAAAhhC,KAAAuN,UAAAvN,KAAAksD,WAAAlrB,MAIAhhC,KAAAmsD,iBAAA,SAAAnrB,EAAA5Z,GACA,GAAA1gB,GAAAikD,EAAAoB,WAAA,GAAAp2B,MAAAg1B,EAAAoB,YAAA,IACA,QACA/qB,OACA97B,MAAAslD,EAAAxpB,EAAA5Z,GACAosB,SAAA9sC,GAAA,IAAA1G,KAAA2rD,QAAA3qB,EAAAt6B,GACA+P,SAAAzW,KAAAksD,WAAAlrB,GACApV,QAAA,IAAA5rB,KAAA2rD,QAAA3qB,EAAA,GAAArL,OACAy2B,YAAApsD,KAAAosD,YAAAprB,KAIAhhC,KAAAksD,WAAA,SAAAlrB,GACA,MAAAhhC,MAAAkqD,SAAAlqD,KAAA2rD,QAAA3qB,EAAAhhC,KAAAkqD,SAAA,GAAAlqD,KAAAmqD,SAAAnqD,KAAA2rD,QAAA3qB,EAAAhhC,KAAAmqD,SAAA,GAAAE,EAAAgC,cAAAn1B,EAAAm1B,cAA6KrrB,OAAAsrB,KAAAp1B,EAAA0yB,kBAG7K5pD,KAAAosD,YAAA,SAAAprB,GACA,MAAA9J,GAAAk1B,aAA+BprB,OAAAsrB,KAAAp1B,EAAA0yB,kBAI/B5pD,KAAAsqC,MAAA,SAAAiiB,EAAA3wC,GAEA,IADA,GAAA4wC,MACAD,EAAA5oD,OAAA,GACA6oD,EAAAlnD,KAAAinD,EAAAliD,OAAA,EAAAuR,GAEA,OAAA4wC,IASAxsD,KAAAysD,YAAA,SAAAzrB,GACA,GAAA4mB,GAAA5mB,EAAA+nB,UACA/nB,GAAA0rB,SAAA,KAAA9E,IAAA,MAGA1wB,EAAAwqB,OAAA,SAAA1gB,GACA,GAAA9J,EAAA0yB,iBAAAniD,EAAAoiD,QAAA,CACA,GAAAlB,GAAAgC,EAAAoB,WAAA,GAAAp2B,MAAAg1B,EAAAoB,YAAA,GAAAp2B,MAAA,cACAgzB,GAAAgE,YAAA3rB,EAAA4nB,cAAA5nB,EAAA6nB,WAAA7nB,EAAA8nB,WACA6B,EAAAC,cAAAjC,GACAgC,EAAAmB,cAEArkD,GAAA6jD,WAAAtqB,EACA9J,EAAA0yB,eAAAniD,EAAAqjD,MAAArjD,EAAAqjD,MAAAl4C,QAAAskB,EAAA0yB,gBAAA,IAIA1yB,EAAA4gB,KAAA,SAAA8U,GACA,GAAAlG,GAAAj/C,EAAA6jD,WAAA1C,cAAAgE,GAAAnlD,EAAA/C,KAAAmoD,OAAA,GACAlG,EAAAl/C,EAAA6jD,WAAAzC,WAAA+D,GAAAnlD,EAAA/C,KAAAooD,QAAA,EACArlD,GAAA6jD,WAAAqB,YAAAjG,EAAAC,EAAA,GACAl/C,EAAAwjD,eAGA/zB,EAAA61B,WAAA,SAAAH,GACAA,KAAA,EAEA11B,EAAA0yB,iBAAAniD,EAAAqiD,SAAA,IAAA8C,GAAA11B,EAAA0yB,iBAAAniD,EAAAoiD,UAAA,IAAA+C,IAIA11B,EAAA0yB,eAAAniD,EAAAqjD,MAAArjD,EAAAqjD,MAAAl4C,QAAAskB,EAAA0yB,gBAAAgD,KAIA11B,EAAA7wB,MAAiB2mD,GAAA,QAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,MAAAC,GAAA,OAAAC,GAAA,OAAAC,GAAA,KAAAC,GAAA,QAAAC,GAAA,OAEjB,IAAAC,GAAA,WACAjmD,EAAA8F,QAAA,GAAAkuC,QAIAvkB,GAAA5lB,IAAA,mBAAAo8C,GAEAx2B,EAAAwkB,QAAA,SAAApuC,GACA,GAAA7M,GAAAy2B,EAAA7wB,KAAAiH,EAAAuuC,MAEA,IAAAp7C,IAAA6M,EAAAw1C,WAAAx1C,EAAAqgD,OASA,GALArgD,EAAA+tB,iBACA5zB,EAAA2iD,qBACA98C,EAAAguB,kBAGA,UAAA76B,GAAA,UAAAA,EAAA,CACA,GAAAgH,EAAAykD,WAAAzkD,EAAA6jD,YACA,MAEAp0B,GAAAwqB,OAAAj6C,EAAA6jD,YACAoC,SACKpgD,EAAAsgD,SAAA,OAAAntD,GAAA,SAAAA,GAILgH,EAAAomD,cAAAptD,EAAA6M,GACA7F,EAAAwjD,gBAJA/zB,EAAA61B,WAAA,OAAAtsD,EAAA,MACAitD,SAQA54C,UAAA,wBACA,OACAg5C,SAAA,KACAx7C,SAAA,EACAy7C,YAAA,SAAAxgD,EAAAygD,GACA,MAAAA,GAAAD,aAAA,uCAEA58C,OACAy4C,eAAA,KACAyC,aAAA,IACAD,YAAA,IACAhC,oBAAA,MAEA6D,SAAA,yBACA5U,WAAA,uBACA6U,aAAA,aACAC,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAI,GACA,GAAAC,GAAAD,EAAA,GAAAzD,EAAAyD,EAAA,EAEAC,GAAAh5B,KAAAs1B,OAKA71C,UAAA,mCAAA01C,GACA,OACAsD,SAAA,KACAx7C,SAAA,EACAy7C,YAAA,+BACAE,QAAA,cACAE,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAM,GAOA,QAAAC,GAAA7H,EAAAC,GACA,WAAAA,GAAAD,EAAA,MAAAA,EAAA,QAAAA,EAAA,OAAA8H,EAAA7H,GAAA,GAGA,QAAA8H,GAAAC,EAAA1vD,GAEA,IADA,GAAAgiC,GAAA2tB,EAAA,GAAA1iD,OAAAjN,GAAA4sB,EAAA,GAAA+J,MAAA+4B,GAAAjrD,EAAA,EACAA,EAAAzE,GACAgiC,EAAA,GAAArL,MAAA/J,GACA0iC,EAAA7B,YAAAzrB,GACA2tB,EAAAlrD,KAAAu9B,EACApV,EAAAgjC,QAAAhjC,EAAAk9B,UAAA,EAEA,OAAA6F,GAkDA,QAAAE,GAAA7tB,GACA,GAAA8tB,GAAA,GAAAn5B,MAAAqL,EACA8tB,GAAAF,QAAAE,EAAAhG,UAAA,GAAAgG,EAAAC,UAAA,GACA,IAAA9nC,GAAA6nC,EAAAl5B,SAGA,OAFAk5B,GAAAE,SAAA,GACAF,EAAAF,QAAA,GACAt5C,KAAAoC,MAAApC,KAAAwF,OAAAmM,EAAA6nC,GAAA,YA1EA39C,EAAA44C,UAAAuE,EAAAvE,UAEAuE,EAAA5pD,MAAmBooD,OAAA,GACnBwB,EAAA/gD,SAEA,IAAAihD,IAAA,oCAgBAF,GAAAtC,aAAA,WACA,GAAAtF,GAAA4H,EAAAhD,WAAA1C,cACAjC,EAAA2H,EAAAhD,WAAAzC,WACAoG,EAAA,GAAAt5B,MAAA+wB,EAAAC,EAAA,GACAuI,EAAAZ,EAAAtE,YAAAiF,EAAAF,SACAI,EAAAD,EAAA,IAAAA,KACAE,EAAA,GAAAz5B,MAAAs5B,EAEAE,GAAA,GACAC,EAAAR,QAAA,EAAAO,EAKA,QADAE,GAAAZ,EAAAW,EAAA,IACA3rD,EAAA,EAAuBA,EAAA,GAAQA,IAC/B4rD,EAAA5rD,GAAAugD,QAAAjkD,OAAAuuD,EAAAnC,iBAAAkD,EAAA5rD,GAAA6qD,EAAAhF,YACAgG,UAAAD,EAAA5rD,GAAAolD,aAAAlC,EACAla,IAAAt7B,EAAA+5C,SAAA,IAAAznD,GAIA0N,GAAAo+C,OAAA,GAAAtjD,OAAA,EACA,QAAAujD,GAAA,EAAuBA,EAAA,EAAOA,IAC9Br+C,EAAAo+C,OAAAC,IACAC,KAAAjF,EAAA6E,EAAAG,GAAAxuB,KAAAstB,EAAA7E,iBACAiG,KAAAlF,EAAA6E,EAAAG,GAAAxuB,KAAA,QAOA,IAHA7vB,EAAAxC,MAAA67C,EAAA8D,EAAAhD,WAAAgD,EAAA5E,gBACAv4C,EAAAw+C,KAAArB,EAAAhkB,MAAA+kB,EAAA,GAEAl+C,EAAA44C,UAAA,CACA54C,EAAAy+C,cAGA,QAFAC,IAAA,GAAAvB,EAAAtE,aAAA,EACA8F,EAAA3+C,EAAAw+C,KAAAhsD,OACAosD,EAAA,EAA+BA,EAAAD,EAAoBC,IACnD5+C,EAAAy+C,YAAAtqD,KACAupD,EAAA19C,EAAAw+C,KAAAI,GAAAF,GAAA7uB,SAKAstB,EAAA3C,QAAA,SAAAqE,EAAAC,GACA,UAAAt6B,MAAAq6B,EAAApH,cAAAoH,EAAAnH,WAAAmH,EAAAlH,WAAA,GAAAnzB,MAAAs6B,EAAArH,cAAAqH,EAAApH,WAAAoH,EAAAnH,YAYAwF,EAAAT,cAAA,SAAAptD,EAAA6M,GACA,GAAA0zB,GAAAstB,EAAAhD,WAAAxC,SAEA,aAAAroD,EACAugC,GAAA,MACS,WAAAvgC,EACTugC,GAAA,MACS,cAAAvgC,EACTugC,GAAA,MACS,aAAAvgC,EACTugC,GAAA,MACS,eAAAvgC,GAAA,aAAAA,EAAA,CACT,GAAAkmD,GAAA2H,EAAAhD,WAAAzC,YAAA,WAAApoD,GAAA,IACA6tD,GAAAhD,WAAA0D,SAAArI,EAAA,GACA3lB,EAAA1rB,KAAA4T,IAAAqlC,EAAAD,EAAAhD,WAAA1C,cAAA0F,EAAAhD,WAAAzC,YAAA7nB,OACS,SAAAvgC,EACTugC,EAAA,EACS,QAAAvgC,IACTugC,EAAAutB,EAAAD,EAAAhD,WAAA1C,cAAA0F,EAAAhD,WAAAzC,YAEAyF,GAAAhD,WAAAsD,QAAA5tB,IAGAstB,EAAArD,mBAKAn2C,UAAA,qCAAA01C,GACA,OACAsD,SAAA,KACAx7C,SAAA,EACAy7C,YAAA,iCACAE,QAAA,cACAE,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAM,GACAA,EAAA5pD,MAAmBmoD,MAAA,GACnByB,EAAA/gD,UAEA+gD,EAAAtC,aAAA,WAKA,OAFAhrB,GAFA8rB,EAAA,GAAA7gD,OAAA,IACAy6C,EAAA4H,EAAAhD,WAAA1C,cAGAnlD,EAAA,EAAuBA,EAAA,GAAQA,IAC/Bu9B,EAAA,GAAArL,MAAA+wB,EAAAjjD,EAAA,GACA6qD,EAAA7B,YAAAzrB,GACA8rB,EAAArpD,GAAAugD,QAAAjkD,OAAAuuD,EAAAnC,iBAAAnrB,EAAAstB,EAAA/E,cACA9c,IAAAt7B,EAAA+5C,SAAA,IAAAznD,GAIA0N,GAAAxC,MAAA67C,EAAA8D,EAAAhD,WAAAgD,EAAA3E,kBACAx4C,EAAAw+C,KAAArB,EAAAhkB,MAAAwiB,EAAA,IAGAwB,EAAA3C,QAAA,SAAAqE,EAAAC,GACA,UAAAt6B,MAAAq6B,EAAApH,cAAAoH,EAAAnH,YAAA,GAAAlzB,MAAAs6B,EAAArH,cAAAqH,EAAApH,aAGAyF,EAAAT,cAAA,SAAAptD,EAAA6M,GACA,GAAA0zB,GAAAstB,EAAAhD,WAAAzC,UAEA,aAAApoD,EACAugC,GAAA,MACS,WAAAvgC,EACTugC,GAAA,MACS,cAAAvgC,EACTugC,GAAA,MACS,aAAAvgC,EACTugC,GAAA,MACS,eAAAvgC,GAAA,aAAAA,EAAA,CACT,GAAAimD,GAAA4H,EAAAhD,WAAA1C,eAAA,WAAAnoD,GAAA,IACA6tD,GAAAhD,WAAAqB,YAAAjG,OACS,SAAAjmD,EACTugC,EAAA,EACS,QAAAvgC,IACTugC,EAAA,GAEAstB,GAAAhD,WAAA0D,SAAAhuB,IAGAstB,EAAArD,mBAKAn2C,UAAA,oCAAA01C,GACA,OACAsD,SAAA,KACAx7C,SAAA,EACAy7C,YAAA,gCACAE,QAAA,cACAE,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAM,GAMA,QAAA4B,GAAAxJ,GACA,MAAA1sC,WAAA0sC,EAAA,GAAAztC,EAAA,IAAAA,EAAA,EANA,GAAAA,GAAAq1C,EAAArE,SAEAqE,GAAA5pD,MAAmBmoD,MAAA5zC,GACnBq1C,EAAA/gD,UAMA+gD,EAAAtC,aAAA,WAGA,OAFAhrB,GAAA6rB,EAAA,GAAA5gD,OAAAgN,GAEAxV,EAAA,EAAAygC,EAAAgsB,EAAA5B,EAAAhD,WAAA1C,eAA+EnlD,EAAAwV,EAAWxV,IAC1Fu9B,EAAA,GAAArL,MAAAuO,EAAAzgC,EAAA,KACA6qD,EAAA7B,YAAAzrB,GACA6rB,EAAAppD,GAAAugD,QAAAjkD,OAAAuuD,EAAAnC,iBAAAnrB,EAAAstB,EAAA9E,aACA/c,IAAAt7B,EAAA+5C,SAAA,IAAAznD,GAIA0N,GAAAxC,OAAAk+C,EAAA,GAAA3nD,MAAA2nD,EAAA5zC,EAAA,GAAA/T,OAAAkT,KAAA,OACAjH,EAAAw+C,KAAArB,EAAAhkB,MAAAuiB,EAAA,IAGAyB,EAAA3C,QAAA,SAAAqE,EAAAC,GACA,MAAAD,GAAApH,cAAAqH,EAAArH,eAGA0F,EAAAT,cAAA,SAAAptD,EAAA6M,GACA,GAAA0zB,GAAAstB,EAAAhD,WAAA1C,aAEA,UAAAnoD,EACAugC,GAAA,EACS,OAAAvgC,EACTugC,GAAA,EACS,UAAAvgC,EACTugC,GAAA,EACS,SAAAvgC,EACTugC,GAAA,EACS,WAAAvgC,GAAA,aAAAA,EACTugC,IAAA,WAAAvgC,GAAA,KAAA6tD,EAAA5pD,KAAAmoD,MACS,SAAApsD,EACTugC,EAAAkvB,EAAA5B,EAAAhD,WAAA1C,eACS,QAAAnoD,IACTugC,EAAAkvB,EAAA5B,EAAAhD,WAAA1C,eAAA3vC,EAAA,GAEAq1C,EAAAhD,WAAAqB,YAAA3rB,IAGAstB,EAAArD,mBAKA5B,SAAA,yBACA8G,gBAAA,aACAC,2BAAA,iCACAC,sBAAA,sCACAC,YACAtvB,KAAA,aACAuvB,iBAAA,0BACA5J,MAAA,WAEA6J,YAAA,QACAC,UAAA,QACAC,UAAA,OACAC,sBAAA,EACAnL,cAAA,EACAoL,eAAA,EACAC,aAAA,IAGA/7C,UAAA,yIACA,SAAAg8C,EAAAxG,EAAArG,EAAA3uB,EAAAy7B,EAAAvG,EAAAwG,EAAAC,EAAAC,GACA,OACApD,SAAA,KACAG,QAAA,UACA98C,OACAsf,OAAA,KACA+/B,YAAA,IACAC,UAAA,IACAC,UAAA,IACArE,aAAA,IACAD,YAAA,KAEA+B,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAmD,GAiEA,QAAAC,GAAAlqD,GACA,MAAAA,GAAAoL,QAAA,oBAAA8vC,GAAwD,UAAAA,EAAAntC,gBA6DxD,QAAAo8C,GAAAC,GACAtN,QAAAzvC,SAAA+8C,KAEAA,EAAA,GAAA37B,MAAA27B,GAGA,MAAAA,EACA,WACS,IAAAtN,QAAAhyB,OAAAs/B,KAAAt7C,MAAAs7C,GACT,MAAAA,EACS,IAAAtN,QAAAuE,SAAA+I,GAAA,CACT,GAAAtwB,GAAAgwB,EAAAj9C,MAAAu9C,EAAAC,EAAApgD,EAAA6vB,KACA,OAAAhrB,OAAAgrB,OACA,GAEAA,IAOA,QAAAwwB,GAAAC,EAAAH,GACA,GAAA1wD,GAAA6wD,GAAAH,CAEA,KAAAtD,EAAA0D,aAAA9wD,EACA,QAMA,IAHAojD,QAAAzvC,SAAA3T,KACAA,EAAA,GAAA+0B,MAAA/0B,IAEAA,EAES,IAAAojD,QAAAhyB,OAAApxB,KAAAoV,MAAApV,GACT,QACS,IAAAojD,QAAAuE,SAAA3nD,GAAA,CACT,GAAAogC,GAAAgwB,EAAAj9C,MAAAnT,EAAA2wD,EACA,QAAAv7C,MAAAgrB,GAEA,SAPA,SA/JA,GAAAuwB,GACAZ,EAAA3M,QAAA+G,UAAAiD,EAAA2C,sBAAAx/C,EAAA2pC,QAAAkQ,MAAAgD,EAAA2C,sBAAAM,EAAAN,qBACAnL,EAAAxB,QAAA+G,UAAAiD,EAAA2D,wBAAAxgD,EAAA2pC,QAAAkQ,MAAAgD,EAAA2D,wBAAAV,EAAAzL,aACAqL,EAAA7M,QAAA+G,UAAAiD,EAAA6C,aAAA1/C,EAAA2pC,QAAAkQ,MAAAgD,EAAA6C,aAAAI,EAAAJ,YACAT,EAAApM,QAAA+G,UAAAiD,EAAAoC,4BAAApC,EAAAoC,2BAAAa,EAAAb,2BACAC,EAAArM,QAAA+G,UAAAiD,EAAAqC,uBAAArC,EAAAqC,sBAAAY,EAAAZ,sBACAz1B,IAEAzpB,GAAAy/C,cAAA5M,QAAA+G,UAAAiD,EAAA4C,eAAAz/C,EAAA2pC,QAAAkQ,MAAAgD,EAAA4C,eAAAK,EAAAL,cAEAz/C,EAAAygD,QAAA,SAAAnxD,GACA,MAAA0Q,GAAA1Q,EAAA,SAAAwwD,EAAAxwD,EAAA,SAGA0Q,EAAA+6C,WAAA,SAAAlrB,GAKA,MAJA,UAAAA,IACAA,EAAA,GAAArL,OAGAxkB,EAAA0gD,UAAA3H,SAAA/4C,EAAAw6C,QAAA3qB,EAAApG,EAAAsvB,SAAA,GACA/4C,EAAA0gD,UAAA1H,SAAAh5C,EAAAw6C,QAAA3qB,EAAApG,EAAAuvB,SAAA,GAGAh5C,EAAAw6C,QAAA,SAAAqE,EAAAC,GACA,UAAAt6B,MAAAq6B,EAAApH,cAAAoH,EAAAnH,WAAAmH,EAAAlH,WAAA,GAAAnzB,MAAAs6B,EAAArH,cAAAqH,EAAApH,WAAAoH,EAAAnH,WAGA,IAAAgJ,IAAA,CAqBA,IApBAb,EAAAX,WAAAtC,EAAArnD,OACA4qD,EAAAN,EAAAX,WAAAtC,EAAArnD,MACAmrD,GAAA,IAEAP,EAAAvD,EAAAmC,iBAAAc,EAAAd,gBACAnC,EAAA+D,SAAA,2BAAAnxD,EAAAoxD,GACA,GAAAC,GAAArxD,GAAAqwD,EAAAd,eAGA,IAAA8B,IAAAV,IACAA,EAAAU,EACAd,EAAA3F,YAAA,MAEA+F,GACA,SAAA/nD,OAAA,0DAMA+nD,EACA,SAAA/nD,OAAA,qDAGA,IAAAsoD,GAAA9D,EAAAmC,gBACA,SAAA3mD,OAAA,wDAIA,IAAA0oD,GAAAlO,QAAAz2C,QAAA,0DACA2kD,GAAAlX,MACAmX,WAAA,OACAC,YAAA,sBACAC,eAAAjC,GAQA,IAAAkC,GAAAtO,QAAAz2C,QAAA2kD,EAAAhlD,WAAA,GAUA,IATAolD,EAAAtX,KAAA,eAAAqV,GAEAyB,GACA,UAAA9D,EAAArnD,OACA2rD,EAAAtX,KAAA,6BACAsX,EAAAtX,KAAA,qBAIAgT,EAAAuE,kBAAA,CACA,GAAAhzD,GAAA4R,EAAA2pC,QAAAkQ,MAAAgD,EAAAuE,kBACAhzD,MAAA8rD,WACAl6C,EAAAk6C,SAAA9rD,EAAA8rD,SACAiH,EAAAtX,KAAA,8BACAz7C,GAAA8rD,UAEArH,QAAA1yB,QAAA/xB,EAAA,SAAAqB,EAAA46B,GACA82B,EAAAtX,KAAAoW,EAAA51B,GAAA56B,KAIAuQ,EAAA0gD,aACA7N,QAAA1yB,SAAA,oGAAA7wB,GACA,GAAAutD,EAAAvtD,GAAA,CACA,GAAA+xD,GAAAlI,EAAA0D,EAAAvtD,GAUA,IATA0Q,EAAA2pC,QAAAjlB,OAAA28B,EAAA,SAAA5xD,GACAuQ,EAAA0gD,UAAApxD,GAAAG,EACA,YAAAH,GAAA,YAAAA,IACAm6B,EAAAn6B,GAAA,GAAAk1B,MAAA/0B,MAGA0xD,EAAAtX,KAAAoW,EAAA3wD,GAAA,aAAAA,GAGA,mBAAAA,EAAA,CACA,GAAAwxB,GAAAugC,EAAAlvD,MACA6N,GAAA0kB,OAAA,aAAAp1B,EAAA,SAAAG,EAAA6xD,GACAzO,QAAAvrB,WAAAxG,IAAArxB,IAAA6xD,GACAxgC,EAAA9gB,EAAA2pC,QAAAl6C,SAMAotD,EAAA3B,cACAiG,EAAAtX,KAAA,4DAGAgT,EAAAjE,WACAuI,EAAAtX,KAAA,aAAAgT,EAAAjE,WAGAiE,EAAA5B,aACAkG,EAAAtX,KAAA,0DA+CA8W,EAUAX,EAAAuB,YAAAptD,KAAA,SAAA1E,GAEA,MADAuQ,GAAA6vB,KAAApgC,EACAA,KAVAuwD,EAAAwB,aAAA,OACAxB,EAAAyB,YAAA5xB,KAAAwwB,EACAL,EAAA0B,SAAA1+C,QAAAk9C,GACAF,EAAAuB,YAAAptD,KAAA,SAAA1E,GAEA,MADAuQ,GAAA6vB,KAAApgC,EACAuwD,EAAA5F,SAAA3qD,KAAA4pD,EAAA5pD,EAAA2wD,MAUApgD,EAAA2hD,cAAA,SAAAnK,GACA3E,QAAA+G,UAAApC,KACAx3C,EAAA6vB,KAAA2nB,EAEA,IAAA3nB,GAAA7vB,EAAA6vB,KAAAwpB,EAAAr5C,EAAA6vB,KAAAuwB,GAAA,IACAhkD,GAAAgkB,IAAAyP,GACAmwB,EAAAvG,cAAA5pB,GAEA2vB,IACAx/C,EAAAsf,QAAA,EACAljB,EAAA,GAAAkuC,UAKA0V,EAAA4B,qBAAAztD,KAAA,WACA6L,EAAA6vB,KAAAgwB,EAAAj9C,MAAAo9C,EAAApF,WAAAwF,EAAApgD,EAAA6vB,OAGA,IAAAgyB,GAAA,SAAA75B,IACAhoB,EAAAsf,QAAAljB,EAAA,GAAA0lD,SAAA95B,EAAA7sB,SAAA4lD,EAAA,GAAAe,SAAA95B,EAAA7sB,SACA6E,EAAA4lB,OAAA,WACA5lB,EAAAsf,QAAA,KAKAyiC,EAAA,SAAA5lD,GACA,KAAAA,EAAAuuC,OAAA1qC,EAAAsf,QACAnjB,EAAA+tB,iBACA/tB,EAAAguB,kBACAnqB,EAAA4lB,OAAA,WACA5lB,EAAAsf,QAAA,IAEAljB,EAAA,GAAAkuC,SACS,KAAAnuC,EAAAuuC,OAAA1qC,EAAAsf,SACTnjB,EAAA+tB,iBACA/tB,EAAAguB,kBACAnqB,EAAA4lB,OAAA,WACA5lB,EAAAsf,QAAA,KAIAljB,GAAAglB,KAAA,UAAA2gC,GAEA/hD,EAAAuqC,QAAA,SAAApuC,GACA,KAAAA,EAAAuuC,QACA1qC,EAAAsf,QAAA,EACAljB,EAAA,GAAAkuC,UAIAtqC,EAAA0kB,OAAA,kBAAAj1B,GACAA,GACAuQ,EAAAwuC,SAAA6F,EAAAuL,EAAA70C,OAAA3O,GAAAwjD,EAAApR,SAAApyC,GACA4D,EAAAwuC,SAAAV,IAAA9tC,EAAAwuC,SAAAV,IAAA1xC,EAAA03C,KAAA,gBAEAiM,EAAA,WACAL,GACA1/C,EAAAgiD,WAAA,oBAEAlP,EAAA1xB,KAAA,QAAAygC,IACW,OAEX/O,EAAA5yC,OAAA,QAAA2hD,KAIA7hD,EAAAuwC,OAAA,SAAA1gB,GACA,aAAAA,EAAA,CACA,GAAAoyB,GAAA,GAAAz9B,KACAquB,SAAAhyB,OAAA7gB,EAAA6vB,OACAA,EAAA,GAAArL,MAAAxkB,EAAA6vB,MACAA,EAAA2rB,YAAAyG,EAAAxK,cAAAwK,EAAAvK,WAAAuK,EAAAtK,YAEA9nB,EAAA,GAAArL,MAAAy9B,EAAA1G,SAAA,UAGAv7C,EAAA2hD,cAAA9xB,IAGA7vB,EAAAkiD,MAAA,WACAliD,EAAAsf,QAAA,EACAljB,EAAA,GAAAkuC,QAGA,IAAA6X,GAAAxC,EAAAoB,GAAA/gD,EAEA+gD,GAAAlhC,SAEAw0B,EACAvB,EAAAv7C,KAAA,QAAA6qD,OAAAD,GAEA/lD,EAAAimD,MAAAF,GAGAniD,EAAAG,IAAA,uBACA,IAAAH,EAAAsf,SACA6E,EAAAm+B,SACAtiD,EAAA4lB,OAAA,WACA5lB,EAAAsf,QAAA,KAKA6iC,EAAAtiC,SACAzjB,EAAA8D,OAAA,UAAA6hD,GACAjP,EAAA5yC,OAAA,QAAA2hD,UAMAl+C,UAAA,iCACA,OACAg5C,SAAA,KACAx7C,SAAA,EACAohD,YAAA,EACA3F,YAAA,SAAAxgD,EAAAygD,GACA,MAAAA,GAAAD,aAAA,qCAMA/J,QAAArlD,OAAA,0CAAAg1D,KAAA,0BAAApa,GACAA,EAAAqa,IAAA,sCACA,+RAOA5P,QAAArlD,OAAA,mCAAAg1D,KAAA,0BAAApa,GACAA,EAAAqa,IAAA,+BACA,qpDAwBA5P,QAAArlD,OAAA,qCAAAg1D,KAAA,0BAAApa,GACAA,EAAAqa,IAAA,iCACA,0xCAmBA5P,QAAArlD,OAAA,qCAAAg1D,KAAA,0BAAApa,GACAA,EAAAqa,IAAA,iCACA,ovBAaA5P,QAAArlD,OAAA,oCAAAg1D,KAAA,0BAAApa,GACAA,EAAAqa,IAAA,gCACA,2wCzDk7RM,SAAUj1D,EAAQiS;;;;;;;A0DlpUxBozC,QAAArlD,OAAA,oBAAAiC,MAAA,mBACAojD,QAAArlD,OAAA,oCACAqlD,QAAArlD,OAAA,uCACAqlD,QAAArlD,OAAA,UACA,iBACA,oBACA,kBAGAqlD,QAAArlD,OAAA,qBAAAkE,QAAA,UACA,aACA,WACA,QACA,WACA,KACA,iBACA,eACA,SAAAyyB,EAAAw7B,EAAA+C,EAAA3C,EAAA4C,EAAAva,EAAAwa,GA2DA,MA1DA,UAAA1zD,GACA,QAAA87C,GAAA97C,GACA,GAAAd,GAAAykD,QAAAjkD,QAAsC0qB,MAAA,GAAaspC,EAAArW,MAAAr9C,GACnD8Q,EAAA5R,EAAA4R,MAAA5R,EAAA4R,MAAAmkB,EAAA0+B,OACAjG,EAAAxuD,EAAA2gD,QACA,OAAA4T,GAAAG,KAAA10D,EAAA20D,cAAA3a,EAAA/4C,IAAAutD,IAAA8F,EAAArzD,IAAAutD,GAA0GnzB,OAAA,IAAcV,KAAA,SAAAlxB,GACxH,MAAAA,GAAAgI,QACSkpB,KAAA,SAAAgmB,GACT,GAAAj1C,GAAAkG,EAAAg6C,GACA4C,KACA9iD,GAAA8iD,EAAAz7C,QAAA,YAAAA,QAAA,kBAGA,IAAA6hD,GAAAla,EAAA,gDAAAe,KAAA,KAAA/vC,GAAA60C,KAAAI,EAwCA,OAvCA3gD,GAAA60D,YACAD,EAAA3/B,SAAAj1B,EAAA60D,YACAna,EAAA,QAAAsZ,OAAAY,GACAjD,EAAA,WACAJ,EAAAqD,GAAAhjD,KAEAA,EAAAgjD,OAAA,SAAApqD,GACAoqD,EAAAzW,MAAA3zC,IAEAi6C,QAAA1yB,SACA,OACA,QACA,SAAAvnB,GACAoH,EAAApH,GAAA,WACAoqD,EAAAzW,MAAA3zC,MAGAoH,EAAAkjD,QAAAljD,EAAAi9B,KACA4V,QAAA1yB,SACA,OACA,QACA,OACA,UACA,SAAAvnB,GACAoqD,EAAAljD,GAAAlH,EAAA,SAAAsX,GACAlQ,EAAAmjD,MAAA,SAAAvqD,EAAAsX,OAGA8yC,EAAAljD,GAAA,iBAAAoQ,GACA44B,EAAA,wCAAAka,GAAAtoC,QAAA8wB,QAAA,WAEAwX,EAAAljD,GAAA,kBAAAoQ,GACA9hB,EAAAg1D,SACApjD,EAAAqjD,aAEArjD,EAAAG,IAAA,sBACA6iD,EAAAnjC,WAEAmjC,EAAAzW,MAAAn+C,GACA40D,IAGA,UAAAhY,GAAA97C,OAOA2jD,QAAArlD,OAAA,qBAAAmW,UAAA,aACA,SACA,WACA,SAAAw1C,EAAAwG,GACA,OACAhD,SAAA,IACA38C,OAAA,EACAg9C,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAAM,GACA,GAAAmG,GAAAnK,EAAA0D,EAAA0G,WAAA9zD,GAAA6zD,EAAAnxD,OAAAmxD,EAAAtjD,GACAA,GAAA0kB,OAAAm4B,EAAA0G,UAAA,SAAAC,EAAA3C,GACA2C,IAAA3C,IACApxD,EAAA+zD,KAKApnD,EAAA0D,GAAA,gBAAAoQ,GACA44B,EAAA,eAAA1S,KAAA,WACA,GAAAsT,GAAAZ,EAAAj6C,MAAA45C,EAAAiB,EAAA7pC,KAAA,UACA4oC,OAAAwC,SAAAhB,GAAA7tC,IACAstC,EAAAjB,QAAA,YAKArsC,EAAAqsC,SACAjrC,MAAA,WACA,MAAAq1C,SAAAvrB,WAAA73B,KAAAmD,MAAA,KAAAL,WAAA9C,GAEAk/C,MAAA,EACAX,UAAA,SAEA5xC,EAAAyD,KAAA,WACAyZ,KAAA,WACA,GAAAhe,GAAAwtC,EAAAnW,GAAA8V,QAAAqC,YAAA17C,UAAAkqB,KAAA1mB,MAAA/D,KAAA0D,UAEA,OADA1D,MAAA6+C,MAAA7tC,KAAA,UAAAhR,MACAyM,GAEA0E,EAAAyjD,SAAA,SAAAz7B,GACA5rB,EAAAqsC,QAAAzgB,IAEAhoB,EAAAi9B,KAAA,WACA7gC,EAAAqsC,QAAA,SAEAzoC,EAAAsZ,KAAA,WACAld,EAAAqsC,QAAA,SAEAzoC,EAAAkjD,QAAAljD,EAAAi9B,UAOA4V,QAAArlD,OAAA,qBAAAmW,UAAA,eACA,SACA,SAAAw1C,GACA,OACAwD,SAAA,IACAG,QAAA,WACAE,KAAA,SAAAh9C,EAAA5D,EAAAygD,EAAA3U,GACA,GAAAob,GAAAnK,EAAA0D,EAAA6G,aAAAj0D,GAAA6zD,EAAAnxD,OAAAmxD,EAAAtjD,GACAA,GAAA0kB,OAAAm4B,EAAA6G,YAAA,SAAAF,EAAA3C,GACA2C,IAAA3C,IACApxD,EAAA+zD,KAGApnD,EAAAytC,KAAA,4BACAztC,EAAA0zC,WACA1hB,OAAA,SAAApJ,GACA,MAAA6tB,SAAAvrB,WAAA73B,KAAAmD,MAAA,KAAAL,WAAA9C,GAEAihD,UAAAmM,EAAAnM,WAAA,EACA15C,MAAA6lD,EAAA7lD,MACAk5C,QAAA,SAAAzgD,GAOA,MANAy4C,IACAloC,EAAA4lB,OAAA,WACAsiB,EAAAuR,cAAAhqD,KAGAuQ,EAAAmjD,MAAA,oBAAA1zD,GACAA,IAGA,IAAAqgD,GAAA1zC,EAAAyD,KAAA,YACAiwC,GAAAW,OAAA,SAAAvgC,GACA,GAAAlZ,EAEA,OADAnI,MAAAm2B,MAAAn2B,KAAAo8C,SAAA7qB,OAAA,GACAvxB,KAAAm2B,MAAAxyB,OAAA3D,KAAAT,QAAAsiD,UACA7hD,KAAAwhD,MAAAxhD,KAAAouC,OAAApuC,MAEAmI,EAAA8xC,EAAAxhB,WAAAz4B,KAAAu/B,QAAAv/B,KAAAu/B,OAAAv/B,KAAAm2B,MAAA8jB,EAAAqC,MAAAt8C,KAAA8hD,QAAA9hD,YAAAu/B,OACAp3B,EAAAnI,KAAA8hD,QAAA35C,GAAAnI,OAEAguD,EAAA8G,WACA7T,EAAAC,QAAA,SAAA36C,GACA,WAGA,MAAAynD,EAAAnM,WACAzrB,WAAA,WACA7oB,EAAA0D,GAAA,mBACA,IAAA1D,EAAAgkB,MAAA5tB,QAAAyyB,WAAA7oB,EAAA0zC,UAAA1uB,KAAAhlB,EAAA,yB1DsqUS,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAU5O,EAAQC,EAAqBC,GAE7C,Y2Dh4UM,SAAUk2D,KACd,OACE5G,KAAM,SAASj3B,EAAQvD,GACrBuD,EAAOnB,WAAW,yBAA0B,WAC1CpC,EAAK6nB,YAAY,uBAAuB,KAG1CtkB,EAAOnB,WAAW,wBAAyB,WACzCpC,EAAK6nB,YAAY,uBAAuB,KAG1CtkB,EAAOrB,OAAO,yCAA0C,SAAS8+B,GAC3DA,GACFhhC,EAAK6nB,YAAY,mCAAoCn8C,EAAAJ,EAAEspD,SAASoM,IAChEv+B,WAAW,WACTzC,EAAK6nB,YAAY,gCAAiCn8C,EAAAJ,EAAEspD,SAASoM,KAC5D,MAEHhhC,EAAKinB,YAAY,oCACjBjnB,EAAKinB,YAAY,sC3D+2UN,GAAIx7C,GAAuCP,EAAoB,GAC3DQ,EAA+CR,EAAoBG,EAAEI,EACxBP,GAAoB,G2D12U1F,EAAWiW,UAAU,YAAaigD,I3D24U5B,SAAUp2D,EAAQC,EAAqBC,GAE7C,YAcA,S4Dj7UIm2D,GAAAlE,G5Dw7UA,OACI3/C,O4D76UF8jD,UAAO,qBACRC,0BAAA,6BACGxuD,MAAE,Y5Dg7UFynD,K4D96UF,SAAWj3B,EAAGvD,EAAAq6B,GACd,GAAAmH,GAAOhiC,IAhBT,2HAiBEiiC,EAAQjiC,IAZV,2KAcEgiC,GAAIrY,SAAMnpB,G5D86UJyhC,E4D76UJtY,SAAanpB,GACdq6B,EAAAqH,UAEGD,EAAMtV,KAAOkO,EAAEqH,U5D86UTrH,E4D56UNmD,S5D66UMj6B,EAAOrB,O4D56UX,iBAAA8+B,G5D66UQt1D,E4D56U0BJ,EAAAsoC,KAAArQ,EAAA+9B,UAAA,SAAA1uD,G5D66UtBlH,E4D56UmBJ,EAAAsoC,KAAAhhC,EAAAkhB,QAAA,SAAA6tC,GAC5BA,EAAA10D,QAAA+zD,GACAS,EAAAtV,KAAAwV,EAAArvD,W5Dk7UH,IAAIsvD,G4Dz6UUl2D,EAAkCJ,EAAA8oC,OAAA7Q,EAAA+9B,UAAA,SAAAO,EAAA50D,EAAA4wB,GAatD,MAZM5wB,GAAK6mB,Q5D86UGpoB,E4D16UkCJ,EAAAsoC,KAAA3mC,EAAA6mB,QAAA,SAAAlhB,EAAAkvD,GACvClvD,EAAAu1C,MAAA,oBAAAtqB,EAAA,IAAAikC,EAAA,IACJD,EAAAlwD,KAAA1E,EAAAqF,KAAA,IAAAM,EAAAN,SALArF,EAAAk7C,MAAA,oBAAAtqB,EAAA,I5D06USgkC,E4D16UHlwD,KAAA1E,EAAAqF,OAWJuvD,M5Dy6UDt+B,G4Dv6UJw+B,iBAA0B,SAAUlkC,EAAGikC,GACvC,GAAIE,GAASz+B,EAAO+9B,UAAYzjC,GAC9BokC,GAAQC,MAAWF,EACpBA,GAAAluC,aAAA,KAAAguC,IACDG,EAAOE,SAAAH,EAAyBluC,QAAQguC,IAG1Cv+B,EAAWg+B,0BAAiBU,I5Dw6UtBT,E4Dt6UJna,KAAQ,eAAe,a5Du6UnBma,E4Dt6UJlU,WACA1hB,OAAOg2B,EACP1T,UAAS,E5Du6UD15C,M4Dt6UN,G5Du6UMk5C,Q4Dt6UN,SAAAzgD,G5Du6UU,G4Dt6UR0qB,KAiBH,O5Ds5UWjsB,G4Dt6U8BJ,EAAAsoC,KAAArQ,EAAY+9B,UAAM,SAAAU,G5Du6U5Ct2D,E4Dt6UsBJ,EAAAsoC,KAAAouB,EAAAluC,QAAA,SAAAsuC,GAC9Bn1D,IAAO+0D,EAAQ1vD,KAAS,IAAA8vD,EAAA9vD,OACzBqlB,EAAAwqC,SAAAC,EACAzqC,EAAAuqC,MAAAF,O5D06USrqC,E4Dr6UVuqC,OACF3+B,EAAGH,OAAA,WACJG,EAAAg+B,0BAAA5pC,KAIF6pC,EAAAxY,QAAA,QACA,M5Du6UGyY,E4Dn6UJtZ,MAAO,WACPsZ,EAAOhnB,OACN+mB,EAAA1qC,OAEH0qC,EAAO1Z,UAEP0Z,EAAG1S,MAAA,WAEH9uB,EAAO6nB,YAAK,YAAA2Z,EAAA5jC,S5Dm6UN4jC,E4Dj6UJ5S,KAAO,WACP4S,EAAO/mB,OACP+mB,EAAO5jC,IAAC,IACR6jC,EAAA3qC,OACA2qC,EAAA3Z,QAGArlB,WAAQ,WACPzC,EAAAinB,YAAA,SAEH,OAEFkW,EAAAn9B,EAAAqiC,YAAA9+B,K5Dq6UJ,Q4D75UM++B,GACFnF,G5Di6UA,OACI3/C,O4D15UF8jD,UAAO,sBACRC,0BAAA,6BACGxuD,MAAE,Y5D65UFynD,K4D35UF,SAAWj3B,EAAGvD,EAAAq6B,GACd,GAAAmH,GAAOhiC,IAZT,6FAaEiiC,EAAQjiC,IAZV,2JAcEgiC,GAAIrY,SAAMnpB,G5D25UJyhC,E4D15UJtY,SAAanpB,GACdq6B,EAAAqH,UAEGD,EAAMtV,KAAOkO,EAAEqH,U5D25UTrH,E4Dz5UNmD,S5D05UMj6B,EAAOrB,O4Dz5UX,iBAAA8+B,G5D05UQt1D,E4Dz5U0BJ,EAAAsoC,KAAArQ,EAAA+9B,UAAA,SAAA1uD,G5D05UtBlH,E4Dz5UmBJ,EAAAsoC,KAAAhhC,EAAAkhB,QAAA,SAAA6tC,GAC5BA,EAAA10D,QAAA+zD,GACAS,EAAAtV,KAAAwV,EAAArvD,W5D+5UH,IAAIsvD,G4Dt5UUl2D,EAAkCJ,EAAA8oC,OAAA7Q,EAAA+9B,UAAA,SAAAO,EAAA50D,EAAA4wB,GAatD,MAZM5wB,GAAK6mB,Q5D25UGpoB,E4Dv5UkCJ,EAAAsoC,KAAA3mC,EAAA6mB,QAAA,SAAAlhB,EAAAkvD,GACvClvD,EAAAu1C,MAAA,oBAAAtqB,EAAA,IAAAikC,EAAA,IACJD,EAAAlwD,KAAA1E,EAAAqF,KAAA,IAAAM,EAAAN,SALArF,EAAAk7C,MAAA,oBAAAtqB,EAAA,I5Du5USgkC,E4Dv5UHlwD,KAAA1E,EAAAqF,OAWJuvD,M5Ds5UDt+B,G4Dp5UJw+B,iBAA0B,SAAUlkC,EAAGikC,GACvC,GAAIE,GAASz+B,EAAO+9B,UAAYzjC,GAC9BokC,GAAQC,MAAWF,EACpBA,GAAAluC,aAAA,KAAAguC,IACDG,EAAOE,SAAAH,EAAyBluC,QAAQguC,IAG1Cv+B,EAAWg+B,0BAAiBU,I5Dq5UtBT,E4Dn5UJna,KAAQ,eAAe,a5Do5UnBma,E4Dn5UJlU,WACA1hB,OAAOg2B,EACP1T,UAAS,E5Do5UD15C,M4Dn5UN,G5Do5UMk5C,Q4Dn5UN,SAAAzgD,G5Do5UU,G4Dn5UR0qB,KAiBH,O5Dm4UWjsB,G4Dn5U8BJ,EAAAsoC,KAAArQ,EAAY+9B,UAAM,SAAAU,G5Do5U5Ct2D,E4Dn5UsBJ,EAAAsoC,KAAAouB,EAAAluC,QAAA,SAAAsuC,GAC9Bn1D,IAAO+0D,EAAQ1vD,KAAS,IAAA8vD,EAAA9vD,OACzBqlB,EAAAwqC,SAAAC,EACAzqC,EAAAuqC,MAAAF,O5Du5USrqC,E4Dl5UVuqC,OACF3+B,EAAGH,OAAA,WACJG,EAAAg+B,0BAAA5pC,KAIF6pC,EAAAxY,QAAA,QACA,M5Do5UGyY,E4Dh5UJtZ,MAAO,WACPsZ,EAAOhnB,OACN+mB,EAAA1qC,OAEH0qC,EAAO1Z,UAEP0Z,EAAG1S,MAAA,WAEH9uB,EAAO6nB,YAAK,YAAA2Z,EAAA5jC,S5Dg5UN4jC,E4D94UJ5S,KAAO,WACP4S,EAAO/mB,OACP+mB,EAAO5jC,IAAC,IACR6jC,EAAA3qC,OACA2qC,EAAA3Z,QAGArlB,WAAQ,WACPzC,EAAAinB,YAAA,SAEH,OAEFkW,EAAAn9B,EAAAqiC,YAAA9+B,K5DgsUJ89B,EAAkBkB,SAAW,YAC7BD,EAAmBC,SAAW,WAAY,IAAI92D,GAAuCP,EAAoB,GAChFQ,EAA+CR,EAAoBG,EAAEI,GACrE8zB,EAAuCr0B,EAAoB,I4Dl7U7Ds0B,EAAAt0B,EAAAG,EAAAk0B,GACAijC,EAAAt3D,EAAA,E5D+nVvBs3D,GAA4D,EAAErhD,UAAU,oBAAqBkgD,GAC7FmB,EAA4D,EAAErhD,UAAU,qBAAsBmhD,IAKxF,SAAUt3D,EAAQC,EAAqBC,GAE7C,YAcA,S6D3oVMu3D,GACFtF,EAAAuF,G7DkpVA,OACIllD,O6DtoVHmlD,QAAA,IACGvY,WAAW,IACbhwC,SAAU,IACVwoD,SAAI,K7DyoVFpI,K6DvoVF,SAAWj3B,EAAQvD,GACnB,GAAIwhC,GAAAhiC,IAlBN,oIAmBMmjC,EAAQp/B,EAAQo/B,QAChBlB,EAAAjiC,IAAiCmjC,EAAAE,WAZzB,wJAFT,iIAgBHj3D,EAAO,KACPk3D,EAAiB,KAEjBC,GAAO,EACLC,EAAgBz/B,EAAIq/B,Q7DsoVhBpB,GAAOrY,S6DroVFnpB,G7DsoVLyhC,E6DroVHtY,SAAAnpB,G7DsoVGuD,E6DpoVJ0/B,oBAAQ,SAAAh2D,GAEM,KAAdA,GAAc01D,EAAA11D,Y7DsoVNA,E6DnoVJvB,EAA+BJ,EAAA43D,SAAAj2D,G7DooV3Bs2B,EAAOH,O6DnoVX,W7DooVQ,G6DnoVRyc,GAAQn0C,EAAaJ,EAAAyJ,KAAAwuB,EAAA4/B,aAAAl2D,SACrB4yC,IAEA8iB,EAAI11D,MAAS4yC,EAAM5yC,M7DmoVP01D,E6DloVVxW,KAAQtM,EAAOsM,MAAatM,EAAC5yC,M7DmoVnB01D,E6DloVXS,MAAA,EACFT,EAAAU,WAAAxjB,EAAAwjB,WAAMxjB,EAAY7sC,OACjB2vD,EAAQ3vD,KAAQ6sC,EAAM7sC,OAGD,UAArB2vD,EAAYW,SACbX,EAAA11D,QAED01D,EAAOxW,KAAWuW,EAAAa,YAAAt2D,GACjB01D,EAAAU,YAAA,EACHV,EAAAS,MAAA,GAGI7/B,EAAAnpB,e7DooVAmpB,E6DhoVJigC,aAAa,SAAYC,GACzBV,IAAiBU,IAGjB/Z,aAAYoZ,GACZA,EAAO,KACPC,GAAA,EAEFvB,EAAO/mB,OACLgnB,EAAA3qC,OACAyM,EAAA0/B,oBAAAzB,EAAA5jC,SAEF2F,EAAEmgC,UAAA,W7DkoVQZ,E6D9nVCrgC,WAAac,EAAMigC,aAAe,M7DgoVvCjgC,EAAOqI,O6D9nVP,SAAUpJ,EAAAwZ,G7D+nVNzY,EAAOH,O6D9nVT,W7D+nVMG,E6D9nVL6mB,YAAAuZ,OAAAnhC,IAAA+D,KAAA,SAAA48B,GAEH5/B,EAAA4/B,YAAoBA,EACpBv3D,EAAIF,EAA4BJ,EAAAqH,IAAA4wB,EAAA4/B,YAAA,SAAAh7B,GAC9B,MAAKz8B,GAAgBJ,EAAAwqB,OAAAqS,EAAAl7B,SAGtB,UAAA01D,EAAAW,SAEQX,EAAQS,OAAC,IAAA13D,EAAAJ,EAAA2T,QAAArT,EAAA+2D,EAAA11D,QACjBrB,EAAA4U,QAAAmiD,EAAA11D,QAIA+uC,EAAUpwC,Q7D+nVX23B,EAAOmqB,Q6D3nVF,SAAMzgD,G7D4nVP,M6D3nVPA,KAAA01D,EAAA11D,OAEDy8C,aAAiBoZ,GACjBtB,EAAO1Z,QAEA76C,IAGTu0D,EAAO5jC,IAAO3wB,GACZs2B,EAAOigC,cAAa,GACbv2D,I7D0nVHs2B,E6DxnVHgqB,QAAA,SAAA36C,GACD,GAAIkP,GAAIzV,KAAIm2B,KACA,OAAV1gB,EAAG,KACJA,IAAA4H,UAAA,IAEwB,MAAvB5H,IAAO9R,OAAK,KACb8R,IAAA4H,UAAA,EAAA5H,EAAA9R,OAAA,G7D0nVO,K6DxnVP,MAAA4C,GAAA0O,cAAA2E,MAAAnE,EAAAR,eAGH,MAAW1P,GACJ,W7D2nVD4vD,E6DxnVJna,KAAO,eAAK,a7DynVRma,E6DxnVJlU,WACA1hB,OAAOrI,EAAQqI,OACdsiB,UAAA,EAEC15C,MAAA,IACJk5C,QAAUnqB,EAASmqB,QACjBH,QAAKhqB,EAAQgqB,S7DynVT,I6DvnVJD,GAAYkU,EAAOnkD,KAAC,YACtBiwC,GAAEW,OAAA,WAEE5hD,KAAAm2B,MAAAn2B,KAAgBo8C,SAAA7qB,OAAA,EAClB,IAAAppB,GAAUnI,KAAMu/B,OAAGv/B,KAAAm2B,MAAAhD,EAAWl0B,EAAAq9C,MAAUt8C,KAAQ8hD,QAAO9hD,MACxD,OAAAmI,GAAAnI,KAAA8hD,QAAA35C,MAGCwuD,IACA1V,EAAQW,OAAOviD,EAA+BJ,EAAAs3D,SAAAtV,EAAAW,OAAA,KAAA7nB,SAAA,K7DunV1Cq7B,E6DrnVH1Z,QAAA,SAAApuC,GAGW,KAANA,EAAAsuC,SAAM,KAAAtuC,EAAAsuC,SACZwZ,EAAUtZ,U7DunVNsZ,E6DnnVJtZ,MAAO,WACPv8C,EAAO,KAEP41D,EAAAnW,IAAW,QAAM1pC,KAAAqF,IAAAy6C,EAAA7V,QAAA,aAEjB6V,EAAIhnB,OACJ+mB,EAAI1qC,O7DknVI0qC,E6DjnVN1Z,Q7DknVMib,G6DjnVN,C7DknVM,I6DjnVPzV,GAAAkU,EAAAnkD,KAAA,YACAiwC,KAEIkU,EAAK5jC,IAAO,IAEX0vB,EAAMW,YAGnBuT,EAAA5S,KAAArrB,EAAAmgC,WAEDvG,EAAgBn9B,EAAAqiC,YAAA9+B,K7DmnVhB,Q6D7mVIqgC,GAAOC,EAAA1D,G7D8mVP,OACI5T,S6D7mVF,uH7D8mVE4N,S6D7mVF,I7D8mVE38C,O6D5mVHid,SAAA,IACG7uB,QAAE,IACJw+C,WAAK,I7D8mVChwC,S6D7mVA,K7D+mVJogD,MACIsJ,IAAK,S6D5mVOvgC,EAAAvD,EAAAq6B,G7D6mVR,GAAI0J,EACJxgC,GAAOygC,e6D5mVG,SAAM/2D,G7D6mVZ,G6D5mVR46B,GAAOn8B,EAA4BJ,EAAAyJ,KAAAwuB,EAAA33B,SAAAqB,UACnC01D,GACAsB,SAAA5J,EAAA4J,SAEFX,OAAOjJ,EAAAiJ,OACPr2D,MAAA46B,IAAAv1B,KAAArF,EAEK41D,WAAAxI,EAAkBwI,W7D4mVb,O6D1mVRgB,GAAgBK,WAAOvB,I7D4mVnBp/B,EAAO4gC,mB6DzmVS,W7D0mVZ,M6DzmVN5gC,GACA33B,SACHm4D,EAAAxgC,EAAA33B,QAAMu0D,EAAAG,KAAA50D,EAAAJ,EAAAqH,IAAA4wB,EAAA33B,QAAA,SAAAi8B,GACL,OAAa56B,MAAC46B,EAAav1B,U7D6mVRixB,E6DzmVb6mB,aAAc7jB,KAAA,SAAA36B,G7D2mVJ,MADAm4D,G6DzmVXn4D,EACDF,EAA8BJ,EAAAqH,IAAA/G,EAAA,SAAAi8B,GAC7B,MAAAA,GAAAskB,KACFtkB,GAEL56B,MAAA46B,EAAAv1B,W7D8mVMixB,EAAO6gC,gB6DxmVF,W7DymVD,GAAIL,E6DxmVX,C7DymVW,GAAIl8B,G6DzmVLn8B,EAA0BJ,EAAAyJ,KAAAgvD,GAAAzxD,KAAAixB,EAAAo/B,QAAA11D,OACnC46B,IAAOA,EAAQ56B,QAAUs2B,EAAQ9I,SAClC8I,EAAA9I,SAAAoN,EAAA56B,MACI,UAAAotD,EAAAiJ,SACL//B,EAAO9I,SAAW8I,EAAOo/B,QAAQ11D,WAKnCs2B,GAAO9I,SAAa8I,EAAAo/B,QAAA11D,KAIpBs2B,GAAG8gC,aAAA,WACH9gC,EAAAH,OAAA,WAEKG,EAAUnpB,gBAIxBmpB,EAAAo/B,QAAAp/B,EAAAygC,eAAAzgC,EAAA9I,a7Dy4UDgoC,EAAcF,SAAW,WAAY,QACrCqB,EAAmBrB,SAAW,eAAgB,KAAM,IAAI92D,GAAuCP,EAAoB,G6D7oV5FQ,EAAAR,EAAAG,EAAAI,GACA8zB,EAAAr0B,EAAA,IACiBs0B,EAAAt0B,EAAAG,EAAAk0B,GAExBijC,EAAAt3D,EAAA,E7D42VhBs3D,GAA4D,EAAErhD,UAAU,gBAAiBshD,GACzFD,EAA4D,EAAErhD,UAAU,qBAAsByiD,IAKxF,SAAU54D,EAAQC,EAAqBC,GAE7C,YAmBA,SAASggD,G8D13VHiS,G9D23VF,O8Dz3VAhD,SAAC,IACDK,KAAA,SAAAh9C,EAAAwiB,EAAAq6B,GACH,GAAAiK,GAAA,gCAEQjK,EAAA5iD,MAAe,mBACf,mBACE8sD,EAAA,EAAA1/C,WAAAmb,EAAA1tB,QACL,UACDgyD,KAAA3lD,QAAA,YAAAA,QAAA,YACGqhB,EAAEwkC,YAAcrH,EAAM/xD,EAAAE,EAAAsO,QAAA0qD,IAAA9mD,M9D63V9B,QAASinD,KACL,OACIjnD,OACIygD,Q8Dx3VJ,oB9D03VAzD,K8Dv3VF,SAAUh9C,EAAAwiB,G9Dw3VJxiB,E8Dv3VJknD,UAAU,GAAAC,GAAWr5D,EAAA00B,EAAA,I9Dw3Vb1tB,K8Dv3VN,WACD,MAAAkL,GAAAygD,aAGLzgD,EAAAknD,UAAApnD,GAAA,qBACHsnD,EAAA,EAAA7qD,KAAA,mDAGQyD,EAAQG,IAAA,WAAQ,WAChBH,EAAAknD,WACKlnD,EAAGknD,UAAAlpC,c9D63VjB,QAASqpC,G8Dn3VD1H,G9Do3VJ,O8Dl3VAhD,SAAA,IACHK,KAAA,SAAAh9C,EAAA5D,EAAAygD,GAEQ78C,EAAA0kB,OAAW,SAAA1kB,GACX,MAAAA,GAAA65C,MAAAgD,EAAAwK,UACE,SAAU53D,GACX2M,EAASuyC,KAAKl/C,GAClBkwD,EAAWvjD,EAASyoD,YAAA7kD,O9Du3V1B,Q8Dl3VKsnD,K9Dm3VD,O8Dj3VHtnD,OAAAunD,SAAA,gBAEDvK,KAAA,SAAgBh9C,EAAA5D,GACPA,EAAA0D,GAAc,QAAQ,WACtBE,EAAA4lB,OAAA,WACK5lB,EAAGunD,UAAAC,WAAAprD,EAAAgkB,c9Dw3VjB,QAASqnC,G8D/2VE9H,G9Dg3VP,OACIhD,S8D/2VA,I9Dg3VAK,KAAM,S8D/2VNh9C,EAAAwiB,EAAkBq6B,G9Dg3Vd,G8D/2VJ6K,GAAU7K,EAAArM,OAAA,eAAAqM,EAAArM,OAAA,OACV9C,EAAGmP,EAAAnP,IAAA,SAAAmP,EAAAnP,IAAA,YACHia,EAAA9K,EAAU8K,OAAA,aAAA9K,EAAA8K,OAAA,QACV5Y,EAAA,0DACA4Y,EACA,iBAEA9K,EAAMtnD,MACN,mBACAsnD,EAAA/nD,KACA44C,EACA,kCAEAmP,EAAAtnD,MACA,sCAEEsnD,EAACtnD,MACN,IACDmyD,EACH,sBAEe7K,EAAAtnD,MACP,0BAEGsnD,EAAKtnD,MACP,wBACJitB,GAAIwkC,YAAOrH,EAAa/xD,EAAmBE,EAAAsO,QAAA2yC,IAAA/uC,M9Dm3VjD,QAAS4nD,G8D72VSjI,EACVvG,G9D62VJ,OACIuD,S8D52VA,I9D62VAK,KAAM,S8D52VNh9C,EAAAwiB,EAAoBq6B,G9D62VhB,G8D52VJ/nD,GAAAskD,EAAmByD,EAAA/nD,MAAAkL,GACnBzK,EAAK6jD,EAAAyD,EAAAtnD,OAAAyK,GACL0nD,EAAG7K,EAAArM,OAAA,eAAAqM,EAAArM,OAAA,OACH9C,EAAAmP,EAAQnP,IAAA,SAAAmP,EAAAnP,IAAA,YACR35C,EAAA,eAAqBiM,EAAAg6C,IAAAzkD,EAAA,4BAAAT,EAAA44C,EAAA,WACrBqB,EAAK,0BACL/uC,EAAAg6C,IACAzkD,EACA,sCAEAA,EAEF,IACImyD,EACA,sBACLnyD,EACD,0BAGYyK,EAAAg6C,IACPzkD,EACE,wBACHw5C,IAAmBh7C,EACnByuB,EAAKa,SAAC,oBAEVb,EAASmsB,KAAKgR,EAAM/xD,EAA+BE,EAAAsO,QAAA2yC,IAAA/uC,M9D82VvD,QAAS6nD,G8Dx2VF1O,EAAAwG,EAAAI,G9Dy2VH,Q8Dv2VE+H,GACO9wD,EAAAu2C,G9Dy2VL,IAAK,GAFDwa,G8Dt2Va,QAAXxa,EAAgB,SAAiB,G9Du2VnCya,G8Dt2VJ,4BAAGD,EAAA,kDACH1nC,EAAA,EAAAA,EAAArpB,EAAAxE,OAA4B6tB,IAAA,C9Du2VxB,G8Dt2VJjrB,GAAM4B,EAAIqpB,E9Du2VN,I8Dt2VJjrB,EAAG6yD,QACHD,EAAC9uD,OAAKmnB,EAAQ,qC9Dq2VV,CAIA,G8Dt2VJ6nC,GAAG,OACF9yD,EAAKkhB,SAAWlhB,EAAAkhB,QAAA9jB,OAAA,gCACjB,+BAGA4C,EAAMoH,MAAA,IACP,KAECpH,EAAIu1C,MAAQ,cAAAv1C,EAAAu1C,MAAA,SACXv1C,EAAO+F,OAAS,YAAS/F,EAAA+F,OAAA,SAC7B/F,EAAA+yD,OAAA,iBAAA/yD,EAAA+yD,OAAA,QAEM,KACR/yD,EAAAN,MAAA,IAEM,MACGM,GAAEkhB,SAAIlhB,EAAAkhB,QAAA9jB,SACP01D,GAAIJ,EAAA1yD,EAAAkhB,SAAArP,KAAA,OAETihD,GAAI,QAEJF,EAAA9uD,OAASmnB,EAAA,IAAA6nC,I9Dm2VP,MAAOF,GAEX,OACIrL,S8Dj2VC,K9Dk2VD38C,O8Dh2VF,EACFg9C,KAAC,SAAAh9C,EAAAooD,EAAAC,GACD,GAAA/E,GAAAnK,EAAAkP,EAAAR,YAAA7wD,EAAAssD,EAAAtjD,EACH+/C,GAAA,WAED,GAAAxS,GAAA6a,EAAAvoD,KAAA,YACAjS,GAAqBE,EAAAsO,QAAA0rD,EAAmB9wD,EAAiBu2C,GAAAtmC,KAAA,KACzDgnC,YAAAma,GACAzI,EAAAyI,EAAAv0D,KAAA,qBAAAmM,KAEAooD,EAAA/kC,SAAA,mBAAAwmB,KAAA,cAAW,c9DqqVX6D,EAAIqX,SAAW,YACfsC,EAAQtC,SAAW,Y8D33VW0C,EAAA1C,SAAA,YACI6C,EAAA7C,SAAA,2BACM8C,EAAA9C,SAAA,mCAAAp3D,GAAAD,EAAA,IACHE,EAAAF,EAAAG,EAAAF,GACK26D,EAAA56D,EAAA,KAE1By5D,EAAAz5D,EAAAG,EAAAy6D,GACKtD,EAAAt3D,EAAA,GACZq5D,EAAAr5D,EAAA,KACQ05D,EAAA15D,EAAA,I9D+iWjBs3D,GAA4D,EAAErhD,UAAU,MAAO+pC,GAC/EsX,EAA4D,EAAErhD,UAAU,kBAAmBsjD,GAC3FjC,EAA4D,EAAErhD,UAAU,UAAW0jD,GACnFrC,EAA4D,EAAErhD,UAAU,cAAe2jD,GACvFtC,EAA4D,EAAErhD,UAAU,gBAAiB8jD,GACzFzC,EAA4D,EAAErhD,UAAU,iBAAkBikD,GAC1F5C,EAA4D,EAAErhD,UAAU,aAAckkD,IAI7E,CACA,CACA,CACA,C+DrkW+B,CACc,CAE7C,C/DukWH,S+DrkWMr6D,EAAKC,EAAAC,G/DukWjB,YAKA,SAAS66D,KACL,OACI5L,S+DpkWA,I/DqkWA6L,SAAU,EACV1L,Q+DpkWC,U/DqkWDE,K+DpkWA,SAACh9C,EAAAyoD,EAAA5e,EAAA2P,GACJ,UAAA3P,EAAAr0C,MAAA,aAAAq0C,EAAAr0C,OAIIizD,EAAAroD,IAAW,wBACXqoD,EAAArnC,KAAA,kBACGphB,EAAK4lB,OAAA,WACJ4zB,EAASC,cAAAgP,EAAAroC,c/DykWtB,QAASsoC,KACL,O+DlkWA/L,SAAC,IACDG,QAAA,UACHE,KAAA,SAAAh9C,EAAAyoD,EAAA5L,EAAAM,GAEQA,EAAAuE,SAAavtD,KAAA,SAAAgsD,GACb,WAAAA,EACa,KAEXA,M/DukWX,QAASwI,KACL,OACI7L,Q+DlkWA,U/DmkWAE,KAAM,S+DlkWCh9C,EAAKyoD,EAAO5L,EAAKM,GAC1BA,EAAEsE,YAAAmH,QAAA,SAAAtI,EAAAH,GACH,QAAAhD,EAAA/C,SAAAkG,KAIL,IAAAH,EAAA1+C,QAAA,MAAqB,IAArB0+C,EAAW1+C,QAAA,Q/DqkW6B,IADbonD,EAAkF,EAAE1I,GACnFnqB,Y+DrnWlB,GAAS8yB,GAA6Bp7D,EAAA,GAC7Bm7D,EAA0Cn7D,EAAA,I/DynW7Do7D,GAA4D,EAAEnlD,UAAU,gBAAiB4kD,GACzFO,EAA4D,EAAEnlD,UAAU,cAAe+kD,GACvFI,EAA4D,EAAEnlD,UAAU,gBAAiBglD,IAKnF,SAAUn7D,EAAQC,EAAqBC,GgEzoWf,YhEypW9B,SAASqsB,GgEzoWHnhB,EAASwD,GhE0oWX,GgEzoWAtE,GAACixD,EAAA,EAAAllD,qBAAAjL,GAAAwF,EAAAtG,EAAAsG,MAAA2F,EAAAjM,EAAAiM,WhE0oWD3H,GgEzoWAyxC,IAAA,mBAAAzvC,GACHhC,EAAAyxC,IAAA,eAAA9pC,GhE2oWD,QgExoWEilD,KhEyoWE,OACIhpD,OgExoWFgpD,iBAAiB,KhEyoWfhM,KgExoWH,SAAAh9C,EAAA5D,GAEG2d,EAAA/Z,EAAAgpD,iBAAA5sD,KhE2oWR,QAAS6sD,KACL,QgEtoWEC,GAAAlpD,EAAAid,GACH,GAAAA,EAIC,MAAArvB,GAAOE,EAAAw5B,WAAAtnB,EAAA2pC,QAAA1sB,IACEjd,EAAA2pC,QAAU1sB,GAElB,SAAA7nB,GACD,MAAUA,GAAA6nB,IhEwoWV,OACI0/B,SgEroWA,KhEsoWA38C,OgEnoWFzK,MAAI,WAEJ4zD,cAAU,KhEqoWRpa,SgEnoWD,6BhEooWC5tC,SgEloWF,EhEmoWE67C,KAAM,SgEloWNh9C,EAAW5D,EAAAygD,GhEmoWFjvD,EgEloWCE,EAAA+U,QAAA7C,EAAQzK,ShEmoWVyK,EAAMzK,SAEV,IAAIg7C,GgEloWPvuB,IAAA,SAAA5lB,EACDygD,GAAAj3C,aACA2qC,EAAA1G,KAAW,cAAgBgT,EAAKj3C,ahEooW5B2qC,EgEloWJ6Y,WhEmoWQtZ,WgEjoWN1hB,OAAExgC,EAAAE,EAAAw5B,WAAAtnB,EAAA2pC,QAAAkT,EAAAwM,kBACErpD,EAAO2pC,QAAMkT,EAASwM,iBACvB,MAGPC,WAAUzM,EAAWyM,WACnBC,UAAUL,EAAclpD,EAAU68C,EAAM2M,WhEkoWhCC,SgEjoWAP,EAAgBlpD,EAAO68C,EAAA6M,UhEkoWvBC,SgEjoWF/7D,EAAqBE,EAAAw5B,WAAAtnB,EAAA2pC,QAAAkT,EAAA+M,WhEkoWb5pD,EgEjoWV2pC,QAAMkT,EAAA+M,UACP,WACF,MAAA/M,GAAA+M,YhEooWGrZ,EAAOzwC,GgEjoWR,YAAS,SAAOkoB,IACT,IhEioWEhoB,EgEjoWTzK,MAAOkM,QAAAumB,EAAA5yB,QACN4K,EAAAzK,MAAOpB,KAAA6zB,EAAA5yB,MACN4K,EAAAmpD,eACGnpD,EAAMmpD,gBAId,IAAIU,GAAYtZ,EACZ18C,OACFkI,SAAM,QACN+G,OAAI,WhEioWM,MgEhoWRkf,KAAsBnzB,MAAAiG,SAAAkzB,EAAA5yB,MhEkoWlB2kB,GgEhoWPiO,EAAA5yB,KAAAy0D,KAGHtZ,EAAMzwC,GAAA,cAEJ,SAAAkoB,GACE,GAAI/uB,GAAC+G,EAAAzK,MAAAkM,QAAAumB,EAAA5yB,OACG,IAAN6D,IACD+G,EAAAzK,MAAA2D,OAAAD,EAAA,GAEM+G,EAAAmpD,eAEFnpD,EAASmpD,mBAMnBnpD,EAAA0kB,OAAA,mBACD92B,EAAAE,EAAA+U,QAAA7C,EAAAzK,SACHyK,EAAAzK,UAGDg7C,EAAA6Y,UAAA,YhEynWgB,KAAK,GAAI92D,GAAI,EAAGA,EAAI0N,EAAMzK,MAAM/C,OAAQF,IACpCi+C,EAAO6Y,UAAU,MAAOppD,EAAMzK,MAAMjD,MAEzC,KgEhvWQ,GAAA3E,GAAAD,EAAA,IACiBE,EAAAF,EAAAG,EAAAF,GACDo0B,EAAAr0B,EAAA,IACUs0B,EAAAt0B,EAAAG,EAAAk0B,GAEzBijC,EAAOt3D,EAAA,GACvBq7D,EAAAr7D,EAAA,KACMo8D,EAA2Bp8D,EAAA,IACEA,GAAAG,EAAAi8D,ECR3C9E,GAAA,EAAArhD,UAAA,mBAAAqlD,GjEqvWAhE,EAA4D,EAAErhD,UAAU,qBAAsBslD,IiE/uW9F,SAAAz7D,EAAAiS,IAEA,SAAKqpC,GACL,YAuBA,SAAAihB,GAAA3tD,EAAAhO,GACAS,KAAAm7D,cAEAn7D,KAAAo8C,SAAAnC,EAAA1sC,GACAvN,KAAAo8C,SAAAhO,OAEApuC,KAAAy6D,WAAAl7D,EAAAk7D,YAAA,UjEqvWIz6D,KAAKo7D,SAAgC,WAApB7tD,EAAQ8tD,QiEnvW7Br7D,KAAAs7D,SAAAt7D,KAAAo7D,UAAA7tD,EAAAguD,aAAA,YACAv7D,KAAAw7D,YAAAj8D,KAAAm7D,UjEqvWI16D,KAAKy7D,gBAAkBluD,EAAQguD,aAAa,eAAiBv7D,KAAKo8C,SAASpB,KAAK,eAAiB,GiElvWrGh7C,KAAA07D,WAAAzhB,EAAA,2CjEqvWIj6C,KAAKm1D,OAASlb,EAAE,+BAAiCj6C,KAAKy6D,WAAa,8BAAgCz6D,KAAKy7D,gBAAkB,OAAO3e,SAAS98C,KAAK07D,YiElvWnJ17D,KAAAo8C,SAAAoX,MAAAxzD,KAAA07D,YAEA17D,KAAA27D,MAAAp8D,GAsaA,QAAAq8D,GAAiCr8D,EAAAkB,GACjC,qBAAAlB,GAAAkB,GAAA,CACA,GAAAo7D,GAAAt8D,EAAAkB,EACAlB,GAAAkB,GAAA,SAAA8F,GAAA,MAAAA,GAAAs1D,KAGA,QAAAC,GAAAv8D,EAAAkB,GACA,qBAAAlB,GAAAkB,GAAA,CACA,GAAAG,GAAArB,EAAAkB,EACAlB,GAAAkB,GAAA,iBAAAG,KAOA,QAAAm7D,GAAAn7D,GACA,MAAAA,GACAo7D,EAAA/1D,KAAArF,GAAAk/C,OAEA,GAQA,QAAAmc,GAAAC,GACA,GAAAC,GAAA,CACA,IAAAz5D,SAAA05D,UAAA,CjEqvWMF,EAAOzgB,OiEnvWb,IAAA4gB,GAAA35D,SAAA05D,UAAAE,aACAD,GAAAE,UAAA,aAAAL,EAAAt7D,MAAA+C,QACAw4D,EAAAE,EAAAp2D,KAAAtC,YACAu4D,EAAAM,gBAAA,KAAAN,EAAAM,kBACAL,EAAAD,EAAAM,eAEG,UAlfH,GAAKC,IACL3B,SAAA,SAAAv0D,GACA,0BAEAm0D,UAAA,SAAAn0D,GACA,MAAAA,KAAA0W,WAAA1W,GAEAq0D,SAAA,SAAAr0D,GjEqvWM,MAAOvG,MAAK06D,UAAUn0D,IiElvW5Bm2D,WAAA,EACAC,YAAAl6D,GACAm6D,aAAA,IACAC,YAAA,SAAAt2D,EAAAu2D,GjEqvWMA,EAAK1uB,OAAO2uB,UA2BhB7B,GAAU36D,WiEnvWZ4L,YAAA+uD,EjE0vWIjqC,IAAK,SAAS1qB,EAAMy2D,GiEnvWxB,GAAAv1D,GAAAzH,IAEA,MAAAyH,EAAAlI,QAAAo9D,SAAAl1D,EAAA0zD,WAAAx3D,QAAA8D,EAAAlI,QAAAo9D,YAIA,IAAAp2D,MAAA,CAIA,mBAAAA,KAAAkB,EAAA+zD,YjEqvWQ,KAAK,oDiEjvWb,KAAAj1D,EAAA0W,WAAArD,MAAA,UAOA,GjEivWUnS,EAAK2zD,WAAa3zD,EAAK6zD,UAAY7zD,EAAK0zD,WAAWx3D,OAAS,GiEnvWtE8D,EAAAupB,OAAAvpB,EAAA0zD,WAAA,IAEA,gBAAA50D,IAAA,UAAAvG,KAAAo8C,SAAA,GAAAif,QAAA,CACA,GAAAlzD,GAAA5B,EAAA+jC,MAAA,IACA,IAAAniC,EAAAxE,OAAA,GjEqvWU,IAAK,GAAIF,GAAI,EAAGA,EAAI0E,EAAMxE,OAAQF,IiEnvW5CzD,KAAAixB,IAAA9oB,EAAA1E,IAAA,EAKA,ajEkvWeu5D,GiEnvWfv1D,EAAAw1D,YAKA,GAAAvC,GAAAjzD,EAAAlI,QAAAm7D,UAAAn0D,GACAq0D,EAAAnzD,EAAAlI,QAAAq7D,SAAAr0D,GACAu0D,EAAArzD,EAAAlI,QAAAu7D,SAAAv0D,GjEuvWU22D,EAAWjjB,EAAE8H,KAAKt6C,EAAK0zD,WAAY,SAAS50D,GAAQ,MAAOkB,GAAKlI,QAAQm7D,UAAUn0D,KAAUm0D,IAAe,EiEnvWrH,IAAAwC,GjEsvWQ,GAAIz1D,EAAKlI,QAAQs9D,YAAa,CiEnvWtC,GAAAM,GAAAljB,EAAA,OAAAxyC,EAAAi0D,YAAAznD,OAAA,iBAAAgmC,GAAAj6C,MAAAgR,KAAA,UAAAksD,GACAz1D,GAAAlI,QAAAs9D,YAAAt2D,EAAA42D,QAJA,CAUA11D,EAAA0zD,WAAA71D,KAAAiB,EAGA,IAAAu2D,GAAA7iB,EAAA,oBAAA8hB,EAAAjB,GAAA,KAAAiB,EAAAnB,GAAA,0CjE0vWM,IiEzvWNkC,EAAA9rD,KAAA,OAAAzK,GACAkB,EAAA21D,mBAAAC,OAAAP,GjEqvWMA,EAAKtJ,MAAM,KAGP/rD,EAAK2zD,WAAanhB,EAAE,iBAAmBxwB,OAAOixC,GAAa,KAAKjzD,EAAK20C,UAAU,GAAI,CiEnvW7F,GAAAkhB,GAAArjB,EAAA,oBAAA8hB,EAAAnB,GAAA,YACA0C,GAAAtsD,KAAA,OAAAzK,GACA+2D,EAAAtiB,KAAA,QAAA0f,GjEqvWQjzD,EAAK20C,SAASmX,OAAO+J,GAGlBN,GiEnvWXv1D,EAAAw1D,UAGAx1D,EAAAlI,QAAAo9D,UAAAl1D,EAAA0zD,WAAAx3D,QACA8D,EAAAi0D,WAAAlnC,SAAA,2BjEsvWM/sB,EAAK20C,SAASO,QAAQ1C,EAAEyC,MAAM,aAAen2C,KAAMA,SAOrDyqB,OAAQ,SAASzqB,EAAMy2D,GiEnvW3B,GAAAv1D,GAAAzH,IAEAyH,GAAA+zD,cAEAj1D,EADA,gBAAAA,GACA0zC,EAAA8H,KAAAt6C,EAAA0zD,WAAA,SAAArlB,GAAA,MAAAruC,GAAAlI,QAAAm7D,UAAA5kB,IAAAruC,EAAAlI,QAAAm7D,UAAAn0D,KAAA,GAEA0zC,EAAA8H,KAAAt6C,EAAA0zD,WAAA,SAAArlB,GAAA,MAAAruC,GAAAlI,QAAAm7D,UAAA5kB,IAAAvvC,IAAA,IAGAA,IACA0zC,EAAA,OAAAxyC,EAAAi0D,YAAAznD,OAAA,iBAAAgmC,GAAAj6C,MAAAgR,KAAA,UAAAzK,IAAAyqB,SACAipB,EAAA,SAAAxyC,EAAA20C,UAAAnoC,OAAA,iBAAAgmC,GAAAj6C,MAAAgR,KAAA,UAAAzK,IAAAyqB,SjEqvWQvpB,EAAK0zD,WAAW9wD,OAAO4vC,EAAE+I,QAAQz8C,EAAMkB,EAAK0zD,YAAa,IAGtD6B,GiEnvWXv1D,EAAAw1D,UAGAx1D,EAAAlI,QAAAo9D,QAAAl1D,EAAA0zD,WAAAx3D,QACA8D,EAAAi0D,WAAA9gB,YAAA,2BAEAnzC,EAAA20C,SAAAO,QAAA1C,EAAAyC,MAAA,eAAAn2C,WAMAg3D,UAAA,WjEqvWM,GAAI91D,GAAOzH,IiE/uWjB,KAHAi6C,EAAA,OAAAxyC,EAAAi0D,YAAA1qC,SACKipB,EAAA,SAAAxyC,EAAA20C,UAAAprB,SAELvpB,EAAA0zD,WAAAx3D,OAAA,GACA8D,EAAA0zD,WAAA/1D,KAEAqC,GAAAw1D,UAEAx1D,EAAAlI,QAAAo9D,UAAA38D,KAAAw9D,aACAx9D,KAAAmuC,UAOAjf,QAAA,WACA,GAAAznB,GAAAzH,IACAi6C,GAAA,OAAAxyC,EAAAi0D,YAAAn0B,KAAA,WACA,GAAAu1B,GAAA7iB,EAAAj6C,MACAuG,EAAAu2D,EAAA9rD,KAAA,QACW0pD,EAAAjzD,EAAAlI,QAAAm7D,UAAAn0D,GjEqvWCq0D,EAAWnzD,EAAKlI,QAAQq7D,SAASr0D,GiEnvW7Cu0D,EAAArzD,EAAAlI,QAAAu7D,SAAAv0D,EASA,IANAu2D,EAAA9hB,KAAA,cACO8hB,EAAAtoC,SAAA,OAAAunC,EAAAjB,IACFgC,EAAA9G,WAAA/hD,OAAA,WjEqvWO,MAAwB,IAAjBjU,KAAKy9D,WiEnvWxB,GAAAC,UAAA3B,EAAAnB,GAEAnzD,EAAA2zD,SAAA,CACAnhB,EAAA,SAAAxyC,EAAA20C,UAAAnoC,OAAA,iBAAAgmC,GAAAj6C,MAAAgR,KAAA,UAAAzK,IACAy0C,KAAA,QAAA0f,OAQAvyD,MAAA,WACA,MAAAnI,MAAAm7D,YAOA8B,QAAA,WACA,GAAAx1D,GAAAzH,KACAuxB,EAAA0oB,EAAA3zC,IAAAmB,EAAAU,QAAA,SAAA5B,GACA,MAAAkB,GAAAlI,QAAAm7D,UAAAn0D,GAAA0W,YAGAxV,GAAA20C,SAAA7qB,OAAA,GAAgCorB,QAAA,WjE0vW5Bgf,MAAO,SAASp8D,GiEnvWpB,GAAAkI,GAAAzH,IAEAyH,GAAAlI,QAAA06C,EAAAl6C,UAAA08D,EAAAl9D,EjEqvWM,IAAI0hD,GAAYx5C,EAAKlI,QAAQ0hD,aiEjvWnCx5C,GAAA+zD,cjEqvWQ/zD,EAAKlI,QAAQm9D,WAAY,GiElvWjCd,EAAAn0D,EAAAlI,QAAA,ajEqvWMq8D,EAAuBn0D,EAAKlI,QAAS,YiEnvW3Cq8D,EAAAn0D,EAAAlI,QAAA,YAGAkI,EAAAlI,QAAAggC,SjEqvWQ0hB,EAAU1hB,OAAS93B,EAAKlI,QAAQggC,QiElvWxC0hB,EAAA1hB,QAAA0a,EAAAnW,GAAAmd,YACA6a,EAAA7a,EAAA,UAEAx5C,EAAA0tD,OAAAlU,WACA1hB,OAAA,SAAApJ,EAAA2rB,GACA,QAAA6b,GAAAx1D,GAGA,OjEkvWkBy1D,MiElvWlBn6D,EAAA,EAAAA,EAAA0E,EAAAxE,OAAAF,IAAA,CACA,GAAAwC,GAAAwB,EAAAlI,QAAAq7D,SAAAzyD,EAAA1E,GjEqvWgB6C,GAAIL,GAAQkC,EAAM1E,GiEnvWlCm6D,EAAAt4D,KAAAW,GAEA67C,EAAA8b,GAGA59D,KAAAsG,MACA,IAAAA,GAAAtG,KAAAsG,IACA0K,EAAAiwC,EAAA1hB,OAAApJ,EAEA8jB,GAAAxhB,WAAAznB,EAAA6sD,SAEW7sD,EAAA6sD,QAAAF,GAGA1jB,EAAAga,KAAAjjD,GACXkpB,KAAAyjC,IAGAtc,QAAA,SAAAp7C,GACAwB,EAAAwpB,IAAAjxB,KAAAsG,IAAAL,KAEAi7C,QAAA,SAAAj7C,GACS,WAAAA,EAAAgP,cAAArC,QAAA5S,KAAAm2B,MAAAqU,OAAAv1B,gBjEsvWCksC,OAAQ,SAAUyc,GiEnvW5B,MAAAA,GAAAh0D,QAEOw3C,YAAA,SAAAn7C,GjEqvWK,GAAI4hB,GAAQ,GAAItV,QAAQ,IAAMvS,KAAKm2B,MAAQ,IAAK,KiEnvW5D,OAAAlwB,GAAAqM,QAAAuV,EAAA,2BAKApgB,EAAOi0D,WAAAzqD,GAAA,QAAAgpC,EAAAqC,MAAA,SAAAnjB,GjEqvWC1xB,EAAK0tD,OAAO1Z,SiEnvWpBh0C,IAEAA,EAAAi0D,WAAAzqD,GAAA,eAAAgpC,EAAAqC,MAAA,SAAAnjB,GjEqvWQ,GAAIg8B,GAASlb,EAAE9gB,EAAM7sB,OiEnvW7B7E,GAAAwpB,IAAAkkC,EAAA5jC,OACA4jC,EAAA5jC,IAAA,IACA4H,EAAAkC,kBACA5zB,IAEAA,EAAAi0D,WAAAzqD,GAAA,kBAAAgpC,EAAAqC,MAAA,SAAAnjB,GACA,GAAAg8B,GAAAlb,EAAA9gB,EAAA7sB,QACAwxD,EAAAr2D,EAAA21D,kBAEA,QAAAjkC,EAAA0iB,OAEA,OACA,OAAAogB,EAAA9G,EAAA,KACA,GAAA9S,GAAAyb,EAAAzb,MACAA,IACA56C,EAAAupB,OAAAqxB,EAAArxC,KAAA,SAGA,KAGA,SACA,OAAAirD,EAAA9G,EAAA,KACA,GAAAnwD,GAAA84D,EAAA94D,MACAA,IACAyC,EAAAupB,OAAAhsB,EAAAgM,KAAA,SAGA,KAGA,SAEA,GAAA+sD,GAAAD,EAAAzb,MACA,KAAA8S,EAAA5jC,MAAA5tB,QAAAo6D,EAAA,KACAA,EAAAV,OAAAS,GACA3I,EAAA1Z,QAEA,MAEA,SAEA,GAAAuiB,GAAAF,EAAA94D,MACA,KAAAmwD,EAAA5jC,MAAA5tB,QAAAq6D,EAAA,KACAA,EAAAxK,MAAAsK,GACA3I,EAAA1Z,QAEA,MjEqvWS,SiEjvWFh0C,EAAAlI,QAAAm9D,WAAAziB,EAAA+I,QAAA7pB,EAAA0iB,MAAAp0C,EAAAlI,QAAAq9D,cAAA,IjEqvWOn1D,EAAKwpB,IAAIkkC,EAAO5jC,OiEnvW9B4jC,EAAA5jC,IAAA,IACA4H,EAAAkC,kBjEyvWQ85B,EAAOna,KAAK,OAAQ1lC,KAAKqF,IAAI3a,KAAKi+D,UAAW9I,EAAO5jC,MAAM5tB,UiEnvWlE8D,IAGAA,EAAAi0D,WAAAzqD,GAAA,6BAAAgpC,EAAAqC,MAAA,SAAAnjB,GACA1xB,EAASupB,OAAAipB,EAAA9gB,EAAA7sB,QAAAs0C,QAAA,QAAA5vC,KAAA,SAETmoB,EAAAmC,mBACA7zB,IAGKA,EAAAlI,QAAAm7D,YAAA+B,EAAA/B,YjEqvWoC,UAA7BjzD,EAAK20C,SAAS,GAAGif,QiEnvW7B5zD,EAAAwpB,IAAAxpB,EAAA20C,SAAA7qB,OAEA0oB,EAAA,SAAAxyC,EAAA20C,UAAA7U,KAAA,WACA9/B,EAAAwpB,IAAAgpB,EAAAj6C,MAAAg7C,KAAA,iBASA7rB,QAAA,WACK,GAAA1nB,GAAAzH,IAGLyH,GAAAi0D,WAAAnqD,IAAA,oBACA9J,EAAAi0D,WAAAnqD,IAAA,yBAEA9J,EAAAi0D,WAAA1qC,SACKvpB,EAAA20C,SAAAoE,WAAA,ajEqvWC/4C,EAAK20C,SAAS3xB,QiE9uWpBgxB,MAAK,WjEqvWCz7C,KAAKm1D,OAAO1Z,SiE9uWlB4M,MAAA,WACA,MAAAroD,MAAAm1D,QjE2vWIiI,iBAAkB,WiEjvWtB,IAFA,GAAAc,GAAAl+D,KAAAm1D,OAAA,GACAhW,EAAAn/C,KAAA07D,WAAA,GACAwC,KAAA7d,aAAAlB,GACA+e,IAAA7d,UjEsvWM,OAAOpG,GAAEikB,KiE7uWfjkB,EAAAnW,GAAAy2B,UAAA,SAAA4D,EAAAC,GACA,GAAA3V,KjE6wWI,OiE3wWJzoD,MAAAunC,KAAA,WACA,GAAAgzB,GAAAtgB,EAAAj6C,MAAAgR,KAAA,YAGA,IAAAupD,EAWA,CAEK,GAAA8D,GAAA9D,EAAA4D,GAAAC,OACL37D,KAAA47D,GACA5V,EAAAnjD,KAAA+4D,OAdA9D,GAAA,GAAAW,GAAAl7D,KAAAm+D,GACOlkB,EAAAj6C,MAAAgR,KAAA,YAAAupD,GACP9R,EAAAnjD,KAAAi1D,GAEA,WAAAv6D,KAAAq7D,SACAphB,EAAA,SAAAA,EAAAj6C,OAAAg7C,KAAA,uBAIAf,EAAAj6C,MAAAuxB,IAAA0oB,EAAAj6C,MAAAuxB,SjE6vWwB,gBAAR4sC,GiElvWhB1V,EAAA9kD,OAAA,EAAA8kD,IAAA,GAEAA,GAIAxO,EAAAnW,GAAAy2B,UAAAte,YAAAif,CAsBA,IAAAc,GAAA/hB,EAAA,UjEkxWEA,GAAE,WACAA,EAAE,qEAAqEsgB,eAExEr6D,OAAOu6C,SkExvXN,SAAU97C,EAAAC,EAAAC,GlE+vXd,YA+FA,SAASy/D,GAAa/+D,GAClB,GAAIg/D,GAASv+D,IACbu+D,GAAOC,MAAM,WACTj/D,EAAQwc,MkEpuXJuV,QAAA,SAAAsV,GlEquXA23B,EAAOE,WkEpuXCC,SAAQ,GAAAC,GAAAJ,GlEquXZjqD,GkEnuXLsqD,EAAA,QAAAC,IAAAC,SAAA,UACDjxD,UAAe,6BACZmlB,UAAU,sGAMlB4T,EAAA3gC,KACJ,kBlEkuXmB3D,KAAM,WAEV1B,MAAOgmC,EAAIliC,KACXq6D,IAAKx/D,EAAQw/D,SACTn4B,EAAIpV,WkE52Xb,GAAAyoC,GAAAp7D,EAAA,GACO+/D,EAA0C//D,EAAE,KAClDmgE,EAAuBngE,EAAA,KlEiwX/BogE,GACA,WACA,SAAU/N,GACN,OACI//C,OAASlC,IAAK,IAAKiN,OkE5vXV,IAAKgjD,KAAA,IAAAX,OAAA,KlE6vXdpQ,KAAM,SAAUh9C,EkE5vXZ5D,GlE+vXA2jD,EAAS,WACL,GAAIiO,GAAM5xD,EkE5vXXL,WAAA,GlE6vXKqxD,EAASl7D,OkE5vXfu7D,EAAA,SAAAO,GlE6vXMC,SACId,cACIS,IkE5vXb,MlE6vXahjD,QkE1vXnB9V,KAAA,wFACAvB,MAAA,IAKauB,KAAK,qFACTvB,KAAY,OlEgwXdyM,GkE1vXNotD,OAACA,ElE2vXKxvC,QkE1vXTC,IAAA,kBAAA7d,EAAA+K,YAEiBzZ,KAAlB0O,EAAU+K,QACRqiD,EAAOttD,GAAC,aAAY,WAIZstD,EAASx1B,UACTs2B,MlE4vXAd,EkEvvXRttD,GAAK,OAAM,WlEwvXC8d,QkEvvXVC,IAAO,QlEwvXGswC,MAEJf,EkEtvXRttD,GAAI,QAAM,WlEuvXE8d,QkEtvXVC,IAAA,SlEuvXUuwC,qBkEtvXDC,IlEwvXH,IkEnuXjBA,GAnBSH,EAAY,WACZ,GAAAluD,EAAA+tD,KAAA,CAIE,GAAAO,GAAc,KAAAlB,EAAApyC,cAAAhb,EAAA+K,QAChB23B,GACA6rB,UAAY,GACZpxC,EAAAmxC,GAELnyD,GAAAumC,MAAA3rB,OAAAjd,IAAA,GAAA00D,aAAA,EAESX,GAAA,EAAAtxD,KAAA,cAAAJ,KAQdgyD,EAAA,WAEFE,EAAA/vC,sBAAA6vC,GAEAD,QAKInf,SAAc,uQlEgvXlB+Z,GkE5uXmC,EAAAnlD,UAAA,UAAAmqD,ElE8uXnC,IkE3uXEW,GAAShB,EAAA,QAAAiB,aAAA,UlE4uXPlB,EkE3uXAC,EAA8B,QAAA7+D,OAAA6/D,GlE4uX9BzzD,YkE3uXK,SAAcoyD,EAACh/D,GACpBqgE,EAAA97D,KAAA9D,KAAAu+D,EAAAh/D,GACAS,KAAIu+D,OAAOA,EACXv+D,KAAK8/D,UAAO,EAAAvgE,EAAiBw/D,IAC9B/+D,KAAA+/D,UAAAxgE,EAAAqB,MACAZ,KAAAiR,GAAA,QAAAjR,KAAAk5B,UAGDA,QAAI,WAGFl5B,KAAAu+D,OAAQyB,OlE2uXJ,IAAIC,GkExuXAjgE,KAAE8/D,UAAA9/D,KAAA+/D,SlEyuXN//D,MAAKu+D,OkEtuXCpyC,YAAWnsB,KAAAu+D,OAAApyC,cAA4B8zC,KlE8vXrDrB,GAAgD,QAAEsB,eAAe,eAAgB5B,IAIxE,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACC,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEJ,SAAU3/D,EAAQC,EAAqBC,GmE/5XtB,YnEunYvB,SAASshE,GmE53XMrP,EAAYxN,EAAA4N,EAAA57B,GnE63XvB,OACInkB,OmE33XA89B,SAAQ,IAAOmxB,UAAA,KnE43XfrS,YmE33XA,+CnE43XA1U,WmE13XA,0BnE23XA6U,amE13XA,KnE23XAmS,kBmEz3XU,EnE03XVlS,KAAM,SmEv3XJh9C,EACAwiB,GnE03XE,QmEr3XJ2sC,KACAC,EAAOvhB,IAAI,QAAS1pC,KAAAqF,IAAA6lD,EAAajhB,QAAA,UAClCghB,EAAA91C,OAED+1C,EAASpyB,OACPmyB,EAAQ9kB,QnEq3XAyV,EmEp3XD,WnEq3XKuP,EmEp3XRxvD,GAAM,QAAGyvD,InEq3XF,GmEp3XP,GAEN,QAACvJ,KAEDoJ,EAAYnyB,OACVoyB,EAAI/1C,OnEo3XIg2C,EmEn3XNlvD,IAAA,QAAemvD,GnEq3Xb,QmEp3XGA,GAAAn7D,GACU,IAAfouB,EAAA9Z,IAAAtU,EAAA+G,QAAe3I,QAChBwN,EAAA4lB,OAAA,WACA5lB,EAAAwvD,GAAAC,kBAtBH,GAACH,GAAA1hE,EAAAE,EAAAsO,QAAA+1C,EAAA5gD,SAAA6B,MAEDi8D,EAAS7sC,EAAAjrB,KAAY,wBACnB63D,EAAQ5sC,EAAOjrB,KAAA,QAyBjByI,GAAM0kB,OAAI,qBAAY,SAAA8+B,GACpBA,EACC2L,IAILnJ,KAIJ,IAAA0J,GAAAvrC,EAAAhkB,IAAA,kCAAqB,WnEi3XLH,EAAMwvD,GAAGG,kBAEb3vD,GAAMG,IAAI,WAAY,WAClBuvD,MAEJ1vD,EAAMwvD,GAAGtrC,SAhQrB8qC,EmEl5XEjK,SAAA,WAAsB,sCAAAp3D,GAAAD,EAAA,IAAAE,EAAAF,EAAAG,EAAAF,GAAIwC,EAAAzC,EAAA,GAE1B0C,EAAA1C,EAAAG,EAAAsC,GAuBC60D,EAAAt3D,EAAA,GnEi4XCkiE,EmEn5XsB,WnEs5XtB,QmEl5XEA,GAAAjN,GnEm5XE9zD,KAAK8zD,GmEl5XLA,EnEolYJ,MApMAiN,GmEl5XkB7K,SAAS,MnEs5X3B6K,EmEl5XKxgE,UAAAkqB,KAAA,WnEm5XD,GmEl5XFrZ,GAAGpR,InEm5XDA,MmEl5XFghE,gBAAWhhE,KAAAivC,SAAArjB,QAAA3lB,KACbjG,KAAGihE,gBAAA,EAEHjhE,KAAKT,QAASS,KAAAivC,SAAA1vC,QnEk5XVS,KmEj5XFkhE,eAAS3/D,EAAAtC,EAAAgV,OAAAjU,KAAAT,SAAAi0C,UAAA,InEk5XPxzC,KmEj5XF4sC,KAAOrrC,EAA8CtC,EAAAqH,IAAMtG,KAAEivC,SAAMrC,KAAA,SAAAhsC,GACnE,GAAAu+D,IAAAl5D,KAAArF,EAAA4yC,UAAA,EASA,OAPEjyC,GAAwBtC,EAAAsoC,KAAAn2B,EAAA69B,SAAArjB,QAAAghB,KAAA,SAAAu0B,GAC7BA,EAAAl7D,OAAArF,IAEDu+D,EAAAgC,KAIIhC,InEg5XEn/D,KAAK65B,QACD1D,MAAO,GACP52B,QmE94XHS,KAAAT,QAAAsT,MAAA,EAAAyC,KAAA4T,IAAAlpB,KAAAT,QAAAoE,OAAA,OnEg5XD3D,KAAKohE,iBmE94XO,GnEg5XhBL,EmE94XQxgE,UAAaugE,eAAA,WnE+4XjB,GAAIl1C,GmE94XD5rB,KAAAivC,SAAArjB,OnE+4XH,IAAIA,EmE94XHghB,MAAAhhB,EAAAghB,KAAAjpC,OAAA,CAEH,GAAG09D,GAAA9/D,EAAAtC,EAAAgV,OAAAjU,KAAAivC,SAAA1vC,QAAA,SAAAi8B,GAEH,IAAAA,EAAAgY,SACI,QAGA,KAAC,GAAQ/vC,GAAG,EAAAA,EAAAmoB,EAAaghB,KAAKjpC,OAAOF,IAAA,CACjC,GAAC07D,GAASvzC,EAAMghB,KAAMnpC,EACxB,KAAmB,IAAlBlC,EAAkBtC,EAAA2T,QAAAusD,EAAAmC,OAAA9lC,EAAA56B,OACxB,SAEG,OAAC,IAIT2gE,EAAAhgE,EAAAtC,EAAAqH,IAAA+6D,EAAA,OAEIrhE,MAAAq1D,SAAekM,EAASnpD,KAAA,OACvBpY,KAAAq1D,SAAA1xD,OAAA,IAEE3D,KAAAq1D,UAAkB,WAInBr1D,MAAAq1D,SAAgBr1D,KAAAivC,SAASrjB,QAAA3lB,MnE84X7B86D,EmE34XkBxgE,UAAQihE,gBAAS,WnE44X/BjgE,EmE34XHtC,EAAAsoC,KAAAvnC,KAAAT,QAAA,SAAAi8B,GnE44XOA,EmE54XDgY,UAAA,InE84XHxzC,KmE54XHyhE,mBAAA,InE84XDV,EmE34XexgE,UAAOmhE,UAAA,SAAAvC,GnE44XlB,GmE34XF/tD,GAAIpR,InE44XFm/D,GmE34XF3rB,UAAA2rB,EAAA3rB,QnE44XE,IAAImuB,EmEr4XLA,GnEs4XMxC,EAAImC,OmEt4XVthE,KAAA8zD,GAAAG,KAAAkL,EAAAmC,QAJEthE,KAAAivC,SAAA2yB,gBAAAzC,EAAAl5D,MAOP07D,EAAAznC,KAAA,SAAAonC,GACMnC,EAAImC,OAAOA,EACbnC,EAAI0C,WAAQP,EAAAlpD,KAAA,OACb7W,EAAAtC,EAAAsoC,KAAAn2B,EAAA7R,QAAA,SAAAi8B,IACuB,IAAhBj6B,EAAgBtC,EAAA2T,QAAAusD,EAAAmC,OAAA9lC,EAAA56B,SACjB46B,EAAAgY,SAAiB2rB,EAAA3rB,YAGtBpiC,EAAKqwD,mBAAkB,MnE44XzBV,EmEz4XkBxgE,UAAQuhE,QAAY,SAAEx0D,GAC/B,KnEy4XDA,EmEz4XJsuC,SnE04XI57C,KmEz4XLouC,OACM,KnE04XD9gC,EmE14XJsuC,SnE24XI57C,KmE14XL+hE,cAAA,GAEiB,KAAhBz0D,EAAIsuC,SACN57C,KAAK+hE,eAAY,GAEpB,KAAAz0D,EAAAsuC,UAED,IAAA57C,KAAA65B,OAAAt6B,QAAAoE,OACO3D,KAAA4gE,gBAGP5gE,KAAAgiE,YAmCChiE,KAAA65B,OAAAt6B,QAAAS,KAAAihE,oBAAA,OAhCE,KAAA3zD,EAAAsuC,SAED57C,KAAOgiE,YAAWhiE,KAAK65B,OAASt6B,QAASS,KAAAihE,oBAAuB,OnE24XhEF,EmEt4XIxgE,UAAwBwhE,cAAQ,SAAAnV,GnEu4XhC5sD,KmEt4XFihE,gBAAAjhE,KAAAihE,eAAArU,GAAO5sD,KAAK65B,OAAOt6B,QAAEoE,QnEw4XvBo9D,EmEt4XYxgE,UAAWyhE,YAAS,SAAAxmC,EAAArC,EAAA8oC,EAAAC,GnEu4X5B,GAAI9wD,GmEt4XHpR,InEu4XD,ImEt4XDw7B,EnEs4XC,CmEl4XJA,EAAIgY,UAAcxzC,KAAAivC,SAAAt4B,QAAA6kB,EAAAgY,SnEs4XdyuB,EmEr4XKA,IAAgB,EnEs4XrBC,EmEr4XHA,IAAA,CAED,IAAIC,GAAqB,SAAIxN,GAC3BpzD,EAA6BtC,EAAAsoC,KAAAn2B,EAAA7R,QAAA,SAAAu2C,GAC7Bta,IAAmBsa,IACpBA,EAAAtC,SAAAmhB,KnEy4XOsN,KmEr4XNzmC,EAAAgY,UAAe,GAEhB,QAAAhY,EAAAv1B,MAAAi8D,GAEGC,GAAmB,GACxBF,GAAA,GAEDjiE,KAAAivC,SAiCCt4B,OA5BKwiB,EAAKy0B,SAAAz0B,EAAkBipC,SAAWjpC,EAAM2pB,YnEq4XpCmf,GmEp4XC,EnEq4XDE,GmEp4XL,KANCA,GAAkB,GAElBF,GAAK,GAOTjiE,KAAAyhE,kBAAAQ,KnEq4XAlB,EmEn4XkBxgE,UAAEkhE,kBAAA,SAAAQ,GnEo4XhB,GAAI7wD,GmEn4XJpR,InEo4XAA,MAAKkhE,emEn4XE3/D,EAAEtC,EAAKgV,OAAKjU,KAAAT,SAAgBi0C,UAAS,InEo4XxCxzC,KAAKkhE,emEn4XDv9D,OAAW,GAChB,QnEm4XK3D,KmEn4XLkhE,eAAA,GAAAj7D,OACHjG,KAAGkhE,eAAA,GAAA1tB,UAAA,EACJxzC,KAAAkhE,eAAAlhE,KAAAkhE,eAAAruD,MAAA,EAAA7S,KAAAkhE,eAAAv9D,SAKHpC,EAA6BtC,EAAAsoC,KAAAvnC,KAAA4sC,KAAA,SAAAuyB,GACxBA,EAAA3rB,UAEAjyC,EAAqBtC,EAAAsoC,KAAA43B,EAAAmC,OAAA,SAAA1gE,GACXW,EAA6CtC,EAACyJ,KAAA0I,EAAA8vD,gBAAAtgE,YAC5Du+D,EAAA3rB,UAAA,OAOHxzC,KAAAqiE,aAAA9gE,EAAAtC,EAAAgV,OAAAjU,KAAA4sC,MAAA4G,UAAA,IACExzC,KAAAivC,SAAArjB,QAAAhrB,MAAAW,EAAoDtC,EAAAqH,IAAAtG,KAAAkhE,eAAA,SACpDlhE,KAAIivC,SAAKrjB,QAAO3lB,KAAQ1E,EAA8CtC,EAAAqH,IAAAtG,KAAAkhE,eAAA,QAAA9oD,KAAA,OnEg4XlEpY,KmE/3XFivC,SAAKrjB,QAASghB,KAAU5sC,KAAMqiE,aAC/BriE,KAAAivC,SAAAt4B,QnEg4XO3W,KmEh4XGivC,SAAKrjB,QAAAhrB,MAAeZ,KAAMkhE,eAAQ,GAAAtgE,OAE3CqhE,GACAjiE,KAAK4gE,iBnEm4XPG,EmE/3XmBxgE,UAAGqgE,cAAA,WAGH,IAAjB5gE,KAAK65B,OAAAt6B,QAAYoE,QAAA3D,KAAA65B,OAAA1D,MAAAxyB,OAAA,EAClB3D,KAAAivC,SAAArjB,SAAA3lB,KAAAjG,KAAA65B,OAAA1D,MAAAv1B,MAAAZ,KAAA65B,OAAA1D,OAGH,IAAAn2B,KAAAkhE,eAAAv9D,SACM3D,KAACT,QAAA,GAAci0C,UAAM,EACrBxzC,KAACyhE,mBAAiB,IAEtBzhE,KAAGohE,iBAAA,EAEHphE,KAAK8gE,iBACN9gE,KAAAivC,SAAArjB,QAAA3lB,OAAAjG,KAAAghE,iBAEDhhE,KAAAogE,aAGAW,EAACxgE,UAAA+hE,aAAA,WACH,GAAAlxD,GAAApR,IAACA,MAAAihE,gBAAA,EnE83XOjhE,KAAK65B,OAAOt6B,QAAUgC,EAA6CtC,EAAEgV,OAAOjU,KAAKT,QAAS,SAAUi8B,GmE53X5G,OAAgB,IAAAA,EAAAv1B,KAAAgP,cAAArC,QAAAxB,EAAAyoB,OAAA1D,MAAAlhB,iBAEdjV,KAAO65B,OAAAt6B,QAAAS,KAAA65B,OAAAt6B,QAAAsT,MAAA,EAAAyC,KAAA4T,IAAAlpB,KAAA65B,OAAAt6B,QAAAoE,OAAA,OnE+3XLo9D,EmE73XaxgE,UAAA80B,KAAA,WACbr1B,KAAAqiE,aAAYriE,KAAAivC,SAAArjB,QAAyBghB,SACrC5sC,KAAA8gE,kBAEAC,InEm7XJ5K,GAA4D,EAAE9c,WAAW,0BAA2B0nB,GoE1qY7E5K,EAAA,EAAArhD,UAAA,sBAAAqrD,IAMrB,SAAIxhE,EAAWC,EAAAC,GpE4qYjB,YAOA,SoExqYE0jE,GAAiBC,GAKjB,OADFC,GAHCxgC,EAAAugC,EAAA,GAEDE,EAAiBF,IAAA7+D,OAAA,GAERF,EAAA,EAAAw+B,IAAAygC,IAAAzgC,IAAA0gC,aAAAl/D,KACLg/D,GAAkBD,EAAA/+D,KAAAw+B,KACVwgC,IACRA,EAAgBxtC,OAAApiB,MAAA/O,KAAA0+D,EAAA,EAAA/+D,KAEhBg/D,EAAan9D,KAAA28B,GpE0qYb,OAAOwgC,IoEtqYID,EpEyqYf,QAASI,GoEtqYCC,GpEuqYN,OACIC,coEtqYI,EpEuqYJC,UAAU,EACVrP,YoEtqYE,EpEuqYFiG,SoEtqYC,IpEuqYD7L,SoEtqYA,IpEuqYAK,KAAM,SoEtqYJh9C,EAAAwiB,EAAgBq6B,EAAGM,EAAAoF,GpEwqYjB,QAASmN,KoErqYXmC,IACAA,EAAahyC,SACdgyC,EAAA,MAGGC,IACAA,EAAUzO,WACZyO,EAAU,MAGRC,IACFF,EAAWT,EAAgBW,EAAQj5B,OpEqqYzB44B,EoEpqYR5kB,MAAU+kB,GAAY9oC,KAAA,WACtB8oC,EAAkB,OpEsqYVE,EoEpqYR,MpEqpYA,GAAIA,GoEtqYND,EAAeD,CpEwrYb7xD,GAAM0kB,OoErqYHm4B,EAAA5/B,SAAA,SAAAxtB,EAAAoxD,GACLiR,GAAUriE,IAAAoxD,GACX6O,IAEJoC,IAAAriE,IAAAotD,EAAAmV,SpE8qYetC,IoE7qYhBnN,EAAA,SAAAzpB,EAAAm5B,GACHH,EAAAG,EAEDn5B,IAAAtmC,UAAAjB,SAAA2gE,cAAoB,2BpEqqYIH,GAAUj5B,MAAOA,GACjB44B,EAAS7kB,MAAM/T,EAAOtW,EAAKoQ,SAAUpQ,SAvD7DivC,EoEzqYQ1M,SAAU,WAAG,IAAAlhC,GAAKn2B,EAAuB,IAC1Co2B,EAAAp2B,EAAAG,EAAAg2B,EACqBn2B,GAAA,GCTA,EAAAiW,UAAA,kBAAA8tD,IrEsvYtB,SqE9uYIjkE,EAAOC,EAAAC,GrEgvYjB,YqE7uY0BA,GAAA,GAEa,EAAAiW,UAAA,uBrE+uYnC,MAAO,UqE9uYC3D,EAAO5D,EAAUygD,GrE+uYrBzgD,EAAQuuC,MqE9uYJ,SAAMv2C,GrE+uYNA,EAAE+1B,oBqE5uYRnqB,EACA0kB,OACAm4B,EAAAsV,UAAA,SAAA3O,GACFA,GrE+uYQv+B,WAAW,WACP7oB,EAAQkuC,OACR,IAAI8nB,GAAQh2D,EAAQ,EACpB,IAAIg2D,EAAMC,kBAAmB,CACzB,GAAI3vB,GAA6B,EAAvBtmC,EAAQgkB,MAAM5tB,MACxB4/D,GAAMC,kBAAkB3vB,EAAKA,KAElC,OACJ,OsE7wYX,SAAAl1C,EAAAC,EAAAC,GtEuxYA,YAqCA,SsEnxYsCitB,KtEoxYlC,OsEpxYuEutB,WAAAoqB,EAEzEnxD,SAAA,EAAAw7C,SAAA,KA4BF,QAAA4V,KtEqxYI,OACIrqB,WAAYsqB,EACZzV,aAAc,OACd57C,SAAS,EACTw7C,SAAU,IACV38C,OACIyyD,KAAM,eACNzV,KAAM,YACN0V,WAAY,KAEhB3jB,SAAU,wGsE/1YN,GAACphD,GAAuCD,EAAA,IAC7CE,EAAAF,EAAAG,EAAAF,GACDglE,EAAAjlE,EAAA,GtEwxYF4kE,EsEnxYkB,WtEsxYlB,QsEnxYEA,GAAWnuC,GtEoxYT,GsEnxYFlkB,GAAOpR,ItEoxYLA,MsEnxYFs1B,YAEF,IAAIyuC,GAAiB,SAACC,GACvB,IAAAA,EAAArgE,QAEDyN,EAAAkkB,WAAA2uC,SAAA,mBAGFjkE,MAAAkkE,SAAC,GAAAC,kBAAAJ,EAAA,IAAAK,ItEmxYWC,YAAY,EsEjxYRC,iBAAK,SACZC,eAAA,EACLC,WAAY,EACZC,SAAS,EAETzkE,MAAAkkE,SAAAQ,QAAA3lE,EAAAE,EAAAsO,QAAA,kBAAA62D,GAMF,MtE2vYEX,GsEnxYEvN,SAAa,cAoBnBuN,EAAAljE,UAAAokE,WAAA,WAEA3kE,KAAAkkE,SAAAU,cAEEnB,ItE2xYFK,GsEpxYqC,EAAAhvD,UAAA,YAAAgX,EtEsxYrC,IAAI63C,GsEpxYE,WtEuxYF,QsEnxYGA,GAAAzsC,EAAA5B,EAAAuvC,GACJ7kE,KAAAk3B,SACHl3B,KAAAs1B,WAACA,EAAAt1B,KAAA6kE,gBtEiyYG,MAjBAlB,GsEnxYEzN,SAAc,SAAW,aAAI,iBAK7ByN,EAAkBpjE,UAAAukE,SAAA,SAAAlB,GACtB,GACEvyD,GADKD,EAAApR,KAEL+kE,EAAY,WACZ3zD,EAASyzD,cAAI,IAAAjB,GACbvyD,ItEsxYIrR,MsEpxYFk3B,OAAM2sC,aAAc3pC,KAAA,WACpB7oB,EAAMD,EAAAkkB,WAAWhkB,IAAA,kBAAAyzD,EAAAxyC,KAAAnhB,OAGnBuyD,ICvEmBG,GAAA,EAAAhvD,UAAA,eAAA4uD,IAOrB,SAAY/kE,EAAGC,EAAAC,GvE42YjB,YuEx2YkB,IAAIm2B,GAAMn2B,EAAA,IACjBo2B,EAASp2B,EAAoBG,EAAKg2B,GAExBE,EAAAr2B,EAAA,IACHs2B,EAAIt2B,EAEdG,EAAOk2B,GAEA/L,EAA4BtqB,EAAA,GAErC6pB,EAAc7pB,EAASG,EAAAmqB,GvEw2YzB67C,EAAO/vC,IuEn2YiB/0B,OvEo2Y5B+0B,GuEn2YqBh2B,EAAA6kC,GAAAmhC,SAAA,WvEo2YjB,GAAIzlE,IACA0c,OAAQ,EAEZ,OAAO,UuEn2YCoS,EAAAvpB,EAAAskB,GvEq2YJ,MADAA,GAAO4L,EuEn2YmCh2B,EAACc,QAAA,KAAAP,EAAA6pB,GvEo2YpCrpB,KAAKunC,KuEn2YN,WvEo2YF,GuEl2Y+BgY,GAAAp3B,EvEk2Y3B+8C,EuEl2YFjwC,IAA6Bj1B,KvEm2Y/BklE,GAAS1wC,SuEl2YP,mBvEm2YFS,IuEl2YsB,YAAAjE,SvEm2YtBk0C,EuEl2YCpoB,SAAAp6C,SAAA6B,MvEm2YG8kB,EuEl2YHmvC,SACNrjC,EAAAl2B,EAEOsO,QAAS7K,UACRyiE,WAEAprB,QACD,WACP,aACH,SAAA+W,EAAAx7B,GACC,GAAA8vC,GAAA9vC,EAAA0+B,MAAA,EvEi2YmBtrC,GAA6CzpB,EAAEc,OAAOqlE,EAAU/7C,EAAKg8C,WACrEvU,EAASoU,GAAUE,GACnBA,EAASE,UACTF,EAAS5Q,cwEp5YvBjV,EAAO2lB,EAAQK,YAAY,GACnCp9C,EAAe+8C,EAAAM,aAAA,GACdN,EAAAlmB,IAAA,OAAA1wB,EAAAjF,EAAAnN,OAAAqjC,EAAAylB,EAAAzlB,QAAAjxB,EAAAjF,EAAAnN,OAAAqjC,EAAAjxB,EAAAjF,EAAAnN,QxEy5YSgpD,EAASlmB,IAAI,MAAOj6C,EAAIskB,EAAKnN,OAASiM,EAAS68C,EAAK78C,SAAWpjB,EAAIskB,EAAKnN,OAASiM,EAASpjB,EAAIskB,EAAKnN,eyE15Y/G,SAAAvd,EAAAiS,EAAA/R,GAEA,GAAA4mE,GAAA5mE,EAAA,KACA4mE,GAAAp/D,OAAAirB,QAAA,SAAA7wB,GACAglE,EAAAhlE,MAMA,SAAA9B,EAAAiS,EAAA/R,GA4JA,QAAA6mE,GAAAC,GzEm6YC,MAAO9mE,GAAoB+mE,EAAsBD,IAElD,QAASC,GAAsBD,GAC9B,GAAI16D,GAAK3E,EAAIq/D,EACb,MAAK16D,EAAK,G0E/kZX,SAAAzB,OAAA,uBAAAm8D,EAAA,KACA,OAAA16D,GDaA,GAAA3E,IACAu/D,mCAAA,KACAC,6DAAA,KACAC,uCAAA,KACAC,uCAAA,KACAC,+CAAA,KACAC,2CAAA,KACAC,2CAAA,KACAC,4CAAA,KACAC,0CAAA,KACAC,2CAAA,KACAC,6CAAA,KACAC,0CAAA,KACAC,sCAAA,KACAC,0CAAA,KACAC,uCAAA,KACAC,uCAAA,KACAC,gDAAA,KACAC,8CAAA,KACAC,sDAAA,KACAC,uDAAA,KACAC,8CAAA,KACAC,oDAAA,KACAC,4CAAA,KACAC,gDAAA,KACAC,0DAAA,KACAC,sEAAA,KACAC,wDAAA,KACAC,4CAAA,KACAC,gEAAA,KACAC,mDAAA,KACAC,sDAAA,KACAC,oDAAA,KACAC,uDAAA,KACAC,wDAAA,KACAC,qDAAA,KACAC,+CAAA,KACAC,iDAAA,KACAC,gDAAA,KACAC,8CAAA,KACAC,4CAAA,KACAC,gDAAA,KACAC,kDAAA,KACAC,mCAAA,KACAC,uDAAA,KACAC,mDAAA,KACAC,2CAAA,KACAC,+CAAA,KACAC,2CAAA,KACAC,sCAAA,KACAC,sCAAA,KACAC,0CAAA,KACAC,0CAAA,KACAC,wCAAA,KACAC,uCAAA,KACAC,0CAAA,KACAC,4CAAA,KACAC,qCAAA,KACAC,6CAAA,KACAC,2CAAA,KACAC,kDAAA,KACAC,2CAAA,KACAC,oCAAA,KACAC,6CAAA,KACAC,oDAAA,KACAC,8CAAA,KACAC,kDAAA,KACAC,iDAAA,KACAC,2CAAA,KACAC,oDAAA,KACAC,2CAAA,KACAC,+CAAA,KACAC,+CAAA,KACAC,+CAAA,KACAC,uDAAA,KACAC,+CAAA,KACAC,+CAAA,KACAC,8CAAA,KACAC,wCAAA,KACAC,6CAAA,KACAC,yCAAA,KACAC,gCAAA,KACAC,4BAAA,KACAC,4BAAA,KACAC,wBAAA,KACAC,uBAAA,KACAC,wBAAA,KACAC,wBAAA,KACAC,+BAAA,KACAC,iCAAA,KACAC,iCAAA,KACAC,+BAAA,KACAC,sCAAA,KACAC,oDAAA,KACAC,mEAAA,KACAC,uDAAA,KACAC,6DAAA,KACAC,gEAAA,KACAC,sEAAA,KACAC,8DAAA,KACAC,0DAAA,KACAC,8DAAA,KACAC,gEAAA,KACAC,+DAAA,KACAC,gEAAA,KACAC,0DAAA,KACAC,iEAAA,KACAC,qDAAA,KACAC,2DAAA,KACAC,iEAAA,KACAC,qDAAA,KACAC,2DAAA,KACAC,8DAAA,KACAC,kDAAA,KACAC,wDAAA,KACAC,8DAAA,KACAC,kDAAA,KACAC,wDAAA,KACAC,iEAAA,KACAC,qDAAA,KACAC,2DAAA,KACAC,iEAAA,KACAC,qDAAA,KACAC,2DAAA,KACAC,mEAAA,KACAC,uDAAA,KACAC,6DAAA,KACAC,wCAAA,KACAC,wCAAA,KACAC,uCAAA,KACAC,uCAAA,KACAC,gDAAA,KACAC,8CAAA,KACAC,6CAAA,KACAC,6CAAA,KACAC,yCAAA,KACAC,yCAAA,KACAC,wCAAA,KACAC,sCAAA,KACAC,oDAAA,KACAC,uDAAA,KACAC,yCAAA,KACAC,yCAAA,KACAC,2CAAA,KACAC,yCAAA,KACAC,2CAAA,KACAC,yCAAA,KACAC,4CAAA,KACAC,oCAAA,KACAC,oCAAA,KACAC,mCAAA,KACAC,mCAAA,KACAC,sCAAA,KCnKA1J,GAAAr/D,K1EglZsB,WACrB,MAAOhD,QAAOgD,KAAKC,IAEpBo/D,EAAex7D,QAAU07D,EACzBjnE,EAAOiS,QAAU80D,EACjBA,EAAez6D,GAAK,M2ErlZpB,SAAAtM,E3EylZwBiS,GAExB,GAAIy+D,GAAO,2CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,svCAEX1wE,EAAOiS,QAAUy+D,G4E9lZjB,SAAA1wE,E5EkmZwBiS,GAExB,GAAIy+D,GAAO,qEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ugKAEX1wE,EAAOiS,QAAUy+D,G6EvmZjB,SAAA1wE,E7E2mZwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,sVAEX1wE,EAAOiS,QAAUy+D,G8EhnZjB,SAAA1wE,E9EonZwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ogEAEX1wE,EAAOiS,QAAUy+D,G+EznZjB,SAAA1wE,E/E6nZwBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,w/DAEX1wE,EAAOiS,QAAUy+D,GgFloZjB,SAAA1wE,EhFsoZwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qlGAEX1wE,EAAOiS,QAAUy+D,GiF3oZjB,SAAA1wE,EjF+oZwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qoNAEX1wE,EAAOiS,QAAUy+D,GkFppZjB,SAAA1wE,ElFwpZwBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4VAEX1wE,EAAOiS,QAAUy+D,GmF7pZjB,SAAA1wE,EnFiqZwBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,82CAEX1wE,EAAOiS,QAAUy+D,GoFtqZjB,SAAA1wE,EpF0qZwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,g7GAEX1wE,EAAOiS,QAAUy+D,GqF/qZjB,SAAA1wE,ErFmrZwBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,mrCAEX1wE,EAAOiS,QAAUy+D,GsFxrZjB,SAAA1wE,EtF4rZwBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,gkCAEX1wE,EAAOiS,QAAUy+D,GuFjsZjB,SAAA1wE,EvFqsZwBiS,GAExB,GAAIy+D,GAAO,8CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6tCAEX1wE,EAAOiS,QAAUy+D,GwF1sZjB,SAAA1wE,ExF8sZwBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,gsBAEX1wE,EAAOiS,QAAUy+D,GyFntZjB,SAAA1wE,EzFutZwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,2yCAEX1wE,EAAOiS,QAAUy+D,G0F5tZjB,SAAA1wE,E1FguZwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+0GAEX1wE,EAAOiS,QAAUy+D,G2FruZjB,SAAA1wE,E3FyuZwBiS,GAExB,GAAIy+D,GAAO,wDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,uyBAEX1wE,EAAOiS,QAAUy+D,G4F9uZjB,SAAA1wE,E5FkvZwBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,o0PAEX1wE,EAAOiS,QAAUy+D,G6FvvZjB,SAAA1wE,E7F2vZwBiS,GAExB,GAAIy+D,GAAO,8DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,iuDAEX1wE,EAAOiS,QAAUy+D,G8FhwZjB,SAAA1wE,E9FowZwBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+8DAEX1wE,EAAOiS,QAAUy+D,G+FzwZjB,SAAA1wE,E/F6wZwBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qsKAEX1wE,EAAOiS,QAAUy+D,GgGlxZjB,SAAA1wE,EhGsxZwBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,20CAEX1wE,EAAOiS,QAAUy+D,GiG3xZjB,SAAA1wE,EjG+xZwBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ymGAEX1wE,EAAOiS,QAAUy+D,GkGpyZjB,SAAA1wE,ElGwyZwBiS,GAExB,GAAIy+D,GAAO,wDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,69BAEX1wE,EAAOiS,QAAUy+D,GmG7yZjB,SAAA1wE,EnGizZwBiS,GAExB,GAAIy+D,GAAO,kEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,i4CAEX1wE,EAAOiS,QAAUy+D,GoGtzZjB,SAAA1wE,EpG0zZwBiS,GAExB,GAAIy+D,GAAO,8EAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,88EAEX1wE,EAAOiS,QAAUy+D,GqG/zZjB,SAAA1wE,ErGm0ZwBiS,GAExB,GAAIy+D,GAAO,gEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+xCAEX1wE,EAAOiS,QAAUy+D,GsGx0ZjB,SAAA1wE,EtG40ZwBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,stIAEX1wE,EAAOiS,QAAUy+D,GuGj1ZjB,SAAA1wE,EvGq1ZwBiS,GAExB,GAAIy+D,GAAO,wEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wnCAEX1wE,EAAOiS,QAAUy+D,GwG11ZjB,SAAA1wE,ExG81ZwBiS,GAExB,GAAIy+D,GAAO,2DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,g0CAEX1wE,EAAOiS,QAAUy+D,GyGn2ZjB,SAAA1wE,EzGu2ZwBiS,GAExB,GAAIy+D,GAAO,8DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,gpNAEX1wE,EAAOiS,QAAUy+D,G0G52ZjB,SAAA1wE,E1Gg3ZwBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,kIAEX1wE,EAAOiS,QAAUy+D,G2Gr3ZjB,SAAA1wE,E3Gy3ZwBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,uOAEX1wE,EAAOiS,QAAUy+D,G4G93ZjB,SAAA1wE,E5Gk4ZwBiS,GAExB,GAAIy+D,GAAO,gEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yMAEX1wE,EAAOiS,QAAUy+D,G6Gv4ZjB,SAAA1wE,E7G24ZwBiS,GAExB,GAAIy+D,GAAO,6DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,02BAEX1wE,EAAOiS,QAAUy+D,G8Gh5ZjB,SAAA1wE,E9Go5ZwBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,28DAEX1wE,EAAOiS,QAAUy+D,G+Gz5ZjB,SAAA1wE,E/G65ZwBiS,GAExB,GAAIy+D,GAAO,yDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,whCAEX1wE,EAAOiS,QAAUy+D,GgHl6ZjB,SAAA1wE,EhHs6ZwBiS,GAExB,GAAIy+D,GAAO,wDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qpPAEX1wE,EAAOiS,QAAUy+D,GiH36ZjB,SAAA1wE,EjH+6ZwBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,y4JAEX1wE,EAAOiS,QAAUy+D,GkHp7ZjB,SAAA1wE,ElHw7ZwBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,y9CAEX1wE,EAAOiS,QAAUy+D,GmH77ZjB,SAAA1wE,EnHi8ZwBiS,GAExB,GAAIy+D,GAAO,wDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4sCAEX1wE,EAAOiS,QAAUy+D,GoHt8ZjB,SAAA1wE,EpH08ZwBiS,GAExB,GAAIy+D,GAAO,0DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,w9GAEX1wE,EAAOiS,QAAUy+D,GqH/8ZjB,SAAA1wE,ErHm9ZwBiS,GAExB,GAAIy+D,GAAO,2CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6+KAEX1wE,EAAOiS,QAAUy+D,GsHx9ZjB,SAAA1wE,EtH49ZwBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+kFAEX1wE,EAAOiS,QAAUy+D,GuHj+ZjB,SAAA1wE,EvHq+ZwBiS,GAExB,GAAIy+D,GAAO,2DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wvCAEX1wE,EAAOiS,QAAUy+D,GwH1+ZjB,SAAA1wE,ExH8+ZwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,47BAEX1wE,EAAOiS,QAAUy+D,GyHn/ZjB,SAAA1wE,EzHu/ZwBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6uCAEX1wE,EAAOiS,QAAUy+D,G0H5/ZjB,SAAA1wE,E1HggawBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,o/BAEX1wE,EAAOiS,QAAUy+D,G2HrgajB,SAAA1wE,E3HygawBiS,GAExB,GAAIy+D,GAAO,8CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,s7CAEX1wE,EAAOiS,QAAUy+D,G4H9gajB,SAAA1wE,E5HkhawBiS,GAExB,GAAIy+D,GAAO,8CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,84BAEX1wE,EAAOiS,QAAUy+D,G6HvhajB,SAAA1wE,E7H2hawBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0jDAEX1wE,EAAOiS,QAAUy+D,G8HhiajB,SAAA1wE,E9HoiawBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,onBAEX1wE,EAAOiS,QAAUy+D,G+HziajB,SAAA1wE,E/H6iawBiS,GAExB,GAAIy+D,GAAO,gDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,uqGAEX1wE,EAAOiS,QAAUy+D,GgIljajB,SAAA1wE,EhIsjawBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ysEAEX1wE,EAAOiS,QAAUy+D,GiI3jajB,SAAA1wE,EjI+jawBiS,GAExB,GAAIy+D,GAAO,kDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,srBAEX1wE,EAAOiS,QAAUy+D,GkIpkajB,SAAA1wE,ElIwkawBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0vEAEX1wE,EAAOiS,QAAUy+D,GmI7kajB,SAAA1wE,EnIilawBiS,GAExB,GAAIy+D,GAAO,6CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,msEAEX1wE,EAAOiS,QAAUy+D,GoItlajB,SAAA1wE,EpI0lawBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,q5JAEX1wE,EAAOiS,QAAUy+D,GqI/lajB,SAAA1wE,ErImmawBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,muCAEX1wE,EAAOiS,QAAUy+D,GsIxmajB,SAAA1wE,EtI4mawBiS,GAExB,GAAIy+D,GAAO,0DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,klEAEX1wE,EAAOiS,QAAUy+D,GuIjnajB,SAAA1wE,EvIqnawBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,iKAEX1wE,EAAOiS,QAAUy+D,GwI1najB,SAAA1wE,ExI8nawBiS,GAExB,GAAIy+D,GAAO,4CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wtEAEX1wE,EAAOiS,QAAUy+D,GyInoajB,SAAA1wE,EzIuoawBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,muJAEX1wE,EAAOiS,QAAUy+D,G0I5oajB,SAAA1wE,E1IgpawBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,olCAEX1wE,EAAOiS,QAAUy+D,G2IrpajB,SAAA1wE,E3IypawBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,m4CAEX1wE,EAAOiS,QAAUy+D,G4I9pajB,SAAA1wE,E5IkqawBiS,GAExB,GAAIy+D,GAAO,0DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,gpCAEX1wE,EAAOiS,QAAUy+D,G6IvqajB,SAAA1wE,E7I2qawBiS,GAExB,GAAIy+D,GAAO,yDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8OAEX1wE,EAAOiS,QAAUy+D,G8IhrajB,SAAA1wE,E9IorawBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0pGAEX1wE,EAAOiS,QAAUy+D,G+IzrajB,SAAA1wE,E/I6rawBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,49PAEX1wE,EAAOiS,QAAUy+D,GgJlsajB,SAAA1wE,EhJssawBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wyEAEX1wE,EAAOiS,QAAUy+D,GiJ3sajB,SAAA1wE,EjJ+sawBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,uvFAEX1wE,EAAOiS,QAAUy+D,GkJptajB,SAAA1wE,ElJwtawBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,msDAEX1wE,EAAOiS,QAAUy+D,GmJ7tajB,SAAA1wE,EnJiuawBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,iPAEX1wE,EAAOiS,QAAUy+D,GoJtuajB,SAAA1wE,EpJ0uawBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6gCAEX1wE,EAAOiS,QAAUy+D,GqJ/uajB,SAAA1wE,ErJmvawBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yxEAEX1wE,EAAOiS,QAAUy+D,GsJxvajB,SAAA1wE,EtJ4vawBiS,GAExB,GAAIy+D,GAAO,uDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4rDAEX1wE,EAAOiS,QAAUy+D,GuJjwajB,SAAA1wE,EvJqwawBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,y9BAEX1wE,EAAOiS,QAAUy+D,GwJ1wajB,SAAA1wE,ExJ8wawBiS,GAExB,GAAIy+D,GAAO,gDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,2vBAEX1wE,EAAOiS,QAAUy+D,GyJnxajB,SAAA1wE,EzJuxawBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0gaAEX1wE,EAAOiS,QAAUy+D,G0J5xajB,SAAA1wE,E1JgyawBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8+SAEX1wE,EAAOiS,QAAUy+D,G2JryajB,SAAA1wE,E3JyyawBiS,GAExB,GAAIy+D,GAAO,wCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+sCAEX1wE,EAAOiS,QAAUy+D,G4J9yajB,SAAA1wE,E5JkzawBiS,GAExB,GAAIy+D,GAAO,oCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8vBAEX1wE,EAAOiS,QAAUy+D,G6JvzajB,SAAA1wE,E7J2zawBiS,GAExB,GAAIy+D,GAAO,oCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,swBAEX1wE,EAAOiS,QAAUy+D,G8Jh0ajB,SAAA1wE,E9Jo0awBiS,GAExB,GAAIy+D,GAAO,gCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,gsDAEX1wE,EAAOiS,QAAUy+D,G+Jz0ajB,SAAA1wE,E/J60awBiS,GAExB,GAAIy+D,GAAO,+BAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,m/QAEX1wE,EAAOiS,QAAUy+D,GgKl1ajB,SAAA1wE,EhKs1awBiS,GAExB,GAAIy+D,GAAO,gCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yiKAEX1wE,EAAOiS,QAAUy+D,GiK31ajB,SAAA1wE,EjK+1awBiS,GAExB,GAAIy+D,GAAO,gCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,kVAEX1wE,EAAOiS,QAAUy+D,GkKp2ajB,SAAA1wE,ElKw2awBiS,GAExB,GAAIy+D,GAAO,uCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,i1BAEX1wE,EAAOiS,QAAUy+D,GmK72ajB,SAAA1wE,EnKi3awBiS,GAExB,GAAIy+D,GAAO,yCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,mnEAEX1wE,EAAOiS,QAAUy+D,GoKt3ajB,SAAA1wE,EpK03awBiS,GAExB,GAAIy+D,GAAO,yCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,isDAEX1wE,EAAOiS,QAAUy+D,GqK/3ajB,SAAA1wE,ErKm4awBiS,GAExB,GAAIy+D,GAAO,uCAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qsFAEX1wE,EAAOiS,QAAUy+D,GsKx4ajB,SAAA1wE,EtK44awBiS,GAExB,GAAIy+D,GAAO,8CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0/DAEX1wE,EAAOiS,QAAUy+D,GuKj5ajB,SAAA1wE,EvKq5awBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,uuEAEX1wE,EAAOiS,QAAUy+D,GwK15ajB,SAAA1wE,ExK85awBiS,GAExB,GAAIy+D,GAAO,2EAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,20BAEX1wE,EAAOiS,QAAUy+D,GyKn6ajB,SAAA1wE,EzKu6awBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0wGAEX1wE,EAAOiS,QAAUy+D,G0K56ajB,SAAA1wE,E1Kg7awBiS,GAExB,GAAIy+D,GAAO,qEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yNAEX1wE,EAAOiS,QAAUy+D,G2Kr7ajB,SAAA1wE,E3Ky7awBiS,GAExB,GAAIy+D,GAAO,wEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+iFAEX1wE,EAAOiS,QAAUy+D,G4K97ajB,SAAA1wE,E5Kk8awBiS,GAExB,GAAIy+D,GAAO,8EAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,64CAEX1wE,EAAOiS,QAAUy+D,G6Kv8ajB,SAAA1wE,E7K28awBiS,GAExB,GAAIy+D,GAAO,sEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,y1LAEX1wE,EAAOiS,QAAUy+D,G8Kh9ajB,SAAA1wE,E9Ko9awBiS,GAExB,GAAIy+D,GAAO,kEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wpEAEX1wE,EAAOiS,QAAUy+D,G+Kz9ajB,SAAA1wE,E/K69awBiS,GAExB,GAAIy+D,GAAO,sEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ukLAEX1wE,EAAOiS,QAAUy+D,GgLl+ajB,SAAA1wE,EhLs+awBiS,GAExB,GAAIy+D,GAAO,wEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8kCAEX1wE,EAAOiS,QAAUy+D,GiL3+ajB,SAAA1wE,EjL++awBiS,GAExB,GAAIy+D,GAAO,uEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wVAEX1wE,EAAOiS,QAAUy+D,GkLp/ajB,SAAA1wE,ElLw/awBiS,GAExB,GAAIy+D,GAAO,wEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,kyCAEX1wE,EAAOiS,QAAUy+D,GmL7/ajB,SAAA1wE,EnLigbwBiS,GAExB,GAAIy+D,GAAO,kEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qVAEX1wE,EAAOiS,QAAUy+D,GoLtgbjB,SAAA1wE,EpL0gbwBiS,GAExB,GAAIy+D,GAAO,yEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ghBAEX1wE,EAAOiS,QAAUy+D,GqL/gbjB,SAAA1wE,ErLmhbwBiS,GAExB,GAAIy+D,GAAO,6DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ksBAEX1wE,EAAOiS,QAAUy+D,GsLxhbjB,SAAA1wE,EtL4hbwBiS,GAExB,GAAIy+D,GAAO,mEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ktFAEX1wE,EAAOiS,QAAUy+D,GuLjibjB,SAAA1wE,EvLqibwBiS,GAExB,GAAIy+D,GAAO,yEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yrCAEX1wE,EAAOiS,QAAUy+D,GwL1ibjB,SAAA1wE,ExL8ibwBiS,GAExB,GAAIy+D,GAAO,6DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,28DAEX1wE,EAAOiS,QAAUy+D,GyLnjbjB,SAAA1wE,EzLujbwBiS,GAExB,GAAIy+D,GAAO,mEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qiMAEX1wE,EAAOiS,QAAUy+D,G0L5jbjB,SAAA1wE,E1LgkbwBiS,GAExB,GAAIy+D,GAAO,sEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,w/DAEX1wE,EAAOiS,QAAUy+D,G2LrkbjB,SAAA1wE,E3LykbwBiS,GAExB,GAAIy+D,GAAO,0DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,u/DAEX1wE,EAAOiS,QAAUy+D,G4L9kbjB,SAAA1wE,E5LklbwBiS,GAExB,GAAIy+D,GAAO,gEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,q3GAEX1wE,EAAOiS,QAAUy+D,G6LvlbjB,SAAA1wE,E7L2lbwBiS,GAExB,GAAIy+D,GAAO,sEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ghEAEX1wE,EAAOiS,QAAUy+D,G8LhmbjB,SAAA1wE,E9LombwBiS,GAExB,GAAIy+D,GAAO,0DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8vDAEX1wE,EAAOiS,QAAUy+D,G+LzmbjB,SAAA1wE,E/L6mbwBiS,GAExB,GAAIy+D,GAAO,gEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,smGAEX1wE,EAAOiS,QAAUy+D,GgMlnbjB,SAAA1wE,EhMsnbwBiS,GAExB,GAAIy+D,GAAO,yEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8ZAEX1wE,EAAOiS,QAAUy+D,GiM3nbjB,SAAA1wE,EjM+nbwBiS,GAExB,GAAIy+D,GAAO,6DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wvBAEX1wE,EAAOiS,QAAUy+D,GkMpobjB,SAAA1wE,ElMwobwBiS,GAExB,GAAIy+D,GAAO,mEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0iSAEX1wE,EAAOiS,QAAUy+D,GmM7objB,SAAA1wE,EnMipbwBiS,GAExB,GAAIy+D,GAAO,yEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,i4DAEX1wE,EAAOiS,QAAUy+D,GoMtpbjB,SAAA1wE,EpM0pbwBiS,GAExB,GAAIy+D,GAAO,6DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qmFAEX1wE,EAAOiS,QAAUy+D,GqM/pbjB,SAAA1wE,ErMmqbwBiS,GAExB,GAAIy+D,GAAO,mEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,m8FAEX1wE,EAAOiS,QAAUy+D,GsMxqbjB,SAAA1wE,EtM4qbwBiS,GAExB,GAAIy+D,GAAO,2EAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,8sCAEX1wE,EAAOiS,QAAUy+D,GuMjrbjB,SAAA1wE,EvMqrbwBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yhDAEX1wE,EAAOiS,QAAUy+D,GwM1rbjB,SAAA1wE,ExM8rbwBiS,GAExB,GAAIy+D,GAAO,qEAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+vFAEX1wE,EAAOiS,QAAUy+D,GyMnsbjB,SAAA1wE,EzMusbwBiS,GAExB,GAAIy+D,GAAO,gDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4vGAEX1wE,EAAOiS,QAAUy+D,G0M5sbjB,SAAA1wE,E1MgtbwBiS,GAExB,GAAIy+D,GAAO,gDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,g4DAEX1wE,EAAOiS,QAAUy+D,G2MrtbjB,SAAA1wE,E3MytbwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,msDAEX1wE,EAAOiS,QAAUy+D,G4M9tbjB,SAAA1wE,E5MkubwBiS,GAExB,GAAIy+D,GAAO,+CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6tBAEX1wE,EAAOiS,QAAUy+D,G6MvubjB,SAAA1wE,E7M2ubwBiS,GAExB,GAAIy+D,GAAO,wDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,qeAEX1wE,EAAOiS,QAAUy+D,G8MhvbjB,SAAA1wE,E9MovbwBiS,GAExB,GAAIy+D,GAAO,sDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+4CAEX1wE,EAAOiS,QAAUy+D,G+MzvbjB,SAAA1wE,E/M6vbwBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yiDAEX1wE,EAAOiS,QAAUy+D,GgNlwbjB,SAAA1wE,EhNswbwBiS,GAExB,GAAIy+D,GAAO,qDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,2wBAEX1wE,EAAOiS,QAAUy+D,GiN3wbjB,SAAA1wE,EjN+wbwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,glIAEX1wE,EAAOiS,QAAUy+D,GkNpxbjB,SAAA1wE,ElNwxbwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,ylNAEX1wE,EAAOiS,QAAUy+D,GmN7xbjB,SAAA1wE,EnNiybwBiS,GAExB,GAAIy+D,GAAO,gDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,46EAEX1wE,EAAOiS,QAAUy+D,GoNtybjB,SAAA1wE,EpN0ybwBiS,GAExB,GAAIy+D,GAAO,8CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,kdAEX1wE,EAAOiS,QAAUy+D,GqN/ybjB,SAAA1wE,ErNmzbwBiS,GAExB,GAAIy+D,GAAO,4DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yoKAEX1wE,EAAOiS,QAAUy+D,GsNxzbjB,SAAA1wE,EtN4zbwBiS,GAExB,GAAIy+D,GAAO,+DAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4uIAEX1wE,EAAOiS,QAAUy+D,GuNj0bjB,SAAA1wE,EvNq0bwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,yiDAEX1wE,EAAOiS,QAAUy+D,GwN10bjB,SAAA1wE,ExN80bwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,s/CAEX1wE,EAAOiS,QAAUy+D,GyNn1bjB,SAAA1wE,EzNu1bwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6fAEX1wE,EAAOiS,QAAUy+D,G0N51bjB,SAAA1wE,E1Ng2bwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,wiNAEX1wE,EAAOiS,QAAUy+D,G2Nr2bjB,SAAA1wE,E3Ny2bwBiS,GAExB,GAAIy+D,GAAO,mDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,6xEAEX1wE,EAAOiS,QAAUy+D,G4N92bjB,SAAA1wE,E5Nk3bwBiS,GAExB,GAAIy+D,GAAO,iDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+CAEX1wE,EAAOiS,QAAUy+D,G6Nv3bjB,SAAA1wE,E7N23bwBiS,GAExB,GAAIy+D,GAAO,oDAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+oSAEX1wE,EAAOiS,QAAUy+D,G8Nh4bjB,SAAA1wE,E9No4bwBiS,GAExB,GAAIy+D,GAAO,4CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,4sEAEX1wE,EAAOiS,QAAUy+D,G+Nz4bjB,SAAA1wE,E/N64bwBiS,GAExB,GAAIy+D,GAAO,4CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,+gCAEX1wE,EAAOiS,QAAUy+D,GgOl5bjB,SAAA1wE,EhOs5bwBiS,GAExB,GAAIy+D,GAAO,2CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,2xBAEX1wE,EAAOiS,QAAUy+D,GiO35bjB,SAAA1wE,EjO+5bwBiS,GAExB,GAAIy+D,GAAO,2CAEXnvE,QAAO8jD,QAAQrlD,OAAO,MAAMg1D,KAAK,iBAAkB,SAASnnD,GAAKA,EAAEonD,IAAIyb,EAD5D,0GAEX1wE,EAAOiS,QAAUy+D,GkOv6b6B,SAAA1wE,EAAAiS,GAG9C,GAAAy+D,GAAA,8ClO46bAnvE,QAAO8jD,QkO16bIrlD,OAAA,MAAAg1D,KAAA,0BAAAnnD,KAAAonD,IAAAyb,EADT,+HlO46bF1wE,EAAOiS,QkO16bDy+D,GlO86bA,SkO16bE1wE,EAAQC,EAAKC,GlO46brB,YkOz6bY,IAAAgW,GAAchW,EAAA,GAChBywE,EAAiBzwE,EAAA,IlO66b3BgW,GkOz6bwB,EAAAC,UAAA,YlO06bpB,WACI,OkOx6bLg5C,SAAA,IACA38C,OlO06bao+D,OAAQ,IACRC,cAAe,IACfC,SAAU,KAEdthB,KAAM,SAAUh9C,EAAOwiB,GACnB,GAAI+7C,GAAU,GAAIJ,GAAiF,EAAEn+D,EAAMo+D,OAAQ,GAC/G3/C,aAAa,IAEbkwB,EAAO4vB,EAAQtgE,QAAO,EAC1BukB,GAAKmsB,KAAKA,SmOp8bxB,SAAAnhD,EAAAC,EAAAC,GnO+8bF,YAaA,SmO38bE8wE,GAAAl6D,GACI,MAAUA,GAAAnD,QAAc,SnOg9b9B,QmO38bIie,GAAO3vB,GnO48bP,GmO38bD+F,SAAA/F,EACD,SAAIA,GAAkB,WAAL+F,EnOk9bnB,QmO18bGipE,GAAAL,GnO28bC,OmO38bK9sE,KnO28bD8sE,EmO18bJ,MAAO,EAEV,WAAAA,EAED,cAEE,oBAAAA,OAAApjE,YACI,MAAU,QnO48bZ,ImO18bA0jE,GAAc,mBACfpnB,EAAAonB,EAAA9oC,KAAAwoC,EAAApjE,YAAA8Q,WACD,OAAAwrC,IAAcA,EAAO9kD,OAAA,EACtB8kD,EAAA,GAIC,GnO+8bF,QmOv8bMqnB,GAASP,GnOw8bX,MmOv8bW,QAAXA,EACD,aAECA,GnO48bJ,QmOr8bGQ,GAAAR,EAAA3uE,GACD,GAAA+F,GAAOmpE,EAAMP,EACd,gBAAA5oE,GAAA,cAAAA,EAEDA,GAEE,WAAAA,IACI/F,EAAU,IAAW+uE,EAAc/uE,GAAA,KAE1B,aAAT+F,EAEE4oE,EACFtyD,WACD3K,QAAA,cACFA,QAAA,mBACC1R,GnO09bJ,QAASg3D,GmOn8bA/pD,GnOo8bL,MmOn8bC,kBAAAA,EAKL,QAACD,GAAAjH,EAAAkH,EAAAmiE,GnOq8bG,GAAI17D,GAAK5R,SAASkL,cAAcjH,EAYhC,OAXIkH,IACAyG,EAAGsc,UAAUK,IAAI2mC,EAAS/pD,QAEdpL,KAAZutE,IACIA,YAAmBC,MACnB37D,EAAG+c,YAAY2+C,GAGf17D,EAAG+c,YAAY3uB,SAASyvB,eAAetX,OAAOm1D,MAG/C17D,EmO/jcV1V,EAAA,EAAA2xB,EAED3xB,EAAA,EAAAgxE,EnO68biChxE,EAAuB,EAAIkxE,EmO38b1DlxE,EAAA,EAAAmxE,EAEwBnxE,EAAA,EAAAg5D,EACGh5D,EAAS,EAAAgP,GnO8jchC,SAAUjP,EAAQC,EAAqBC,GAE7C,YAqFA,SoO3lcIsvD,GAAAh9C,EAAYwiB,EAAAq6B,GpO6rcZ,QoO3kcEkiB,GAAiBtvE,GpO4kcfuvE,EoO3kcHC,SAAAxvE,GACDuvE,EAAUE,iBpOy+bV,GoO3lcAC,GAAAtiB,EAAiB1B,MAAEikB,EACnBC,EAAAxiB,EAAAwiB,UAA0BC,EAC1BC,MAAsBjuE,KAAtBurD,EAAiB0iB,WACjBC,EAAA3iB,EAAA2iB,SAA0BC,EAC1BC,EAAA7iB,EAAA6iB,kBAAA,SAAA7iB,EAAA6iB,kBAAAC,EAEFC,EAAc/iB,EAAA+iB,gBAAA,SAAA/iB,EAAA+iB,gBAAAC,EAEdC,EAAAt9C,EAAAnzB,IAAA,GACA2vE,EAAWe,EAA2BjyE,EAAAkyE,KAAAF,GACtCG,EAAgBjB,EAAAkB,aACVC,GACNd,SAAWA,EAEXE,WAAeA,EACfC,QAAYA,EACZE,kBAAuBA,EAEvBU,qBAAc,EACVC,iBAAU,EACVC,0BAAqB,EpO2lcvBtB,GoOvlcAuB,WAAWJ,GpOylcXnB,EoOvlcEwB,gBAAqBC,IpOylcvBzB,EAAWrmC,SoOvlcA+nC,gBAAiB,GAAC,IpOwlc7B1B,EAAWrmC,SoOvlcDgoC,WAAA,IpOupcV,WoO1kcA,GAAAhiD,GAAUiiD,CACV3uE,GAAO,EAAAnD,SAAA0B,KAAAqwE,aACLliD,EAAOmiD,GpO6kcL9B,EoO3kcF+B,SAAepiD,MpOsjcjB,SoO/kccqiD,GASd,GARDjB,EAAAjyE,EAAAmzE,SAAA,0BAEDjC,EAASuB,YACHW,2BAA2B,EAC3BC,0BAAA,EACFC,eAAQxB,IAGV5/D,EAAUqhE,eAAgB,CAG5B,GAASC,GAAAtC,CACPsC,GAAWC,WAAgBD,EAAAC,WAAA7/D,QAC3B4/D,EAAWC,WAAcptE,KAAG6L,EAAAqhE,gBAE/B,GAAAG,GAAA,YAAAR,CAEKf,GAAUwB,QAAmBD,IAxEvBrC,GpOwlcRJ,EoOvlcD/+D,EAAA6+D,SAGDr8C,EAAAa,SAAc,iBpOulcZ,IoOtlcAq+C,GAAMl/C,EAAOjrB,KAAA,WpOulcbmqE,GoOtlcEr+C,SAAI,iBpOulcFrjB,EoOtlcF2hE,iBACF18C,WAAG,WACFy8C,EAAAp3B,OAEH,IAAA8nB,GAAAsP,EAAA,EACM,IAAMtP,EAACC,kBAAY,CACnB,GAAA3vB,GAAoC,EAAtBg/B,EAAAthD,MAAW5tB,MACzB4/D,GAAQC,kBAAoB3vB,OpOulczB,KoOllcTu9B,EAAGngE,GAAA,kBAAA1L,GAEH4L,EAAU4lB,OAAI,WACZ,GAAM49B,GAAWwb,EAAA4C,UAChB5hE,GAAA6+D,QAAArb,MAMHxjD,EAAA0kB,OAAA,UAAc,SAAA8+B,EAAA3C,GACd,GAAAghB,GAAoB7C,EAAW4C,UACzBpe,KAAEqe,GAAcre,IAAA3C,GACpB7gD,EAAS6mD,aAAO,WACVkY,EAAAvb,OAKRwb,EAASl/D,GAAA,OAAY,WACnBE,EAAApD,apOmlcAoD,EAAMG,IoOjlcJ,sBpOklcE6+D,EoOjlcFhhD,YpOolcFghD,EoOhlcI8C,SAAMC,YpOilcNnpE,KoOhlcF,epOilcEopE,SoOhlcIC,IAAA,aAA2BC,IAAC,iBpOilchCtsC,KoOhlcF,WACA51B,EAAApD,cAqCN,QAAAulE,KpO2kcI,OACIxlB,SAAU,IACV5N,SAAUqzB,EACVpiE,OACI6+D,QAAS,IACT/hC,WAAY,IACZ6kC,gBAAiB,IqOlxc7B/kE,SAAA,IrOoxcYykE,aAAc,KqOjxc1BrkB,QrO8kcqB,GAAIt5C,GAAqDhW,EAAoB,GACzEuE,EAAgDvE,EAAoB,IACpE20E,EAAsC30E,EAAoB,KAC1DqyE,EAA8CryE,EAAoBG,EAAEw0E,GACpEC,EAAoD50E,EAAoB,MAExE60E,GAD4D70E,EAAoBG,EAAEy0E,GACzB50E,EAAoB,OAE7E80E,GADiE90E,EAAoBG,EAAE00E,GAClC70E,EAAoB,OAEzE+0E,GAD6D/0E,EAAoBG,EAAE20E,GACnC90E,EAAoB,OAEpEg1E,GADwDh1E,EAAoBG,EAAE40E,GAC1B/0E,EAAoB,OoO7lcjGi1E,GpO8lcqFj1E,EAAoBG,EAAE60E,GoO9lc3Gh1E,EAAA,OAAAk1E,GAAAl1E,EAAAG,EAAA80E,GAAAj1E,EAAA,OpOmmcyBm1E,GAD2Dn1E,EAAoBG,EAAE+0E,GAC3Bl1E,EAAoB,OAE1Eo1E,GAD8Dp1E,EAAoBG,EAAEg1E,GAC1Bn1E,EAAoB,OAE9Eq1E,GADkEr1E,EAAoBG,EAAEi1E,GACnCp1E,EAAoB,OAEzEs1E,GAD6Dt1E,EAAoBG,EAAEk1E,GAC1Br1E,EAAoB,OAE7Eu1E,GADiEv1E,EAAoBG,EAAEm1E,GACtCt1E,EAAoB,OAErEw1E,GADyDx1E,EAAoBG,EAAEo1E,GAC1Bv1E,EAAoB,OoO9ichGkzE,GpO+icoFlzE,EAAoBG,EAAEq1E,GoO/icrF,0BACrBpC,EAAsB,qBAEtB1B,EAAA,OACAE,EAAmB,GACnBG,EAAiB,EACjBE,GAAoB,EAEpBE,GAAiB,EpO4lcfuC,EoO3lcU,aClEd1+D,GAAA,EAAAC,UAAA,aAAAw+D,IAIG,CAEH,SAAa30E,EAAAiS,GAIb0jE,IAAAC,OAAA,0BAAyB,qDAAAnC,EAAAxhE,EAAAjS,GACzB,YAEAiS,GAAA4jE,QAAA,EACA5jE,EAAAgnD,SAAA,eACAhnD,EAAG6jE,QAAA,k8EClBHrC,EAAA,cACAsC,gBAAA9jE,EAAA6jE,QAAA7jE,EAAAgnD,aAQA,SAAAj5D,EAAAiS,GAEA0jE,IAAAC,OAAA,4MAAAnC,EAAAxhE,EAAAjS,GtO84cA,YsO54cA,IAAAg2E,GAAAvC,EAAA,aACAwC,EAAAxC,EAAA,uBAAAwC,atO84cIzC,EAAOC,EAAS,csO54cpByC,EAAAzC,EAAA,WAAAyC,MACAC,EAAA1C,EAAA,YAAA0C,OACAC,EAAA3C,EAAA,2BAAA2C,YACAC,EAAA5C,EAAA,eAAA4C,UACAC,EAAAJ,EAAyBI,cAEzBC,EAAA,WACAl1E,KAAAm1E,cACAn1E,KAAAo1E,oBAGA,WACAT,EAAAU,UAAiBr1E,KAAA40E,GAEjB50E,KAAAs1E,aAAA,WACA,QAAAC,GAAA9/D,EAAA3Q,EAAA0lB,GAEA,MADA/U,KAAAwF,OAAA,GACA,QAAAoV,KAAA5a,KAAA+U,EAAAgrD,iBACAC,UAAAz7D,SAAAvE,EAAA,QACkBxP,KAAAwP,IAElB,QAAAgU,GAAAisD,GACA,kBAAgCA,EAAA,WA4EhC,MA1EAR,GAAqBS,WAAA,GAAAX,IACrB9wC,QACArc,MAAqB,IAAA+tD,QAAA,SAAArkD,EAAAjb,EAAAkU,GACrB,MAAAA,GAAA7mB,QAAA6mB,EAAA,GAAAqrD,UACArrD,EAAA,GAAAqrD,UAAA,EACArrD,EAAA,GAAAsrD,WAAAtrD,EAAA,IACAA,EAAA,KAEA,OAEA3C,MAAA,MAAA+tD,QAAA,SAAArkD,EAAAjb,EAAAkU,GtO84coB,GAAIkrD,GAAKnkD,EAAI,EsO93chB,OAdjB,KAAAmkD,GAAAlrD,EAAA7mB,OACkB4tB,EAAAmkD,GACQ,UAAA9iE,QAAA8iE,GAC1BnkD,EAAAmkD,EACkBlrD,EAAAgrD,iBACD,KAAAE,EACAnkD,EAAY,KAC7B,KAAAmkD,EACAnkD,EAAA,MACA,WAAA3e,QAAA8iE,KACiBnkD,GAAAwkD,WAAqBL,EAAAM,MAAAN,EAAA,QAIrBnkD,MAEA1J,MAAA,IAAA+tD,QAAgB,SAAArkD,EAAAjb,EAAAkU,GAChB,OAAAA,EAAA7mB,OAAA6mB,EAAA23B,QAAA5wB,MAEjB1J,MAAA,gBAAA+tD,QAAAL,IACA1tD,MAAA,mBAAA+tD,QAAA,SAAAngE,EAAAa,EAAAkU,GtO84coB,GAAIjnB,GAAIgyE,EAAa9/D,EAAIwF,OAAO,GAAI3E,EAAOkU,EsO34c/D,OADAA,GAAArW,QAAA5Q,EAAA,IACAA,GACAyB,KAAA,eACA6iB,MAAA,KAAAouD,MAAA,UAAAC,OAAA,IAEAC,aACiBtuD,MAAA,MAAA4B,EAAA,cAAAmsD,QAAA,SAAArkD,EAAAjb,EAAAkU,GACjBA,EAAA,GAAA4rD,QAAA7kD,EAAA1e,MAAA,MAAAy3B,MAAA,MACAtlC,KAAA,UACiB6iB,MAAA,KAAA4B,EAAgB,eAAAA,EAAA,oBAChBmsD,QAAA,SAAArkD,EAAAjb,EAAAkU,GACjB,GAAA6rD,GAAA7rD,EAAA,EAOiB,OANjB6rD,GAAAC,UAAA/kD,EAEiBA,EAAAvxB,KAAau2E,WAAAxvC,KAAAxV,GAC9B8kD,EAAAG,MAAAjlD,EAAA,GACA8kD,EAAAI,IAAAllD,EAAA,GACiB8kD,EAAAK,KAAAnlD,EAAA,GACA,IACjBvsB,KAAA,UACiB6iB,MAAA,IAAA4B,EAAA,UAAAmsD,QAAA,SAAArkD,EAAAjb,EAAAkU,GAER,MADTA,GAAA,GAAAi8B,KAAAl1B,EAAAlnB,OAAA,MACS,IACTrF,KAAA,UACA6iB,MAAA,MAAA+tD,QAAA,SAAArkD,EAAAjb,EAAAkU,GACAA,EAAA,KACAA,EAAA,GAAAqrD,UAAA,IACA7wE,KAAA,UtO84ciB6iB,MAAO,uBAAwBouD,MAAO,GAAIjxE,KAAM,UsO34cjE2xE,eACA9uD,MAAA,KAAA4B,EAAA,WAAAwsD,MAAA,UACSpuD,MAAA,GAAA+tD,QAAA,SAAArkD,EAAAjb,EAAAkU,GACTA,EAAAgrD,gBAAA,GtO84cmBxwE,KAAM,YsO14czBkwE,EAAA30E,UAAA+0E,aAAA,WACA,MAAAJ,GAAAS,YAEAT,EAAAS,YAGA31E,KAAA42E,kBAAA,SAAAnhE,EAAAohE,GtO84cQ,MAAO72E,MAAKs1E,eAAewB,cAAcrhE,EAAKohE,GAAYE,OAAOzwE,IAAI,SAASgoB,GsO54ctF,MAAAA,GAAA1tB,OAAA0tB,KAIAtuB,KAAAg3E,iBAAA,SAAAC,EAAAltE,GACA,gBAAAsmB,KAAAtmB,GAAA,CACA,GAAAtG,GAAAsG,EAAAkR,OAAA,EACA,QAAAjb,KAAAk3E,UAAAntE,EAAA,cAAAtG,GAEA,WAAA4sB,KAAAtmB,GACA,OAAA/J,KAAAk3E,UAAAhrE,QAAAnC,EAIA,IAFAA,IAAAuI,QAAA,WAEA2kE,EAAA,CAEA,GAAAzzE,GAAAyzE,EAAAE,OACA,QAAAptE,GACA,mBACA,GAAA0C,GAAAjJ,EAAA4zE,cACA,iBACA,oBACA,MAAA5zE,GAAA6zE,aAAA5qE,EACA,oBACA,MAAAjJ,GAAA8zE,QAAAL,EAAAM,oBAAAjmC,IACA,iBACA,MAAA9tC,GAAA8zE,QAAAL,EAAAM,oBAAAjmC,IAAA,EACA,kBACA,MAAA2lC,GAAAM,oBAAAC,MACA,mBACA,MAAAP,GAAAM,oBAAAjmC,IAAA,CACA,iBACA,MAAA9tC,GAAAi0E,iBAAA,UACA,gBACA,MAAAj0E,GAAAk0E,YACA,gBACA,eACA,QACA,gBACA,eAGA13E,KAAAk3E,aACAl3E,KAAA23E,iBAAA,SAAAV,EAAAW,GACA,MAAA53E,MAAAk3E,UAAArzE,eAA4B+zE,GAC5B53E,KAAAk3E,UAAAU,GAAAX,EAAAW,IAAA,GACA53E,KAAAg3E,iBAAAC,EAAAW,IAAA,IAEA53E,KAAA63E,YAAA,SAAApiE,EAAAigE,EAAAuB,GACA,GAAAP,GAAAhB,EAAAgB,MAAA,GACAoB,EAAApC,EAAAc,KACAsB,GAAA,GAAAvlE,QAAAulE,EAAApB,EAAApkE,QAAA,YACA,IAAAylE,GAAA/3E,KAAA42E,kBAAAlB,EAAAe,IAAA,gBACAuB,EAAAh4E,KACA4a,EAAAnF,EAAAnD,QAAAwlE,EAAA,WACAE,EAAAd,UAAAhrE,GAAAxI,SAGA,QAFAu0E,GAAAD,EAAAE,iBAAAH,EAAAd,GACAkB,EAAqB,IACrB10E,EAAA,EAAAA,EAAAw0E,EAAAt0E,OAAAF,IAAA,CACA,GAAAiyE,GAAAuC,EAAAx0E,EACA,IAAiB,gBAAAiyE,GAEA,GADjBuC,EAAAx0E,GAAA,GACiBiyE,EAAAK,YAAAL,EAAAM,MAAA,CACjB,GAAAhxE,GAAAizE,EAAAx0E,EAAA,EACAuB,IAAA,gBAAAA,KACA,KAAA0wE,EAAAK,WACAkC,EAAAx0E,GAAAuB,EAAA,GAAAkY,cAEA+6D,EAAAx0E,GAAAuB,EAAA,GAAAiQ,cACAgjE,EAAAx0E,EAAA,GAAAuB,EAAAiW,OAAA,QtO+4c+By6D,GAAGK,asO54clCoC,EAAAzC,EAAAK,gBAEuB,KAAAoC,EACvBF,EAAAx0E,GAAAiyE,EAAAx4D,cACA,KAAAi7D,IACAF,EAAAx0E,GAAAiyE,EAAAzgE,eAGA,MAAagjE,GAAA7/D,KAAA,KAGb,OADApY,MAAak3E,UAAAhrE,GAAA,KACb0O,GAGA5a,KAAAk4E,iBAAA,SAAAE,EAAAnB,GAkCA,QAAAoB,GAAA3C,GACA,GAAA4C,GAAAF,EAAAxlE,QAAA8iE,EAAAjyE,EAAA,ItO84cuB,GAAP60E,IsO54chB70E,EAAA60E,GAnCA,OADAhtD,MACA7nB,EAAA,EAAAA,EAAA20E,EAAAz0E,OAAAF,IAAA,CACA,GAAAiyE,GAAA0C,EAAA30E,EACA,oBAAAiyE,GACApqD,EAAAhmB,KAAAowE,OACA,oBAAAA,GACA,QACiB,IAAAA,EAAA6C,KACjBF,EAAA3C,OACA,IAAAA,EAAA8C,UAAA/0E,EACA,QACA,IAAAiyE,EAAAzvE,KAAA,CACA,GAAArF,GAAAZ,KAAA23E,iBAAAV,EAAAvB,EAAAzvE,KACarF,IAAA80E,EAAAY,YACb11E,EAAAZ,KAAA63E,YAAAj3E,EAAA80E,IACaA,EAAA8C,UAAA/0E,EACb,MAAAiyE,EAAAG,SACAj1E,IACA0qB,EAAAhmB,KAAA1E,GACAy3E,EAAA3C,IAGA90E,EACA80E,EAAA6C,KAAA7C,EAAAI,WAEAuC,EAAA3C,OAEA,OAAAA,EAAAD,UACAnqD,EAAAhmB,KAAAowE,GACA,MAAAA,EAAAK,YACAzqD,EAAAhmB,KAAAowE,KAQA,MAAApqD,IAGAtrB,KAAAy4E,0BAAA,SAAAxB,EAAAyB,GACA,GAAAC,GAAA1B,EAAAM,oBACA3T,EAAAqT,EAAAE,QAAAG,QAAAqB,EAAArnC,KACAsnC,EAAA3B,EAAAE,QAAA0B,eACSC,EAAAlV,EAAAhqD,MAAA,UAET++D,GAAAnB,OAAAsB,EAAAn1E,SACAm1E,IAAAjmE,MAAA,EAAA8lE,EAAAnB,SAEAkB,IAAApmE,QAAA,SACA,IAAAykE,GAAA/2E,KAAA42E,kBAAA8B,EACA3B,GAAA/2E,KAAAk4E,iBAAAnB,EAAAE,GACAF,IAAAzwE,IAAA,SAAAgoB,GACA,YAAAA,EACAA,EAAAwqD,EACA,gBAAAxqD,GACAA,EAAAhc,QAAA,MAAAsmE,GACAtqD,GAEA,IAAAyqD,KACAhC,GAAAzlD,QAAA,SAAA1tB,EAAAH,GACA,mBAAAG,GAAA,CAEA,GAAAqH,GAAArH,EAAA6xE,UACAY,EAAA0C,EAAA9tE,EAMS,IALTorE,IACAA,EAAA0C,EAAA9tE,MACaorE,EAAA7kD,MAAAvmB,EACborE,EAAAz1E,MAAA,KAES,IAAAy1E,EAAAzjE,QAAAhP,GAAA,CAETyyE,EAAA/wE,KAAA1B,EACA,IAAA00E,GAAAvB,EAAAnkE,QAAAhP,EAAAH,EAAA,EACA,SAAA60E,EAAA,CAGA,GAAA13E,GAAAm2E,EAAAlkE,MAAApP,EAAA,EAAA60E,EACA13E,GAAAq0C,KAAA,SAAA1xC,GAAA,sBAAAA,OACA8yE,EAAAz1E,MACAy1E,EAAAz1E,SACAA,EAAA+C,QAAoC0yE,EAAAz1E,OAAA,gBAAAy1E,GAAAz1E,QACpCy1E,EAAAz1E,QAAAwX,KAAA,UAGA2gE,EAAAznD,QAAA,SAAA+kD,KAAA1yE,OAAA,GAgBA,QAfAq1E,MAeAv1E,EAAA,EAAAA,EAAAszE,EAAApzE,OAAAF,IAAA,CACA,GAAAG,GAAAmzE,EAAAtzE,EACA,oBAAAG,GAAA,CtO+4cY,GAAIqH,GAAKrH,EAAE6xE,UsO54cvB6C,EAAAvB,EAAAnkE,QAAAhP,EAAAH,EAAA,EACA,IAAAu1E,EAAA/tE,GACA+tE,EAAA/tE,KAAArH,IACAo1E,EAAA/tE,GAAA,UAFA,CAMA,GAAAorE,GAAA0C,EAAA9tE,GACAguE,EAAA,gBAAA5C,GAAAz1E,OAAAy1E,EAAAz1E,OA3BA,SAAuB2wB,GAEvB,OADAwd,MACAtrC,EAAA,EAAAA,EAAA8tB,EAAA5tB,OAAAF,IAAA,CACA,GAAAG,GAAA2tB,EAAA9tB,EACA,oBAAAG,GAAA,CACA,GAAAo1E,EAAAp1E,EAAA6xE,WACA,QAEA7xE,GAAAmrC,EADAxd,EAAA2nD,YAAAt1E,EAAAH,EAAA,MACAgyE,UAAA7xE,EAAA6xE,WAEA1mC,EAAAtrC,GAAAG,EAEA,MAAAmrC,IAeAsnC,EAAAz1E,MACAq4E,GAAA9kE,QAAA1Q,EAAA,EAAA6R,KAAAqF,IAAA,EAAA29D,EAAA70E,IACAw1E,EAAA3zE,KAAA1B,GACAo1E,EAAiB/tE,GAAArH,EACjBmzE,EAAA1sE,OAAAtG,MAAAgzE,EAAAkC,IAEa,IAAA5C,EAAAzjE,QAAAhP,IACbyyE,EAAA/wE,KAAA1B,KAEA,GAAA0tC,GAAA,EAAAkmC,EAAA,EACAvxE,EAAA,EACA8wE,GAAAzlD,QAAA,SAAA/tB,GACS,mBAAAA,GAAA,CACT,GAAA2mB,GAAA3mB,EAAA+mC,MAAA,KACApgB,GAAAvmB,OAAA,GtO84coB6zE,EAASttD,EAAMA,EAAMvmB,OAAS,GAAGA,OsO54crD2tC,GAAApnB,EAAAvmB,OAAA,GAEA6zE,GAAAj0E,EAAAI,OACAsC,GAAA1C,MAEAA,GAAA2gC,MAGA3gC,EAAAi3C,KAAAlJ,MAAAkmC,UAFAj0E,EAAA2gC,OAAAoN,MAAAkmC,WAKA,IAAAv+D,GAAAg+D,EAAAkC,oBACS3+B,EAASy8B,EAAAE,QAAA7kE,QAAgB2G,EAAAhT,GAElCmzE,EAAA,GAAAC,GAAApC,GACAqC,EAAArC,EAAAsC,wBAAAtC,EAAA7a,UAAA5qC,KACA4nD,GAAAI,YAAAT,EAAA9/D,EAAAirB,MAAAsW,EAAA8+B,IAGAt5E,KAAAy5E,cAAA,SAAAxC,EAAAyB,GACA,GAAAjxE,GAAAzH,IACA,IAAAi3E,EAAAsC,uBACA,MAAA9xE,GAAAgxE,0BAAAxB,EAAAyB,EAEAzB,GAAAyC,iBAAA,WACAjyE,EAAAgxE,0BAAAxB,EAAAyB,IACA,MAAAiB,WAAA,IAEA1C,EAAAmC,gBACAnC,EAAAmC,eAAAQ,WAGA55E,KAAA65E,UAAA,SAAA5C,GACA,GAAA9lE,GAAA8lE,EAAAE,QAAA2C,MAAA3uB,KAAA,EAEA,cADAh6C,IAAAm5B,MAAA,KAAAllC,QACA,QAAA+L,EAAA,CACA,QAAAA,GAAA8lE,EAAAE,QAAA2C,MAAAC,YACA5oE,EAAA,OtO84cY,IAAI3E,GAAIyqE,EAAOM,oBsO54c3BjhE,EAAA2gE,EAAAE,QAAA6C,SAAAxtE,EAAA8kC,IACA,iBAAAh7B,KtO84cgBA,EAAQA,EAAM,IsO34c9BA,EAAA+G,YACA,OAAA/G,EAAA+G,UAAA,KACAlM,EAAA,aACA,QAAAmF,EAAA+G,UAAA,KACAlM,EAAA,MACA,QAAAmF,EAAA+G,UAAA,OACAlM,EAAA,QAIA,MAAAA,IAGAnR,KAAAi6E,gBAAA,SAAAhD,GACA,GAAS9lE,GAASnR,KAAA65E,UAAgB5C,GAClCjgD,GAAA7lB,GACAgkE,EAAAn1E,KAAAm1E,UAKA,OAJAA,GAAAhkE,IAAAgkE,EAAAhkE,GAAA+oE,eACAljD,EAAA1xB,KAAAvB,MAAAizB,EAAAm+C,EAAAhkE,GAAA+oE,eAEAljD,EAAA1xB,KAAA,KACA0xB,GAGAh3B,KAAAm6E,cAAA,SAAAlD,EAAA13E,GtO84cQ,GAAIkI,GAAOzH,KsO54cnBsrB,EAAA2rD,EAAAyC,iBAAA,WACA,MAAAjyE,GAAA2yE,0BAAAnD,EAAA13E,IACA,MAAAo6E,WAAA,GAGA,OAFAruD,IAAA2rD,EAAAmC,gBACAnC,EAAAmC,eAAAQ,UACAtuD,GAGAtrB,KAAAo6E,0BAAA,SAAAnD,EAAA13E,GACA,GAMA64E,GANAO,EAAA1B,EAAAM,oBACA3T,EAAAqT,EAAAE,QAAAG,QAAAqB,EAAArnC,KACA+rB,EAAAuG,EAAAvmD,UAAA,EAAAs7D,EAAAnB,QACAhkB,EAAAoQ,EAAA3oD,OAAA09D,EAAAnB,QAEArC,EAAAn1E,KAAAm1E,UAQA,OtOu4cQn1E,MAAKi6E,gBAAgBhD,GAAQhiC,KAAK,SAAS9jC,GsO54cnD,GAAAkpE,GAAAlF,EAAAhkE,EtOg5cY,OsO/4cZkpE,KACAjC,EAAAp4E,KAAAs6E,oBAAAD,EAAAhd,EAAA7J,MtO84cqB4kB,GsO54crBp4E,QACAo4E,OtO+4cY74E,IAAWA,EAAQg7E,UsO34c/BtD,EAAAE,QAAAqD,IAAAC,aAAwC9B,EAAKrnC,IAC7CqnC,EAAAnB,OAAAY,EAAAsC,cAAA/2E,OACAg1E,EAAAnB,OAAAY,EAAAuC,aAAAh3E,QAGA3D,KAAAk3E,UAAA0D,IAAAxC,EAAAyC,YACA76E,KAAAk3E,UAAA4D,IAAA1C,EAAA2C,WACA/6E,KAAAy4E,0BAAAxB,EAAAmB,EAAApI,SAEAhwE,KAAAk3E,UAAA0D,IAAA56E,KAAAk3E,UAAA4D,IAAA,MACA,KAGA96E,KAAAs6E,oBAAA,SAAAU,EAAA3d,EAAA7J,GACA,OAAA/vD,GAAAu3E,EAAAr3E,OAAAF,KAAA,CACA,GAAAD,GAAAw3E,EAAAv3E,EtO84cY,MAAID,EAAEy3E,SAAYz3E,EAAEy3E,QAAQ5qD,KAAKgtC,QsO34c7C75D,EAAA03E,OAAA13E,EAAA03E,MAAA7qD,KAAAmjC,MAEAhwD,EAAAy3E,SAAAz3E,EAAA03E,QAOA,MtOy4cY13E,GAAEq3E,YAAcr3E,EAAEy3E,QAAUz3E,EAAEy3E,QAAQl0C,KAAKs2B,IAAW,IsO54clE75D,EAAAu3E,WAAAv3E,EAAA03E,MAAA13E,EAAA03E,MAAAn0C,KAAAysB,IAAA,IACAhwD,EAAAk3E,cAAAl3E,EAAA23E,UAAA33E,EAAA23E,UAAAp0C,KAAAs2B,GAAA,MtO84cY75D,EAAEm3E,aAAen3E,EAAE43E,aAAe53E,EAAE43E,aAAar0C,KAAKysB,GAAO,GAAK,GsO54c9EhwD,IAIAxD,KAAAm1E,cACAn1E,KAAAo1E,kBACAp1E,KAAAs5C,SAAA,SAAA+gC,EAAAlpE,GAQA,QAAAkqE,GAAApsE,GAIA,MAHAA,KAAA,uBAAAohB,KAAAphB,KACAA,EAAA,MAAAA,EAAA,KAEAA,GAAA,GtO+4cQ,QAASqsE,GAAcxD,EAAItB,EAAO+E,GsOj4c1C,MAXAzD,GAAAuD,EAAAvD,GACAtB,EAAA6E,EAAA7E,GACA+E,GACAzD,EAAAtB,EAAAsB,IACA,KAAAA,IAAAn0E,OAAA,KACAm0E,GAAA,MAEAA,GAAAtB,ItO84cmC,KAATsB,EAAG,KsO54c7BA,EAAA,IAAAA,GAEA,GAAAvlE,QAAAulE,GAGA,QAAA0D,GAAAh4E,GACAA,EAAA2N,QACA3N,EAAA2N,SAAA,KtO84cYA,EAAQ3N,EAAE2N,MsO54ctBgkE,EAAAhkE,KACAgkE,EAAAhkE,MACAikE,EAAAjkE,MtOg5cY,IAAI7K,GAAM8uE,EAAejkE,EsO54crC,IAAA3N,EAAAuG,KAAA,CACA,GAAAisC,GAAA1vC,EAAA9C,EAAAuG,KtO84coBisC,IsO54cpBvuC,EAAAg0E,WAAAzlC,GACA1vC,EAAA9C,EAAAuG,MAAAvG,EAEA2xE,EAAAhkE,GAAA7L,KAAA9B,GAEAA,EAAAk4E,aAAAl4E,EAAAm5C,WtO84cqBn5C,EAAEgzE,OAAS,MAAMnmD,KAAK7sB,EAAEk4E,csO54c7Cl4E,EAAAgzE,MAAA,OACAhzE,EAAAm5C,QAAAw1B,EAAAwJ,aAAAn4E,EAAAk4E,ctOg5ciBl4E,EAAEm5C,SAAYn5C,EAAEgzE,OAAUhzE,EAAEo4E,YAAep4E,EAAEq4E,YsO14c9Dr4E,EAAAy3E,QAAAK,EAAA93E,EAAAm5C,QAAAn5C,EAAAgzE,OAAA,GACAhzE,EAAA23E,UAAA,GAAA5oE,QAAA/O,EAAAm5C,QAAA,OtO+4cYn5C,EAAE03E,MAAQI,EAAc93E,EAAEo4E,WAAYp4E,EAAEq4E,UAAU,GsO54c9Dr4E,EAAA43E,aAAA,GAAA7oE,QAAA/O,EAAAo4E,WAAA,QA3DA,GAAAzG,GAAAn1E,KAAAm1E,WACAC,EAAAp1E,KAAAo1E,eACA3tE,EAAAzH,IAEAq6E,KACAA,MAyDAA,KAAArK,QACAwL,EAAAnB,GACApuE,MAAA+H,QAAAqmE,IACAA,EAAA/oD,QAAAkqD,GAEAx7E,KAAA87E,QAAA,oBAAA3qE,WAEAnR,KAAAy7E,WAAA,SAAApB,EAAAlpE,GAIA,QAAA4qE,GAAAv4E,GACA,GAAAw4E,GAAA5G,EAAA5xE,EAAA2N,SACA,IAAA6qE,KAAAx4E,EAAAuG,MAAA,OACAiyE,GAAAx4E,EAAAuG,KACA,IAAAzD,GAA0B6uE,EAAQ3xE,EAAA2N,UAClC1N,EAAA6C,KAAAsM,QAAApP,EACAC,IAAA,GACA6C,EAAA+D,OAAA5G,EAAA,IAVA,GAAA0xE,GAAAn1E,KAAAm1E,WACAC,EAAAp1E,KAAAo1E,cAYAiF,GAAArK,QACA+L,EAAiB1B,GACJpuE,MAAA+H,QAAAqmE,IACbA,EAAA/oD,QAAAyqD,IAEA/7E,KAAAi8E,iBAAA,SAAAxmE,GACAA,EAAaA,EAAAnD,QAAA,SAIb,KAHA,GAEAwG,GAFAi1B,KAAAqqC,KACAN,EAAA,uDAEAh/D,EAAAg/D,EAAA/wC,KAAAtxB,IAAA,CACA,GAAAqD,EAAA,GACA,IACAs/D,EAAAtkE,KAAAC,MAAA+E,EAAA,IACiBi1B,EAAAzoC,KAAA8yE,GACjB,MAAA7yE,IACA,GAAAuT,EAAA,GACAs/D,EAAApI,QAAAl3D,EAAA,GAAAxG,QAAA,YACAy7B,EAAiBzoC,KAAA8yE,GACjBA,SACA,CACA,GAAA33E,GAAAqY,EAAA,GAAAyY,EAAAzY,EAAA,EACA,aAAArY,EAAA,CACA,GAAAy7E,GAAA,yBACA9D,GAAA5B,MAAA0F,EAAAn1C,KAAAxV,GAAA,GACA6mD,EAAAz7B,QAAAu/B,EAAAn1C,KAAAxV,GAAA,GACA6mD,EAAAwD,WAAAM,EAAAn1C,KAAAxV,GAAA,GACA6mD,EAAAyD,SAAAK,EAAAn1C,KAAAxV,GAAA,OACA,WAAA9wB,GACA23E,EAAAsD,WAAAnqD,EAAA3X,MAAA,WACAw+D,EAAAruE,OACAquE,EAAAruE,KAAAwnB,IAES6mD,EAAA33E,GAAA8wB,GAIR,MAAAwc,ItO+4cG/tC,KAAKm8E,iBAAmB,SAASpyE,EAAMktE,GsO54c3C,GACAmB,GADAjD,EAAAn1E,KAAAo1E,cAQA,OANAp1E,MAAAi6E,gBAAAhD,GAAAhiC,KAAA,SAAA9jC,GACA,GAAAkpE,GAAAlF,EAAAhkE,EAGA,OAFAkpE,KACAjC,EAAAiC,EAAAtwE,MACAquE,GACAp4E,MACAo4E,KAGAt0E,KAAAoxE,EAAA30E,UAGA,IAAA84E,GAAA,SAAApC,GACA,GAAAA,EAAAmC,eACA,MAAAnC,GAAAmC,ctO84cInC,GAAOmC,eAAiBp5E,KsO54c5BA,KAAAo8E,UAAAp8E,KAAA+N,SAAAwkB,KAAAvyB,MACAA,KAAAq8E,mBAAAlK,EAAAmK,YAAAt8E,KAAAu8E,kBAAAhqD,KAAAvyB,OAAAw8E,SACAx8E,KAAAy8E,iBAAAz8E,KAAA08E,gBAAAnqD,KAAAvyB,MACAA,KAAA28E,aAAA38E,KAAA48E,YAAArqD,KAAAvyB,MACAA,KAAA68E,OAAA5F,KAEA,WACAj3E,KAAA68E,OAAA,SAAA5F,GACAj3E,KAAAwxB,MAAA,EACAxxB,KAAA88E,UACA98E,KAAA+4E,YACA/4E,KAAA+8E,cAAA,KACA/8E,KAAAg9E,gBAAA,KAEAh9E,KAAAi3E,SACAj3E,KAAAi3E,OAAAhmE,GAAA,SAAAjR,KAAAo8E,WACAp8E,KAAAi3E,OAAAhmE,GAAA,kBAAAjR,KAAAq8E,oBACAr8E,KAAAi3E,OAAAhmE,GAAA,gBAAAjR,KAAAy8E,kBACAz8E,KAAAi3E,OAAAhE,SAAAhiE,GAAA,YAAAjR,KAAA28E,cACA38E,KAAAi3E,OAAAgG,WAAAC,mBAAAl9E,KAAAm9E,kBAEAn9E,KAAA++C,OAAA,WACA/+C,KAAA+4E,SAAAznD,QAAAtxB,KAAAo9E,qBAAAp9E,MACAA,KAAA88E,OAAA,KACA98E,KAAA+4E,SAAA,KACA/4E,KAAAg9E,gBAAA,KACAh9E,KAAAi3E,OAAAoG,eAAA,SAAAr9E,KAAAo8E,WACAp8E,KAAAi3E,OAAAoG,eAAA,kBAAAr9E,KAAAq8E,oBACAr8E,KAAAi3E,OAAAoG,eAAA,gBAAAr9E,KAAAy8E,kBACAz8E,KAAAi3E,OAAAhE,SAAAoK,eAAA,YAAAr9E,KAAA28E,ctO84cQ38E,KAAKi3E,OAAOgG,WAAWK,sBAAsBt9E,KAAKm9E,iBsO54c1Dn9E,KAAAi3E,OAAAmC,eAAA,KACAp5E,KAAAi3E,OAAA,MAGAj3E,KAAA+N,SAAA,SAAA+d,GACA,GACAyxD,GAAA,KAAAzxD,EAAA0xD,OAAA,GACAt5C,EAAApY,EAAAoY,MACAsW,EAAa1uB,EAAA0uB,IACbijC,EAAAv5C,EAAAoN,IACAosC,EAAAljC,EAAAlJ,IACAqsC,EAAAD,EAAAD,EACAG,EAAApjC,EAAAg9B,OAAAtzC,EAAAszC,MAMA,IAJA+F,IACAI,KACAC,OAEA59E,KAAA69E,WAAAN,EAAA,CACA,GAAAlH,GAAAr2E,KAAAg9E,etOi5cY,IsOh5cZ3G,MAAAphC,KAAA,SAAAxoC,GACA,MAAAwoE,GAAAxoE,EAAAy3B,UAAA,GAAA+wC,EAAAxoE,EAAA+tC,QAAA,IAGA,MAAAx6C,MAAA++C,SAGA,OADA+9B,GAAA98E,KAAA88E,OACAr5E,EAAA,EAAAA,EAAAq5E,EAAAn5E,OAAAF,IAAA,CACA,GAAAgJ,GAAAqwE,EAAAr5E,EACAgJ,GAAA+tC,IAAAlJ,IAAApN,EAAAoN,MtOg5cgBisC,GAAYtI,EAAc/wC,EAAOz3B,EAAEy3B,OAAS,GAAK+wC,EAAcz6B,EAAK/tC,EAAE+tC,KAAO,GsO54c7Fx6C,KAAA89E,YAAArxE,GACAhJ,MAIAgJ,EAAAy3B,MAAAoN,KAAAmsC,GAAAhxE,EAAAy3B,MAAAszC,OAAAtzC,EAAAszC,SACA/qE,EAAAy3B,MAAAszC,QAAAoG,GACAnxE,EAAA+tC,IAAAlJ,KAAAmsC,GAAAhxE,EAAA+tC,IAAAg9B,QAAAtzC,EAAAszC,SACA/qE,EAAA+tC,IAAAg9B,QAAAoG,GACAnxE,EAAAy3B,MAAAoN,KAAAmsC,IACAhxE,EAAAy3B,MAAAoN,KAAAqsC,GACAlxE,EAAA+tC,IAAAlJ,KAAAmsC,IACAhxE,EAAA+tC,IAAAlJ,KAAAqsC,GAEA1I,EAAAxoE,EAAAy3B,MAAAz3B,EAAA+tC,KAAA,GACAx6C,KAAA89E,YAAArxE,KAEAqwE,EAAAn5E,QACA3D,KAAA++C,UAEA/+C,KAAA+9E,mBAAA,WACA,GAAA1H,GAAAr2E,KAAAg9E,eACA,IAAA3G,KAAA2H,gBAAA,CAEAh+E,KAAA69E,WAAA,CAGA,QAFA1G,GAAAn3E,KAAAi3E,OAAAE,QACAlxE,EAAAkxE,EAAAE,aAAAhB,EAAA4H,gBACAx6E,EAAA4yE,EAAA1yE,OAAAF,KAAA,CACA,GAAAwV,GAAAo9D,EAAA5yE,EACA,IAAAwV,EAAAilE,OAAA,CAEA,GAAAzH,GAAA7lE,EAAAutE,eAAAtG,YAAA5xE,EAAAgT,EAAAi2B,SACAioC,GAAA7kE,QAAA2G,EAAAw9D,IAEAz2E,KAAA69E,WAAA,IAEA79E,KAAA48E,YAAA,SAAAr3E,GACAA,EAAA64E,UAAA74E,EAAA64E,QAAAC,UACAr+E,KAAA+9E,sBAEA/9E,KAAAu8E,kBAAA,WACA,GAAAv8E,KAAAi3E,OAAA,CAKA,OAHAqH,GAAAt+E,KAAAi3E,OAAA7a,UAAAkiB,KACAC,EAAAv+E,KAAAi3E,OAAA7a,UAAAmiB,OACAnsD,EAAApyB,KAAAi3E,OAAA7a,UAAAhqC,UACA3uB,EAAAzD,KAAA88E,OAAAn5E,OAAAF,KACA,IAAAzD,KAAA88E,OAAAr5E,GAAAy6E,OAAA,CAEA,GAAAM,GAAAx+E,KAAA88E,OAAAr5E,GAAAwvD,SAAAqrB,EAAAhtC,IAAAgtC,EAAA9G,QACAiH,EAAArsD,GAAApyB,KAAA88E,OAAAr5E,GAAAwvD,SAAAsrB,EAAAjtC,IAAAitC,EAAA/G,OACA,IAAAgH,GAAAC,EACA,OAEAz+E,KAAA++C,WAEA/+C,KAAA08E,gBAAA,WACA18E,KAAA++C,UAEA/+C,KAAA45E,QAAA,SAAA8E,GACA,GAAA/jE,GAAA3a,KAAA+4E,SAAAp1E,OACA6tB,EAAAxxB,KAAAwxB,OAAAktD,GAAA,EACAltD,GAAAlc,KAAA4T,IAAA5T,KAAAqF,IAAA6W,EAAA,GAAA7W,GACA6W,GAAA7W,ItO84cY6W,EAAQ,GsO54cpBxxB,KAAA2+E,cAAAntD,GACA,IAAAA,GACAxxB,KAAA++C,UAEA/+C,KAAA2+E,cAAA,SAAAntD,GACAxxB,KAAA+8E,cAAA,IACA,IAAA1G,GAAAr2E,KAAA+4E,SAAA/4E,KAAAwxB,MAKA,IAJA6kD,GACAr2E,KAAA4+E,kBAAAvI,GACAr2E,KAAAwxB,SACA6kD,EAAAr2E,KAAA+4E,SAAA/4E,KAAAwxB,SACS6kD,EAAA1yE,OAAT,CAIA,GtO44cQ3D,KAAKg9E,gBAAkB3G,EsO54c/Br2E,KAAAi3E,OAAAsC,uBAWAv5E,KAAAi3E,OAAA7a,UAAAyiB,SAAAxI,EAAA4H,oBAXA,CACA,GAAAa,GAAA9+E,KAAAi3E,OAAA8H,WACAD,GAAAE,cAAA3I,EAAA4H,eAAAh0C,QACA,QAAAxmC,GAAA4yE,EAAA1yE,OAAAF,KACA4yE,EAAA2H,iBAAA3H,EAAA5yE,GAAAy6E,QAEAY,EAAAG,SAAA5I,EAAA5yE,GAAAwmC,SAAA,EAEA60C,GAAAhC,OAAA,IACAgC,EAAAG,SAAAH,EAAAhC,OAAA,GAAA7yC,SAKAjqC,KAAAi3E,OAAAgG,WAAAC,mBAAAl9E,KAAAm9E,mBAEAn9E,KAAAw5E,YAAA,SAAAT,EAAA70C,EAAAsW,GAGA,GAFAx6C,KAAA+8E,gBtO84cY/8E,KAAK+8E,mBsO54cjBhE,EAAA,IACA,GAAAn1E,GAAAixE,EAAAqK,WAAA1kC,IACA2kC,GAAAv7E,EAAAsgC,SACAi7C,EAAAv7E,EAAA42C,IAAAtW,GACA60C,EAAA,IAAAn1E,GACAm1E,EAAA,GAAAvnD,MAAA,EAGA,GAAA/tB,GAAAzD,KAAAwxB,MACAynD,GAAAx1E,EAAA,KACAq5E,EAAA98E,KAAA88E,MACA/D,GAAAznD,QAAA,SAAA+kD,EAAA7kD,GAGA,OAFA4tD,GAAAp/E,KAAA+8E,cAAAvrD,IAAA6kD,EAEA5yE,EAAA4yE,EAAA1yE,OAAAF,KAAA,CACA,GAAiBG,GAAAyyE,EAAA5yE,GACjBwV,EAAA47D,EAAAqK,WAAAt7E,EAAAsgC,MAAAtgC,EAAA42C,KAAA52C,EAAAsgC,MACAm7C,GAAApmE,EAAAirB,SACAm7C,EAAApmE,EAAAuhC,IAAAtW,GACAjrB,EAAAi2B,SAAAtrC,EACAqV,EAAAqmE,QAAAF,EACAtC,EAAAx3E,KAAA2T,GACAmmE,GAAA/I,EACA+I,EAAAjrE,QAAA8E,GAESmmE,EAAA37E,GAAAwV,EtO84cWrV,EAAE0yE,WsO54ctBr9D,EAAAilE,QAAA,EACAkB,EAAApB,iBAAA,GACAoB,EAAAnB,iBACAmB,EAAAnB,eAAAhlE,GAEAmmE,EAAAnB,iBtO84cgBmB,EAAKpB,iBAAkB,GsO54cvCoB,IAAA/I,IACA4C,EAAA3zE,KAAA85E,GACAp/E,KAAA+8E,cAAAvrD,GAAA4tD,GAEAp/E,KAAA4+E,kBAAAQ,IACSp/E,MAETi5E,EAAAt1E,OAAA,IACA3D,KAAA+4E,SAAAp1E,QACAs1E,EAAA3zE,KAAA2zE,EAAA5uE,OAAA,SACArK,KAAA+4E,SAAA1uE,OAAAtG,MAAA/D,KAAA+4E,SAAAE,KAIAj5E,KAAA4+E,kBAAA,SAAAvI,GACA,GAAAc,GAAAn3E,KAAAi3E,OAAAE,OACAd,GAAA/kD,QAAA,SAAArY,GACAA,EAAAsmE,WACAtmE,EAAAsmE,SAAApI,EAAAqI,UAAAvmE,EAAA,iCAGAjZ,KAAAo9E,qBAAA,SAAA/G,GACA,GAAAc,GAAAn3E,KAAAi3E,OAAAE,OACAd,GAAA/kD,QAAA,SAAArY,GACAk+D,EAAAsI,aAAAxmE,EAAAsmE,UACAtmE,EAAAsmE,SAAA,QtOg5cIv/E,KAAK89E,YAAc,SAAS7kE,GsO54chC,GAAAxV,GAAAwV,EAAAqmE,QAAA1sE,QAAAqG,EACAA,GAAAqmE,QAAAj1E,OAAA5G,EAAA,GACAA,EAAAzD,KAAA88E,OAAAlqE,QAAAqG,GACAjZ,KAAA88E,OAAAzyE,OAAA5G,EAAA,GACAzD,KAAAi3E,OAAAE,QAAAsI,aAAAxmE,EAAAsmE,UACAtmE,EAAAqmE,QAAA37E,StO84cYF,EAAIzD,KAAK+4E,SAASnmE,QAAQqG,EAAMqmE,UsO54c5C,GAAA77E,GACSzD,KAAA+4E,SAAA1uE,OAAA5G,EAAA,GACTzD,KAAA+4E,SAAAp1E,QACA3D,KAAA++C,WAIA/+C,KAASm9E,gBAAA,GAAApI,GACT/0E,KAAAm9E,gBAAAuC,UACAj/B,IAAA,SAAAk/B,GACA/uE,EAAAutE,gBAAAvtE,EAAAutE,eAAAhE,cAAAwF,ItOi5cYA,EAAGvG,eAAeQ,QAAQ,IsO34ctCgG,YAAA,SAAAD,GACAA,EAAAvG,eAAAQ,SAAA,IAEAiG,IAAA,SAAAF,GACAA,EAAAvG,eAAAr6B,UAEA+gC,OAAA,SAAAH,GACA,cAGA77E,KAAAu1E,EAAA94E,UAIA,IAAAw/E,KACAA,GAAAhyE,SAAA+mE,EAAAv0E,UAAAwN,SACAgyE,EAAAC,YAAA,SAAA1uC,EAAAkmC,GtO84cIx3E,KAAK6zC,IAAIvC,IAAMA,EsO54cnBtxC,KAAA6zC,IAAA2jC,UAEAuI,EAAAE,OAAA,SAAApsC,EAAA/nB,EAAAo0D,GACAlgF,KAAAkgF,eACAlgF,KAAA6zC,MtO84cI7zC,KAAK+N,SAAS+d,GsO14clB,IAAAuzD,GAAA,SAAqBc,EAAAp0D,GACrB,GAAAo0D,EAAA7uC,MACA6uC,EAAA3I,QAAAzrD,EAA2ByrD,QAC3B2I,EAAA7uC,KAAAvlB,EAAAulB,KAGC6tC,EAAA,SAAAgB,EAAAj8C,GtO84cOi8C,EAAM7uC,KAAOpN,EAAMoN,MsO54c3B6uC,EAAA3I,QAAAtzC,EAAAszC,QtO84cI2I,EAAM7uC,KAAOpN,EAAMoN,IsOz4cvB8gC,GAAA,aAAAsC,gBAAA,uMtOs5cA9jE,EAAQutE,eAAiB,GAAIjJ,EAG7B,IAAIkL,GAAShO,EAAS,YAAYgO,QsO54clC,WACApgF,KAAAy5E,cAAA,SAAAzJ,EAAAzwE,GACA,MAAAqR,GAAAutE,eAAA1E,cAAAz5E,KAAAgwE,EAAAzwE,IAEAS,KAAAqgF,cAAA,SAAA9gF,GACA,MAAAqR,GAAAutE,eAAAhE,cAAAn6E,KAAAT,MAEAuE,KAAAs8E,EAAA7/E,atOi5cA+zE,IAAIC,OAAO,0BAA0B,UAAU,UAAU,SAAS,uBAAuB,aAAa,YAAY,gBAAgB,eAAe,eAAgB,SAASnC,EAAUxhE,EAASjS,GsO54c7L,YAEA,IAAA2hF,GAAAlO,EAAA,uBAAAmO,gBACAH,EAAAhO,EAAA,aAAAgO,OACAvL,EAAAzC,EAAA,YAAAyC,MACA17C,EAAAi5C,EAAA,gBtO84cID,EAAOC,EAAS,esO54cpBvT,EAAAuT,EAAA,ctO+4cIoO,EAAoB,SAASlsE,GsO54cjC,GAAAw1B,GAAA,GAAAw2C,GAAAhsE,EtO+4cIw1B,GAAS22C,UAAY,CsO34czB,IAAAxJ,GAAA,GAAAmJ,GAAAt2C,EAUA,OtOq4cImtC,GAAOyJ,wBAAuB,GsO54clCzJ,EAAA0J,oBAAA,GACA1J,EAAAntC,SAAA82C,eAAA,GACA3J,EAAAntC,SAAA+2C,wBAAA,GAEA5J,EAAA6J,cAAAC,iBAAA,EtO84cI9J,EAAO+J,sBAAuB,EsO34clC/J,GtOg5cIgK,EAAW,SAAS5gC,GsO54cxB,GAAA/rC,GAAAuqD,EAAAjxD,cAAA,OACAszE,EAAA,GAAAV,GAAAlsE,EAEA+rC,IACAA,EAAAhvB,YAAA/c,GtO84cIA,EAAGklB,MAAM6M,QAAU,OsO54cvB66C,EAAAp3C,SAAAkmC,QAAAx2C,MAAAm/C,OAAA,UACAuI,EAAAp3C,SAAAq3C,SAAA,oBAEAD,EAAAE,UAAA,0BACAF,EAAAE,UAAA,gBtO+4cI,IAAIv2B,GAAO,YsO34cfq2B,GAAAzlC,MAAAoP,EACAq2B,EAAAG,YAAA,EAEAH,EAAAp3C,SAAAw3C,aAAAC,aAAA12B,EACAq2B,EAAKp3C,SAAAw3C,aAAA/zE,QAAAisB,MAAAgoD,QAAA,EAELN,EAAAp3C,SAAA22C,UAAA,EACAS,EAAAp3C,SAAA23C,uBAAA,EAEAP,EAAAR,wBAAA,GACAQ,EAAA/J,QAAAuK,UAAA,IACAR,EAAA/J,QAAAwK,iBAAAC,MAAA,uBAEAV,EAASjwE,GAAA,qBAAA1L,GACT,GAAAsuC,GAAAtuC,EAAAs8E,qBACAX,GAAA9kB,UAAA0lB,eAAAjuC,GACAkuC,EAAA79C,MAAAoN,IAAAywC,EAAAvnC,IAAAlJ,IAAAuC,EAAAvC,IACA/rC,EAAA4+B,QAGA,IAAA69C,GACAC,EAAA,GAAApN,IAAA,OAAAjD,KACAmQ,EAAA,GAAAlN,IAAA,OAAAjD,IACAmQ,GAAA92E,GAAAi2E,EAAA/J,QAAAqI,UAAAuC,EAAA,8BACAb,EAAAgB,iBAAA,SAAA3wD,GACAA,EAEA0wD,EAAAh3E,KACAi2E,EAAA/J,QAAAsI,aAAAwC,EAAAh3E,IACAg3E,EAAAh3E,GAAA,MAHAg3E,EAAAh3E,GAAAi2E,EAAA/J,QAAAqI,UAAAyC,EAAA,8BAMAf,EAAAgB,kBAAA,GACAhB,EAAAjwE,GAAA,qBAAA1L,GACA,IAAAy8E,EAEA,YADKA,EAAAz8E,EAGL,IAAAy8E,EAAA1zD,GAAA/oB,EAAA+oB,GAAA0zD,EAAAj9E,GAAAQ,EAAAR,EAAA,CAGAi9E,EAAAz8E,EACAy8E,EAAAv+B,UAAAy9B,EAAAp3C,SAAA2Z,SACA,IAAAnS,GAAA0wC,EAAAH,sBAAAvwC,GACK2wC,GAAA/9C,MAAAoN,SACL2wC,EAAAh3E,IACAi2E,EAAAiB,OAAA7wC,GACA8wC,EAAA9wC,OAGA4vC,EAAAp3C,SAAA74B,GAAA,0BACA,GAAA+wE,IAAA,GAAAC,EAAA/9C,MAAAoN,IAAA,CACA0wC,EAAAK,KAAA,IACA,IAAA/wC,GAAA0wC,EAAAH,sBAAAvwC,GACA2wC,GAAAh3E,IACAi2E,EAAAiB,OAAA7wC,GACK8wC,EAAA9wC,GAAA,MAGL4vC,EAAAp3C,SAAA74B,GAAA,yBACA,GAAAqgC,GAAA4vC,EAAAoB,SACA/+E,EAAA29E,EAAAp3C,SAAAy4C,WACA/uC,EAAAjwC,EAAAgK,QAAAi1E,WAAAlxC,EAAA/tC,EAAAlD,OAAAoiF,SACAjvC,IAAAjwC,EAAAm/E,eAEAn/E,EAAAm/E,cACA7jB,EAAA8jB,eAAAp/E,EAAAm/E,aAAA,gBACAn/E,EAAAm/E,aAAAlvC,EACAA,GtO84cYqrB,EAAI+jB,YAAYpvC,EAAU,kBsO34ctC,IAAAqvC,GAAA,WAAAT,GAAA,IACAA,EAAA,SAAA9wC,EAAAwxC,GtO84cYxxC,IAAQ2wC,EAAY/9C,MAAMoN,MsO54ctC2wC,EAAA/9C,MAAAoN,IAAA2wC,EAAAznC,IAAAlJ,MACAwxC,GACA5B,EAAA/J,QAAA4L,MAAA,oBACA7B,EAAA6B,MAAA,sBAGA7B,GAAA8B,cAAA,WACA,MAAAf,GAAA/9C,MAAAoN,KAGAnY,EAAA8pD,YAAA/B,EAAA/hC,UAAA,WAAA0jC,GACA3B,EAAAjwE,GAAA,OAAA4xE,GACA3B,EAAAjwE,GAAA,kBAAA4xE,GAEA3B,EAAA/J,QAAAqD,IAAA0I,UAAA,WACA,MAAAhC,GAAAlwE,KAAArN,QAEAu9E,EAAA/J,QAAAqD,IAAoBlD,QAAA,SAAA7zE,GACpB,GAAAuN,GAAAkwE,EAAAlwE,KAAAvN,EACA,uBAAAuN,GtO84cmBA,EsO54cnBA,KAAApQ,OAAA,GAGA,IAAAuiF,GAAAjC,EAAA/J,QAAAgM,WA2HA,OA1HAA,GAAAC,aAAA,SAAA9xC,GACA,GAAAtgC,GAAAkwE,EAAAlwE,KAAAsgC,GACAylC,IACA,KAAA/lE,EACA,MAAa+lE,EACb,iBAAA/lE,KACAA,GAAApQ,MAAAoQ,IACAA,EAAAqyE,UtO84cYryE,EAAKqyE,QAAUryE,EAAKpQ,OAASoQ,EAAKjH,KsOz4c9C,QADA2sE,GAAAlqE,EADA81C,GAAA,EAEA7+C,EAAA,EAAAA,EAAAuN,EAAAqyE,QAAA1/E,OAAAF,IACA+I,EAAAwE,EAAAqyE,QAAA5/E,GACAizE,EAAA1lE,EAAAsyE,UAAA,GAAA7/E,EAAA,IACA6+C,IAAyBo0B,GACzBK,EAAAzxE,MAAAqB,KAAAqK,EAAAnD,YAAA6oE,EAAA,2BAAA91E,MAAA4L,IACA81C,EAAAo0B,GAEAK,IAAApzE,OAAA,GAAA/C,OAAA4L,CAIA,IAAAwE,EAAAw7B,KAAA,CACA,GAAA+2C,GAAArC,EAAAp3C,SAAA05C,MAAAC,cAAAvC,EAAAp3C,SAAA45C,YAAAC,etO84cgBC,EAAW5yE,EAAKw7B,IsO54chCo3C,GAAAjgF,OAAAqN,EAAAqyE,QAAA1/E,OAAA4/E,EAAA,IACAK,IAAA3oE,OAAA,EAAAsoE,EAAAvyE,EAAAqyE,QAAA1/E,OAAA,QtO+4cYozE,EAAOzxE,MAAMqB,KAAM,mBAAoB/F,MAAOgjF,IsO34c1D,MAAA7M,IAEAoM,EAAAU,gBAAAh5B,EACAs4B,EAAAj/C,MAAA2mB,EAEAq2B,EAAA/J,QAAA2M,cAAA,WACA,MAAA9jF,MAAA+jF,YAAA,GAGA7C,EAAAvP,gBAAAC,IACAsP,EAAAzwD,QAAA,EACAywD,EAAA8C,WAAA,EAEA9C,EAAAlwE,QACAkwE,EAAA+C,QAAA,SAAAl2C,GACAmzC,EAAA9Q,SAAA+B,EAAA+R,aAAA,KAAAn2C,EAAApqC,SAAA,GACAu9E,EAAAlwE,KAAA+8B,MACAmzC,EAAAiB,OAAA,IAEAjB,EAAAiD,QAAA,SAAA7yC,GACA,MAAA4vC,GAAAlwE,KAAAsgC,ItOg5cI4vC,EAAMoB,OAAS,WsO54cnB,MAAAP,GAAA79C,MAAAoN,KAEA4vC,EAAAiB,OAAA,SAAAve,GACAA,EAAAtuD,KAAAqF,IAAA,EAAArF,KAAA4T,IAAAlpB,KAAAgR,KAAArN,OAAAigE,IACKme,EAAA79C,MAAAoN,KAAAsyB,ItO84cOsd,EAAM9kB,UAAUiU,iBsO54c5B0R,EAAA79C,MAAAoN,IAAAywC,EAAAvnC,IAAAlJ,IAAAsyB,GAAA,EACAsd,EAAA/J,QAAA4L,MAAA,oBACA7B,EAAAkD,aAAAxgB,GAAA,KACAsd,EAAAzwD,QACAywD,EAAApF,QAAA,YAIAoF,EAAAjwE,GAAA,6BACAiwE,EAAAzwD,QACAywD,EAAAiB,OAAAjB,EAAA9kB,UAAAkiB,KAAAhtC,KACA4vC,EAAAp3C,SAAAu6C,yBAGAnD,EAAA9yC,KAAA,WACApuC,KAAAm/C,UAAA3lB,MAAA6M,QAAA,OACArmC,KAAA87E,QAAA,QACAoF,EAAAzwD,QAAA,GAEAywD,EAAAz2D,KAAA,SAAAopB,EAAAywC,EAAAC,GACA,GAAAjwE,GAAAtU,KAAAm/C,UACAqlC,EAAAtkF,OAAAukF,YACAV,EAAA7jF,OAAAwkF,WACA56C,EAAA9pC,KAAA8pC,SACA66C,EAAA76C,EAAA22C,UAAA6D,EAAA,ItO84cYrlC,EAAMpL,EAAIoL,IAAMj/C,KAAK4kF,WsO54cjC3lC,GAAAulC,EAAA,IAAAD,GACAtlC,EAAAqlC,EAAAK,EAAAH,GtO84cY16C,EAAS+6C,gBAAkB5lC,EAAM,EAAIj/C,KAAK4kF,YsO54ctDtwE,EAAAklB,MAAAylB,IAAA,GACA3qC,EAAAklB,MAAAmqB,OAAA6gC,EAAAvlC,EAAA,KACAiiC,EAAA8C,WAAA,IAEA/kC,GAAAqlC,EtO84cYx6C,EAAS+6C,gBAAkBL,EAAevlC,EAAM,GAAMqlC,EsO54clEhwE,EAAAklB,MAAAylB,MAAA,KACA3qC,EAAAklB,MAAAmqB,OAAA,GACAu9B,EAAA8C,WAAA,GAGA1vE,EAAAklB,MAAA6M,QAAA,GACArmC,KAAA8pC,SAAAy4C,WAAAuC,qBtO+4cQ,IAAI5lC,GAAOrL,EAAIqL,IsO54cvBA,GAAA5qC,EAAAyoC,YAAAgnC,IACA7kC,EAAA6kC,EAAAzvE,EAAAyoC,aAEAzoC,EAAAklB,MAAA0lB,OAAA,KtO+4cQl/C,KAAK87E,QAAQ,QsO54crBkG,EAAA,KACAd,EAAAzwD,QAAA,GAGCywD,EAAA6D,kBAAA,WACD,MAAA/kF,MAAA4kF,YAAA5kF,KAAA8pC,SAA8Ck7C,SAAAhlF,KAAAilF,YAG9C/D,EAAA+D,WAAA,EACC/D,EAAA0D,YAAA,EAED1D,EAGAriB,GAAA6V,gBAAA,u4BA0CA9jE,EAAAqwE,aAIA3M,IAAAC,OAAA,gEAAAnC,EAAAxhE,EAAAjS,GACA,YAEAiS,GAAAs0E,WAAA,SAAA98E,EAAA07B,EAAA6L,GtO84cI,GAAIw1C,GAAY,EsO54cpBC,EAAAh9E,EAAAzE,MACA,KAAAyhF,GACAz1C,GACA,QAAAlsC,GAAA,EAAAA,EAAuB2hF,EAAQ3hF,IAC/BqgC,EAAA17B,EAAA3E,GAAA,SAAA6nB,EAAAwN,KACAqsD,IACAC,GACAz1C,EAAArkB,EAAAwN,KAKA,IAAAusD,GAAA,+BAEAz0E,GAAA00E,4BAAA,SAAAr/E,EAAA4tC,EAAAhsB,GACAA,KAAqBw9D,CAErB,QADAE,MACA9hF,EAAAowC,EAAA,EAAApwC,GAAA,GACAokB,EAAAwI,KAAApqB,EAAAxC,IADAA,IAEA8hF,EAAAjgF,KAAAW,EAAAxC,GtOi5cI,OAAO8hF,GAAIC,UAAUptE,KAAK,KsO14c9BxH,EAAA60E,4BAAA,SAAAx/E,EAAA4tC,EAAAhsB,GACAA,KAAAw9D,CAEA,QADAE,MACA9hF,EAAAowC,EAAApwC,EAAAwC,EAAAtC,QACAkkB,EAAAwI,KAAApqB,EAAAxC,IADAA,IAEA8hF,EAAAjgF,KAAAW,EAAAxC,GAIA,OAAK8hF,ItOg5cL30E,EAAQ80E,oBAAsB,SAAUzO,GsO54cvC,GAED0O,GAFC9xC,EAAAojC,EAAAM,oBtO84cO3T,EAAOqT,EAAOE,QAAQG,QAAQzjC,EAAIvC,IsOn4c1C,OARA2lC,GAAAvE,WAAAphD,QAAA,SAAAs0D,GtO84cYA,EAAUC,mBsO54ctBD,EAAAC,kBAAAv0D,QAAA,SAAAw0D,IACAH,GAAAG,IACAH,EAAA3lF,KAAAslF,4BAAA1hB,EAAA/vB,EAAA2jC,OAAAsO,KACAvzD,KAAAvyB,QAEAuyB,KAAAvyB,OACA2lF,GAAA3lF,KAAAslF,4BAAA1hB,EAAA/vB,EAAA2jC,WAKAlD,IAAAC,OAAA,oMAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAo2E,GAAA3C,EAAA,2BAAA2C,YtO84cIkM,EAAW7O,EAAS,wBAAwB6O,SsO54chD8E,EAAA3T,EAAA,uBAEAD,GADAC,EAAA,eACAA,EAAA,eACAvT,EAAAuT,EAAA,atO84cI+L,EAAiB/L,EAAS,cAAc+L,esO34c5C6H,EAAA,WACAhmF,KAAKimF,YAAA,EtO84cDjmF,KAAKkmF,YAAa,EsO54ctBlmF,KAAAmmF,YAAA,EACAnmF,KAAAomF,oBAAA,EtO84cIpmF,KAAKm9E,gBAAkB,GAAIpI,GsO54c/B/0E,KAAAm9E,gBAAAuC,SAAA1/E,KAAAizE,UAEAjzE,KAAAqmF,aAAArmF,KAAAqmF,aAAA9zD,KAAAvyB,MACAA,KAAAsmF,eAAAtmF,KAAAsmF,eAAA/zD,KAAAvyB,MACAA,KAAAumF,kBAAAvmF,KAAAumF,kBAAAh0D,KAAAvyB,MACAA,KAAAwmF,mBAAAxmF,KAAAwmF,mBAAAj0D,KAAAvyB,MAEAA,KAASymF,YAAAtU,EAAAmK,YAAA,WACTt8E,KAAA0mF,mBAAA,IACAn0D,KAAAvyB,OAEAA,KAAA2mF,aAAAxU,EAAAmK,YAAAt8E,KAAA4mF,iBAAAr0D,KAAAvyB,MAAA,MtOg5cA,WsO34cAA,KAAA6mF,MAAA,WtOu5cQ,MsOt5cR7mF,MAAAkhF,MAAA,GAAAD,GAAAv+E,SAAA6B,MAAA7B,SAAA44C,iBtO84cQt7C,KAAKkhF,MAAMjwE,GAAG,QAAS,SAAS1L,GsO54cxCvF,KAAA8mF,cACAvhF,EAAA4+B,QACA5R,KAAAvyB,OtO84cQA,KAAKkhF,MAAMzlC,MAAQz7C,KAAKi3E,OAAOx7B,MAAMlpB,KAAKvyB,KAAKi3E,QsO54cvDj3E,KAAAkhF,MAAAjwE,GAAA,OAAAjR,KAAA2mF,aAAAp0D,KAAA,YtO84cQvyB,KAAKkhF,MAAMjwE,GAAG,SAAUjR,KAAK2mF,aAAap0D,KAAK,KAAM,OsO54c7DvyB,KAAAkhF,MAAAjwE,GAAA,oBAAAjR,KAAA2mF,aAAAp0D,KAAA,YtO84cevyB,KAAKkhF,OsO14cpBlhF,KAAA+mF,SAAA,WACA,MAAA/mF,MAAAkhF,OAAAlhF,KAAA6mF,SAGA7mF,KAAAgnF,UAAA,SAAA/P,EAAA0O,EAAAsB,GtO84cajnF,KAAKkhF,OsO54clBlhF,KAAA6mF,QtO+4cQ7mF,KAAKkhF,MAAM+C,QAAQjkF,KAAKknF,YAAYC,UsO34c5ClQ,EAAAgG,WAAAC,mBAAAl9E,KAAAm9E,gBAEA,IAAArzC,GAAAmtC,EAAAntC,QAEA,ItO44cQ9pC,KAAKkhF,MAAMiB,OAAOniF,KAAKkmF,WAAa,GAAK,GsO54cjDe,EAeAA,IAAAtB,GACA3lF,KAAA++C,aAhBA,CACS/+C,KAAAkhF,MAAAhP,SAAA+E,EAAAmQ,YACTpnF,KAAAkhF,MAAAmG,YAAApQ,EAAAqQ,cAEA,IAAAhD,GAAAx6C,EAAA45C,YAAAY,WAEAzwC,EAAA/J,EAAAw3C,aAAAiG,iBAAAvnF,KAAA4lC,MAAA,EACAiO,GAAAqL,MAAAl/C,KAAAkhF,MAAA6D,mBAEA,IAAAyC,GAAAvQ,EAAA93B,UAAAa,uBACAnM,GAAAoL,KAAAuoC,EAAAvoC,IAAAnV,EAAA45C,YAAAxnE,OACA23B,EAAAqL,MAAAsoC,EAAAtoC,KAAA+3B,EAAAntC,SAAAib,WACAlR,EAAAqL,MAAApV,EAAA29C,YtO+4cYznF,KAAKkhF,MAAMz2D,KAAKopB,EAAKywC,KsOv4cjCtkF,KAAA++C,OAAA,WACA/+C,KAAAi3E,OAAAgG,WAAAK,sBAAAt9E,KAAAm9E,iBACAn9E,KAAAi3E,OAAA1lE,IAAA,kBAAAvR,KAAAsmF,gBACAtmF,KAAAi3E,OAAA1lE,IAAA,OAAAvR,KAAAqmF,ctO84cQrmF,KAAKi3E,OAAO1lE,IAAI,YAAavR,KAAKumF,mBsO54c1CvmF,KAAAi3E,OAAA1lE,IAAA,aAAAvR,KAAAwmF,oBACAxmF,KAAAymF,YAAAiB,SACA1nF,KAAA2nF,iBAEA3nF,KAAAomF,qBAAA,EACApmF,KAAAkhF,OAAAlhF,KAAAkhF,MAAAzwD,QACAzwB,KAAAkhF,MAAA9yC,OAEApuC,KAAA4lC,MACA5lC,KAAA4lC,KAAAmZ,StO84cQ/+C,KAAK4nF,WAAY,EsO54czB5nF,KAAAknF,YAAAlnF,KAAA4lC,KAAA,MAGA5lC,KAAAsmF,eAAA,SAAA/gF,GACA,GAAAozE,GAAA34E,KAAAi3E,OAAA7a,UAAAkiB,MACA3F,EAAArnC,KAAAtxC,KAAA4lC,KAAA0L,KAAAqnC,EAAAnB,OAAAx3E,KAAA4lC,KAAA4xC,SACAx3E,KAAA++C,SAEA/+C,KAAA4nF,UACA5nF,KAAAymF,YAAAjK,WAEAx8E,KAAA++C,UtOg5cI/+C,KAAKqmF,aAAe,SAAS9gF,GsO54cjCA,EAAAs7C,eAAA,KAAAt7C,EAAAs7C,cAAAgnC,UAAAtiF,EAAAs7C,cAAAlzC,MACAzN,OAAA8vB,KAAAzqB,EAAAs7C,cAAAlzC,KAAA,StO+4cQ,IAAI2G,GAAK5R,SAASolF,csO54c1B7hF,EAAAjG,KAAAi3E,OAAA8Q,UAAAC,aACAC,EAAA1iF,EAAAs7C,eAAAt7C,EAAAs7C,eAAA7gD,KAAAkoF,YACA/oC,EAAAn/C,KAAAkhF,OAAAlhF,KAAAkhF,MAAA/hC,StO84cY7qC,IAAMrO,GAAQqO,EAAG+rC,YAAclB,GAAc8oC,GsO54czD3zE,GAAAtU,KAAAkoF,aAAA3iF,EAAAs7C,eAAA56C,GAEAjG,KAAA++C,UAIA/+C,KAAAumF,kBAAA,SAAAhhF,GACAvF,KAAA++C,UtOg5cI/+C,KAAKwmF,mBAAqB,SAASjhF,GsO54cvCvF,KAAA++C,UAGA/+C,KAAAmoF,KAAA,SAAAC,GACA,GAAA92C,GAAAtxC,KAAAkhF,MAAAoB,SACA3nE,EAAA3a,KAAAkhF,MAAA/J,QAAA+L,YAAA,CAEA,QAAAkF,GtO84cY,IAAK,KAAM92C,EAAMA,GAAO,EAAI32B,EAAM22B,EAAM,CAAG,MsO54cvD,YAAAA,KAAA32B,GAAA,EAAA22B,EAAA,OACA,aAAAA,EAAA,OACS,WAAAA,EAAA32B,EAGT3a,KAAAkhF,MAAAiB,OAAA7wC,IAGAtxC,KAAA8mF,YAAA,SAAA91E,EAAAzR,GAGA,GAFAyR,IACAA,EAAAhR,KAAAkhF,MAAAiD,QAAAnkF,KAAAkhF,MAAAoB,YACAtxE,EACA,QAEA,IAAAA,EAAA40E,WAAA50E,EAAA40E,UAAAkB,YACA91E,EAAA40E,UAAAkB,YAAA9mF,KAAAi3E,OAAAjmE,OACA,CtO84cY,GAAIhR,KAAKknF,YAAYmB,WsO34cjC,OAAApvE,GtO44coB6jE,EAAS98E,KAAKi3E,OAAO7a,UAAUksB,esO54cnD7kF,EAAA,EAAAwV,EAAA6jE,EAAAr5E,OACAwV,EAAAirB,MAAgCszC,QAAAx3E,KAAAknF,YAAAmB,WAA+B1kF,OAC/D3D,KAAAi3E,OAAAE,QAAkCnmD,OAAA/X,EtOg5clBjI,GAAKonE,QsO54crB+F,EAAA1E,cAAiCz5E,KAAAi3E,OAAAjmE,EAA6BonE,SAE9Dp4E,KAAAi3E,OAAAsR,YAAA,eAA0Cv3E,EAAApQ,OAAAoQ,GAE1ChR,KAAA++C,UAIA/+C,KAAAizE,UACAuV,GAAS,SAAAvR,KAAA2O,UAAAuC,KAAA,OtO84cDM,KAAQ,SAASxR,GAAUA,EAAO2O,UAAUuC,KAAK,SsO54czDO,oBAAA,SAAoCzR,KAAA2O,UAAAuC,KAAA,UACpCQ,qBAAA,SAAsC1R,KAAA2O,UAAAuC,KAAA,QtO+4c9BtI,IAAO,SAAS5I,GAAUA,EAAO2O,UAAU7mC,UsO54cnD+gC,OAAA,SAAA7I,GAAA,MAAAA,GAAA2O,UAAAkB,eACA8B,eAAA,SAAA3R,KAAA2O,UAAAkB,YAAA,MAAA+B,cAAA,KACApoC,IAAA,SAAAw2B,GtO84cY,GAAI3rD,GAAS2rD,EAAO2O,UAAUkB,asO54c1C,IAAAx7D,GAAA2rD,EAAAmC,eAGA,MAAA9tD,EAFA2rD,GAAA2O,UAAAuC,KAAA,SAKAW,OAAA,SAAA7R,KAAA2O,UAAA1E,MAAA6H,cACAC,SAAA,SAAA/R,KAAA2O,UAAA1E,MAAA+H,iBAGAjpF,KAAAkpF,kBAAA,SAAAjS,EAAAtnC,GACA,GAAAwnC,GAAAF,EAAA5F,aACAx9B,EAAAojC,EAAAM,oBAGAoO,GADAxO,EAAAG,QAAAzjC,EAAAvC,KACAy0C,EAAAL,oBAAAzO,GAEAj3E,MAAA4lC,KAAAuxC,EAAAqD,IAAA2O,aAAAt1C,EAAAvC,IAAAuC,EAAA2jC,OAAAmO,EAAAhiF,QACA3D,KAAA4lC,KAAiBs6C,cAAA,CAEjB,IAASvmE,MACT4R,EAAA0rD,EAAAvE,WAAA/uE,MAcA,OAbAszE,GAAAvE,WAAAphD,QAAA,SAAAs0D,EAAAniF,GtO84cYmiF,EAAUwD,eAAenS,EAAQE,EAAStjC,EAAK8xC,EAAQ,SAAS7sD,EAAK2vB,IsO54cjF3vB,GAAA2vB,IACA9uC,IAAAixB,OAAA6d,GACA,IAAA5U,GAAAojC,EAAAM,mBtO84c2BJ,GAAQG,QAAQzjC,EAAIvC,IsO54c/C3B,GAAA,MtO84coBg2C,OAAQA,EsO54c5BhsE,UACA0vE,SAAA,KAAA99D,SAIA,GAGAvrB,KAAAspF,UAAA,SAAArS,GACAj3E,KAAAi3E,QACAj3E,KAAA++C,SAEA/+C,KAAA4nF,WAAA,EtO+4cQ5nF,KAAKi3E,OAASA,EsO54ctBA,EAAA2O,WAAA5lF,OACAi3E,EAAA2O,WACA3O,EAAA2O,UAAA7mC,SACAk4B,EAAA2O,UAAA5lF,MAGAi3E,EAAAhmE,GAAA,kBAAAjR,KAAAsmF,gBACArP,EAAAhmE,GAAA,OAAAjR,KAAAqmF,cACApP,EAAAhmE,GAAA,YAAAjR,KAAAumF,mBACAtP,EAAAhmE,GAAA,aAAAjR,KAAAwmF,oBAEAxmF,KAAA0mF,qBAGA1mF,KAAA0mF,kBAAA,SAAAO,GACA,GAAAA,GAAAjnF,KAAA4lC,MAAA5lC,KAAAknF,YAAA,CACA,GAAArzC,GAAA7zC,KAAAi3E,OAAAM,oBACAoO,EAAA3lF,KAAAi3E,OAAAE,QAAAE,cAAAnzC,MAAAlkC,KAAA4lC,KAAA4U,IAAA3G,GACA,IAAA8xC,GAAA3lF,KAAAknF,YAAAmB,WACA,MAEA,OADAroF,MAAAknF,YAAAqC,UAAA5D,GACa3lF,KAAAknF,YAAAC,SAAAxjF,OAEb,GAAA3D,KAAAknF,YAAAC,SAAAxjF,QACA3D,KAAAknF,YAAAC,SAAA,GAAAvmF,OAAA+kF,GtO84cgB3lF,KAAKknF,YAAYC,SAAS,GAAG/O,YsO34c7Cp4E,MAAAgnF,UAAAhnF,KAAAi3E,OAAA0O,EAAAsB,GADAjnF,KAAA++C,StOy4cuB/+C,KAAK++C,SAQpB,GAAIyqC,GAAMxpF,KAAKomF,mBsO54cvBpmF,MAAAkpF,kBAAAlpF,KAAAi3E,OAAA,SAAAn+C,EAAA2vB,GtO84cY,GAAIghC,GAAmB,WsO54cnC,GAAAhhC,EAAA4gC,SACA,MAAArpF,MAAA++C,UtO84ccxsB,KAAKvyB,MsO34cnB2lF,EAAAl9B,EAAAk9B,OACAhsE,EAAA8uC,KAAA9uC,OAEA,KAAAA,MAAAhW,OACA,MAAA8lF,IACA,QAAA9D,EAAA/yE,QAAA61C,EAAAk9B,SAAA6D,GAAAxpF,KAAAomF,oBAAA,CAGApmF,KAAAknF,YAAA,GAAAwC,GAAA/vE,GAEA3Z,KAAAmmF,atO84cgBnmF,KAAKknF,YAAYf,YAAa,GsO34c9CnmF,KAAAknF,YAAAqC,UAAA5D,EACA,IAAAwB,GAAAnnF,KAAAknF,YAAAC,QtO84cY,OAAKA,GAASxjF,SsO34c1B,GAAAwjF,EAAAxjF,QAAAwjF,EAAA,GAAAvmF,OAAA+kF,GAAAwB,EAAA,GAAA/O,SAEAp4E,KAAAimF,YAAA,GAAAkB,EAAAxjF,QAAA8kD,EAAA4gC,SACArpF,KAAA8mF,YAAAK,EAAA,QAEAnnF,MAAAgnF,UAAAhnF,KAAAi3E,OAAA0O,EAAAsB,GANAwC,MAOAl3D,KAAAvyB,QAGAA,KAAA2pF,kBAAA,WACA3pF,KAASi3E,OAAA6J,cAAA6I,qBtOg5cL3pF,KAAK4mF,iBAAmB,WsO54c5B,GAAA1F,GAAAlhF,KAAAkhF,MACAvnC,EAAAunC,EAAmBlwE,KACnBwiC,EAAAmG,MAAAunC,EAAA8B,kBAAArpC,EAAAunC,EAAAoB,WACA9H,EAAA,IACA,OAAAhnC,IAAAxzC,KAAAi3E,QAAAj3E,KAAAkhF,MAAAzwD,QtO+4cQzwB,KAAKi3E,OAAOvE,WAAWz9B,KAAK,SAAS2wC,GsO14c7C,MAFAA,GAAAgE,gBACApP,EAAAoL,EAAAgE,cAAAp2C,IACAgnC,IAEAA,IACAA,EAAAhnC,GAEA,gBAAAgnC,KACAA,GAAAqP,QAAArP,ItO84caA,IAASA,EAAIsP,SAAWtP,EAAIqP,asO34czC7pF,MAAA+pF,eAAAvP,GADAx6E,KAAA2nF,kBAZA3nF,KAAA2nF,kBAgBA3nF,KAAA+pF,eAAA,SAAAxjF,GACAvG,KAAAkoF,ctO84cYloF,KAAKkoF,YAAcrpB,EAAIjxD,cAAc,OsO54cjD5N,KAAAkoF,YAAAr6E,UAAA,8BACA7N,KAAAkoF,YAAA1uD,MAAAwwD,OAAA,EACAhqF,KAAAkoF,YAAA1uD,MAAAywD,cAAA,OACAjqF,KAAAkoF,YAAAgC,UAAA,EACAlqF,KAAAkoF,YAAAiC,OAAAnqF,KAAAqmF,aAAA9zD,KAAAvyB,MAGA,IAAAkoF,GAAAloF,KAAAkoF,WACA3hF,GAAAujF,QACA5B,EAAAl1D,UAAAzsB,EAAAujF,QACSvjF,EAAAsjF,UACT3B,EAAAkC,YAAA7jF,EAAAsjF,SAGA3B,EAAA7nC,YACA39C,SAAA6B,KAAA8sB,YAAA62D,EtO84cQ,IAAIhH,GAAQlhF,KAAKkhF,MsO54czBsG,EAAAtG,EAAA/hC,UAAAa,uBACAkoC,GAAA1uD,MAAAylB,IAAAiiC,EAAA/hC,UAAA3lB,MAAAylB,IACAipC,EAAA1uD,MAAAmqB,OAAAu9B,EAAA/hC,UAAA3lB,MAAAmqB,OAEAzjD,OAAAwkF,WAAA8C,EAAAthC,MAAA,KACAgiC,EAAA1uD,MAAA0sB,MAAAhmD,OAAAwkF,WAAA8C,EAAAtoC,KAAA,KACAgpC,EAAA1uD,MAAA0lB,KAAA,KAEAgpC,EAAA1uD,MAAA0lB,KAAAsoC,EAAAthC,MAAA,OACAgiC,EAAA1uD,MAAA0sB,MAAA,IAECgiC,EAAA1uD,MAAA6M,QAAA,SAGDrmC,KAAA2nF,eAAA,WAEA,GADA3nF,KAAA2mF,aAAAe,SACA1nF,KAAAkoF,YAAA,CACA,GAAA5zE,GAAAtU,KAAAkoF,WACAloF,MAAAi3E,OAAAv7C,aAAAh5B,SAAAolF,eAAAxzE,GACAtU,KAAAi3E,OAAAx7B,QACAz7C,KAAAkoF,YAAA,KACA5zE,EAAA+rC,YACK/rC,EAAA+rC,WAAAhuB,YAAA/d,OtOg5cFxQ,KAAKkiF,EAAazlF,WsO34crBylF,EAAAqE,cACAtgF,KAAA,oBACAg9B,KAAA,SAAAkwC,GACAA,EAAA2O,YACA3O,EAAA2O,UAAA,GAAAI,IACA/O,EAAA2O,UAAAK,YAAA,EACAhP,EAAA2O,UAAAM,YAAA,EACAjP,EAAA2O,UAAA0D,UAAArS,GACAA,EAAA2O,UAAA+D,qBAEAxW,QAAA,wCAGA,IAAAuW,GAAA,SAAAthF,EAAAigF,GACAroF,KAAA25C,IAAAvxC,EACApI,KAAAmnF,SAAA/+E,EACApI,KAASqoF,cAAA,GACTroF,KAAAmmF,YAAA,IAEA,WACAnmF,KAAAupF,UAAA,SAAA9zE,GACA,GAAAA,EAAA9R,OAAA3D,KAAAqoF,YAAA,IAAA5yE,EAAAyjE,YAAAl5E,KAAAqoF,WAAA,GACA,GAAA1uE,GAAA3Z,KAAAmnF,atO+4cY,IAAIxtE,GAAU3Z,KAAK25C,GsO34c/B35C,MAAAqoF,WAAA5yE,EACAkE,EAAA3Z,KAAAsqF,kBAAA3wE,EAAA3Z,KAAAqoF,YACA1uE,IAAA/P,KAAA,SAAA3K,EAAA4K,GACA,MAAAA,GAAAs8E,WAAAlnF,EAAAknF,YAAAt8E,EAAA0gF,MAAAtrF,EAAAsrF,OAEA,IAAAloC,GAAA,IACA1oC,KAAA1F,OAAA,SAAA1N,GACA,GAAA88E,GAAA98E,EAAA6xE,SAAA7xE,EAAA88E,SAAA98E,EAAA3F,KACA,OAAAyiF,KAAAhhC,IACAA,EAAAghC,GACA,KAGArjF,KAAAmnF,SAAAxtE,GAEA3Z,KAAAsqF,kBAAA,SAAAniF,EAAAqiF,GACA,GAAA/hC,MACAgiC,EAAAD,EAAAttE,cACAwtE,EAAAF,EAAAv1E,aACA01E,GAAA,OAAApkF,GAAA9C,EAAA,EAAA8C,EAAA4B,EAAA1E,OAAA,CACA,GAAA4/E,GAAA98E,EAAA3F,OAAA2F,EAAA88E,SAAA98E,EAAA6xE,OACA,IAAAiL,EAAA,CACA,GAGA7xD,GAAAo5D,EAHAC,GAAA,EACAvH,EAAA,EACAwH,EAAA,CAGA,IAAA9qF,KAAAmmF,YACA,GAAAqE,IAAAnH,EAAApoE,OAAA,EAAAuvE,EAAA7mF,QACA,QAAAgnF,OAEA,QAAAn7B,GAAA,EAAAA,EAAAg7B,EAAA7mF,OAAA6rD,IAAA,CACA,GAAA8oB,GAAA+K,EAAAzwE,QAAA83E,EAAAl7B,GAAAq7B,EAAA,GACAE,EAAA1H,EAAAzwE,QAAA63E,EAAAj7B,GAAAq7B,EAAA,EAEA,KADAr5D,EAAA8mD,GAAA,IAAAyS,EAAA,GAAAzS,EAAAyS,GAAAzS,EAAAyS,GACA,EACA,QAAAJ,EACAC,GAAAp5D,EAAAq5D,EAAA,EACAD,EAAA,KACA,IAAAC,IACCC,GAAA,ItO84cuBA,GAAWF,GsO34cnCtH,GAAA,GAAA9xD,EtO84coBq5D,EAAYr5D,EsO14chCjrB,EAAA+8E,YACA/8E,EAAA4/E,WAAA2E,EAAA,ItO84cYvkF,EAAKgkF,OAAShkF,EAAKgkF,OAAS,GAAKO,EsO54c7CriC,EAAAnjD,KAAAiB,IAEA,MAAAkiD,MAEA3kD,KAAA4lF,EAAAnpF,WAEAqQ,EAAAo1E,eACAp1E,EAAA84E,iBAIApV,IAAAC,OAAA,sFAAAnC,EAAAxhE,EAAAjS,GAKA,QAAAqsF,GAAAxQ,EAAA3mC,GAEA,MADA2mC,GAAAnD,aAAAxC,EAAAqK,YAAA5tC,IAAA,EAAAkmC,OAAA,GAAA3jC,IACAvJ,MAAAisC,GAAA5yE,OAAA,EAEA,QAAasnF,GAAAzQ,EAAA3mC,GACb,GAAAq3C,GAAAF,EAAAxQ,EAAA3mC,GACAs3C,EAAA3Q,EAAAzH,WAAAzoC,MAAAisC,GACS6U,EAAA/nF,OAAAJ,OAAA,MAETooF,EAAAF,EAAAD,EAaA,OAXAC,GAAA75D,QAAA,SAAAg6D,EAAAlhF,GACA,GAAAkhF,OAAAD,EAAA,CAEA,GAAAT,GAAAt1E,KAAAC,IAAA21E,EAAA9gF,GACAmgF,EAAAY,EAAAxnF,OAAAinF,CACAQ,GAAAE,GACAF,EAAAE,GAAAh2E,KAAAqF,IAAA4vE,EAAAa,EAAAE,IAEAF,EAAAE,GAAAf,KAGAa,EtOm3cI,GAAIvW,GAAQzC,EAAS,YAAYyC,MsO34crC0B,EAAA,gDA2BA3lE,GAAAw4E,eAAA,SAAAnS,EAAAE,EAAAtjC,EAAA8xC,EAAAh2C,GACA,GAAA47C,GAAAN,EAAA9T,EAAAtjC,EAEAlE,GAAA,KtO44cuBtsC,OAAOgD,KAAKklF,GsO54cnCjlF,IAAA,SAAAglF,GACA,OACAjI,QAAAiI,EACA1qF,MAAA0qF,EACAf,MAAAgB,EAAAD,GtO84cgB9+C,KAAM,esOv4ctB8nC,IAAAC,OAAA,mNAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAw/E,GAAA/L,EAAA,eAAA+L,eACA6H,EAAA5T,EAAA,mBAAA4T,aACA3lF,EAAA+xE,EAAA,atO84cID,EAAOC,EAAS,esO54cpB2T,EAAA3T,EAAA,wBAEAoZ,EAAApZ,EAAA,kCACAqZ,GACArC,eAAA,SAAAnS,EAAAE,EAAAtjC,EAAA8xC,EAAAh2C,GACA,GAAAwnC,EAAA2C,MAAA8L,UACA,MAAAzO,GAAA2C,MAAA8L,UAAyCwD,eAAKnS,EAAAE,EAAAtjC,EAAA8xC,EAAAh2C,EAE9C,IAAAr5B,GAAA2gE,EAAAE,QAAA6C,SAAAnmC,EAAAvC,IAEA3B,GAAA,KADAwnC,EAAA2C,MAAAsP,eAAA9yE,EAAA6gE,EAAAtjC,EAAA8xC,MAKA+F,GACAtC,eAAA,SAAAnS,EAAAE,EAAAtjC,EAAA8xC,EAAAh2C,GACA,GAAAwlC,GAAiBgJ,EAAAhJ,WACjB+R,IACA/I,GAASlE,gBAAAhD,GAAA3lD,QAAA,SAAAngB,GAEJ,OADLkpE,GAAAlF,EAAAhkE,OACK1N,EAAA42E,EAAA12E,OAAAF,KAAA,CACL,GAAAD,GAAA62E,EAAA52E,GACA4/E,EAAA7/E,EAAAuG,MAAAvG,EAAAk4E,UACA2H,IAEA6D,EAAA5hF,MACA+9E,UACAjL,QAAA50E,EAAAwsE,QACAxjC,KAAAhpC,EAAAk4E,aAAAl4E,EAAAuG,KAAAvG,EAAAk4E,WAAA,eACA/0E,KAAA,cAGA3G,MACA2vC,EAAA,KAAAu3C,IAEA0C,cAAA,SAAArjF,GACA,WAAAA,EAAAI,MAAAJ,EAAAujF,UACAvjF,EAAAujF,SACA,MAAA3X,EAAAwZ,WAAAplF,EAAA88E,SAAA,mBACAlR,EAAAwZ,WAAAplF,EAAA6xE,UACAhgE,KAAA,OAKAs6D,GAAAgZ,EAAAF,EAAAC,EACA76E,GAAAg7E,cAAA,SAAAr6D,GACAmhD,EAAK/uE,OAAA,EACL4tB,GAAAmhD,EAAAptE,KAAAvB,MAAA2uE,EAAAnhD,ItO+4cA3gB,EAAQi7E,aAAe,SAASjG,GsO54chClT,EAAAptE,KAAAsgF,IAEAh1E,EAAA46E,gBtO84cA56E,EAAQ66E,iBAAmBA,EsO54c3B76E,EAAA86E,kBAEA,IAAArL,IACAt2E,KAAA,gBACAg9B,KAAA,SAAAkwC,GACA,MAAAkH,GAAAhE,cAAAlD,IAEA9D,QAAA,OAGA2Y,EAAA,SAAAvmF,EAAA0xE,GACA8U,EAAA9U,EAAAE,QAAA2C,QAGAiS,EAAA,SAAAz/B,GACA,GAAArhD,GAAAqhD,EAAAnB,GACAgzB,GAAA6N,QACA7N,EAAA6N,UACAC,EAAAhhF,GACAqhD,EAAAxB,OACAwB,EAAAxB,MAAAx5B,QAAAy6D,IAGAE,EAAA,SAAAhhF,GACA,GAAAA,IAAAkzE,EAAiB6N,MAAA/gF,GAAjB,CAEA,GAAAihF,GAAAjhF,EAAAqH,QAAA,kBACA6rE,GAAK6N,MAAA/gF,MACL5K,EAAA8rF,WAAAD,EAAA,SAAApzE,GtO84cYA,IsO54cZqlE,EAAA6N,MAAA/gF,GAAA6N,GACAA,EAAAuhE,UAAAvhE,EAAA4/D,cACA5/D,EAAAuhE,SAAA8D,EAAAlC,iBAAAnjE,EAAA4/D,cACAyF,EAAA7kC,SAAAxgC,EAAAuhE,aAAAvhE,EAAA3H,OACA2H,EAAAohE,gBACAiE,EAAAhJ,WAAAr8D,EAAA3H,OAAA+oE,cAAAphE,EAAAohE,cACAphE,EAAAohE,cAAA5oD,QAAA,SAAAhD,GACA29D,EAAA,YAAA39D,WAOA89D,EAAA,SAAA7mF,GACA,GAAA0xE,GAAA1xE,EAAA0xE,OACAoV,EAAApV,EAAA2O,WAAA3O,EAAA2O,UAAAgC,SACA,kBAAAriF,EAAA64E,QAAAr0E,KtO84cYsiF,IAAiBtG,EAAKL,oBAAoBzO,IsO54ctDA,EAAA2O,UAAA7mC,aAEA,qBAAAx5C,EAAA64E,QAAAr0E,KAAA,CACA,GAAA47E,GAAAI,EAAAL,oBAAAzO,EACA0O,KAAA0G,IACApV,EAAA2O,YACA3O,EAAA2O,UAAA,GAAAI,IAEA/O,EAAa2O,UAAAK,YAAA,EACbhP,EAAA2O,UAAA0D,UAAArS,MAKAmJ,EAAAhO,EAAA,aAAAgO,MACAhO,GAAA,aAAAka,cAAAlM,EAAA7/E,UAAA,UACA8xE,2BACA1xE,IAAA,SAAA4wB,GACAA,GACAvxB,KAAA0yE,aACa1yE,KAAA0yE,WAAAzmE,MAAA+H,QAAAud,KAAAmhD,GACb1yE,KAAAizE,SAAAC,WAAA8S,EAAAqE,eAESrqF,KAAAizE,SAAAsZ,cAAAvG,EAAAqE,eAGTzpF,OAAA,GAEA0xE,0BACA3xE,IAAA,SAAA4wB,GACAA,GACAvxB,KAAA0yE,aACa1yE,KAAA0yE,WAAAzmE,MAAA+H,QAAAud,KAAAmhD,GACb1yE,KAAAizE,SAAAhiE,GAAA,YAAAm7E,IAEApsF,KAAAizE,SAAAoK,eAAA,YAAA+O,IAGAxrF,OAAA,GAEC2xE,gBACD5xE,IAAA,SAAA4wB,GACAA,GACAvxB,KAAiBizE,SAAAC,WAAAmN,GtO84cDrgF,KAAKiR,GAAG,aAAc66E,GACtBA,EAAa,EAAM9rF,QAEnBA,KAAKizE,SAASsZ,cAAclM,GAC5BrgF,KAAKuR,IAAI,aAAcu6E,KuOzygBvClrF,OAAA,OAIA,WACoB0zE,IAAAlC,UAAA,4CAMnB,SAAAzzE,EAAAiS,GAED0jE,IAAAC,OAAA,sBAA0B,qDAAAnC,EAAAxhE,EAAAjS,GAC1B,YAEAiS,GAAA4jE,QAAA,EACA5jE,EAAAgnD,SAAa,SACbhnD,EAAC6jE,QAAA,s0EvOq6gBSrC,EAAS,cACfsC,gBAAgB9jE,EAAQ6jE,QAAS7jE,EAAQgnD,aAMvC,SAAUj5D,EAAQiS,KwOz7gBxB,SAAAjS,EAAAiS,GAEA0jE,IAAAC,OAAA,4DAAAhvE,EAAAhC,EAAAvE,GAAA,YAAAuE,GAAAm1E,gBAAAj2E,GAAAc,EAAA4N,MAAA,UAIA,SAAAxS,EAAAiS,GAEA0jE,IAAAC,OAAA,qHAAAnC,EAAAxhE,EAAAjS,GACA,YxOk8gBA,IAAIg2E,GAAMvC,EAAS,cwO/7gBnBoa,EAAApa,EAAA,0BAAAoa,mBAEAC,EAAA,WxOk8gBI,GwO56gBJC,GAAA1sF,KAAA2sF,qBACAC,mBAXA,wGAYAC,QxO06gBmB,8PwOz6gBnBC,oBAjBA,aAkBAC,eATA,qHAUA,gBAEA/sF,MAASgtF,QACT9oD,QACA+xC,MAAA,UACSpuD,MAAA,UAETouD,MAAA,UACS/xC,MAAA,OACTsW,IAAA,SAESy7B,MAAA,SACTpuD,MAAA,UAESouD,MAAA,SACTpuD,MAAA,UAESouD,MAAA,mBACTpuD,MAAA,oDAESouD,MAAAyW,EACT7kE,MAAA,gCAEAouD,MAAA,mBxOi8gBYpuD,MAAQ,gEAERouD,MAAQ,ewO/7gBpBpuD,MAAA,UxOk8gBYouD,MAAQ,ewO/7gBpBpuD,MAAA,UxOk8gBYouD,MAAQ,OwO/7gBpBpuD,MAAA,UxOm8gBI7nB,KAAKitF,iBwO77gBTtY,GAAAuY,SAAAT,EAAAD,GAEA57E,EAAA67E,sBxOm8gBAnY,IAAIC,OAAO,gBAAgB,UAAU,UAAU,SAAS,cAAc,gBAAgB,gCAAiC,SAASnC,EAAUxhE,EAASjS,GwO/7gBnJ,YAEA,IAAAg2E,GAAAvC,EAAA,cACC+a,EAAA/a,EAAA,UAAAgb,KxOi8gBGX,EAAoBra,EAAS,yBAAyBqa,kBAEtDW,EAAO,WwO/7gBVptF,KAAAqtF,eAAAZ,ExOi8gBGzsF,KAAKstF,WAAattF,KAAKutF,kBAE3B5Y,GAAIuY,SAASE,EAAMD,GAEnB,WyOxihBAntF,KAAAwtF,iBAAA,KzO4ihBIxtF,KAAKmrD,IAAM,gBACZrnD,KAAKspF,EAAK7sF,WAEbqQ,EAAQw8E,KAAOA,K0OzihBf,SAAAzuF,EAAAiS,GAEA0jE,IAAAC,OAAA,2DAAAhvE,EAAAhC,EAAAvE,GAAA,YAAAuE,GAAAm1E,YAAA,k1BAAAn1E,EAAA4N,MAAA,SAIA,SAAAxS,EAAAiS,GAEA0jE,IAAAC,OAAA,6HAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAoa,EAAApa,EAAA,0BAAAoa,mBAEAiB,EAAA,W1OijhBIztF,KAAKgtF,Q0O/ihBT9oD,QACA+xC,MAAA,kBACApuD,MAAA,eAEA4lE,EAAAC,c1OkjhBYC,aAAe,c0O/ihB3BzrC,iBAAA,KAKAyyB,GAAAuY,SAAAO,EAAAjB,G1OkjhBAiB,EAAyBC,WAAa,SAASxpD,G0O/ihB/C,OACA+xC,MAAA,+BACApuD,MAAA,kCAIA4lE,EAAAG,aAAA,SAAA1pD,G1OijhBI,OACI+xC,MAAQ,c0O/ihBhBpuD,MAAA,gB1OijhBQ7iB,KAAQk/B,I0O5ihBhBupD,EAAAI,WAAA,SAAA3pD,G1OijhBI,O0O/ihBJ+xC,MAAA,cACApuD,MAAA,SACA7iB,KAAAk/B,I1OqjhBAtzB,EAAQ68E,yBAA2BA,I0O5ihBnCnZ,IAAAC,OAAA,kKAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAqb,EAAArb,EAAA,iCAAAqb,yBACAjB,EAAApa,EAAA,0BAAAoa,mBAEAsB,EAAA,WACA,GAAAC,GAAA,gDACAA,IAAA,kDAGA,IAAAC,GAAA,yhFAkBAC,EAAA,kRACAC,EAAA,ywDACAC,EAAA,miHACAA,IAAA,6dACAA,GAAA,0BACAA,GAAA,mBACAA,GAAK,QACLA,IAAA7jD,MAAA,KACA6jD,IAAAl6E,OAAA,SAAArT,EAAA4wB,EAAA/pB,GACA,OAA+C,IAA/CsmF,EAAmBzjD,MAAA,KAAA13B,QAA4BhS,KAAA,IAAAotF,EAAA1jD,MAAA,KAAA13B,QAAAhS,KAAA,IAAAqtF,EAAA3jD,MAAA,KAAA13B,QAAAhS,KAE/CutF,IAAAvkF,OAAAwO,KAAA,IAYA,QATAs0E,GAAA1sF,KAAA2sF,qBACAG,oBAAAiB,EACAhB,eAAAkB,EACArB,mBAAAoB,EACAI,0BAAAF,EACArB,QAAAsB,GACA,iBACAE,EAAa,yrBAAA/jD,MAAA,KACbgkD,EAAA,wEAAAhkD,MAAA,KACA7mC,EAAA,EAAAA,EAAA6qF,EAAA3qF,OAAAF,IACA4qF,EAAA/oF,KAAA,mCAAAgpF,EAAA7qF,GAIAzD,MAASgtF,QACT9oD,QACA+xC,MAAA,eACApuD,MAAA,IACS7iB,OACTixE,MAAA,2BACApuD,MAAA,OAESouD,MAAA,aACTjxE,KAAA,QACA6iB,MAAA,MAEA8lE,aAAA,YAGAF,EAAAG,aAAA,cACA3X,MAAA,UACSpuD,MAAA,UAETouD,MAAA,UACS/xC,MAAA,OACTsW,IAAA,SAESy7B,MAAA,mBACTpuD,MAAA,oDAESouD,MAAAyW,EACT7kE,MAAA,2CAESouD,MAAA,iBACTpuD,MAAA,mCAESouD,MAAA,mBACTpuD,MAAA,oEAEAouD,MAAA,eACApuD,MAAA,UAESouD,MAAA,eACTpuD,MAAA,UAESouD,MAAA,cACTpuD,MAAA,QAEAouD,MAAA,OACApuD,MAAA,SAEA0mE,SACAd,EAAAC,c1OijhBYzX,MAAO,U0O/ihBnBpuD,MAAA,SACA7iB,KAAA,aAEA2oF,aAAA,UACAzrC,iBAAA,IAGA,QAAAz+C,GAAA,EAAAA,EAAA4qF,EAAA1qF,OAAAF,IACAzD,KAAAgtF,OAAA9oD,MAAA/vB,SACA8hE,MAAA,gBACApuD,MAAawmE,EAAA5qF,IAIbzD,MAAAwuF,WAAAf,EAAA,QAAAA,EAAAI,WAAA,WACA7tF,KAAAitF,gBACA,IAAA/F,MACAuH,EAAA,SAAAliC,EAAA/f,GACA+f,EAAAj7B,QAAA,SAAA7sB,G1OijhBYyiF,EAAY5hF,M0O/ihBxByE,KAAAtF,EACA7D,MAAA6D,E1OijhBgB8lF,MAAO,E0O/ihBvB/9C,W1OojhBIiiD,GAAeP,EAAwB5jD,MAAM,KAAM,a0O/ihBvDmkD,EAAAV,EAAAzjD,MAAA,iBACAmkD,EAAAT,EAAA1jD,MAAA,iB1OijhBImkD,EAAeR,EAAU3jD,MAAM,KAAM,Q0O/ihBzCmkD,EAAAJ,EAAA,aACAI,EAAAN,EAAA7jD,MAAA,gB1OkjhBItqC,KAAKknF,YAAcA,E0O7ihBvBvS,GAAAuY,SAAAY,EAAAtB,GAEA57E,EAAA67E,kBAAAqB,IAGAxZ,IAAAC,OAAA,yHAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,iB1OijhBIyC,EAAQzC,EAAS,eAAeyC,M0O/ihBpC6Z,EAAAtc,EAAA,eAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAkC,SAAQC,GAC1CA,IACA5uF,KAAA6uF,mBAAA,GAAAt8E,QACAvS,KAAA6uF,mBAAAtvD,OAAAjtB,QAAA,gBAAAs8E,EAAA1qD,QAEAlkC,KAAA8uF,kBAAA,GAAAv8E,QACAvS,KAAA8uF,kBAAAvvD,OAAAjtB,QAAA,gBAAAs8E,EAAAp0C,OAIAm6B,GAAAuY,SAAAyB,EAAAD,GAEA,WAEA1uF,KAAA6uF,mBAAA,8B1OijhBI7uF,KAAK8uF,kBAAoB,kC0O/ihB7B9uF,KAAA+uF,yBAAA,uBACA/uF,KAAAgvF,yBAA2B,2B1OijhBvBhvF,KAAKivF,cAAgB,4B0O/ihBzBjvF,KAAAkvF,mBAAAlvF,KAAAmvF,cACAnvF,KAAAmvF,cAAA,SAAAhY,EAAAiY,EAAA99C,G1OijhBQ,GAAIsyB,GAAOuT,EAAQG,QAAQhmC,E0O9ihBnC,IAAAtxC,KAAA+uF,yBAAA1+D,KAAAuzC,K1OijhBiB5jE,KAAKivF,cAAc5+D,KAAKuzC,KAAU5jE,KAAKgvF,yBAAyB3+D,KAAKuzC,G0O/ihBtF,QAGA,IAAAyrB,GAAArvF,KAAAkvF,mBAAA/X,EAAAiY,EAAA99C,EAEA,QAAA+9C,GAAArvF,KAAAivF,cAAA5+D,KAAAuzC,G1OijhBmB,Q0O9ihBnByrB,G1OmjhBIrvF,KAAKsvF,mBAAqB,SAASnY,EAASiY,EAAW99C,EAAKi+C,G0O/ihBhE,GAAA3rB,GAAAuT,EAAAG,QAAAhmC,EAEA,IAAAtxC,KAAAivF,cAAA5+D,KAAAuzC,GACA,MAAiB5jE,MAAAwvF,sBAAArY,EAAAvT,EAAAtyB,EAEjB,IAAA13B,GAAAgqD,EAAAhqD,MAAA5Z,KAAA6uF,mB1OijhBQ,IAAIj1E,EAAO,C0O/ihBnB,GAAAnW,GAAAmW,EAAA4X,K1OkjhBY,IAAI5X,EAAM,G0O/ihBtB,MAAA5Z,MAAAyvF,oBAAAtY,EAAAv9D,EAAA,GAAA03B,EAAA7tC,E1OkjhBY,IAAIwV,GAAQk+D,EAAQuY,oBAAoBp+C,EAAK7tC,EAAImW,EAAM,GAAGjW,OAAQ,E0OvihB9E,OAPAsV,OAAA02E,gBACAJ,E1OijhBoBt2E,EAAQjZ,KAAK4vF,gBAAgBzY,EAAS7lC,G0O/ihB1D,OAAA89C,IACAn2E,EAAA,OAGAA,EAGA,iBAAAm2E,EAAA,CAGA,GAAAx1E,GAAAgqD,EAAAhqD,MAAA5Z,KAAA8uF,kBACA,IAAAl1E,EAAA,CACA,GAAAnW,GAAAmW,EAAA4X,MAAA5X,EAAA,GAAAjW,MAEA,OAAAiW,GAAA,GACA5Z,KAAA6vF,oBAAA1Y,EAAAv9D,EAAA,GAAA03B,EAAA7tC,GAEA0zE,EAAAuY,oBAAAp+C,EAAA7tC,GAAA,MAIAzD,KAAA4vF,gBAAA,SAAAzY,EAAA7lC,GACA,GAAAsyB,GAAAuT,EAAAG,QAAAhmC,G1OijhBYw+C,EAAclsB,EAAK/pC,OAAO,M0O/ihBtC4jD,EAAAnsC,EACAy+C,EAAAnsB,EAAAjgE,MACA2tC,IAAA,CAGA,KAFA,GAAAosC,GAAiBpsC,EACjB0+C,EAAA7Y,EAAA+L,cACiB5xC,EAAA0+C,GAAA,CACjBpsB,EAAAuT,EAAAG,QAAAhmC,EACA,IAAA2+C,GAAArsB,EAAA/pC,OAAA,KACA,SAAAo2D,EAAA,CAEA,GAAAH,EAAAG,E1OijhBgB,K0O/ihBhB,IAAAC,GAAAlwF,KAAAsvF,mBAAAnY,EAAA,MAAA7lC,EAEA,IAAA4+C,EAAA,CACA,GAAAA,EAAAhsD,MAAAoN,KAAAmsC,EACA,KACA,IAAAyS,EAAAP,c1OijhBoBr+C,EAAM4+C,EAAS11C,IAAIlJ,Q0O/ihBvC,IAAAw+C,GAAAG,EACA,MAGAvS,EAAApsC,GAGA,UAAAujC,GAAA4I,EAAAsS,EAAArS,EAAAvG,EAAAG,QAAAoG,GAAA/5E,SAEA3D,KAAAwvF,sBAAA,SAAArY,EAAAvT,EAAAtyB,GAOA,IANA,GAAAy+C,GAAAnsB,EAAA/pC,OAAA,Q1OijhBYm2D,EAAS7Y,EAAQ+L,Y0O/ihB7BzF,EAAAnsC,EAEAwmC,EAAA,uCACA/mD,EAAA,IACAugB,EAAA0+C,GAAA,C1OijhBYpsB,EAAOuT,EAAQG,QAAQhmC,E0O/ihBlC,IAAAx4B,GAAAg/D,EAAA/wC,KAAA68B,E1OijhBW,IAAK9qD,I0O/ihBhBA,EAAA,GAAAiY,I1OijhBgBA,K0O9ihBjBA,GAAA,MAGA,GAAA2sD,GAAApsC,CACA,IAAAosC,EAAAD,E1OijhBY,MAAO,IAAI5I,GAAM4I,EAAUsS,EAAarS,EAAQ9Z,EAAKjgE,UAI9DG,KAAK6qF,EAASpuF,a0O5ihBjB+zE,IAAAC,OAAA,yHAAAnC,EAAAxhE,EAAAjS,G1OijhBA,Y0O9ihBA,IAAAg2E,GAAAvC,EAAA,iB1OijhBIyC,EAAQzC,EAAS,eAAeyC,M0O/ihBpC6Z,EAAAtc,EAAA,YAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAA,YAEAha,GAAAuY,SAAAyB,EAAAD,G1OkjhBA,W0O9ihBA1uF,KAAA6uF,mBAAA,mCACA7uF,KAAAivF,cAAA,0BAEAjvF,KAAAsvF,mBAAA,SAAAnY,EAAAiY,EAAA99C,EAAAi+C,GACA,GAAA3rB,GAAAuT,EAAAG,QAAAhmC,E1OkjhBQ,IAAItxC,KAAKivF,cAAc5+D,KAAKuzC,GAAO,MAAO5jE,MAAKwvF,sBAAsBrY,EAASvT,EAAMtyB,E0O9ihB5F,IAAA13B,GAAAgqD,EAAAhqD,MAAA5Z,KAAA6uF,mB1OijhBQ,IAAIj1E,EAAO,C0O/ihBnB,GAAAnW,GAAAmW,EAAA4X,KACA,IAAA5X,EAAA,SAAA5Z,MAAAmwF,iBAAAhZ,EAAA7lC,EAAA7tC,EAAAmW,EAAA,GAEA,IAAAX,GAAAk+D,EAAAuY,oBAAAp+C,EAAA7tC,EAAAmW,EAAA,GAAAjW,OAAA,EAQA,OAPAsV,OAAA02E,gBACAJ,EACAt2E,EAAAjZ,KAAA4vF,gBAAAzY,EAAA7lC,GAEA,OAAA89C,IAAAn2E,EAAA,OAGAA,IAMAjZ,KAAAmwF,iBAAA,SAAAhZ,EAAA7lC,EAAAkmC,EAAA4Y,G1O0jhBQ,I0OzjhBR,GAKAxsB,GALA1/B,G1OijhBYoN,IAAKA,E0O/ihBjBkmC,SAAA4Y,EAAAzsF,QAEAqsF,EAAA7Y,EAAA+L,YAGAnyD,EAAA,EACA+mD,EAAA,oC1OijhBiBxmC,EAAM0+C,GAAQ,C0O/ihB9BpsB,EAAAuT,EAAAG,QAAAhmC,E1OijhBW,IAAIx4B,GAAIg/D,EAAG/wC,KAAK68B,E0O/ihB3B,IAAA9qD,I1OijhBeA,EAAE,GAAIiY,I0O/ihBtBA,K1OkjhBiBA,GAAO,M0O9ihBxB,GAAA2sD,GAAApsC,CACA,IAAAosC,EAAAx5C,EAAAoN,IACA,UAAAujC,GAAA3wC,EAAAoN,IAAApN,EAAAszC,OAAAkG,EAAA9Z,EAAAjgE,UAIAG,KAAA6qF,EAAApuF,a1OojhBA+zE,IAAIC,OAAO,sBAAsB,UAAU,UAAU,SAAS,cAAc,gBAAgB,qCAAqC,8BAA+B,SAASnC,EAAUxhE,EAASjS,G0O/ihB5L,YAEA,IAAAg2E,GAAAvC,EAAA,cACA+a,EAAA/a,EAAA,UAAAgb,KACAU,EAAA1b,EAAA,+BAAAqa,kBACA4D,EAAAje,EAAA,uBAAAuc,SAEAvB,EAAA,WACCptF,KAAAqtF,eAAAS,E1OijhBG9tF,KAAKswF,aAAe,GAAID,G0O/ihB5BrwF,KAAAstF,WAAAttF,KAAAutF,kBAEA5Y,GAACuY,SAAAE,EAAAD,G1OkjhBD,WACIntF,KAAKwtF,iBAAmB,KACxBxtF,KAAKuwF,cAAgBrsD,MAAO,KAAMsW,IAAK,MACvCx6C,KAAKopF,eAAiB,SAAS9yE,EAAO6gE,EAAStjC,EAAK8xC,GAChD,MAAOxO,GAAQ2C,MAAM0W,gBAAgBtJ,aAGzClnF,KAAKmrD,IAAM,gBACZrnD,KAAKspF,EAAK7sF,WAEbqQ,EAAQw8E,KAAOA,K2O1+hBf,SAAAzuF,EAAAiS,GAEA0jE,IAAAC,OAAA,iEAAAhvE,EAAAhC,EAAAvE,GAAA,YAAAuE,GAAAm1E,YAAA,0hEAAAn1E,EAAA4N,MAAA,eAIA,SAAAxS,EAAAiS,EAAA/R,GAEAy1E,IAAAC,OAAA,6HAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAoa,EAAApa,EAAA,0BAAAoa,mBAEAiB,EAAA,W3Ok/hBIztF,KAAKgtF,Q2Oh/hBT9oD,QACA+xC,MAAA,kBACApuD,MAAA,eAEA4lE,EAAAC,c3Om/hBYC,aAAe,c2Oh/hB3BzrC,iBAAA,KAKAyyB,GAAAuY,SAAAO,EAAAjB,G3Om/hBAiB,EAAyBC,WAAa,SAASxpD,G2Oh/hB/C,OACA+xC,MAAA,+BACApuD,MAAA,kCAIA4lE,EAAAG,aAAA,SAAA1pD,G3Ok/hBI,OACI+xC,MAAQ,c2Oh/hBhBpuD,MAAA,gB3Ok/hBQ7iB,KAAQk/B,I2O7+hBhBupD,EAAAI,WAAA,SAAA3pD,G3Ok/hBI,O2Oh/hBJ+xC,MAAA,cACApuD,MAAA,SACA7iB,KAAAk/B,IAKAtzB,EAAA68E,6BAIAnZ,IAAAC,OAAA,mKAAAnC,EAAAxhE,EAAAjS,GACA,YAsVA,SAAA8xF,KACA,GAAAC,GAAAC,EAAAr+E,QAAA,gBACAs+E,GACAhb,QAAA,SAAArkD,EAAAjb,EAAAkU,GACA,GAAAtO,GAAA,KAAAqV,EAAA4P,OAAA,MAgBA,OAfA,IAAAjlB,GACA5F,GAAAtW,KAAA6wF,UACArmE,EAAArW,QAAAnU,KAAAgF,KAAAhF,KAAA6wF,UAAA,GAEarmE,EAAArW,QAAAnU,KAAAgF,MACbwlB,EAAA,MACA,GAAAtO,GACa5F,GAAAtW,KAAA6wF,eACJrmE,EAAA,IACTA,EAAA,QACAA,EAAA23B,QACA33B,EAAA23B,WAKAx7C,KAAA,4BAAAuV,EAAA,0BACAtb,MAAA2wB,EAAA1e,MAAA,EAAAqJ,KAEAvV,KAAA,wBACA/F,MAAA2wB,EAAAtW,OAAAiB,MAGA2L,MAAS,MAAA6oE,EACT1rF,KAAA,gBACA6rF,UAAA,MAEA7wF,MAAAgtF,OAAA9oD,MAAA/vB,QAAAy8E,EACA,IAAAE,IACAjpE,MAAA,IACAouD,MAAA,oBACA3wE,KAAA,QAEAtF,MAAAgtF,OAAA+D,KACAD,EACAF,GACAI,QAAA,cACArD,aAAA,WAEA3tF,KAAAgtF,OAAAiE,gBACAhb,MAAS,qCACTpuD,MAAA,MACK+tD,QAAA,SAAAh1E,EAAAswF,EAAA1mE,GAWL,MAVA0mE,IAAA1mE,EAAA,IACAA,EAAA23B,QACA,GAAAvhD,EAAA+C,SACA6mB,EAAA,IAAAxqB,KAAA6wF,WACArmE,EAAA,OACKA,EAAA,IAAAA,EAAA,OACLA,EAAAngB,OAAA,MAGArK,KAAAgF,KAAAwlB,EAAA,cACA7jB,KAAA3G,KAAAi2E,MAAAr1E,WAEAiwF,UAAA,OAEAC,EACAK,EAAA,kBAEAlb,MAAa,kCACbpuD,MAAa6oE,IAERza,MAAA,wCACLpuD,MAAA,MAEAouD,MAAA,0BACApuD,MAAA,SAEAouD,MAAa,6BACbpuD,MAAa,IACbupE,UAAA,aACK9rF,OACL2wE,MAAA,6BAAApuD,MAAA,IAAA7iB,KAAA,QACAgsF,QAAA,cACArD,aAAA,iCAGK1X,MAAA,6BACLpuD,MAAA,I3Ok/hBQupE,UAAY,c2Oh/hBpB9rF,OACA2wE,MAAA,6BAAApuD,MAAA,IAAA7iB,KAAA,QACAgsF,QAAA,cACArD,aAAA,gCAGAiD,GAEA5wF,KAAAgtF,OAAAqE,YACApb,MAAA,yCACApuD,MAAS,gEAIT,QAAAspE,GAAAnsF,GACA,QAEAixE,MAAA,UACApuD,MAAA,OACA7iB,MACAyoF,EAAAC,cACAzX,MAAA,UAAApuD,MAAA,SAAA7iB,QAAA,QACC2oF,aAAA,UAAAzrC,iBAAA,MAGD+zB,MAAA,U3Ok/hBYpuD,MAAQ,S2Oh/hBpB7iB,M3Ok/hBgByoF,EAAyBC,c2Oh/hBzCzX,MAAA,UAAApuD,MAAA,MAAA7iB,QAAA,Q3Ok/hBiB2oF,aAAe,UAAWzrC,iBAAiB,M2Oz7iB5D,GAAAyyB,GAAAvC,EAAA,cACAqb,EAAArb,EAAA,iCAAAqb,yBACAjB,EAAApa,EAAA,0BAAAoa,mBACAmE,EAAA,qCAEAW,EAAA,SAAA/xF,GACA,GAAAmtF,GAAA1sF,KAAA2sF,qBACA4E,oBACA,0dAUA1E,Q3Ok/hBY,mV2O5+hBZE,eACA,yBACAD,oB3Ok/hBY,8B2Oh/hBZF,mBACA,QACA4E,4BAAA,cACA,cAGAC,EAAA,wGAQAzxF,MAAAgtF,QACA0E,UACAjE,EAAAG,aAAA,aACAuD,EAAA,aAEAlb,MAAA,SACApuD,MAAA,SACA7iB,KAAA,YAEAixE,MAAA,SACApuD,MAAA,SACa7iB,KAAA,aAEbixE,MAAA,mBACApuD,MAAA,sCAEAouD,MAAA,mBACApuD,MAAA,oDAEAouD,OACA,yDACA,yEAEApuD,MAAA,IAAA8oE,EAAA,0BAAAA,EAAA,aACA3rF,KAAA,uBAEAixE,OACA,oEACA,gEAEApuD,MAAA,IAAA8oE,EAAA,UAAAA,EAAA,wCACA3rF,KAAA,uBAEaixE,OACb,uEACA,uBAEApuD,MAAA,IAAA8oE,EAAA,wCACA3rF,KAAA,uBAEAixE,OACA,oEACA,0BACA,oEAEApuD,MAAA,IAAA8oE,EAAA,UAAAA,EAAA,oDACa3rF,KAAA,uBAEbixE,OACA,oEAEApuD,MAAA,oBAAA8oE,EAAA,eACa3rF,KAAA,uBAEbixE,OACA,qDACa,6CAEbpuD,MAAA,IAAA8oE,EAAA,wCACa3rF,KAAA,uBAEbixE,OACa,oDAEbpuD,MAAA,iCACa7iB,KAAA,uBAEbixE,MAAA,UACApuD,MAAA,+EACa7iB,KAAA,UAEbixE,OAAA,oBACApuD,MAAA,WAEAouD,OAAA,kEACApuD,MAAA,mEAEaouD,MAAAyW,EACb7kE,MAAA8oE,IAEA1a,MAAA,uBACapuD,MAAA,aACb7iB,KAAA,aAEaixE,MAAA,mBACbpuD,MAAA,yEACA7iB,KAAA,UAEAixE,MAAA,uBACApuD,MAAA,UACA7iB,KAAA,UAEaixE,MAAA,eACbpuD,MAAA,SACA7iB,KAAA,UAEAixE,MAAA,eACApuD,MAAA,WAEAouD,MAAA,UACapuD,MAAA,WAGbuG,WACA6nD,MAAA,OACApuD,MAAA,SAEAouD,OACA,oEACa,0BACb,oEAEapuD,MAAA,IAAA8oE,EAAA,UAAAA,EAAA,yDACb3rF,KAAA,uBAEaixE,MAAA,uBACbpuD,MAAA,eAEAouD,MAAA,mBACApuD,MAAA,svDAEAouD,MAAA,uBACApuD,MAAA,gmBAEAouD,MAAA,mBACApuD,MAAA,02DAEAouD,MAAA,aACapuD,MAAA8oE,IAEb9oE,MAAA,GACAouD,MAAA,QACajxE,KAAA,aAGbk/B,OACAupD,EAAAG,aAAA,aACAuD,EAAA,UAEAlb,MAAA,gBACApuD,MAAA,MACA7iB,KAAA,UAEAixE,MAAA,OACApuD,MAAA,UACA7iB,KAAA,UAEAixE,MAAA,QACApuD,MAAA,GACa7iB,KAAA,aAGb6iB,QAEAouD,MAAA,0BACapuD,MAAA,8CAEbouD,MAAA,gBACApuD,MAAA,cACa7iB,KAAA,aAEbixE,MAAA,UACApuD,MAAA,kDAEAouD,MAAA,2BACApuD,MAAA,kDAEAouD,MAAA,8BACApuD,MAAA,OAEAouD,MAAA,2BACapuD,MAAA,QACb7iB,KAAA,0BAEAixE,MAAA,QACapuD,MAAA,IACb7iB,KAAA,aAEa2oF,aAAA,kBAGbgE,wBAEA1b,MAAA,oCACApuD,MAAA,8CAEAouD,MAAA,2BACApuD,MAAA,IACA7iB,KAAA,UAEaixE,MAAA,2BACbpuD,MAAA,MAEaouD,MAAA,QACbpuD,MAAA,IACA7iB,KAAA,aAEA2oF,aAAA,kCAGAiE,qBAEA3b,MAAA,qBACApuD,MAAA8oE,IAEA1a,MAAA,uBACapuD,MAAA,UAEbouD,MAAA,uBACApuD,MAAA,MAEAouD,MAAA,QACApuD,MAAA,GACA7iB,KAAA,aAGA6sF,WAEA5b,MAAA,2BACApuD,MAAA4pE,IAEAxb,MAAA,SACapuD,MAAA,QACb7iB,KAAA,aAEAixE,MAAA,SACapuD,MAAA,MACb7iB,KAAA,aAEA2oF,aAAA,WAGAmE,UAEA7b,MAAA,2B3Ok/hBgBpuD,MAAQ4pE,I2O/+hBxBxb,MAAA,SACApuD,MAAA,QACA7iB,KAAuB,YAEvBixE,MAAA,SACApuD,MAAA,MACA7iB,KAAA,aAEA2oF,aAAA,YAMApuF,GAAaA,EAAAwyF,QACb/xF,KAAAgtF,OAAA0E,SAAAv9E,SACS0T,MAAA,OAAA+tD,QAAA,SAAArkD,EAAAjb,EAAAkU,GAET,GADAxqB,KAAAgF,KAAA,KAAAusB,EAAAvxB,KAAA6wF,UAAA,GACA,KAAAt/D,GAAA/G,EAAA7mB,OACA6mB,EAAArW,QAAA,QAAAmC,OAEA,SAAAib,GAAA/G,EAAA7mB,SACa6mB,EAAA23B,QACbniD,KAAAgF,KAAAwlB,EAAA23B,SAC4B,GAA5BniD,KAA4BgF,KAAA4N,QAAA,eAAA5S,KAAAgF,KAAA4N,QAAA,QAC5B,uBAEA,YAAA2e,EAAA,+BAEAs/D,UAAA,UAEA5a,MAAA,qBACApuD,MAAa,IACJviB,O3Ok/hBO2wE,MAAQ,2B2Oh/hBxBpuD,MAAA4pE,IAEAxb,MAAA,oB3Ok/hBgBpuD,MAAQ,M2Oh/hBxBviB,KAAA,U3Om/hBgB2wE,MAAQ,mB2Oh/hBxBpuD,MAAA,IACA7iB,KAAA,QAEA2oF,aAAA,mBAIApuF,GAAA,GAAAA,EAAAwxF,KACAN,EAAA3sF,KAAA9D,OAGAA,KAAAwuF,WAAAf,EAAA,QACAA,EAAAI,WAAA,cAEA7tF,KAAAitF,iBAGAtY,GAAAuY,SAAAoE,EAAA9E,GA2HA57E,EAAA0gF,6BAGAhd,IAAAC,OAAA,sFAAAnC,EAAAxhE,EAAAjS,G3Ok/hBA,Y2O/+hBA,IAAAk2E,GAAAzC,EAAA,YAAAyC,M3Om/hBImd,EAAuB,cAE3B,W2O/+hBAhyF,KAAAiyF,aAAA,SAAAruB,EAAAvb,G3Ok/hBQ,QAAM,QAAQh4B,KAAKuzC,I2O9+hB3B,SAAAvzC,KAAAg4B,I3Oo/hBIroD,KAAKkyF,YAAc,SAAS1X,EAAKlpC,G2Oh/hBrC,GAAAsyB,GAAA4W,EAAAlD,QAAAhmC,GACA13B,EAAAgqD,EAAAhqD,MAAA,W3Om/hBQ,KAAKA,EAAO,MAAO,EAEnB,IAAI49D,GAAS59D,EAAM,GAAGjW,O2Oh/hB9BwuF,EAAA3X,EAAA4X,qBAAA9gD,MAAAkmC,U3Om/hBQ,KAAK2a,GAAgBA,EAAa7gD,KAAOA,EAAK,MAAO,E2O/+hB7D,IAAA2+C,GAAAjwF,KAAAqyF,WAAA7X,EAAAlD,QAAA6a,EAAA7gD,K3Ok/hBQkpC,GAAIloE,QAAQ,GAAIuiE,GAAMvjC,EAAK,EAAGA,EAAKkmC,EAAO,GAAIyY,I2O9+hBtDjwF,KAAAqyF,WAAA,SAAAzuB,G3Ok/hBQ,MAAOA,GAAKhqD,MAAM,QAAQ,M2O9+hBlC9V,KAAAkuF,EAAAzxF,WAEAqQ,EAAAohF,yBAGA1d,IAAAC,OAAA,yHAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,iB3Ok/hBIyC,EAAQzC,EAAS,eAAeyC,M2Oh/hBpC6Z,EAAAtc,EAAA,eAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAkC,SAAQC,GAC1CA,IACA5uF,KAAA6uF,mBAAA,GAAAt8E,QACAvS,KAAA6uF,mBAAAtvD,OAAAjtB,QAAA,gBAAAs8E,EAAA1qD,QAEAlkC,KAAA8uF,kBAAA,GAAAv8E,QACAvS,KAAA8uF,kBAAAvvD,OAAAjtB,QAAA,gBAAAs8E,EAAAp0C,OAIAm6B,GAAAuY,SAAAyB,EAAAD,GAEA,WAEA1uF,KAAA6uF,mBAAA,8B3Ok/hBI7uF,KAAK8uF,kBAAoB,kC2Oh/hB7B9uF,KAAA+uF,yBAAA,uBACA/uF,KAAAgvF,yBAA2B,2B3Ok/hBvBhvF,KAAKivF,cAAgB,4B2Oh/hBzBjvF,KAAAkvF,mBAAAlvF,KAAAmvF,cACAnvF,KAAAmvF,cAAA,SAAAhY,EAAAiY,EAAA99C,G3Ok/hBQ,GAAIsyB,GAAOuT,EAAQG,QAAQhmC,E2O/+hBnC,IAAAtxC,KAAA+uF,yBAAA1+D,KAAAuzC,K3Ok/hBiB5jE,KAAKivF,cAAc5+D,KAAKuzC,KAAU5jE,KAAKgvF,yBAAyB3+D,KAAKuzC,G2Oh/hBtF,QAGA,IAAAyrB,GAAArvF,KAAAkvF,mBAAA/X,EAAAiY,EAAA99C,EAEA,QAAA+9C,GAAArvF,KAAAivF,cAAA5+D,KAAAuzC,G3Ok/hBmB,Q2O/+hBnByrB,G3Oo/hBIrvF,KAAKsvF,mBAAqB,SAASnY,EAASiY,EAAW99C,EAAKi+C,G2Oh/hBhE,GAAA3rB,GAAAuT,EAAAG,QAAAhmC,EAEA,IAAAtxC,KAAAivF,cAAA5+D,KAAAuzC,GACA,MAAiB5jE,MAAAwvF,sBAAArY,EAAAvT,EAAAtyB,EAEjB,IAAA13B,GAAAgqD,EAAAhqD,MAAA5Z,KAAA6uF,mB3Ok/hBQ,IAAIj1E,EAAO,C2Oh/hBnB,GAAAnW,GAAAmW,EAAA4X,K3Om/hBY,IAAI5X,EAAM,G2Oh/hBtB,MAAA5Z,MAAAyvF,oBAAAtY,EAAAv9D,EAAA,GAAA03B,EAAA7tC,E3Om/hBY,IAAIwV,GAAQk+D,EAAQuY,oBAAoBp+C,EAAK7tC,EAAImW,EAAM,GAAGjW,OAAQ,E2Ox+hB9E,OAPAsV,OAAA02E,gBACAJ,E3Ok/hBoBt2E,EAAQjZ,KAAK4vF,gBAAgBzY,EAAS7lC,G2Oh/hB1D,OAAA89C,IACAn2E,EAAA,OAGAA,EAGA,iBAAAm2E,EAAA,CAGA,GAAAx1E,GAAAgqD,EAAAhqD,MAAA5Z,KAAA8uF,kBACA,IAAAl1E,EAAA,CACA,GAAAnW,GAAAmW,EAAA4X,MAAA5X,EAAA,GAAAjW,MAEA,OAAAiW,GAAA,GACA5Z,KAAA6vF,oBAAA1Y,EAAAv9D,EAAA,GAAA03B,EAAA7tC,GAEA0zE,EAAAuY,oBAAAp+C,EAAA7tC,GAAA,MAIAzD,KAAA4vF,gBAAA,SAAAzY,EAAA7lC,GACA,GAAAsyB,GAAAuT,EAAAG,QAAAhmC,G3Ok/hBYw+C,EAAclsB,EAAK/pC,OAAO,M2Oh/hBtC4jD,EAAAnsC,EACAy+C,EAAAnsB,EAAAjgE,MACA2tC,IAAA,CAGA,KAFA,GAAAosC,GAAiBpsC,EACjB0+C,EAAA7Y,EAAA+L,cACiB5xC,EAAA0+C,GAAA,CACjBpsB,EAAAuT,EAAAG,QAAAhmC,EACA,IAAA2+C,GAAArsB,EAAA/pC,OAAA,KACA,SAAAo2D,EAAA,CAEA,GAAAH,EAAAG,E3Ok/hBgB,K2Oh/hBhB,IAAAC,GAAAlwF,KAAAsvF,mBAAAnY,EAAA,MAAA7lC,EAEA,IAAA4+C,EAAA,CACA,GAAAA,EAAAhsD,MAAAoN,KAAAmsC,EACA,KACA,IAAAyS,EAAAP,c3Ok/hBoBr+C,EAAM4+C,EAAS11C,IAAIlJ,Q2Oh/hBvC,IAAAw+C,GAAAG,EACA,MAGAvS,EAAApsC,GAGA,UAAAujC,GAAA4I,EAAAsS,EAAArS,EAAAvG,EAAAG,QAAAoG,GAAA/5E,SAEA3D,KAAAwvF,sBAAA,SAAArY,EAAAvT,EAAAtyB,GAOA,IANA,GAAAy+C,GAAAnsB,EAAA/pC,OAAA,Q3Ok/hBYm2D,EAAS7Y,EAAQ+L,Y2Oh/hB7BzF,EAAAnsC,EAEAwmC,EAAA,uCACA/mD,EAAA,IACAugB,EAAA0+C,GAAA,C3Ok/hBYpsB,EAAOuT,EAAQG,QAAQhmC,E2Oh/hBlC,IAAAx4B,GAAAg/D,EAAA/wC,KAAA68B,E3Ok/hBW,IAAK9qD,I2Oh/hBhBA,EAAA,GAAAiY,I3Ok/hBgBA,K2O/+hBjBA,GAAA,MAGA,GAAA2sD,GAAApsC,CACA,IAAAosC,EAAAD,EACA,UAAA5I,GAAA4I,EAAAsS,EAAArS,EAAA9Z,EAAAjgE,U3Oq/hBGG,KAAK6qF,EAASpuF,a2O7+hBjB+zE,IAAAC,OAAA,qPAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACA+a,EAAA/a,EAAA,UAAAgb,K3Ok/hBIkE,EAA2Blf,EAAS,gCAAgCkf,yB2Oh/hBxEU,EAAA5f,EAAA,4BAAA4f,qB3Ok/hBIM,EAAelgB,EAAS,2BAA2BkgB,a2Oh/hBvDC,EAAAngB,EAAA,sBAAAmgB,gBACAC,EAAApgB,EAAyB,oBAAAuc,SAEzBvB,EAAA,WACAptF,KAAAqtF,eAAAiE,EAEAtxF,KAAAyyF,SAAA,GAAAT,GACAhyF,KAAAstF,WAAA,GAAAiF,GACAvyF,KAAAswF,aAAA,GAAAkC,GAEA7d,GAAAuY,SAAAE,EAAAD,GAEA,WAEAntF,KAAAwtF,iBAAA,KACAxtF,KAAAuwF,cAAArsD,MAAA,KAAAsW,IAAA,MAEAx6C,KAAA0yF,kBAAA,SAAAp8E,EAAAstD,EAAA11D,GACA,GAAA+hF,GAAAjwF,KAAAqyF,WAAAzuB,GAEA+uB,EAAA3yF,KAAAs1E,eAAAwB,cAAAlT,EAAAttD,GACAygE,EAAA4b,EAAA5b,OACA6b,EAAAD,EAAAr8E,KAEA,IAAAygE,EAAApzE,QAAA,WAAAozE,IAAApzE,OAAA,GAAAgD,KACA,MAAAspF,EAGA,aAAA35E,GAAA,YAAAA,EAAA,CACA,GAAAsD,GAAAgqD,EAAAhqD,MAAA,kCACAA,K3Ok/hBgBq2E,GAAU/hF,O2O/+hB1B,iBAAAoI,EAAA,C3Ok/hBY,GAAgB,SAAZs8E,GAAmC,YAAZA,E2Oh/hBvC,QAEA,IAAAh5E,GAAAgqD,EAAAhqD,MAAA,c3Ok/hBgBA,K2Oh/hBhBA,EAAA,KACAq2E,GAAA,K3Om/hBgBA,GAAU,MAIlB,MAAOA,I2O9+hBfjwF,KAASiyF,aAAA,SAAA37E,EAAAstD,EAAAvb,G3Ok/hBD,MAAOroD,MAAKyyF,SAASR,aAAaruB,EAAMvb,I2O9+hBhDroD,KAASkyF,YAAA,SAAA57E,EAAAkkE,EAAAlpC,G3Ok/hBDtxC,KAAKyyF,SAASP,YAAY1X,EAAKlpC,IAGnCtxC,KAAK6yF,aAAe,SAAS1b,G2Oh/hBjC,GAAA2b,GAAA,GAAAR,IAAA,OAAAzzF,EAAA,yB3O4/hBQ,O2O3/hBPi0F,GAAAC,iBAAA5b,EAAA6b,eAEDF,EAAA7hF,GAAA,oBAAAw3C,GACC0uB,EAAA8b,eAAAxqC,EAAAz3C,QAGD8hF,EAAA7hF,GAAA,uB3Ok/hBYkmE,EAAQ+b,qBAGLJ,GAGX9yF,KAAKmrD,IAAM,uB2Oh/hBfrnD,KAAAspF,EAAA7sF,WAEAqQ,EAAAw8E,KAAaA,IAGb9Y,IAAAC,OAAA,qHAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAoa,EAAApa,EAAA,0BAAAoa,mBAEA2G,EAAa,SAAAC,GACb,GAAA1C,GAAA,kCAEA1wF,MAAAgtF,QACA9oD,QACa+xC,MAAA,mBAAgBpuD,MAAA,kBAAA7iB,KAAA,UAEhBixE,OAAA,2BAAwC,wBACxCpuD,MAAA,uBAAsB7iB,KAAA,WAAAk9C,iBAAA,I3Oo/hBnB+zB,OAAS,8BAA+B,2B2Oh/hBxDpuD,MAAA,UAAA6oE,EAAA,IAAA1rF,KAAA,2BAEAixE,MAAA,cAAApuD,MAAA,SAAA7iB,KAAA,YAEAixE,OAAA,2CACApuD,MAAA,2BAAA7iB,KAAA,UAAAk9C,iBAAA,IAEA8uC,QAAA,QACS/a,MAAA,wBAAApuD,MAAA,OACTouD,MAAA,oBAAApuD,MAAA,MACSmpE,QAAA,cACTrD,aAAA,aAGA0F,W3Ok/hBYpd,MAAQ,sD2Oh/hBpBpuD,MAAA,MAAA6oE,EAAA,MAAAA,IAEAza,MAAa,6CACbpuD,MAAA,MAEAmpE,QAAA,eAEAA,QAAa,WAEb/a,MAAa,2BACbpuD,MAAa,OACb7iB,KAAA,UAGAsuF,yBACArd,MAAA,8BAAApuD,MAAA,OAAA7iB,KAAA,UACS2oF,aAAA,oBAGT4F,UACSvC,QAAA,eACTA,QAAA,WACA/a,MAAA,qBAAApuD,MAAA,IAAA7iB,KAAA,UACAixE,MAAA,aAAApuD,MAAA,oBACAouD,MAAA,yBAAApuD,MAAA,MAAAviB,KAAA,eAGAkuF,aACAvd,MAAA,WACApuD,MAAA,SAEAouD,MAAa,6BACbpuD,MAAa,IACJ7iB,KAAA,QAETixE,OAAA,yDACApuD,MAAa,UAAA6oE,EAAA,IACbprF,OACa2wE,MAAA,OACbpuD,MAAA,SAGaouD,MAAA,8BACApuD,MAAA,IACb7iB,KAAA,QAEAgsF,QAAA,aAGAyC,Q3Ok/hBaxd,MAAQ,mBAAoBpuD,MAAQ,UAAW7iB,KAAO,U2Oh/hBnEixE,MAAA,WAAApuD,MAAA,SACAouD,MAAA,WAAApuD,MAAA,4B3Oo/hBQ0mE,U2Oh/hBRtY,MAAA,cAAApuD,MAAA,SAAA7iB,KAAA,UACA2oF,aAAA,gBAGA0D,YACApb,MAAiB,yCACjBpuD,MAAA,gEAGA6rE,iBACAzd,MAAa,yDACbpuD,MAAA,gEAGAs3C,MACA8W,OAAA,qGACApuD,MAAA,mBAAA6oE,EAAA,MAAAA,EAAA,IACA1rF,OACAgsF,QAAA,eACiB/a,MAAA,qCAA8CpuD,MAAA,MAAA7iB,KAAA,YAI/D2uF,iBACA1d,MAAA,0BAAApuD,MAAA,SAEA+rE,aACA3d,MAAiB,sBAAApuD,MAAA,SAEjB3gB,S3Ok/hBY+uE,MAAQ,a2Oh/hBpBpuD,MAAA,IACAviB,OACA2wE,MAAA,aAAApuD,MAAA,IAAA7iB,KAAA,QACS2oF,aAAA,iBAGA1X,MAAA,aACTpuD,MAAA,IACSviB,OACT2wE,MAAA,aAAApuD,MAAA,IAAA7iB,KAAA,QACS2oF,aAAA,iBAITtpB,aACA4R,MAAA,kCACApuD,MAAiB,MAAA6oE,EAAA,MAAAA,IAEjBza,MAAiB,wCACjBpuD,MAAA,MAEAmpE,QAAA,mBAEAA,QAAA,oBAGA6C,kBACA5d,MAAA,6BACSpuD,MAAA,IACTviB,O3Ok/hBiB2wE,MAAQ,6BAA8BpuD,MAAO,IAAK7iB,KAAM,Q2Oh/hBzEgsF,QAAA,mBACArD,aAAA,iC3Oo/hBY1X,MAAQ,6B2Oh/hBpBpuD,MAAA,I3Ok/hBYviB,O2Oh/hBZ2wE,MAAA,6BAAApuD,MAAA,IAAA7iB,KAAA,QACAgsF,QAAA,mBACArD,aAAA,kCAKA3tF,KAAAmM,cAAAgnF,GACAnzF,KAASitF,mBAIT,WAEAjtF,KAAA8zF,cAAA,SAAAzG,EAAA1H,EAAAxmB,GACAn/D,KAAAgtF,OAAA7tB,IAAAhrD,SACA8hE,OAAA,gDAAA9W,EAAA,iBACAt3C,MAAA,OAAAs3C,EAAA,e3Ok/hBYn6D,O2Oh/hBZgsF,QAAA,eACA/a,MAAA,qCAAApuD,MAAA,MAAA7iB,KAAA2gF,EAAA,YAIA3lF,KAAAgtF,OAAA7tB,EAAA,UACA6xB,QAAA,eACS/a,MAAA,qCAAApuD,MAAA,MAAA7iB,KAAA,QACT4wE,QAAA,SAAAh1E,EAAAswF,EAAA1mE,GAES,MADTA,GAAAngB,OAAA,GACSrK,KAAAi2E,S3Oq/hBDj2E,KAAKwuF,WAAWnB,EAAgB1H,I2Oh/hBxC1P,OAAA,oDAAA9W,EAAA,iB3Ok/hBYt3C,MAAQ,QAAUs3C,EAAM,e2Oh/hBpCn6D,KAAAm6D,EAAA,S3Om/hBY8W,MAAO,mB2Oh/hBnBpuD,MAAA,oB3Om/hBYouD,MAAO,mB2Oh/hBnBpuD,MAAA,gB3Oq/hBG/jB,KAAK0oF,EAAmBjsF,W2O/+hB3Bo0E,EAAAuY,SAAAiG,EAAA3G,G3Om/hBA57E,EAAQuiF,kBAAoBA,I2O9+hB5B7e,IAAAC,OAAA,wIAAAnC,EAAAxhE,EAAAjS,GACA,YAOA,SAAAy8C,GAAA66B,EAAAtvE,GACA,MAAAsvE,GAAAtvE,KAAAuyE,YAAAvyE,EAAA,WANA,GAAAguE,GAAAvC,EAAA,iBACA2hB,EAAA3hB,EAAA,gBAAA2hB,UACAC,EAAA5hB,EAAA,wBAAA4hB,cAOAC,GANA7hB,EAAA,kBAMA,WAEApyE,KAAAixB,IAAA,sCAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAlxE,GACA,QAAAA,GAAA,KAAAA,EAAA,C3Ok/hBY,GAAIyjC,GAAQzjC,E2Oh/hBxButC,EAAA2jC,EAAAqD,IAAAnD,aAAAJ,EAAAkC,oBACA,SAAA3lC,GAAA,MAAAA,GAAA,KAAAA,GAAAyjC,EAAAid,2BACA,OACAjuF,KAAAyjC,EAAA8J,EAAA9J,EACA0yB,WAAA,EAIA,IAAAuc,GAAA1B,EAAAM,oB3Ok/hBgB3T,EAAOuT,EAAQqD,IAAIlD,QAAQqB,EAAOrnC,K2Oh/hBlD6iD,EAAAvwB,EAAAvmD,UAAAs7D,EAAAnB,OAAAmB,EAAAnB,OAAA,GACA3xE,EAAA,GAAAmuF,GAAA7c,EAAAwB,EAAArnC,IAAAqnC,EAAAnB,Q3Ok/hBgBvB,EAAQpwE,EAASuuF,iB2O/+hBjC,IAAAD,GAAAzqD,IAAA0R,EAAA66B,EAAA,oBAAA76B,EAAA66B,EAAA,WACA,OACAhwE,KAAA,GACAm2D,WAAA,KAOK,IAHL6Z,IACAA,EAAApwE,EAAAwuF,iBAEKpe,E3Ok/hBW,M2O/+hBhB,MAAA76B,EAAA66B,EAAA,mBAAA76B,EAAA66B,EAAA,eACAA,EAAApwE,EAAAwuF,cAEA,IAAAC,IAAAH,KAAAv6E,MAAA,KACA,IAAAwhC,EAAA66B,EAAA,sBAAAqe,GAAA,KAAAH,IAAA/4C,EAAA66B,EAAA,2BAAAqe,GAAA,KAAAH,GACA,OACAluF,KAAAyjC,IACA0yB,WAAA,SAMAp8D,KAAAixB,IAAA,qCAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAl+D,GACA,GAAAu6B,GAAA2jC,EAAAqD,IAAAnD,aAAAp+D,EACA,KAAAA,EAAA02E,gBAAA,KAAAn8C,GAAA,KAAAA,GAAA,CAGA,GAFA2jC,EAAAqD,IAAAlD,QAAAr+D,EAAAirB,MAAAoN,KACAj0B,UAAApE,EAAAirB,MAAAszC,OAAA,EAAAv+D,EAAAirB,MAAAszC,OAAA,IACAhkC,EAEA,MADAv6B,GAAAuhC,IAAAg9B,SACAv+D,KAKAjZ,KAAAixB,IAAA,mCAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAlxE,GACA,QAAAA,EAAA,CACA,GAAA05C,GAAAs3B,EAAAkC,oBAAAj1C,MACAr+B,EAAA,GAAAmuF,GAAA7c,EAAAx3B,EAAArO,IAAAqO,EAAA63B,QACAvB,EAAApwE,EAAAuuF,mBAAAvuF,EAAAwuF,cACA,KAAApe,KAAA76B,EAAA66B,EAAA,aAAA76B,EAAA66B,EAAA,mBAAA76B,EAAA66B,EAAA,mBAAA76B,EAAA66B,EAAA,qBAAA76B,EAAA66B,EAAA,oBACA,MACA,IAAA76B,EAAA66B,EAAA,6BACA,MACA,IAAA76B,EAAA66B,EAAA,oBACA,GAAAse,GAAAte,EAAAr1E,MAAAugC,OAAA,E3Ok/hBgB,IAAiB,KAAbozD,GAAiC,KAAbA,EAAkB,C2Oh/hB1D,GAAAC,GAAAve,EAAAr1E,MAAAugC,OAAA80C,EAAAr1E,MAAA+C,OAAA,GACA8wF,EAAA5uF,EAAA6uF,wBAAAze,EAAAr1E,MAAA+C,MACA,IAAA8wF,EAAA90C,EAAA63B,QAAAid,GAAA90C,EAAA63B,QAAA+c,GAAAC,EACA,QAGA,MAAAp5C,EAAA66B,EAAA,a3Om/hBgB,G2Ol/hBhBA,EAAApwE,EAAAwuF,e3Ok/hBmC,KAAfpe,EAAMr1E,MAAc,C2Oh/hBxCq1E,EAAApwE,EAAA8uF,aACA,OAIA,GAAAC,GAAA/uF,EAAAgvF,qBACAC,EAAAjvF,EAAA6uF,uBACA,IAAAt5C,EAAAv1C,EAAAwuF,eAAA,gBACK,MAEL,IAAA9mF,GAAA0oE,EAAAr1E,KAIA,IAHAg0F,GAAAj1C,EAAArO,MACA/jC,IAAA8P,UAAA,EAAAsiC,EAAA63B,OAAAsd,IAEA90F,KAAA+0F,aAAAlxF,eAAA0J,EAAA0H,eACA,MAEA,QACAhP,KAAA,MAAAsH,EAAA,IACA6uD,WAAA,SAKAp8D,KAAAixB,IAAA,kCAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAlxE,GACA,SAAAA,EAAA,CACA,GAAA0yE,GAAA1B,EAAAM,oB3Ok/hBgB3T,EAAOuT,EAAQG,QAAQqB,EAAOrnC,K2Oh/hB9CzrC,EAAA,GAAAmuF,GAAA7c,EAAAwB,EAAArnC,IAAAqnC,EAAAnB,QACAvB,EAAApwE,EAAAuuF,iBAEA,IAAAne,IAAA,IAAAA,EAAAtvE,KAAAiM,QAAA,cACA,SAAAqjE,EAAAr1E,MACA,M3Ok/hBgB,MAAOq1E,IAA6C,IAApCA,EAAMtvE,KAAKiM,QAAQ,a2Oh/hBnDqjE,EAAApwE,EAAAwuF,cAGA,KAAApe,EACA,MAGA,IAAA9W,GAAA8W,EAAAr1E,MACA0wC,EAAAzrC,EAAAgvF,oBAEA,MADA5e,EAAApwE,EAAAwuF,kBACA,IAAApe,EAAAtvE,KAAAiM,QAAA,WACA,MAGA,IAAA5S,KAAA+0F,eAAA/0F,KAAA+0F,aAAA51B,GAAA,CACA,GAAA61B,GAAA7d,EAAA8d,WAAAtc,EAAArnC,IAAAqnC,EAAAnB,OAAA,GACA5T,EAAAuT,EAAAG,QAAAhmC,GACA4jD,EAAAl1F,KAAAqyF,WAAAzuB,GACAqsB,EAAAiF,EAAA/d,EAAA0B,c3Om/hBoB,OAAImc,IAAiC,OAApBA,EAAUp0F,OAEnBqF,KAAM,KAAOgqF,EAAS,KAAOiF,E2Oh/hBzD94B,WAAA,EAAA6zB,EAAAtsF,OAAA,EAAAssF,EAAAtsF,U3Oq/hB4BsC,KAAM,KAAOgqF,S2Ov+hBzCtb,GAAAuY,SAAA+G,EAAAF,GAEAnjF,EAAAqjF,iBAGA3f,IAAAC,OAAA,0JAAAnC,EAAAxhE,EAAAjS,G3Ok/hBA,YA0BA,SAASy8C,GAAG66B,EAAOtvE,G2Oh/hBnB,MAAAsvE,GAAAtvE,KAAAuyE,YAAAvyE,EAAA,WAzBA,GAAAguE,GAAAvC,EAAA,iBAEAyC,G3Og/hBWzC,EAAS,kB2Oh/hBpBA,EAAA,eAAAyC,OACA6Z,EAAAtc,EAAA,eAAAuc,SACAqF,EAAA5hB,EAAA,wBAAA4hB,cAEArF,EAAA/9E,EAAkB+9E,SAAA,SAAAoG,EAAAI,GAClBzG,EAAgB5qF,KAAA9D,MAChBA,KAAA+0F,mB3Ok/hBI/0F,KAAKm1F,gBAAkBxgB,EAAIygB,SAAUp1F,KAAK+0F,c2Oh/hB9CI,GACAxgB,EAAAygB,MAAAp1F,KAAAm1F,mBAGAxgB,GAAAuY,SAAAyB,EAAAD,EAEA,IAAA2G,GAAA,WACAr1F,KAAAq7D,QAAA,G3Ok/hBIr7D,KAAKs1F,SAAU,E2Oh/hBnBt1F,KAAAu1F,aAAA,EACAv1F,KAAAkkC,OAAAoN,IAAA,EAAAkmC,OAAA,G3Ok/hBIx3E,KAAKw6C,KAAOlJ,IAAK,EAAGkmC,OAAQ,K2O1+hBhC,W3Om/hBIx3E,KAAKmvF,cAAgB,SAAShY,EAASiY,EAAW99C,G2Oh/hBtD,GAAA6tB,GAAAn/D,KAAAw1F,mBAAAre,EAAA7lC,EAEA,OAAA6tB,G3Oo/hBYA,EAAIm2B,UAAan2B,EAAI9D,SAAW8D,EAAIo2B,Y2Oh/hBzB,gBAAvBnG,EAA0C,UAE1CjwB,EAAA9D,SAAA8D,EAAAo2B,aAAAv1F,KAAA+0F,aAAAlxF,eAAAs7D,EAAA9D,QAAApmD,eACA,GAEAjV,KAAAy1F,kBAAAte,EAAA7lC,EAAA6tB,EAAA9D,QAAA8D,EAAA3kB,IAAAg9B,QACA,GAEA,QAXA,IAaAx3E,KAAAw1F,mBAAyB,SAAAre,EAAmB7lC,GAI5C,OAHAylC,GAAAI,EAAAue,UAAApkD,GACA6tB,EAAA,GAAAk2B,GAEA5xF,EAAA,EAAAA,EAAAszE,EAAApzE,OAAAF,IAAA,CACA,GAAAwyE,GAAAc,EAAAtzE,EACA,IAAA23C,EAAA66B,EAAA,aAIA,GAHA9W,EAAA3kB,IAAAg9B,OAAArY,EAAAj7B,MAAAszC,OAAAvB,EAAAr1E,MAAA+C,OACAw7D,EAAAm2B,QAAAl6C,EAAA66B,EAAA,kBACaA,EAAAc,IAAAtzE,IAEb,WAGA,KAFA07D,EAAA9D,QAAA4a,EAAAr1E,MACAu+D,EAAA3kB,IAAAg9B,QAAAvB,EAAAr1E,MAAA+C,OACAF,MAAAszE,EAAApzE,OAAAF,IAGA,G3O++hBoBwyE,EAAQc,EAAOtzE,G2Oh/hBnC07D,EAAA3kB,IAAAg9B,QAAAvB,EAAAr1E,MAAA+C,OACAy3C,EAAA66B,EAAA,c3Ok/hBwB9W,EAAIo2B,YAA6B,MAAftf,EAAMr1E,K2Oh/hBhD,OAGA,MAAuBu+D,GACvB,GAAA/jB,EAAA66B,EAAA,aAEA,MADA9W,GAAAo2B,YAAA,MAAAtf,EAAAr1E,MACAu+D,CAEAA,GAAAj7B,MAAAszC,QAAAvB,EAAAr1E,MAAA+C,OAGA,aAGA3D,KAAAy1F,kBAAA,SAAAte,EAAA7lC,EAAA+pB,EAAA00B,GAGA,OAFAhZ,GAAAI,EAAAue,UAAApkD,GACAkmC,EAAA,EACA/zE,EAAA,EAAAA,EAAAszE,EAAApzE,OAAAF,IAAA,CACA,GAAAwyE,GAAAc,EAAAtzE,E3Om/hBY,O2Ol/hBZ+zE,GAAAvB,EAAAr1E,MAAA+C,Q3Ok/hByBosF,I2O/+hBzB30C,EAAA66B,EAAA,kBACAA,EAAAc,EAAAtzE,EAAA,KACAwyE,EAAAr1E,OAAAy6D,EACA,SAGA,UAEAr7D,KAAA21F,gBAAA,SAAA9vF,GACA,GAAAowE,GAAApwE,EAAAuuF,iBACA,KAAAne,EACA,WAEA,IAAA9W,GAAA,GAAAk2B,EACA,I3Ok/hBY,GAAIj6C,EAAG66B,EAAO,Y2Oh/hB1B9W,EAAAm2B,QAAAl6C,EAAA66B,EAAA,gBACA9W,EAAAj7B,MAAAoN,IAAAzrC,EAAAgvF,qB3Ok/hBgB11B,EAAIj7B,MAAMszC,OAAS3xE,EAAS6uF,4B2Oh/hB5C,IAAAt5C,EAAA66B,EAAA,YACA9W,EAAA9D,QAAA4a,EAAAr1E,UACA,IAAAw6C,EAAA66B,EAAA,aAKA,MAJA9W,GAAAo2B,YAAA,MAAAtf,EAAAr1E,M3Ok/hBgBu+D,EAAI3kB,IAAIlJ,IAAMzrC,EAASgvF,qB2Oh/hBvC11B,EAAA3kB,IAAAg9B,OAAA3xE,EAAA6uF,wBAAAze,EAAAr1E,MAAA+C,OACAkC,EAAA8uF,cACAx1B,QAEA8W,EAAApwE,EAAA8uF,cAEA,cAGA30F,KAAA41F,iBAAA,SAAA/vF,GACA,GAAAowE,GAAapwE,EAAAuuF,iBACb,KAAAne,EACA,WAEA,IAAA9W,GAAA,GAAAk2B,EACA,GAAS,C3Ok/hBG,GAAIj6C,EAAG66B,EAAO,Y2O5+hB1B,MAJA9W,GAAAm2B,QAAAl6C,EAAA66B,EAAA,gBACA9W,EAAAj7B,MAAAoN,IAAAzrC,EAAAgvF,qB3Ok/hBgB11B,EAAIj7B,MAAMszC,OAAS3xE,EAAS6uF,wB2Oh/hB5C7uF,EAAAwuF,eACAl1B,C3Ok/hBuB/jB,GAAG66B,EAAO,Y2Oh/hBjC9W,EAAA9D,QAAA4a,EAAAr1E,MACAw6C,EAAA66B,EAAA,eACA9W,EAAAo2B,YAAA,MAAAtf,EAAAr1E,MACAu+D,EAAA3kB,IAAAlJ,IAAAzrC,EAAAgvF,qBACA11B,EAAA3kB,IAAAg9B,OAAA3xE,EAAA6uF,wBAAAze,EAAAr1E,MAAA+C,cAEAsyE,EAAApwE,EAAAwuF,eAEA,cAGAr0F,KAAA61F,KAAA,SAAArrE,EAAA20C,G3Ok/hBQ,KAAO30C,EAAM7mB,QAAQ,C2O/+hB7B,GAAAs7C,GAAAz0B,IAAA7mB,OAAA,E3Ok/hBY,IAAKw7D,GAAOlgB,EAAIoc,SAAW8D,EAAI9D,QAG1B,IAAIr7D,KAAKm1F,gBAAgBtxF,eAAeo7C,EAAIoc,SAAU,C2Oh/hBvE7wC,EAAAplB,KACA,U3Om/hBgB,MAAO,M2Ov/hBvB,MAAAolB,GAAAplB,QAWApF,KAAAsvF,mBAAA,SAAAnY,EAAAiY,EAAA99C,GACA,GAAAwkD,GAAA91F,KAAAw1F,mBAAAre,EAAA7lC,EAEA,KAAAwkD,EACA,WAEA,IAEA32B,GAFA42B,EAAAD,EAAAR,SAAAQ,EAAAP,YACA/qE,IAGA,IAAAurE,EAmCA,IANA,GAAAlwF,GAAA,GAAAmuF,GAAA7c,EAAA7lC,EAAAwkD,EAAAt7C,IAAAg9B,Q3Ok/hBgBh9B,G2Oh/hBhBlJ,MACAkmC,OAAAse,EAAA5xD,MAAAszC,QAGArY,EAAAn/D,KAAA41F,iBAAA/vF,IAAA,CACA,GAAAs5D,EAAAo2B,YAAA,CACA,GAAA/qE,EAAA7mB,OAKA,QAFA,OAFAw7D,GAAAj7B,MAAAszC,QAAArY,EAAA9D,QAAA13D,OAAA,EACAw7D,EAAA3kB,IAAAg9B,QAAA,EACA3C,EAAAqK,WAAA/f,EAAAj7B,MAAAi7B,EAAA3kB,K3Os/hBgB,GAAK2kB,EAAIm2B,Q2Ov+hBzB9qE,EAAAllB,KAAA65D,O3Oy+hBoB,I2Ol/hBpBn/D,KAAA61F,KAAArrE,EAAA20C,G3Ok/hBwC,GAAhB30C,EAAM7mB,OAIN,M2Op/hBvBw7D,GAAAj7B,MAAAszC,QAAArY,EAAA9D,QAAA13D,OAAA,E3Ok/hB2Bw7D,EAAIj7B,MAAMoN,KAAO6tB,EAAI3kB,IAAIlJ,KAAO6tB,EAAIj7B,MAAMszC,OAASrY,EAAI3kB,IAAIg9B,S2Oh/hBtFrY,EAAAj7B,MAAAszC,OAAArY,EAAA3kB,IAAAg9B,Q3Ok/hB8B3C,EAAMqK,WAAW/f,EAAIj7B,MAAOsW,O2OpiiBtC,CACrB,GAAA30C,GAAA,GAAAmuF,GAAA7c,EAAA7lC,EAAAwkD,EAAA5xD,MAAAszC,QACAtzC,G3Ok/hBgBoN,IAAKA,E2Oh/hBrBkmC,OAAAse,EAAA5xD,MAAAszC,OAAAse,EAAAz6B,QAAA13D,OAAA,EAIA,KAFAmyF,EAAA5xD,MAAAoN,KAAAwkD,EAAAt7C,IAAAlJ,MACApN,EAAAszC,OAAAse,EAAAt7C,IAAAg9B,QACArY,EAAAn/D,KAAA21F,gBAAA9vF,IAAA,CACA,GAAAs5D,EAAAo2B,YAAA,CACA,GAAA/qE,EAAA7mB,OAKA,QAFA,OAFAw7D,GAAAj7B,MAAAszC,QAAArY,EAAA9D,QAAA13D,OAAA,EACAw7D,EAAA3kB,IAAAg9B,QAAA,EACA3C,EAAAqK,WAAA/f,EAAAj7B,MAAAi7B,EAAA3kB,KAKA,GAAA2kB,EAAAm2B,S3Om/hBoB,G2Ol/hBpBt1F,KAAA61F,KAAArrE,EAAA20C,G3Ok/hBwC,GAAhB30C,EAAM7mB,O2Oh/hB9B,MAAAkxE,GAAAqK,WAAAh7C,EAAAi7B,EAAAj7B,WAGA1Z,GAAAllB,KAAA65D,Q3OuhiBGr7D,KAAK6qF,EAASpuF,a2O7+hBjB+zE,IAAAC,OAAA,8MAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,c3Ok/hBID,EAAOC,EAAS,e2Oh/hBpB+a,EAAA/a,EAAA,UAAAgb,K3Ok/hBI+F,EAAoB/gB,EAAS,yBAAyB+gB,kB2Oh/hB1Dc,EAAA7hB,EAAA,mBAAA6hB,a3Ok/hBI+B,EAAc5jB,EAAS,iBAAiBuc,S2Oh/hB5C2D,EAAAlgB,EAAyB,2BAAAkgB,aAEzBlF,EAAA,WACAptF,KAAAqtF,eAAA8F,EACAnzF,KAAAstF,WAAA,GAAA2G,G3Ok/hBGj0F,KAAKswF,aAAe,GAAI0F,G2O9+hB3BrhB,GAAAuY,SAASE,EAAAD,GAET,WAEAntF,KAAS+0F,aAAA5iB,EAAA8jB,eAETj2F,KAAAuwF,cAAArsD,MAAA,UAAAsW,IAAA,U3Om/hBIx6C,KAAK6yF,aAAe,SAAS1b,G2Oh/hBjC,GAAA2b,GAAA,GAAAR,IAAA,OAAAzzF,EAAA,eAWA,OAVCi0F,GAAAC,iBAAA5b,EAAA6b,eAEDF,EAAA7hF,GAAA,iBAAA1L,GACC4xE,EAAA8b,eAAA1tF,EAAAyL,QAGD8hF,EAAA7hF,GAAA,uB3Ok/hBYkmE,EAAQ+b,qB2O9+hBpBJ,GAGA9yF,KAAAmrD,IAAA,gBACArnD,KAAAspF,EAAA7sF,W3Om/hBAqQ,EAAQw8E,KAAOA,I2O9+hBf9Y,IAAAC,OAAA,oIAAAnC,EAAAxhE,EAAAjS,G3Ok/hBA,YAEA,IAAIg2E,GAAMvC,EAAS,c2O/+hBnBoa,GADApa,EAAA,eACAA,EAAA,0BAAAoa,oBACA0J,EAAAtlF,EAAAslF,YAAA,04EACAC,EAAAvlF,EAAAulF,gBAAA,qCACAC,EAAAxlF,EAAAwlF,gBAAA,gmEACAC,EAAAzlF,EAAAylF,qBAAA,uGACAC,EAAK1lF,EAAA0lF,qBAAA,+KAELC,EAAA3lF,EAAA2lF,MAAA,yCACAC,EAAA5lF,EAAA4lF,eAAA,6EACAC,EAAA7lF,EAAA6lF,cAAA,kQAEAC,EAAA,WAEA,GAAAhK,GAAA1sF,KAAA2sF,qBACAC,mBAAuBuJ,EACvBQ,mBAAAP,EACAQ,eAASV,EACTW,yBAAAR,EACAS,yBAAyBR,GACzB,UAEAt2F,MAAAgtF,QACA9oD,QACS+xC,MAAA,UACTpuD,MAAA,SACAviB,KAAA,YAEA2wE,MAAA,eACApuD,MAAA,MACSviB,KAAA,YAET2wE,MAAA,SACSpuD,MAAA,QACTviB,KAAA,U3Om/hBY2wE,MAAO,U2Oh/hBnBpuD,MAAA,iBAEAouD,MAAA,WACApuD,MAAA,mBAEAouD,MAAA,SACApuD,MAAA,iBAESouD,MAAA,WACTpuD,MAAA,gBAEAq6B,iBAAA,IAGA60C,QACS9gB,MAAA,UACTpuD,MAAA,SACAviB,KAAA,YAEA2wE,MAAA,eACApuD,MAAA,MACSviB,KAAA,YAET2wE,MAAA,SACSpuD,MAAA,MACT7iB,KAAA,Q3Om/hBYixE,MAAO,U2Oh/hBnBpuD,MAAA,iBAEAouD,MAAA,WACApuD,MAAA,mBAEAouD,MAAA,SACSpuD,MAAA,iBAETouD,MAAA,WACApuD,MAAA,gBAEAq6B,iBAAwB,IAGxBqsC,UACAtY,MAAA,UACApuD,MAAA,SACS7iB,KAAA,QAET2oF,aAAA,YAGAqJ,UAEA/gB,MAAA,eACApuD,MAAA,MACS7iB,KAAA,QAETixE,MAAA,UACSpuD,MAAA,SACTviB,KAAA,YAES2wE,MAAA,SACTpuD,MAAA,uCAESouD,MAAA,SACTpuD,MAAA,uCAESouD,OAAA,8BACTpuD,MAAA,IAAA0uE,EAAA,qFAEStgB,MAAA,mBACTpuD,MAAA0uE,IAEStgB,MAAA,mBACTpuD,MAAA,iBAESouD,MAAA,mBACTpuD,MAAA,iBAEAouD,OAAA,gE3Ok/hBYpuD,MAAQ2uE,I2O/+hBpBvgB,OAAA,8D3Ok/hBYpuD,MAAQ4uE,IAERxgB,OAAS,mBAAoB,SAAU,oB2Oh/hBnDpuD,MAAA,sBAECouD,MAAAyW,E3Ok/hBW7kE,MAAQ,kC2O/+hBpBq6B,iBAAA,KAIAliD,KAAAitF,iBAGAtY,GAAAuY,SAAAwJ,EAA4BlK,GAE5B57E,EAAA8lF,kBAAwBA,IAIxBpiB,IAAAC,OAAA,4BAA8B,uCAAAnC,EAAAxhE,EAAAjS,GAC9B,YAEA,IAAAs4F,IACAC,YAAcC,MAAA,GACdC,oBAAcD,MAAA,EAAAE,YAA6B,EAAAC,MAAA,GAC3CC,oBAAeC,aAAA,GACfC,qBAAgB7mD,OAAA,EAAA8mD,WAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,QAAuE,GACvFC,uBAAoBn0C,OAAA,EAAAsC,OAAqB,EAAA/G,KAAA,EAAAgH,MAAA,EAAAjH,IAAA,EAAA44C,QAAA,GACzCE,yBAAchzB,OAAA,EAAAuyB,MAAiC,GAC/CU,mBAAoBC,MAAA,EAAAC,QAAA,GACpBC,mBAAkBC,aAAA,EAAAC,cAAyB,EAAAC,cAAA,GAC3CC,qBAAoBH,aAAA,EAAuBC,cAAA,EAAAC,cAAA,GAC3CE,QAAAC,WAAmB,EAAAC,YAAA,EAAyBC,YAAA,EAAAxB,MAAA,GAC5CyB,gBAAqBzB,MAAA,GACrB0B,gBAAeC,MAAA,EAAAC,OAAyB,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAtB,QAAA,EAAAuB,MAAA,EAAAz8E,KAAA,EAAA08E,OAAA,EAAAC,OAAA,GACxCC,mBAAaC,SAAA,EAAyBC,SAAA,GACtC91C,QAAA+1C,GAAA,EAAuBC,GAAA,EAAAC,IAAY,GACnC1wF,OAAAg2C,KAAoB,EAAAgH,MAAY,EAAA2zC,KAAA,EAAAl9E,KAAA,GAChCpN,OAAA4nF,MAAA,EAAwB2C,gBAAA,GACxBnhB,QAAeohB,QAAA,EAAAC,QAAyB,EAAAliD,KAAA,EAAA7xC,KAAA,EAAAg0F,KAAA,EAAAC,KAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,WAAA,EAAAC,YAAA,GACxCt0D,SAAA1pB,KAAqB,EAAAumD,MAAA,EAAA03B,OAAyB,EAAAC,eAAA,EAAAC,aAAA,GAC9CC,eAAoBtwE,KAAA,EAAA2jB,KAAA,GACpB4sD,OAAA97C,KAAmB,EAAAgH,MAAA,EAAAvpC,KAAyB,GAC5Cs+E,eAAAC,MAAsB,EAAAC,gBAAA,EAAyBC,SAAA,EAAAC,cAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,kBAAA,EAAAC,eAAA,EAAAC,QAAA,GAC/CC,aAAArC,GAAmB,EAAAC,GAAA,EAAAC,IAAA,GACnBoC,eAAkBC,KAAA,EAAAC,OAAA,GAClBC,cAAmBC,OAAA,EAAAF,OAAA,GACnBG,gBAAkBH,OAAA,EAAAI,aAAyB,GAC3Cn0E,QAAAuxE,GAAiB,EAAAC,GAAA,EAAAC,IAAA,GACjB16C,MAAAw6C,GAAmB,EAAAC,GAAA,EAAAC,IAAA,GACnB2C,kBAAmBL,OAAA,GACnBM,eAAgBN,OAAA,GAChBO,mBAAoB9/E,KAAA,EAAA+/E,KAAA,EAAyBC,OAAA,EAAAC,OAAA,EAAAC,QAAA,EAAAC,uBAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,SAAA,EAAAC,cAAA,EAAAC,cAAA,GAC7CtT,QAAA0P,GAAA,EAAsBC,GAAA,EAAAC,IAAA,GACtB2D,gBAAA7D,GAAuB,EAAAC,GAAA,EAAAC,IAAA,GACvB4D,eAAA9D,GAAqB,EAAAC,GAAA,EAAAC,IAAA,GACrB6D,cAAA/D,GAAyB,EAAAC,GAAA,EAAAC,IAAA,GACzB8D,iBAAAhE,GAA0B,EAAAC,GAAA,EAAAC,IAAA,GAC1B+D,cAAiBjE,GAAA,EAAAC,GAAA,EAAAC,IAAA,GACjBgE,aAAclE,GAAA,EAAAC,GAAA,EAAAC,IAAyB,GACvCiE,cAAAnE,GAAqB,EAAAC,GAAA,EAAAC,IAAA,GACrBkE,aAAApE,GAAwB,EAAAC,GAAA,EAAAC,IAAA,GACxBz7D,UAAAg7D,OAAmB,EAAA4E,QAAA,EAAAC,KAAA,EAAAj5B,OAAA,GACnBk5B,cAAA9E,OAAuB,EAAA4E,QAAA,EAAAC,KAAA,EAAAj5B,OAAA,GACvBm5B,cAAY/E,OAAA,EAAA4E,QAAyB,EAAAC,KAAA,EAAAj5B,OAAA,GACrCo5B,SAAAzE,GAAA,EAAuBC,GAAA,EAAAC,IAAA,GACvBwE,eAAmB1E,GAAA,EAAAC,GAAA,EAAAC,IAAA,GACnByE,iBAAoB3E,GAAA,EAAAC,GAAA,EAAAC,IAAA,GACpB0E,kBAAc5E,GAAA,EAAAC,GAAA,EAAyBC,IAAA,GACvC2E,gBAAqB7E,GAAA,EAAAC,GAAY,EAAAC,IAAA,GACjC4E,oBAAeR,KAAA,EAAAS,OAA0B,EAAAC,MAAA,EAAAx/C,KAAA,EAAAgH,MAAA,G3Ok/hBrCy4C,qBAAsBX,KAAQ,EAAGS,OAAU,EAAGC,MAAS,EAAGx/C,KAAQ,EAAGgH,MAAS,G2Oh/hBlFvG,UAAAi/C,SAAoB,EAAAC,SAAwB,EAAAvH,MAAA,EAAAwH,OAAA,GAC5C54C,OAAAwzC,GAAA,EAAsBC,GAAA,EAAAC,IAAA,GACtBmF,gBAAAzH,MAAA,EAAA0G,KAAA,GACAgB,mBAAAriF,KAAA,EAAAsiF,UAAA,EAAAC,eAAA,EAAAC,MAAA,GACAC,cAAAlgD,KAAA,EAAAgH,MAAA,EAAAD,OAAA,EAAAo5C,QAAA,GACAC,kBAAAC,WAAA,EAAAC,UAAA,EAAAC,UAAA,EAAA9iF,KAAA,GACAsiC,KAAAy6C,GAAA,EAAAC,GAAA,EAAAC,IAAA,GACA8F,kBAAAzgD,IAAA,EAAA0E,OAAA,GACAg8C,YAAAxG,OAAA,EAAA4E,QAAA,GACA6B,eAAAC,OAAA,EAAA3D,OAAA,EAAAzkC,IAAA,EAAAqoC,WAAA,EAAAC,WAAA,GACAxgD,OAAAm6C,GAAA,EAAAC,GAAA,EAAAC,IAAA,GACAoG,gBAAA9D,OAAA,GACAjoF,QAAAgsF,uBAAA,GAEAC,eAAkBC,qBAAA,GAClBC,iBAAAC,gBAAuB,EAAAC,KAAA,EAAAC,SAAuC,GAC9DC,qBAA0B,EAC1BC,8BAAA,E3Ok/hBIC,iCAAkC,E2Oh/hBtCC,6BAAA,E3Ok/hBIC,gCAAiC,E2Oh/hBrCC,wBAAA,E3Ok/hBIC,kCAAmC,E2Oh/hBvCC,iCAAA,E3Ok/hBIC,qCAAsC,E2Oh/hB1CC,oCAAA,E3Ok/hBIC,kBAAmB,E2Oh/hBvBC,qBAAA,EACAh2E,WAAAi2E,iBAAA,EAAAC,eAAA,GACAC,kBAAAF,iBAAA,EAAAC,eAAA,G3Ok/hBIE,qBAAsBH,iBAAkB,EAAGC,eAAgB,I2O9+hB/DG,EAAA,cAIA,WAEAxhG,KAAAyhG,oBAAA,EAEAzhG,KAAA0hG,kBAAA,WACA,GAAAh/F,SAAA,C3Ok/hBY,GAAI82B,GAAQ92B,SAASkL,cAAc,KAAK4rB,K2O/+hBpD,QAAA/1B,KAAA+1B,G3Ok/hBgB,GAAwB,gBAAbA,GAAM/1B,GAAjB,C2O9+hBhB,GAAAsG,GAAAtG,EAAA6O,QAAA,kBAAAgc,GACA,UAAAA,EAAArZ,e3Oo/hBqBgiF,GAAYpzF,eAAekG,K2Oh/hBhDktF,EAAAltF,GAAA,IAIA/J,KAAAyhG,oBAAqB,GAGrBzhG,KAAAopF,eAAA,SAAA9yE,EAAA6gE,EAAAtjC,EAAA8xC,GAOA,GANa3lF,KAAAyhG,oBACbzhG,KAAA0hG,qB3Oo/hBoBvqB,EAAQ8d,WAAWphD,EAAIvC,IAAKuC,EAAI2jC,QAGxC,Q2Oh/hBZ,gBAAAlhE,EAAA,CACA,GAAAstD,GAAAuT,EAAAG,QAAAzjC,EAAAvC,KAAAr2B,OAAA,EAAA44B,EAAA2jC,OACA,iBAAAnnD,KAAAuzC,IACA,mBAAAvzC,KAAAuzC,GAEA5jE,KAAA2hG,4BAAArrF,EAAA6gE,EAAAtjC,EAAA8xC,IAEA3lF,KAAA4hG,uBAAAtrF,EAAA6gE,EAAAtjC,EAAA8xC,G3Oq/hBQ,U2O9+hBR3lF,KAAA4hG,uBAAA,SAAAtrF,EAAA6gE,EAA2DtjC,EAAA8xC,GAE3D,M3Og/hByBtiF,QAAOgD,KAAK4wF,G2Oh/hBrC3wF,IAAA,SAAA8nB,GACA,OACAi1D,QAAAj1D,EACAgqD,QAAAhqD,EAAA,OACAoe,KAAA,WACA+9C,MAAA/+D,OAAAC,cAKAzrB,KAAA2hG,4BAAA,SAAArrF,EAAA6gE,EAAAtjC,EAAA8xC,GACA,GAAA/hB,GAAAuT,EAAAG,QAAAzjC,EAAAvC,KAAAr2B,OAAA,EAAA44B,EAAA2jC,QACAppD,GAAA,mBAAA2Y,KAAA68B,QAAA,EAEA,KAAAx1C,E3Ok/hBY,Q2Oh/hBX,IAAAkzC,K3Oq/hBO,OAHIlzC,KAAY6oE,IAAgD,gBAA1BA,GAAY7oE,K2Oh/hB1DkzC,EAAAj+D,OAAAgD,KAAA4wF,EAAA7oE,K3Om/hBekzC,EAAOh7D,IAAI,SAAS1F,G2Oh/hBnC,OACAyiF,QAAAziF,E3Ok/hBgBw3E,QAASx3E,E2Oh/hBzB4rC,KAAA,iBACA+9C,MAAA/+D,OAAAC,gB3Os/hBG3nB,KAAK09F,EAAejhG,WAEvBqQ,EAAQ4wF,eAAiBA,I2O9+hBzBltB,IAAAC,OAAA,qJAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,iBAEAmgB,GADAngB,EAAA,gBAAA2hB,UACA3hB,EAAA,YAAAmgB,iBACAyB,EAAA5hB,EAAA,wBAAA4hB,cAEA6N,EAAA,WAEA7hG,KAAA63F,QAAAtF,GAEAvyF,KAAAixB,IAAA,6BAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAlxE,GACA,SAAAA,EAAA,CACA,GAAA0yE,GAAA1B,EAAAM,oBACA1xE,EAAA,GAAAmuF,GAAA7c,EAAAwB,EAAArnC,IAA+DqnC,EAAAnB,QAC/DvB,EAAApwE,EAAAuuF,iBAIA,IAHAne,KAAAr1E,MAAgCgZ,MAAA,SAChCq8D,EAAApwE,EAAAwuF,gBAEApe,GAAA,iBAAAA,EAAAtvE,KAAA,CACA,GAAAi9D,GAAAuT,EAAAqD,IAAAlD,QAAAqB,EAAArnC,IAEK,UADLsyB,EAAAvmD,UAAAs7D,EAAAnB,OAAAmB,EAAAnB,OAAA,G3Om/hBoB,O2Oh/hBpBvxE,KAAA,GACAm2D,WAAA,KAGA,KAAAwH,EAAAvmD,UAAAs7D,EAAAnB,QAAA59D,MAAA,SACA,OACA3T,KAAA,KACAm2D,WAAA,UAOAp8D,KAAAixB,IAAA,4BAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAl+D,GACA,GAAAu6B,GAAA2jC,EAAAqD,IAAAnD,aAAAp+D,EACA,KAAAA,EAAA02E,eAAA,MAAAn8C,EAAA,CACA,GAAAmlC,GAAA1B,EAAAM,oBACK1xE,EAAA,GAAAmuF,GAAA7c,EAAAwB,EAAArnC,IAAAqnC,EAAAnB,Q3Ok/hBWvB,EAAQpwE,EAASuuF,iB2O7+hBjC,IAHAne,KAAAr1E,MAAAgZ,MAAA,SACAq8D,EAAuBpwE,EAAAwuF,gBAEvBpe,GAAA,iBAAAA,EAAAtvE,KAAA,CAGA,SAFAwwE,EAAAqD,IAAAlD,QAAAr+D,EAAAirB,MAAAoN,KACgCj0B,UAAApE,EAAAuhC,IAAAg9B,OAAAv+D,EAAAuhC,IAAAg9B,OAAA,GAGhC,MADAv+D,GAAAuhC,IAAAg9B,SACAv+D,MAMAjZ,KAAAixB,IAAA,iCAAA3a,EAAAknE,EAAAvG,EAAAE,EAAAlxE,GACA,SAAAA,EAAA,C3Ok/hBY,GAAI0yE,GAAS1B,EAAOM,mBAGpB,IAAkB,M2On/hB9BJ,EAAAqD,IAAAlD,QAAAqB,EAAArnC,KACCj0B,UAAAs7D,EAAAnB,OAAAmB,EAAAnB,OAAA,GAED,OACAvxE,KAAA,G3Ok/hBmBm2D,WAAY,EAAG,O2O1+hBlCuY,GAAAuY,SAAA2U,EAAAtP,G3Om/hBA3hF,EAAQixF,aAAeA,I2O9+hBvBvtB,IAAAC,OAAA,+PAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACA+a,EAAA/a,EAAA,UAAAgb,KACAsJ,EAAAtkB,EAAA,yBAAAskB,kB3Ok/hBI1E,EAAuB5f,EAAS,4BAA4B4f,qB2Oh/hBhEM,EAAAlgB,EAAA,2BAAAkgB,a3Ok/hBIkP,EAAiBpvB,EAAS,qBAAqBovB,e2Oh/hBnDK,EAAAzvB,EAAA,mBAAAyvB,aACArP,EAAApgB,EAAyB,oBAAAuc,SAEzBvB,EAAA,WACAptF,KAAAqtF,eAAAqJ,EACA12F,KAAAyyF,SAAA,GAAAT,GACAhyF,KAAAstF,WAAA,GAAAuU,GACA7hG,KAAA8hG,WAAA,GAAAN,GACAxhG,KAAAswF,aAAA,GAAAkC,GAEA7d,GAAAuY,SAAAE,EAAAD,GAEA,W3Om/hBIntF,KAAKswF,aAAe,S2Oh/hBxBtwF,KAAAuwF,cAAArsD,MAAA,KAAAsW,IAAA,M3Om/hBIx6C,KAAK0yF,kBAAoB,SAASp8E,EAAOstD,EAAM11D,G2Oh/hBnD,GAAA+hF,GAAAjwF,KAAAqyF,WAAAzuB,GACAmT,EAAA/2E,KAAAs1E,eAAAwB,cAAAlT,EAAAttD,GAAAygE,MACA,OAAAA,GAAApzE,QAAA,WAAAozE,IAAApzE,OAAA,GAAAgD,K3Ok/hBmBspF,G2O9+hBnBrsB,EAAAhqD,MAAA,eAEAq2E,GAAA/hF,G3Oo/hBe+hF,I2O9+hBfjwF,KAAAiyF,aAAA,SAAA37E,EAAAstD,EAAAvb,G3Ok/hBQ,MAAOroD,MAAKyyF,SAASR,aAAaruB,EAAMvb,I2O9+hBhDroD,KAASkyF,YAAA,SAAA57E,EAAAkkE,EAAAlpC,G3Ok/hBDtxC,KAAKyyF,SAASP,YAAY1X,EAAKlpC,I2O9+hBvCtxC,KAASopF,eAAA,SAAA9yE,EAAA6gE,EAAAtjC,EAAA8xC,G3Ok/hBD,MAAO3lF,MAAK8hG,WAAW1Y,eAAe9yE,EAAO6gE,EAAStjC,EAAK8xC,IAG/D3lF,KAAK6yF,aAAe,SAAS1b,G2Oh/hBjC,GAAA2b,GAAA,GAAAR,IAAA,OAAAzzF,EAAA,eAWA,OAVCi0F,GAAAC,iBAAA5b,EAAA6b,eAEDF,EAAA7hF,GAAA,oBAAA1L,G3Ok/hBY4xE,EAAQ8b,eAAe1tF,EAAEyL,Q2O9+hBrC8hF,EAAA7hF,GAAA,uBACAkmE,EAAA+b,qBAGAJ,GAGA9yF,KAAAmrD,IAAA,gB3Ok/hBGrnD,KAAKspF,EAAK7sF,W2O/+hBbqQ,EAAAw8E,SAIA9Y,IAAAC,OAAA,yMAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAD,EAAAC,EAAA,eACAskB,EAAAtkB,EAAA,yBAAAskB,kBACApF,EAAAlf,EAAA,gCAAAkf,yBACA6B,EAAA/gB,EAAA,yBAAA+gB,kBAEA4O,EAAA5vB,EAAA6vB,WACA/iG,EAAA,SACAgjG,OAAA,OACAC,KAAA,OACClzF,IAAA,Q3Ok/hBGq5C,MAAc,O2Oh/hBlBnjD,MAAA,OACAs2B,OAAA,O3Ok/hBI2mE,OAAc,S2Oh/hBlBzgD,OAAA,OACAmxB,SAAA,OACAr5C,MAAA,QACA4oE,MAAS,QACTC,MAAA,QACAC,GAAA,QACAC,MAAS,QACTC,GAAA,QACAC,GAAA,UAGAC,EAAa,WACbvP,EAAArvF,KAAA9D,MAEAA,KAAA2iG,UACAt+B,aACA2sB,QAAA,mBAEA/a,MAAA,kCACApuD,MAAa,qBAEbouD,MAAA,wCACSpuD,MAAA,IACTviB,OACA0rF,QAAA,mBAEA/a,MAAA,uCACApuD,MAAA,iBACa7iB,KAAA,QAEbixE,MAAA,QACSpuD,MAAA,GACT7iB,KAAA,UAGAgsF,QAAA,oB3Om/hBQ7xB,M2Oh/hBR8W,MAAA,SAAA/xC,EAAAi7B,GACA,GAAAyjC,GAAAb,EAAA5iC,E3Ok/hBgB,QAAQ,yBAAoC,KAATj7B,EAAe,GAAK,QAAU,e2Oh/hBjF,YAAA0+D,EAAA,IAAAA,EAAA,sBAEA/6E,MAAA,0B3Ok/hBY7iB,KAAM,cAEV69F,Y2Oh/hBR7R,QAAA,eACC/a,MAAA,qCAAApuD,MAAA,MAAA7iB,KAAA,Y3Oq/hBGhF,KAAK8zF,cAAc4C,EAAmB,OAAQ,S2Oh/hBlD12F,KAAA8zF,cAAA,GAAAxC,IAAAP,KAAA,IAAA+R,WAAA,gB3Om/hBQ9iG,KAAKmM,cAAgBu2F,G2Oh/hB7B1iG,KAAAitF,iBAGAtY,GAAAuY,SAAAwV,EAAAvP,G3Om/hBAviF,EAAQ8xF,mBAAqBA,IAG7BpuB,IAAIC,OAAO,0BAA0B,UAAU,UAAU,SAAS,cAAc,8BAA+B,SAASnC,EAAUxhE,EAASjS,G2Oh/hB3I,YAEA,IAAAg2E,GAAAvC,EAAA,iBACAsc,EAAAtc,EAAA,eAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAA,SAAAoU,EAAAC,GACAhjG,KAAA+iG,cACA/iG,KAAAgjG,W3Om/hBAruB,GAAIuY,SAASyB,EAAUD,G2O/+hBvB,W3Oo/hBI1uF,KAAKijG,SAAW,SAAS3sF,G2Oh/hB7B,gBAAAA,KACAA,IAAA,GACA,QAAA7V,KAAAT,MAAAgjG,SACA,OAAA1sF,EAAA1D,QAAAnS,GACA,MAAAT,MAAAgjG,SAAAviG,EAEA,cAGAT,KAAAkjG,SAAA,SAAA5sF,EAAA6gE,EAAAiY,EAAA99C,G3Ok/hBQ,GAAIgb,GAAOtsD,KAAKijG,SAAS3sF,E2Oh/hBjC,OAAAg2C,KAAA6iC,cAAAhY,EAAAiY,EAAA99C,GAAA,IAGAtxC,KAAAmvF,cAAA,SAAAhY,EAAAiY,EAAA99C,GACA,M3Ok/hBYtxC,MAAKkjG,SAAS/rB,EAAQ6C,SAAS1oC,EAAI,GAAI6lC,EAASiY,EAAW99C,I2Oh/hBvEtxC,KAAAkjG,SAAA/rB,EAAA6C,SAAA1oC,GAAA6lC,EAAAiY,EAAA99C,IACAtxC,KAAA+iG,YAAA5T,cAAAhY,EAAAiY,EAAA99C,IAICtxC,KAAAsvF,mBAAA,SAAAnY,EAAAiY,EAAA99C,G3Ok/hBO,GAAIgb,GAAOtsD,KAAKijG,SAAS9rB,EAAQ6C,SAAS1oC,EAAI,GAQ9C,O2Ov/hBRgb,MAAA6iC,cAAAhY,EAAAiY,EAAA99C,K3Ok/hBYgb,EAAOtsD,KAAKijG,SAAS9rB,EAAQ6C,SAAS1oC,K2O/+hBlDgb,KAAA6iC,cAAAhY,EAAAiY,EAAA99C,KACAgb,EAAAtsD,KAAA+iG,a3Om/hBez2C,EAAKgjC,mBAAmBnY,EAASiY,EAAW99C,K2O9+hB3DxtC,KAAA6qF,EAAApuF,a3Oq/hBA+zE,IAAIC,OAAO,yBAAyB,UAAU,UAAU,SAAS,cAAc,yBAAyB,uBAAuB,2BAA4B,SAASnC,EAAUxhE,EAASjS,G2Oh/hBvL,YAEA,IAACg2E,GAAAvC,EAAA,iB3Ok/hBG+wB,EAAgB/wB,EAAS,WAAWuc,S2Oh/hBxCqH,EAAA5jB,EAAA,SAAAuc,SACA6D,EAAApgB,EAAA,YAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAA,SAAAoG,EAAAqO,G3Ok/hBID,EAAcr/F,KAAK9D,KAAM,GAAIg2F,GAAYjB,EAAcqO,I2Oh/hB3DC,MAAA,GAAA7Q,GACA8Q,OAAA,GAAA9Q,KAIA7d,GAAAuY,SAAAyB,EAAAwU,KAIA7uB,IAAAC,OAAA,yFAAAnC,EAAAxhE,EAAAjS,GACA,YA+MA,SAAAy8C,GAAA66B,EAAAtvE,GACA,MAAAsvE,GAAAtvE,KAAAuyE,YAAAvyE,EAAA,WAGA,QAAA48F,GAAApsB,EAAAtjC,GAGA,IAFA,GAAAhuC,GAAA,GAAAmuF,GAAA7c,EAAAtjC,EAAAvC,IAAAuC,EAAA2jC,QACAvB,EAAApwE,EAAAuuF,kBACAne,IAAA76B,EAAA66B,EAAA,aACAA,EAAApwE,EAAAwuF,cAEA,IAAApe,E3Ok/hBQ,MAAOA,GAAMr1E,M2O9+hBrB,QAAA4iG,GAAArsB,EAAAtjC,GAGA,I3O++hBI,GAAIhuC,GAAW,GAAImuF,GAAc7c,EAAStjC,EAAIvC,IAAKuC,EAAI2jC,Q2Oh/hB3DvB,EAAApwE,EAAAuuF,kBACAne,IAAA76B,EAAA66B,EAAA,mB3Ok/hBQA,EAAQpwE,EAASwuF,c2O/+hBzB,IAAApe,EACA,MAAAA,GAAAr1E,MAlOA,GAAAozF,GAAA5hB,EAAA,qBAAA4hB,cAEAyP,GACA,YACA,QACA,kBACA,cACA,MACA,YACA,WACA,S3Ok/hBI,K2Oh/hBJ,QACA,SACA,WACA,UACA,YACA,WACA,OACA,aACA,QACA,WACA,QACA,aAGAC,GACA,UACA,SACA,WACA,YACA,mBACA,WACA,UACA,UACA,gBACA,cACA,aACA,SACA,YACA,cACA,cACA,aACA,cACA,SACA,mBACA,YACA,UACA,UACA,UACA,UACA,YACA,YACA,aACA,UACA,SACA,eACA,mBACA,cACA,cACA,cACA,aACA,cACA,YACA,eACA,UACA,SACA,YACA,a3Ok/hBI,e2Oh/hBJ,U3Ok/hBI,W2Oh/hBJ,WACA,YACA,WACA,SACA,YACA,WACA,YACA,eACA,iBACA,aAGAC,EAAaF,EAAA74D,OAAA84D,GAEbE,GACA9jD,MAAY+jD,SAAA,GACZC,QACAn1F,SACAi3B,MAAYj4B,KAAA,EAAArB,OAAA,GACZ6hD,MAAYxgD,KAAA,EAAAo2F,SAAA,EAAAC,KAAAC,WAAA,EAAA74F,KAAA,GAAA2rF,OAAAp9C,IAAA,EAAAuqD,OAAA,EAAAC,MAAA,GAAAx9F,MAAAy9F,WAAA,EAAAC,YAAA,EAAAC,aAAA,EAAAC,YAAA,GAAAC,MAAA,GACZh4D,MAAYi4D,cAAAC,eAAA,GAAA36F,MAAAjE,YAAA,EAAAqoF,SAAA,GAAAne,SAAA20B,2BAAA,GAAAC,QAAA,GACZprE,OAAA7yB,KAAgB,EAAAowF,OAAAp9C,IAAA,EAAAuqD,OAAA,EAAAC,MAAA,GAAAU,OAAA,GAChB1C,QAAAyC,QAAgB,EAAAj+F,MAAAm+F,kBAAA,GAAA71F,IAAA,EAAA81F,MAAA,EAAAC,MAAA,GAChBC,UAAiBt3F,KAAA,GACjBpJ,MAAA2gG,aAAc,EAAAC,cAAA,EAAAC,eAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,SAAA,EAAAC,UAAA,EAAAC,OAAA,EAAAC,SAAA,GACdv/D,WACAvE,OACA+jE,SAAaC,QAAA,GACbC,SACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,UACAC,UACAC,WACA15F,QACAnJ,KACA8iG,MACAjvC,OACAkvC,YAAWC,KAAA,GACXC,IAAA3iE,MAAc,EAAA4iE,SAAA,GACd3tC,MACAE,IAAAz4D,MAAa,GACbmmG,MACAp+C,MACArB,MACA0/C,UACAC,cACAC,OACAjoG,GAAA0O,KAAa,EAAArB,QAAA66F,OAAA,EAAAloD,IAAA,GAAAmoD,KAAA,EAAApD,KAAAqD,SAAA,EAAAC,UAAA,EAAAC,OAAA,EAAAC,SAAA,EAAAtN,KAAA,EAAAuN,QAAA,EAAAziG,KAAA,EAAA0iG,WAAA,EAAAC,SAAA,EAAAtlD,KAAA,EAAAxoB,OAAA,EAAAslC,IAAA,GAAA43B,MAAA,EAAAgN,SAAA,EAAAp9F,KAAA,GACbgzF,MACAiO,UACAC,SACArkG,KACAojG,QACAkB,GAAAlB,KAAc,GACdmB,OACAt4C,QACAz+C,QACAiW,MAAa+gF,SAAA,GACbvhD,QACAwhD,OACAC,QACAC,OACA58D,OACA68D,OACA3kG,KACAoG,KACAw+F,KACAC,QACAC,QACAC,MACAC,MACAC,OACAC,OACA1hE,QACA2hE,MACAC,OACAC,KAAAlC,KAAa,EAAAoB,SAAA,GACbe,KAAAnC,KAAc,EAAAoB,SAAA,GACdh5F,KAAA8sB,IAAc,EAAA7sB,IAAa,EAAAkZ,OAAA,EAAAo3B,MAAA,EAAAypD,OAAA,EAAAC,MAAA,GAC3BC,QAAAn/F,KAAiB,EAAAkF,IAAA,EAAAkZ,OAAA,EAAAo3B,MAAA,EAAA4pD,SAAAC,oBAAA,EAAAC,uBAAA,EAAAC,cAAA,EAAAC,gBAAA,GAAAC,mBAAA,IACjBC,OAAAx6F,IAAiB,EAAAkZ,OAAU,EAAAo3B,MAAA,EAAA54C,KAAA,GAC3B4oE,QAAYm6B,MAAU,EAAA14F,KAAA,EAAArK,KAAA,EAAAwhB,OAAA,EAAAo3B,MAAA,EAAAypD,OAAA,EAAAj/F,KAAA,EAAAm4F,KAAA,EAAAyH,QAAA,GACtBD,OAAA3/F,KAAe,EAAAnJ,MAAA,GACfgpG,OAAA36F,IAAe,EAAA46F,WAAA,EAAAC,mBAAA,GAAAnf,WAAA,GAAAof,mBAAA,GAAAxqD,MAAA,EAAAp3B,OAAA,EAAA6hF,OAAA,EAAAC,aAAA,GAAAC,SAAAlM,KAAA,EAAAmM,SAAA,EAAAxtF,KAAA,IACfytF,OAAAn7F,IAAe,EAAA46F,WAAA,EAAAC,mBAAA,GAAAnf,WAAA,GAAAof,mBAAA,GAAAE,aAAA,GAAAC,SAAAlM,KAAA,EAAAmM,SAAA,EAAAxtF,KAAA,IACf4iB,QAAYtwB,IAAA,EAAAtI,KAAA,EAAAowF,MAAA,GACZsT,OAAWC,KAAA,EAAAr7F,IAAA,EAAAs7F,QAAA,EAAArlG,MAAyC,EAAA60F,QAAA,GACpDyQ,QAAWjrD,MAAA,EAAAp3B,OAAA,GACX7hB,KAAAyD,KAAa,GACb0gG,MAAAC,MAAiB,EAAAC,OAAA,EAAAh9F,KAAA,EAAAo2F,SAAoC,EAAAjoE,IAAA,EAAAxvB,OAAA,EAAAyqF,MAAA,EAAAiN,IAAA,EAAAoD,KAAA,EAAAzgG,KAAA,GACrDikG,OACAC,QACAzI,OAAA0I,QAAA,GACAznB,WACA0nB,UAAA9jE,KAAA,GACA+jE,KAAA/jE,KAAe,GACfo7D,SACA4I,SACA1I,SACAE,MACAH,IAAA4I,QAAiB,EAAAC,QAAc,EAAAC,QAAe,GAC9C5I,IAAA0I,QAAe,EAAAC,QAAA,EAAAC,QAA8B,EAAAj6F,MAAe,GAC5D+wF,MAAAmJ,iBAAe,EAAA7tB,OAAA,EAA+B8tB,aAAA,EAAAC,SAAAC,sBAAA,EAAAC,oCAAA,GAAAnyC,QAAA94D,IAAA,EAAA0K,KAAA,GAAAnB,KAAA,EAAA2hG,WAAA,EAAAp/F,QAAA66F,OAAA,EAAAloD,IAAA,IAC9C0sD,UAAiBl1F,SAAA,EAAAyrF,KAAqB,EAAAn4F,KAAA,GACtC8f,UACA3kB,OAAAg9F,KAAgB,EAAAv0E,IAAU,GAC1B06B,OACA1hD,MAAgBV,KAAA,EAAA2lG,SAAA,EAAAzS,OAAA,EAAA0S,SAAA,EAAA5oD,OAAA,EAAA6oD,MAAA,EAAAC,KAAA,EAAA9J,OAA6F,EAAA+J,MAAA,EAAAC,MAAA,GAAA18F,MAAA,EAAAyxB,KAAA,EAAAgnE,SAAA,EAAAz3C,iBAAA,EAAAl2B,MAAA,EAAAssB,MAAA,EAAA3/C,OAAA,EAAAiS,MAAA,EAAA4gB,OAAA,EAAAqyE,IAAA,EAAAjlF,KAAA,EAAAzZ,IAAA,EAAA2+F,KAAA,GAC7GC,OAAa,EAAAtwE,IAAA,EAAAwvE,cAAsBr6F,GAAA,EAAAM,IAAA,GAAA86F,qBAAA,GAAAC,iBAAA,GAAA71F,mBAAA,GAAAyrF,KAAA,EAAAqK,WAAA,EAAAC,aAAAf,oCAAA,EAAAD,sBAAA,EAAAiB,aAAA,GAAAC,YAAAlsG,IAAA,EAAA0K,KAAA,GAAAyhG,+BAAA,GAAAC,YAAAzF,OAAA,EAAAnvB,MAAA,EAAA30C,QAAA,EAAAwpE,KAAA,GAAA1kF,OAAA,EAAA4lB,KAAA,EAAApzB,IAAA,EAAAmyF,UAAA,EAAA5jF,IAAA,EAAAoyC,mBAAA,GAAAvxD,KAAA,EAAAgjG,QAAA,EAAAh2F,YAAA,EAAAi2F,mBAAA,GAAAC,qBAAA,GAAArxF,KAAA,EAAA3M,IAAA,EAAAvK,KAAA,EAAA66C,MAAA,EAAAysC,MAAA,EAAAprF,MAAA,GACnCqhG,QAAeoK,UAAA,EAAA51F,mBAAA,GAAAyrF,KAAA,EAAAqK,WAAA,EAAAC,YAAA,EAAAE,WAAA,EAAAC,eAAA,EAAAC,WAAA,EAAA7iG,KAAA,EAAAnJ,MAAA,EAAA+F,MAAAs7F,OAAA,EAAAh/C,OAAA,IACfvB,QAAA2qD,UAAA,EAAA51F,SAAA,EAAAyrF,KAAA,EAAA5mC,mBAAA,GAAAvxD,KAAA,EAAA6R,KAAA,EAAAoxF,mBAAA,I3Ok/hBIE,Y2Oh/hBJC,UAAA12F,SAAA,EAAAvR,MAAA,G3Ok/hBIs2B,QAAW/kB,SAAY,EAAG+8B,SAAY,EAAGtuC,MAAS,EAAGtE,MAAS,G2Oh/hBlEiyE,UAAAw5B,qBAAA,GAAA51F,mBAAA,GAAAyrF,KAAA,EAAA4K,UAAA,EAAA/iG,KAAA,EAAAgN,YAAA,EAAAi2F,mBAAA,GAAAC,qBAAA,GAAAt9C,KAAA,EAAAy9C,KAAA,EAAAC,MAAAp8F,GAAA,EAAAM,IAAA,EAAA+7F,KAAA,EAAAC,KAAA,IACAC,QAAAnB,UAAA,EAAAoB,qBAAA,GAAAh3F,mBAAA,GAAAyrF,KAAA,EAAAwL,SAAAC,IAAA,EAAAC,IAAA,EAAAC,GAAA,GAAA9jG,KAAA,GACA+jG,QAAAngF,IAAA,EAAAu0E,KAAA,EAAAn4F,KAAA,G3Ok/hBIowF,UAAav5F,MAAS,EAAG+Z,IAAO,G2Oh/hBpCozF,OAAAntG,MAAA,EAAAsoB,IAAA,EAAAvO,IAAA,EAAAqzF,IAAA,EAAAC,KAAA,EAAAC,QAAA,GACAC,SAAAn+E,KAAA,GACA86E,WACA1sB,SAAAz3E,KAAA,EAAAzB,MAAA,EAAAkG,KAAA,EAAAqL,SAAA,EAAA61F,QAAA,EAAA8B,WAAA,EAAAhwB,QAAA,GACA78B,MAAA56C,KAAA,EAAAzB,MAAA,GACAmpG,QAAAr+E,KAAA,IAGAs+E,EAAAjrG,OAAAgD,KAAAu9F,GA0BA2K,EAAA,cAIA,W3Om/hBIvuG,KAAKopF,eAAiB,SAAS9yE,EAAO6gE,EAAStjC,EAAK8xC,G2Oh/hBxD,GAAA1P,GAAAkB,EAAA8d,WAAAphD,EAAAvC,IAAAuC,EAAA2jC,O3Om/hBQ,OAAKvB,G2O/+hBb76B,EAAA66B,EAAA,aAAA76B,EAAA66B,EAAA,aAAA76B,EAAA66B,EAAA,gBACAj2E,KAAAwuG,kBAAAl4F,EAAA6gE,EAAAtjC,EAAA8xC,GACAvqC,EAAA66B,EAAA,mBAAA76B,EAAA66B,EAAA,kBACAj2E,KAAAyuG,wBAAAn4F,EAAA6gE,EAAAtjC,EAAA8xC,GACAvqC,EAAA66B,EAAA,mBACAj2E,KAAA0uG,6BAAAp4F,EAAA6gE,EAAAtjC,EAAA8xC,GAEA,YAAAt1D,KADS8mD,EAAAG,QAAAzjC,EAAAvC,KAAAr2B,OAAA,EAAA44B,EAAA2jC,S3Om/hBUx3E,KAAK2uG,yBAAyBr4F,EAAO6gE,EAAStjC,EAAK8xC,U2O5+hBtE3lF,KAAAwuG,kBAAA,SAAAl4F,EAAA6gE,EAAAtjC,EAAA8xC,GACA,MAAA2oB,GAAAhoG,IAAA,SAAAiH,GACA,OACA3M,MAAA2M,EACAi/B,KAAA,MACA+9C,MAAA/+D,OAAAC,cAKAzrB,KAAAyuG,wBAAA,SAAAn4F,EAAA6gE,EAAAtjC,EAAA8xC,GACA,GAAStqB,GAAAkoC,EAAApsB,EAAAtjC,EACT,KAAAwnB,E3Ok/hBY,Q2Oh/hBZ,IAAAgJ,GAAAs/B,CAIA,OAHAtoC,KAAAuoC,KACAv/B,IAAAz5B,OAAAvnC,OAAAgD,KAAAu9F,EAAAvoC,MAEAgJ,EAAA/9D,IAAA,SAAAsoG,GACA,OACAvrB,QAAAurB,EACAx2B,QAAAw2B,EAAA,QACApiE,KAAA,YACA+9C,MAAA/+D,OAAAC,cAKAzrB,KAAA0uG,6BAAA,SAAAp4F,EAAA6gE,EAAAtjC,EAAA8xC,GACA,GAAAtqB,GAAAkoC,EAAApsB,EAAAtjC,GACAg7D,EAAArL,EAAArsB,EAAAtjC,EAEA,KAAAwnB,E3Ok/hBY,Q2Oh/hBZ,IAAAiG,KAIA,OAHAjG,KAAAuoC,IAA8BiL,IAAqBjL,GAAUvoC,IAAgE,gBAA5CuoC,GAAUvoC,GAAWwzC,K3Ok/hB1FvtC,EAASj+D,OAAOgD,KAAKu9F,EAAavoC,GAASwzC,K2O/+hBvDvtC,EAAAh7D,IAAA,SAAA1F,GACA,OACAyiF,QAAAziF,EACAw3E,QAAAx3E,EACA4rC,KAAA,kBACA+9C,MAAA/+D,OAAAC,c3Os/hBIzrB,KAAK2uG,yBAA2B,SAASr4F,EAAO6gE,EAAStjC,EAAK8xC,GAG1D,O2On/hBR,6nE3Om/hBsBr/E,IAAI,SAAS1F,G2Oh/hBnC,OACAyiF,QAAAziF,E3Ok/hBgBw3E,QAASx3E,E2Oh/hBzB4rC,KAAA,cACA+9C,MAAA/+D,OAAAC,gBAKA3nB,KAAAyqG,EAAAhuG,WAEAqQ,EAAA29F,oBAGAj6B,IAAAC,OAAA,kRAAAnC,EAAAxhE,EAAAjS,G3Ok/hBA,Y2O/+hBA,IAAAg2E,GAAAvC,EAAA,cACAD,EAAAC,EAAA,eACA+a,EAAA/a,EAAA,UAAAgb,KACA0hB,EAAA18B,EAAA,gBAAAgb,K3Ok/hBI2hB,EAAU38B,EAAS,SAASgb,K2Oh/hBhCsV,EAAAtwB,EAAA,0BAAAswB,mBACAzO,EAAA7hB,EAAA,mBAAA6hB,aACA+a,EAAA58B,EAAA,kBAAAuc,SACA4f,EAAKn8B,EAAA,sBAAAm8B,gB3Ok/hBDjc,EAAelgB,EAAS,2BAA2BkgB,a2Oh/hBvDyC,GAAA,sHACAI,GAAA,uE3Om/hBI/H,EAAO,SAAS7tF,G2Oh/hBpBS,KAAAivG,gBAAA1vG,KAAA0vG,gB3Ok/hBIjvG,KAAKqtF,eAAiBqV,E2Oh/hB1B1iG,KAAAstF,WAAA,GAAyB2G,G3Ok/hBrBj0F,KAAK8hG,WAAa,GAAIyM,GAEtBvuG,KAAKkvG,qB2Oh/hBT7L,MAAAyL,EACAxL,OAAAyL,IAGA/uG,KAAAswF,aAAA,GAAA0e,GAAAhvG,KAAA+0F,aAAA5iB,EAAA8jB,WAAAd,IAEAxgB,GAAAuY,SAAAE,EAAAD,GAEA,WAEAntF,KAAAuwF,cAAArsD,MAAA,UAAAsW,IAAA,UAEAx6C,KAAA+0F,aAAA5iB,EAAA8jB,WAAAlB,GAEA/0F,KAAA0yF,kBAAA,SAAAp8E,EAAAstD,EAAA11D,GACA,MAAAlO,MAAAqyF,WAAAzuB,IAGA5jE,KAAAiyF,aAAA,SAAA37E,EAAAstD,EAAAvb,GACA,UAGAroD,KAAAopF,eAAA,SAAA9yE,EAAA6gE,EAAAtjC,EAAA8xC,GACA,MAAS3lF,MAAA8hG,WAAA1Y,eAAA9yE,EAAA6gE,EAAAtjC,EAAA8xC,IAGT3lF,KAAA6yF,aAAA,SAAA1b,GACA,GAASn3E,KAAAmM,aAAAihF,EAAT,CAEA,GAAA0F,GAAA,GAAAR,IAAA,OAAAzzF,EAAA,eAcA,OAbAi0F,GAAAC,iBAAA5b,EAAA6b,eAEAhzF,KAAAivG,iBACCnc,EAAAhvF,KAAA,eAAA2/B,QAAAzjC,KAAAivG,mBAEDnc,EAAA7hF,GAAA,iBAAA1L,GACC4xE,EAAA8b,eAAA1tF,EAAAyL,QAGD8hF,EAAA7hF,GAAA,uB3Ok/hBYkmE,EAAQ+b,qB2O9+hBpBJ,IAGA9yF,KAAAmrD,IAAA,iBACArnD,KAAAspF,EAAA7sF,WAEAqQ,EAAAw8E,S3Oo/hBA9Y,IAAIC,OAAO,qCAAqC,UAAU,UAAU,SAAS,cAAc,eAAe,gCAAgC,sCAAsC,+BAA+B,gCAAgC,gCAAiC,SAASnC,EAAUxhE,EAASjS,G2Oh/hB5S,YAcA,SAAAwwG,GAAAhwC,EAAAwmB,GACA,OACA1P,MAAA,mBACApuD,MAAA,WAAAs3C,EAAA,QACQ75D,KAAAqgF,EAAA,SAhBR,GAAAhR,GAAAvC,EAAA,cACAD,EAAAC,EAAA,eACAoa,EAAApa,EAAA,0BAAAoa,mBACA8E,EAAAlf,EAAA,gCAAAkf,yBACA6B,EAAA/gB,EAAA,yBAAA+gB,kB3Ok/hBIuP,EAAqBtwB,EAAS,0BAA0BswB,mB2Oh/hB5DhM,EAAAtkB,EAAA,yBAAAskB,kB3Om/hBI0Y,EAAU,SAAS15B,G2Oh/hBvB,cAAAvD,EAAAwJ,aAAAjG,GAAA,iBAWA25B,EAAA,WACA3M,EAAA5+F,KAAA9D,MAEAA,KAAAgtF,OAAoB,MAAI74E,SACxB8hE,MAAA,aACKpuD,MAAA,KACL7iB,KAAA,eAEAixE,MAAA,mBACApuD,MAAA,iBAEAouD,MAAA,mBACApuD,MAAA,mBAEQouD,MAAA,SAAAr1E,GACR,wBAAAA,EAAA+C,QAEAkkB,MAAA,4BACQ7iB,KAAA,UAERmqG,EAAoB,oBAAmB,WACvCA,EAAA,kBACKA,EAAG,oBACRA,EAAA,mBAEAl5B,MAAA,mBACKpuD,MAAA,oCACL7iB,KAAA,gB3Om/hBQixE,MAAQ,oB2Oh/hBhBpuD,MAAA,mCACA7iB,KAAA,eAEAixE,MAAA,WACApuD,MAAY,kEACZ7iB,KAAA,eAEAixE,MAAY,cACZpuD,MAAA,iCACA7iB,KAAA,oBAEAgsF,QAAA,UAGAhxF,KAAA2iG,UACA2M,QACAr5B,MAAA,2BACApuD,MAAA,4BAEAouD,MAAA,mBACApuD,MAAA,uBAEAouD,OAAA,gDACApuD,MAAA,0EAEAouD,OAAA,0CACApuD,MAAA,SAAAunF,EAAA,sBAAAA,EAAA,gBAEAn5B,OAAA,2DACApuD,MAAA,SACAunF,EAAA,KACA,wDAEAA,EAAA,sBAGAn5B,MAAa,gBACbpuD,MAAa,6CAEbouD,MAAA,kB3Ok/hBYpuD,MAAQ,uC2O/+hBpBouD,OAAA,qBACApuD,MAAA,yG3Ou/hBQ0nF,a2Oh/hBRt5B,MAAA,mBAAApuD,MAAA,UAAA7iB,KAAA,eACAixE,MAAA,aAAApuD,MAAA,KAAA7iB,KAAA,eACAixE,MAAA,QAAApuD,MAAA,GAAA7iB,KAAA,U3Oo/hBQuhG,S2Oh/hBR1+E,MAAA,IACA7iB,KAAA,UAEAgsF,QAAA,UAEArD,aAAA,YAGA6hB,oBACAv5B,MAAA,mBACYpuD,MAAA,gBACZ7iB,KAAA,cAGAyqG,YACAx5B,MAAA,aACSpuD,MAAA,K3Ok/hBG7iB,KAAQ,U2O/+hBpBixE,MAAA,cACApuD,MAAA,iCACA7iB,KAAA,oBAEAgsF,QAAA,QAAA0e,UAAA,IAEAz5B,MAAA,mBACSpuD,MAAA,yCACT7iB,KAAA,gBAEA2oF,aAAA,SAGAgZ,aACA1wB,MAAA,aACApuD,MAAA,SACA7iB,KAAA,UAEAixE,MAAA,oBACApuD,MAAA,mCACS7iB,KAAA,e3Om/hBGgsF,QAAU,QAAS0e,UAAU,I2O/+hBzC/hB,aAAA,sBAGKgiB,c3Ok/hBO15B,MAAQ,mB2Oh/hBpBpuD,MAAA,WACA7iB,KAAA,UAEAixE,MAAA,mBACKpuD,MAAA,SAIL7nB,KAAAwuF,WAAA8C,EAAA,YACArb,MAAA,mBACKpuD,MAAA,W3Ok/hBE7iB,KAAQ,S2O9+hBfhF,KAAAwuF,WAAAkU,EAAA,cACAzsB,MAAA,mBACKpuD,MAAA,W3Ok/hBE7iB,KAAQ,S2O9+hBfhF,KAAAwuF,WAAAkI,EAAA,a3Ok/hBOzgB,MAAQ,mB2Oh/hBfpuD,MAAA,WACC7iB,KAAA,SAGDhF,KAAAwuF,WAAA2E,EAAA,a3Ok/hBOld,MAAQ,mB2Oh/hBfpuD,MAAA,WACA7iB,KAAA,SAGAhF,KAAAitF,iB3Om/hBAtY,GAAIuY,SAASmiB,EAAwB7iB,G2O/+hBrC57E,EAAAy+F,2BAGA/6B,IAAAC,OAAA,2HAAAnC,EAAAxhE,EAAAjS,GACA,Y3Om/hBA,IAAIg2E,GAAMvC,EAAS,iB2Oh/hBnBsc,EAAAtc,EAAA,eAAAuc,SACA9Z,EAAAzC,EAAA,eAAAyC,MAEA8Z,EAAA/9E,EAAA+9E,SAAA,YACAha,GAAAuY,SAAAyB,EAAAD,GAEA,WACA1uF,KAAA6uF,mBAAA,8BAEA7uF,KAAAmvF,cAAA,SAAAhY,EAAAiY,EAAA99C,GACA,GAAAsyB,GAAAuT,EAAAG,QAAAhmC,EACA,OAAAtxC,MAAA6uF,mBAAAx+D,KAAAuzC,GAGA,KAAAA,EAAA,IACA,SAAAuT,EAAAgM,YAAAnJ,SAAA1oC,GACA,MAIA,QARA,IAWAtxC,KAAAsvF,mBAAA,SAAAnY,EAAAiY,EAAA99C,GA4BA,QAAAs+D,GAAAt+D,GAEA,OADA2kC,EAAAkB,EAAAue,UAAApkD,GAAA,KACA,IAAA2kC,EAAAtvE,KAAAuyE,YAAA22B,EAAA,GAIA,QAAAC,KACA,GAAAp6B,GAAAO,EAAAr1E,MAAA,E3Ok/hBY,OAAU,KAAN80E,EAAkB,E2Oh/hBlC,KAAAA,EAAA,E3Ok/hBmB,EAAIO,EAAMr1E,MAAMi5B,OAAO,Q2OthiB1C,GAAA+pC,GAAAuT,EAAAG,QAAAhmC,GACAy+C,EAAAnsB,EAAAjgE,OACAqsF,EAAa7Y,EAAA+L,YACbzF,EAAAnsC,EACAosC,EAAApsC,CACA,IAAAsyB,EAAAhqD,MAAA5Z,KAAA6uF,oBAAA,CAGA,QAAAjrB,EAAA,IACA,aAAAuT,EAAAgM,YAAAnJ,SAAA1oC,GAAA,CACA,OAAAA,EAAA0+C,I3Ok/hBoBpsB,EAAOuT,EAAQG,QAAQhmC,K2Oh/hB3C,KAAAsyB,EAAA,UAAAA,EAAAvmD,UAAA,SAGA,UAAAw3D,GAAA4I,EAAAsS,EAAAz+C,EAAA,G3Om/hBgB,KAAOA,KAAS,I2Oh/hBhCsyB,EAAAuT,EAAAG,QAAAhmC,KACA,KAAAsyB,EAAA,UAAAA,EAAAvmD,UAAA,SAGA,UAAAw3D,GAAAvjC,EAAAsyB,EAAAjgE,OAAA85E,EAAA,GAIA,GAAAxH,GAMA45B,EAAA,gBAQA,IAAAD,EAAAt+D,GAAA,C3Om/hBY,I2Ol/hBZ,GAAAy+D,GAAAD,M3Ok/hBqBx+D,EAAM0+C,G2Oh/hB3B,GAAA4f,EAAAt+D,GAAA,CAEA,GAAA0+D,GAAAF,GACA,IAAAE,GAAAD,EACA,MAKC,IAFAryB,EAAApsC,GAAA2kC,IAAA,aAAArjE,QAAAqjE,EAAAr1E,MAAA,UAEA68E,E3Ok/hBe,KAAOC,EAASD,GAAY,QAAQptD,KAAK8mD,EAAQG,QAAQoG,K2Oh/hBzEA,GAGA,IAAAA,EAAAD,EAAA,CACA,GAAAwyB,GAAA94B,EAAAG,QAAAoG,GAAA/5E,MACA,WAAAkxE,GAAA4I,EAAAsS,EAAArS,EAAAuyB,Q3Os/hBGnsG,KAAK6qF,EAASpuF,a2O7+hBjB+zE,IAAAC,OAAA,+MAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACA+a,EAAK/a,EAAA,UAAAgb,K3Ok/hBD0hB,EAAiB18B,EAAS,gBAAgBgb,K2Oh/hB9C8iB,EAAA99B,EAAA,SAAAgb,KACA+iB,EAAA/9B,EAAA,UAAAgb,KACAiiB,EAAAj9B,EAAA,8BAAAi9B,uBACAe,EAAAh+B,EAAA,sBAAAuc,SAEAvB,EAAA,WACAptF,KAAAqtF,eAAAgiB,E3Om/hBIrvG,KAAKkvG,qB2Oh/hBT7L,MAAAyL,EACAuB,OAAAH,EACAI,QAAAH,IAGAnwG,KAAAswF,aAAA,GAAA8f,GACApwG,KAAAstF,WAAAttF,KAAAutF,kBAEA5Y,GAAAuY,SAAAE,EAAAD,GAEA,WACAntF,KAAA2G,KAAA,OACA3G,KAAAuwF,cAAArsD,MAAA,UAAAsW,IAAA,UAECx6C,KAAA0yF,kBAAA,SAAAp8E,EAAAstD,EAAA11D,G3Ok/hBO,GAAa,aAAToI,EAAsB,C2Oh/hBlC,GAAAsD,GAAA,iCAAAmtB,KAAA68B,EACC,KAAAhqD,E3Ok/hBe,MAAO,EACX,IAAI22F,GAAS32F,EAAM,EAGnB,OAFK22F,KACDA,EAASv2F,SAASJ,EAAM,GAAI,IAAM,EAAI,KACnCA,EAAM,GAAK22F,EAAS32F,EAAM,G4OjvnB7C,MAAA5Z,MAAAqyF,WAAAzuB,I5OsvnBI5jE,KAAKmrD,IAAM,qBACZrnD,KAAKspF,EAAK7sF,WAEbqQ,EAAQw8E,KAAOA,KAMT,SAAUzuF,EAAQiS,G6O/vnBxBjS,EAAAiS,QAAA3F,GAAA,6BACAtM,EAAAiS,QAAA3B,IAAA,i+3N7OqwnBM,SAAUtQ,EAAQiS,G8OtwnBxBjS,EAAAiS,QAAA3F,GAAA,sBACAtM,EAAAiS,QAAA3B,IAAA,o21E9O4wnBM,SAAUtQ,EAAQiS,G+O7wnBxBjS,EAAAiS,QAAA3F,GAAA,sB/OgxnBAtM,EAAOiS,QAAQ3B,IAAM,4ozKAIf,SAAUtQ,EAAQiS,GgPnxnBxBjS,EAAAiS,QAAA3F,GAAA,uBhPsxnBAtM,EAAOiS,QAAQ3B,IAAM,2hyPgPjxnBrB,SAAAtQ,EAAAiS,GAEA0jE,IAAAC,OAAA,gEAAAhvE,EAAAhC,EAAAvE,GAAA,YAAAuE,GAAAm1E,YAAA,81DAAAn1E,EAAA4N,MAAA,cAIA,SAAaxS,EAAAiS,EAAA/R,GAEby1E,IAAAC,OAAA,sHAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,cACAoa,EAAApa,EAAA,0BAAAoa,mBAEAgkB,EAAA,WACAxwG,KAAAgtF,QACA9oD,QAEA+xC,MAAA,WACapuD,MAAA,gDAEbouD,MAAA,SACapuD,MAAA,IACb7iB,KAAA,WAEaixE,MAAA,mBACbpuD,MAAA,yBAEaouD,MAAA,mBACbpuD,MAAA,oDAEaouD,MAAA,4BACbpuD,MAAA,sBAEAouD,MAAA,kBACApuD,MAAA,uCAEAouD,MAAA,kBACApuD,MAAA,cAEaouD,MAAA,eACbpuD,MAAA,UAEaouD,MAAA,eACbpuD,MAAA,YAEAouD,MAAA,OACapuD,MAAA,SAGb3gB,SAEA+uE,MAAA,2BACApuD,MAAA,uDAEAouD,MAAA,ShPsxnBgBpuD,MAAQ,cAERouD,MAAQ,SgPpxnBxBpuD,MAAA,IACC7iB,KAAA,UAEDixE,MAAA,SACApuD,MAAA,GhPsxnBgB7iB,KAAQ,WgP9wnBxB2vE,GAAAuY,SAAAsjB,EAAAhkB,GAEA57E,EAAA4/F,uBAGAl8B,IAAAC,OAAA,sFAAAnC,EAAAxhE,EAAAjS,GhPsxnBA,YgPnxnBA,IAAAk2E,GAAAzC,EAAA,YAAAyC,MhPuxnBImd,EAAuB,cAE3B,WgPnxnBAhyF,KAAAiyF,aAAA,SAAAruB,EAAAvb,GhPsxnBQ,QAAM,QAAQh4B,KAAKuzC,IgPlxnB3B,SAAAvzC,KAAAg4B,IhPwxnBIroD,KAAKkyF,YAAc,SAAS1X,EAAKlpC,GgPpxnBrC,GAAAsyB,GAAA4W,EAAAlD,QAAAhmC,GACA13B,EAAAgqD,EAAAhqD,MAAA,WhPuxnBQ,KAAKA,EAAO,MAAO,EAEnB,IAAI49D,GAAS59D,EAAM,GAAGjW,OgPpxnB9BwuF,EAAA3X,EAAA4X,qBAAA9gD,MAAAkmC,UhPuxnBQ,KAAK2a,GAAgBA,EAAa7gD,KAAOA,EAAK,MAAO,EgPnxnB7D,IAAA2+C,GAAAjwF,KAAAqyF,WAAA7X,EAAAlD,QAAA6a,EAAA7gD,KhPsxnBQkpC,GAAIloE,QAAQ,GAAIuiE,GAAMvjC,EAAK,EAAGA,EAAKkmC,EAAO,GAAIyY,IgPlxnBtDjwF,KAAAqyF,WAAA,SAAAzuB,GhPsxnBQ,MAAOA,GAAKhqD,MAAM,QAAQ,MgPlxnBlC9V,KAAAkuF,EAAAzxF,WAEAqQ,EAAAohF,yBAGA1d,IAAAC,OAAA,yHAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,iBhPsxnBIyC,EAAQzC,EAAS,eAAeyC,MgPpxnBpC6Z,EAAAtc,EAAA,eAAAuc,SAEAA,EAAA/9E,EAAA+9E,SAAkC,SAAQC,GAC1CA,IACA5uF,KAAA6uF,mBAAA,GAAAt8E,QACAvS,KAAA6uF,mBAAAtvD,OAAAjtB,QAAA,gBAAAs8E,EAAA1qD,QAEAlkC,KAAA8uF,kBAAA,GAAAv8E,QACAvS,KAAA8uF,kBAAAvvD,OAAAjtB,QAAA,gBAAAs8E,EAAAp0C,OAIAm6B,GAAAuY,SAAAyB,EAAAD,GAEA,WAEA1uF,KAAA6uF,mBAAA,8BhPsxnBI7uF,KAAK8uF,kBAAoB,kCgPpxnB7B9uF,KAAA+uF,yBAAA,uBACA/uF,KAAAgvF,yBAA2B,2BhPsxnBvBhvF,KAAKivF,cAAgB,4BgPpxnBzBjvF,KAAAkvF,mBAAAlvF,KAAAmvF,cACAnvF,KAAAmvF,cAAA,SAAAhY,EAAAiY,EAAA99C,GhPsxnBQ,GAAIsyB,GAAOuT,EAAQG,QAAQhmC,EgPnxnBnC,IAAAtxC,KAAA+uF,yBAAA1+D,KAAAuzC,KhPsxnBiB5jE,KAAKivF,cAAc5+D,KAAKuzC,KAAU5jE,KAAKgvF,yBAAyB3+D,KAAKuzC,GgPpxnBtF,QAGA,IAAAyrB,GAAArvF,KAAAkvF,mBAAA/X,EAAAiY,EAAA99C,EAEA,QAAA+9C,GAAArvF,KAAAivF,cAAA5+D,KAAAuzC,GhPsxnBmB,QgPnxnBnByrB,GhPwxnBIrvF,KAAKsvF,mBAAqB,SAASnY,EAASiY,EAAW99C,EAAKi+C,GgPpxnBhE,GAAA3rB,GAAAuT,EAAAG,QAAAhmC,EAEA,IAAAtxC,KAAAivF,cAAA5+D,KAAAuzC,GACA,MAAiB5jE,MAAAwvF,sBAAArY,EAAAvT,EAAAtyB,EAEjB,IAAA13B,GAAAgqD,EAAAhqD,MAAA5Z,KAAA6uF,mBhPsxnBQ,IAAIj1E,EAAO,CgPpxnBnB,GAAAnW,GAAAmW,EAAA4X,KhPuxnBY,IAAI5X,EAAM,GgPpxnBtB,MAAA5Z,MAAAyvF,oBAAAtY,EAAAv9D,EAAA,GAAA03B,EAAA7tC,EhPuxnBY,IAAIwV,GAAQk+D,EAAQuY,oBAAoBp+C,EAAK7tC,EAAImW,EAAM,GAAGjW,OAAQ,EgP5wnB9E,OAPAsV,OAAA02E,gBACAJ,EhPsxnBoBt2E,EAAQjZ,KAAK4vF,gBAAgBzY,EAAS7lC,GgPpxnB1D,OAAA89C,IACAn2E,EAAA,OAGAA,EAGA,iBAAAm2E,EAAA,CAGA,GAAAx1E,GAAAgqD,EAAAhqD,MAAA5Z,KAAA8uF,kBACA,IAAAl1E,EAAA,CACA,GAAAnW,GAAAmW,EAAA4X,MAAA5X,EAAA,GAAAjW,MAEA,OAAAiW,GAAA,GACA5Z,KAAA6vF,oBAAA1Y,EAAAv9D,EAAA,GAAA03B,EAAA7tC,GAEA0zE,EAAAuY,oBAAAp+C,EAAA7tC,GAAA,MAIAzD,KAAA4vF,gBAAA,SAAAzY,EAAA7lC,GACA,GAAAsyB,GAAAuT,EAAAG,QAAAhmC,GhPsxnBYw+C,EAAclsB,EAAK/pC,OAAO,MgPpxnBtC4jD,EAAAnsC,EACAy+C,EAAAnsB,EAAAjgE,MACA2tC,IAAA,CAGA,KAFA,GAAAosC,GAAiBpsC,EACjB0+C,EAAA7Y,EAAA+L,cACiB5xC,EAAA0+C,GAAA,CACjBpsB,EAAAuT,EAAAG,QAAAhmC,EACA,IAAA2+C,GAAArsB,EAAA/pC,OAAA,KACA,SAAAo2D,EAAA,CAEA,GAAAH,EAAAG,EhPsxnBgB,KgPpxnBhB,IAAAC,GAAAlwF,KAAAsvF,mBAAAnY,EAAA,MAAA7lC,EAEA,IAAA4+C,EAAA,CACA,GAAAA,EAAAhsD,MAAAoN,KAAAmsC,EACA,KACA,IAAAyS,EAAAP,chPsxnBoBr+C,EAAM4+C,EAAS11C,IAAIlJ,QgPpxnBvC,IAAAw+C,GAAAG,EACA,MAGAvS,EAAApsC,GAGA,UAAAujC,GAAA4I,EAAAsS,EAAArS,EAAAvG,EAAAG,QAAAoG,GAAA/5E,SAEA3D,KAAAwvF,sBAAA,SAAArY,EAAAvT,EAAAtyB,GAOA,IANA,GAAAy+C,GAAAnsB,EAAA/pC,OAAA,QhPsxnBYm2D,EAAS7Y,EAAQ+L,YgPpxnB7BzF,EAAAnsC,EAEAwmC,EAAA,uCACA/mD,EAAA,IACAugB,EAAA0+C,GAAA,ChPsxnBYpsB,EAAOuT,EAAQG,QAAQhmC,EgPpxnBlC,IAAAx4B,GAAAg/D,EAAA/wC,KAAA68B,EhPsxnBW,IAAK9qD,IgPpxnBhBA,EAAA,GAAAiY,IhPsxnBgBA,KgPnxnBjBA,GAAA,MAGA,GAAA2sD,GAAApsC,CACA,IAAAosC,EAAAD,EACA,UAAA5I,GAAA4I,EAAAsS,EAAArS,EAAA9Z,EAAAjgE,UhPyxnBGG,KAAK6qF,EAASpuF,agPjxnBjB+zE,IAAAC,OAAA,yOAAAnC,EAAAxhE,EAAAjS,GACA,YAEA,IAAAg2E,GAAAvC,EAAA,chPsxnBI+a,EAAW/a,EAAS,UAAUgb,KgPpxnBlCC,EAAAjb,EAAA,0BAAAo+B,mBhPsxnBIxe,EAAuB5f,EAAS,4BAA4B4f,qBgPpxnBhEO,EAAAngB,EAAA,sBAAAmgB,gBACAC,EAAApgB,EAAA,oBAAAuc,ShPsxnBI2D,EAAelgB,EAAS,2BAA2BkgB,agPnxnBvDlF,EAAA,WACAptF,KAAAqtF,iBACArtF,KAAAyyF,SAAA,GAAAT,GACAhyF,KAAAstF,WAAA,GAAAiF,GACAvyF,KAAAswF,aAAA,GAAAkC,GAEA7d,GAAAuY,SAAAE,EAAAD,GhPuxnBA,WgPnxnBAntF,KAAA0yF,kBAAA,SAAAp8E,EAAAstD,EAAA11D,GACA,GAAA+hF,GAAAjwF,KAAAqyF,WAAAzuB,EAEA,aAAAttD,EAAA,CACAstD,EAAAhqD,MAAA,qBhPuxnBgBq2E,GAAU/hF,GAIlB,MAAO+hF,IgPlxnBfjwF,KAASiyF,aAAA,SAAA37E,EAAAstD,EAAAvb,GhPsxnBD,MAAOroD,MAAKyyF,SAASR,aAAaruB,EAAMvb,IgPlxnBhDroD,KAASkyF,YAAA,SAAA57E,EAAAkkE,EAAAlpC,GhPsxnBDtxC,KAAKyyF,SAASP,YAAY1X,EAAKlpC,IAGnCtxC,KAAK6yF,aAAe,SAAS1b,GACzB,GAAI2b,GAAS,GAAIR,IAAc,OAAQzzF,EAAoB,MAAO,aAWlE,OgP/xnBRi0F,GAAAC,iBAAA5b,EAAA6b,ehPuxnBQF,EAAO7hF,GAAG,WAAY,SAAS1L,GgPpxnBvC4xE,EAAA8b,eAAA1tF,EAAAyL,QhPwxnBQ8hF,EAAO7hF,GAAG,YAAa,WACnBkmE,EAAQ+b,qBAGLJ,GAIX9yF,KAAKmrD,IAAM,iBACZrnD,KAAKspF,EAAK7sF,WAEbqQ,EAAQw8E,KAAOA,KAMT,SAAUzuF,EAAQiS,GiP7loBxBjS,EAAAiS,QAAS3F,GAAA,uBjPgmoBTtM,EiP/loBEiS,QAAa3B,IAAS,+5zCjPmmoBlB,SiP7loBFtQ,EAAAiS,GjP+loBJ0jE,IAAIC,OAAO,qBiP7loBc,UAAM,UAAU,mBAAAhvE,EAAAhC,EAAAvE,GAAA,YAAAuE,GAAAm1E,gBAAAj2E,GAAAc,EAAA4N,MAAA,UjPimoBnC,SiP9loBDxS,EAAAiS,IjPimoBL,WACI,GiP7loBAzP,GAAEuB,SACF+tG,EAAAtvG,EAAAyM,cAAA,SAEA8iG,EAAA,oBAAgCvvG,GAElCwvG,EAAA,SAAAhqG,EAAAgpC,GAEE+gE,EACCvvG,EAAAmxB,iBAAA3rB,EAAAgpC,GAIAxuC,EAAAyvG,YAAA,KAAAjqG,EAAAgpC,IjP6loBGkhE,EAAU,SAAUC,GAElBL,EAAcM,WAAcN,EAAcM,WAAWt8B,QAAUq8B,EAAaL,EAAcz9E,UAAY89E,EAE5G3vG,GAAE81B,qBAAqB,QAAQ,GAAG5F,YAAYo/E,GAE9CE,EAAmB,YAAa,WAC5BE,EAAQ,+DAEZF,EAAmB,UAAW,WAC1BE,EAAQ,UAQV,SAAUlyG,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIyM,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GACpE0lG,EAA0CnyG,EAAoB,IAC9DoyG,EAAkDpyG,EAAoBG,EAAEgyG,GACxEE,EAAuCryG,EAAoB,IAC3DsyG,EAA+CtyG,EAAoBG,EAAEkyG,GACrEE,EAA4CvyG,EAAoB,KAChEwyG,EAAoDxyG,EAAoBG,EAAEoyG,GAC1EE,EAAoDzyG,EAAoB,KkPzpoBvE0yG,EAAA1yG,EAAA,KACOgN,EAAA7L,WAAA6L,WAAA,WACV,GAAAC,GAAA,SAAA3K,EAAA0I,GAUvB,OAT+BiC,EAAAzI,OAAA0I,iBAC2BC,uBAAAC,QAAA,SAAA9K,EAAA0I,GAAA1I,EAAA6K,UAAAnC,IACY,SAAA1I,EAAA0I,GAAA,OAAAjG,KAAAiG,KAAAhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,MAOtEzC,EAAA0I,GAIE,iBAAA1I,EAAA0I,GAEE,QAAKqC,KAAAlM,KAAemM,YAAQhL,EAF9B2K,EACE3K,EAAA0I,GAEA1I,EAAAZ,UAAK,OAAAsJ,EAAmBxG,OAAKJ,OAAA4G,IAAgBqC,EAAC3L,UAAWsJ,EAAAtJ,UAAA,GAAA2L,QlP2poBzDslG,EkPjpoBoB,SAAAjjG,GlPmpoBpB,QkPhpoBAijG,GAAAhjG,GAEA,GAAI4C,GAAO7C,EAAIzK,KAAA9D,KAAAwO,IAAAxO,IlPopoBX,OAJAoR,GkP/ooBFqgG,gBAAargG,EAAaqgG,gBAAAl/E,KAAAnhB,GlPgpoBxBA,EkP/ooBFsgG,iBAAStgG,EAAesgG,iBAAAn/E,KAAAnhB,GlPgpoBtBA,EkP/ooBFugG,cAAUvgG,EAAYugG,cAAAp/E,KAAAnhB,GlPgpoBpBA,EkP/ooBF2iB,cAAS3iB,EAAc2iB,cAAAxB,KAAAnhB,GACvBA,ElPuroBF,MA/CAvF,GkPhpoBI2lG,EAAejjG,GlPypoBnBijG,EkP/ooBEjxG,UAAaoxG,cAAE,SAAAh+E,GlPgpoBb3zB,KAAK4xG,WkP/ooBLT,IAAgDx9E,IlPipoBpD69E,EkP/ooBGjxG,UAAAkxG,gBAAA,WAEH,GAAII,GAAatmG,EAAuBtM,EAAA2O,cAAA0jG,EAAA,GAAA/hG,MAAAvP,KAAAwO,MAAAe,MAAAwkB,cAAA/zB,KAAA+zB,gBAEpC+9E,EAAgBpvG,SAAQkL,cAAA,MAC5BqjG,GAA4BhyG,EAAAmQ,OAAAyiG,EAAAC,EAC7B,IAAAC,GAAA,GAAAV,GAAApyG,GAEDqN,OAAAtM,KAAA4xG,WAAA,GAAA5hC,QAAA8hC,EACEnyD,SAAW,aACTqyD,QAAQ,elP8ooBFC,OkP7ooBJ,QlP8ooBIC,gBkP7ooBL,IACAC,eACJC,cAAA74F,GAAA,eAAA84F,WAAA,gBAIAN,GAAA9gG,GAAA,QAAAjR,KAAA0xG,kBAED1xG,KAAAsyG,gBAAAP,EACE/xG,KAAAsyG,gBACEtiF,QlP4ooBFwhF,EkP1ooBMjxG,UAAAmxG,iBAAA,WAIP,GAAAtgG,GAAApR,IACHo2B,YAAA,WA7DiChlB,EAAAkhG,iBAAAlhG,EAAKkhG,gBA6DrCC,QlPyooBenhG,EAAMkhG,gBAAgBnjF,WkPtooB7B,MAENqiF,EAAAjxG,UAAAwzB,cAAA,SAAAxkB,GlPyooBKvP,KAAKwO,MAAMT,SAASwB,IAExBiiG,EAAYjxG,UAAU6O,OAAS,WAC3B,MAAQ7D,GAA4CtM,EAAE2O,cAAc,OAASC,UAAW,uBAAwBqrB,QAASl5B,KAAKyxG,gBAAiB78E,IAAK50B,KAAK2xG,eACrJpmG,EAA4CtM,EAAE2O,cAAc,OAASC,UAAW,cAC5EtC,EAA4CtM,EAAE2O,cAAc,OAASC,UAAW,mBAAoB2rB,OAASF,gBAAiBt5B,KAAKwO,MAAMe,YAE9IiiG,GACTjmG,EAA4CtM,EAAEoQ,UAEhDhM,QAAOkuG,EAA2F,GAAG,cAAeC,GAChH,SACC,YAAcgB,WAAY,YAAaC,WAAW,OAMjD,SAAU9zG,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAO8zG,IAC9E,IAAIpnG,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GmP9uoBnEqnG,EAAA9zG,EAAA,KAC2BgN,EAAA7L,WAAA6L,WAAA,WAOrD,GAAAC,GAAA,SAAA3K,EAAA0I,GAKI,OAL8BiC,EAAAzI,OAAA0I,iBAGhCC,uBAAiBC,QAAA,SAAA9K,EAAA0I,GAAA1I,EAAA6K,UAAAnC,IAAjB,SACE1I,EAAA0I,GAAA,OAAMjG,KAAMiG,KAGbhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,MAFmBzC,EAAG0I,GnP0uoBrB,OAAO,UAAU1I,EAAG0I,GmPtuoBtB,QAAAqC,KAAAlM,KAAAmM,YAAAhL,EAFC2K,EAAA3K,EAAA0I,GAED1I,EAAAZ,UAIC,OAJDsJ,EAICxG,OAAAJ,OAAA4G,IAAAqC,EAAA3L,UAAAsJ,EAAAtJ,UAAA,GAAA2L,QAEDwmG,EAAM,SAANnkG,GnP0uoBE,QmPzuoBMmkG,GAAAlkG,GnP0uoBF,GmPzuoBF4C,GAAM7C,EAAWzK,KAAA9D,KAAAwO,IAAaxO,IAWhC,OnP+toBIoR,GmPzuoBFwhG,cACED,EACmB,EAOvBvhG,EAAG2iB,cAAA3iB,EAAA2iB,cAAAxB,KAAAnhB,GACIA,EnPkvoBP,MAtBAvF,GmPzuoBF6mG,EAkBCnkG,GAADmkG,EAACnyG,UAAAwzB,cAAA,SAAAxkB,GACH,GAAA6B,GAAApR,IAlCkC,mBnPkwoBtBoR,EAAM5C,MAAMulB,cAAcxkB,KAGlCmjG,EAAanyG,UAAU6O,OAAS,WAC5B,GAAIgC,GAAQpR,KACR6yG,EAAoB7yG,KAAK4yG,cAActsG,IAAI,SAAUwsG,GACrD,GAAIl7C,GAAWk7C,EAAa79F,gBAAkB7D,EAAM5C,MAAMe,MAAM0F,cAAgB,cAAgB,WAChG,OAAQ1J,GAA4CtM,EAAE2O,cAAc,KAAOnN,IAAKqyG,EAAcjlG,UAAW,cAAgB+pD,EAAUp+B,OAASjqB,MAAOujG,GAAgB55E,QAAS9nB,EAAM2iB,cAAc++E,IAAiB,MAErN,OAAQvnG,GAA4CtM,EAAE2O,cAAc,OAASC,UAAW,wBACpFtC,EAA4CtM,EAAE2O,cAAc,KAAOC,UAAW,SAAWglG,KAE1FH,GACTnnG,EAA4CtM,EAAEoQ,YAM1C,SAAU1Q,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOm0G,IAC9E,IAAIznG,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GACpEhK,EAAuCzC,EAAoB,GAC3D0C,EAA+C1C,EAAoBG,EAAEsC,GACrE4vG,EAAuCryG,EAAoB,IAC3DsyG,EAA+CtyG,EAAoBG,EAAEkyG,GACrE8B,EAAgDn0G,EAAoB,MoPtyoBtEgN,GADGhN,EAAAG,EAAAg0G,GACHhzG,WAAA6L,WAAA,WACA,GAAAC,GAAA,SAAA3K,EAAA0I,GAarB,OAZuBiC,EAAAzI,OAAA0I,iBAQzBC,uBAAAC,QAAA,SAAA9K,EAAA0I,GAAA1I,EAAA6K,UAAAnC,IAAoC,SAAA1I,EAAA0I,GAAA,OAA4BjG,KAAAiG,KAAAhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,MAIlDzC,EAAA0I,GpPiyoBV,OoP/xoBA,UAAK1I,EAAA0I,GpPiyoBD,QAASqC,KAAOlM,KAAKmM,YAAchL,EoPhyoBvC2K,EAAK3K,EAAA0I,GACN1I,EAAAZ,UAAA,OAAAsJ,EAAAxG,OAAAJ,OAAA4G,IAAAqC,EAAA3L,UAAAsJ,EAAAtJ,UAAA,GAAA2L,SASD6mG,EAAC,SAAAxkG,GpPgyoBC,QoP7xoBIwkG,GAAevkG,GpP8xoBf,GoP7xoBF4C,GAAM7C,EAAIzK,KAAA9D,KAAAwO,IAAAxO,IpPgyoBR,OAFAoR,GoP7xoBF6hG,eAAe7hG,EAAA6hG,eAAA1gF,KAAAnhB,GpP8xoBbA,EoP7xoBF8hG,iBAAkB9hG,EAAA8hG,iBAAA3gF,KAAAnhB,GAClBA,EC9BN,MDyBEvF,GAAAknG,EAAAxkG,GpPoyoBEwkG,EoP7xoBQxyG,UAAK2yG,iBAAc,SAAAv/E,GpP8xoBvB3zB,KoP7xoBD2zB,KAAKw9E,IAAex9E,IpP+xoBvBo/E,EoP5xoBUxyG,UAAS0yG,eAAQ,SAAA1jG,GAC3BvP,KAAKmzG,UAAK,EACXnzG,KAAAwO,MAAAulB,cAAAxkB,IpP8xoBCwjG,EoP3xoBAxyG,UAAAg0B,kBAAA,WACA,GAAA6+E,GAAA7xG,EAAAtC,EAAAo0G,UACAC,MAAA,EACAC,WAAA,EACIC,aAAM,EACRjkG,MAAKvP,KAAKwO,MAAQe,MACnButC,SAAA98C,KAAA2zB,KACFmkB,KAAA93C,KAAAizG,gBAEDjzG,KAAAwO,MAAAjP,QACES,MAAI2zB,KAAK8/E,SAAUL,GpP2xoBfpzG,KoP1xoBF2zB,KAAK8/E,SAAQ,QpP2xoBXzzG,KoP1xoBH2zB,KAAA8/E,SAAA,MAAAzzG,KAAAwO,MAAAe,QAGHwjG,EAAAxyG,UAAAmzG,oBAAoB,SAApBC,GAQC3zG,KAAAmzG,UACHnzG,KAAA2zB,KAAA8/E,SAAC,MAAAE,EAAApkG,QpPyxoBGwjG,EAAexyG,UAAUqzG,mBAAqB,WACtC5zG,KAAKmzG,WACLnzG,KAAKmzG,UAAW,IAGxBJ,EAAexyG,UAAUszG,qBAAuB,WqPp2oBpD7zG,KAAA2zB,KAAA8/E,SAAA,YAEAV,EAAAxyG,UAAA6O,OAAA,WACA,MAAA7D,GAAAtM,EAAA2O,cAAA,OAAAC,UAAA,qBAAA+mB,IAAA50B,KAAAkzG,oBAEAH,GACAxnG,EAAAtM,EAAAoQ,YAGA,SAAA1Q,EAAAiS,EAAA/R,GAEA,GAAAi1G,GAAAC,EAAAC,GAKA,SAAAnxG,GACC,YAGDkxG,IAAAl1G,EAAA,KAAAi1G,EAAA,MAGArxG,MrPs2oBIuxG,EAA2E,kBAAnCF,GqPv2oB5CA,EAAA/vG,MAAA6M,EAAAmjG,GAAAD,KACAn1G,EAAAiS,QAAAojG,IAQA,SAAA/5D,EAAAx3C,GACA,YAkHA,SAAAwxG,GAAArwG,EAAA2L,EAAA1B,EAAAwb,GAEA,OADAy2B,MACAr8C,EAAA,EAAAA,EAAAG,EAAAD,OAAAF,IAAA,CACA,GAAAmoB,GAAAhoB,EAAAH,EACA,IAAAmoB,EAAA,CACA,GAAAsoF,GAAAC,UAAAvoF,GACApf,EAAA0nG,EAAAzkG,QAAA2kG,EAAA,2DACA5nG,IAAA2nG,UAAAE,OAAA9kG,EAAAqc,GAAA,qBACA,IAAA0oF,GAAAJ,EAAAj3F,SAAAoM,EAAAkrF,iBAAA,OrPy2oBoBC,EAAcC,EAAe,oBAAsBP,EAAK//E,cAAiB,UAAY+/E,EAAKQ,UqPv2oB9G50D,GAAAx6C,KAAA,gBAAAgvG,EAAA,iBAAAJ,EAAA//E,cAAA,YAAA3nB,EAAA,yCAAAgoG,EAAA,oBACA,CAEA10D,EAAAx6C,KAAA20C,EAAA,WACAsZ,OAAAtZ,EAAA,8FACAe,KAAA,QAAA3xB,EAAAsrF,sBrP02oBqB70D,SqPp2oBrB,2BAAAjyC,EAAA,KAAAiyC,EAAA1nC,KAAA,aAGA,QAAAw8F,KACA,OAAAnxG,GAAA,EAAAA,EAAAoxG,EAAAlxG,OAAAF,IACAoxG,EAAApxG,IrPy2oBgBoxG,EAAUpxG,GAAG2qC,OAKzB,QAAS0mE,GAAgB70D,EAAG80D,GqPv2oBhC,GAAA1rF,GAAA4wB,EAAAl6C,UAAAi1G,EAAA/0D,EASA,OARA52B,GAAA4rF,WACAn9D,KAAAvlB,EAAAlJ,EAAAyuB,KAAAi9D,GACApzD,OAAApvB,EAAAlJ,EAAAs4B,OAAAozD,GACAtqF,KAAA8H,EAAAlJ,EAAAoB,KAAAsqF,GACA3mE,KAAA7b,EAAAlJ,EAAA+kB,KAAA2mE,GACAG,WAAA3iF,EAAAlJ,EAAA6rF,WAAAH,IAGA1rF,EAGA,QAAAoqF,GAAAlmG,EAAA0yC,GAiEA,QAAAk1D,KAQA,GANA9rF,EAAA+rF,kBACA/rF,EAAAgsF,aAAA,GAGAC,GAAArvG,KAAAojB,EAAA+rF,gBAAA/rF,EAAAksF,sBAAAlsF,EAAAmsF,uBAEAnsF,EAAAosF,QAAA,CACAA,GAAApsF,EAAAosF,QAAA5iG,MAAA,GACA6iG,GAAAz7D,EAAAjmC,QAAAyhG,GAAA,IAAAA,QACAE,KACA,QAAAlyG,GAAA,EAAAA,EAAAiyG,GAAA/xG,OAAAF,IACA,OAAA+rD,GAAA,EAAAA,EAAAkmD,GAAAjyG,GAAAE,OAAA6rD,IAAA,CACA,GAAAomD,GAAAzB,UAAAuB,GAAAjyG,GAAA+rD,IAAAr7B,aACAwhF,IAAAC,IAAA,GAKAz2D,GAAA3D,YAAA,UAAA83D,GrPy2oBYn0D,GAAU3D,YAAY,qBAAsBnyB,EAAKwsF,WqPv2oB7D12D,GAAA3D,YAAA,mBAAAnyB,EAAAkqF,WACAp0D,GAAA3D,YAAA,mBAAAs6D,IACA32D,GAAA3D,YAAA,uBAAAnyB,EAAAmqF,arPy2oBYr0D,GAAU3D,YAAY,+BAAgCnyB,EAAK0sF,mBqPv2oBvE52D,GAAA3D,YAAA,uBAAAnyB,EAAAgsF,arPy2oBYl2D,GAAU3D,YAAY,kBAAmBnyB,EAAK+rF,iBqPv2oB1Dj2D,GAAA3D,YAAA,uBAAAnyB,EAAA2sF,aACA72D,GAAA3qB,SAAAnL,EAAAxb,WAAA2mB,SAAAnL,EAAA4sF,oBrP02oBYC,IqP1poBZ,QAAAC,KAEA,GAAAC,GAAAl2G,OAAAQ,aAAA,CAGA,IACA,GAAA21G,GAAAn2G,OAAAQ,aAAA01G,GAAA9rE,MAAA,KACA+rE,GAAA1yG,OAAA,UrPy2oB+BzD,QAAOQ,aAAa01G,GqPv2oBnDn8D,EAAA1S,KAAA8uE,EAAA,SAAA5yG,EAAA+I,GACA8pG,EAAA9pG,MAIA,MAAAjH,IAEA,IACAgxG,GAAAr2G,OAAAQ,aAAA01G,GAAA9rE,MAAA,KAEA,MAAA/kC,MAIA,QAAA+wG,GAA8B/mG,GAC9B,GAAAinG,EAAA,CACA,GAAAZ,GAAAzB,UAAA5kG,GAAA4kB,aACA,KAAAwhF,GAAAC,KAAA,IAAA37D,EAAA+I,QAAA4yD,EAAAW,IAEA,IrPu2oBoBA,GAAiBjxG,KAAKswG,GqPv2oB1CW,GAAA5yG,OAAA8yG,IACAF,GAAAp0D,OrP42oBgB,IAAIi0D,GAAmBl2G,OAAOQ,aqPv2oB9C,IACAR,OAAAQ,aAAA01G,GAAAG,GAAAn+F,KAAA,KAEA,MAAA7S,MrP62oBQ,QAASmxG,KqPv2oBjB,GAAAC,KrPy2oBY,IAAIttF,EAAKgsF,YqPv2oBrB,OAAA5xG,GAAA,EAAAA,EAAA8yG,GAAA5yG,OAAAF,IAAA,CrPy2oBoB,GAAImyG,GAAMzB,UAAUoC,GAAiB9yG,IAAI0wB,aqPt2oB7DwhF,IAAAC,IACae,EAAArxG,KAAAixG,GAAA9yG,IAKb,MAAAkzG,GAAAnxB,UAAA3yE,MAAA,EAAAwW,EAAAotF,kBAGA,QAAAG,KrP02oBY,GAAIC,GAAer2G,IqPt2oB/Bs/C,EAAA7F,EAAA3zC,IAAAovG,GAAA,SAAAD,EAAAhyG,GACA,MAAAwwG,GAAAwB,EAAAoB,EAAA,iCAAApzG,EAAA4lB,IAGA8sF,KrP02oBgBI,IqPv2oBhBz2D,EAAAx6C,KAAA2uG,EAAAyC,IAAAG,EAAA,0CAAAxtF,IAGAytF,GAAAh3D,OAAA1nC,KAAA,KAGA,QAAA2+F,KACA,GAAA1tF,EAAA2sF,YAAA,CACA,GAAAgB,GAAAC,GrPy2oBoBrrF,EAAUprB,GqPv2oB9B02G,IAAAp3D,KAAAm0D,GAAA+C,EAAAprF,KAAA,yBAAAvC,KAIA,QAAA8tF,MrPy2oBgBC,IAAc,GAAKC,IAAa,GAAKC,IAAe,IqPv2oBpEpB,IAEAqB,GAAA,ErPy2oBYp4D,GAAU3qB,SAASgjF,IqPv2oB/BC,GAAA,KACAC,GAAA/6D,QAAA,sBAAAn8C,MAGA,QAAAm3G,KACAJ,GAAA,EACAp4D,GAAAvE,YAAA48D,IACAE,GAAA/6D,QAAA,qBAAAn8C,MAGA,QAAAo3G,KAEA,GAAAh3G,GAAAmnF,GAAAx2D,KAEA,WAAA3wB,GAAA,KAAAA,IAAAk1G,GAIA,CACA,GAAA5B,GAAAC,UAAAvzG,EACAszG,GAAAxsG,WACA/G,EAAAuzG,GACA2D,GAAA,IAGA9vB,GAAAvzD,SAAA,2BrP81oBgB7zB,GAAI,MqPv2oBpBk3G,GAAA,GAcA,QAAAhnF,KACAktE,ErPy2oBgB3vD,IqPr2oBhB3jB,IAIA,QAAAA,KACA,GAAA0O,GAAA8gB,EAAAyC,MAAA,sBAEA,IAAAqhD,EAEA,WADAmY,IrP42oBYwB,IAAa/6D,QAAQxjB,GAAS34B,OqPt2oB1C,IAAAy0G,EAAAC,WAAA10G,MAAA24B,EAAAyjB,uBAIAg4D,IACA7W,GAAA,EAEA9jD,EAAAugC,IAAAjoD,KAAA,mBAAAulF,GrPy2oBY79D,EAAEugC,IAAKjoD,KAAK,iBAAkBwlF,GqPv2oB1C99D,EAAA/5C,QAAAqyB,KAAA,kBAAAylF,GACAC,GAAAzjF,SAAA,aACA2qB,GAAAvE,YAAA,aAEAs7D,IACAgC,IAEAjB,GAAAz2G,IAEAu2G,IrPy2oBY9B,EAAUxqF,KAAKwsF,IqPv2oB3BS,GAAA/6D,QAAA,iBAAAs6D,MrP22oBQ,QAASa,GAAUvyG,GqPt2oB3B,KAAAA,EAAAq2C,SACAxN,IAIA,QAAA2pE,GAAAxyG,GrP02oB4B,GAAZA,EAAE08F,SqPp2oBlBsV,IAEAY,GACAN,GAAA,GAGAO,IrP02oBYhqE,MqPr2oBZ,QAAAA,KAEA2vD,IAAAuV,IACAvV,GAAA,ErP02oBY9jD,EAAEugC,IAAKnpE,OAAO,mBAAoBymG,GqPv2oB9C79D,EAAAugC,IAAAnpE,OAAA,iBAAA0mG,GACA99D,EAAA/5C,QAAAmR,OAAA,kBAAA2mG,GAEAC,GAAAr9D,YAAA,aACAuE,GAAA3qB,SAAA,aAEAygF,EAAA7mE,KAAA5tC,KrPy2oBYk3G,GAAa/6D,QAAQ,iBAAmBn8C,OqPr2oBpD,QAAA43G,KACAz3G,EAAas2G,IAAA,GAGb,QAAAt2G,GAAA4O,EAAA8oG,GrPy2oBY,GAAIlE,UAAUE,OAAO9kG,EAAO/O,KqPp2oBxC,WADA03G,IrP42oBY,IAAIrkF,GAAUykF,GqPv2oB1B/oG,GAAAumG,GACA1jF,IAAA,GAEAA,IAAA,ErPy2oBgByB,EAAWsgF,UAAU5kG,GqPv2oBrC+oG,EAAAzkF,EAAA0kF,QrP02oBgBC,GAAcF,EAAOz/F,EAAI,IAAO,IqPv2oBhD4/F,GAAAH,EAAA90G,EACA4oB,GAAAksF,EAAA7zG,EACAi0G,GAAAJ,EAAAr5G,GAEAi5G,IAEArkF,KAAAnsB,YAAA2wG,IACAM,GAAApE,IAAA1gF,EAAA+kF,arP42oBQ,QAASp4G,GAAI6oB,GqPr2oBrB,MAFAA,SAEAysF,IAAA1jF,GrPy2oBuB,KAGJ+hF,UAAU0E,WqPv2oB7BhgG,EAAA2/F,GACAh1G,EAAAi1G,GACAh0G,EAAA2nB,GrPy2oBgBntB,EAAGqW,KAAKwF,MAAqB,IAAf49F,IAAsB,MqPv2oBpDtxF,OAAAiC,EAAAjC,QAAAuxF,KrP22oBQ,QAASjxG,KqPv2oBjB,OAAAqgF,GAAA1sC,SAAA,uBAGA,QAAAvD,KACAogE,IAEAjD,EAAAn9D,KAAAt3C,KACAk3G,GAAA/6D,QAAA,iBAAAn8C,MAGA,QAAA03G,KAEAnwB,GAAAntC,YAAA,uBAEAk+D,GAGA,IAAAC,GAAA5E,UAAA0E,WAAAhgG,EAAA2/F,GAAAh1G,EAAA,EAAAiB,EAAA,GACAu0G,IAAAh6D,IAAA,mBAAA+5D,EAAAppG,cAGA,IAAAyX,GAAAuxF,EACAD,IAAA,QAAAA,IAAA,SAAAtxF,KACA,QAAAA,GAAA,SAAAA,GAAA,SAAAA,GAAA,SAAAA,IACAA,EAAA,OrP42oBY,IAAI6xF,GAAYz4G,GAAM4mB,OAAQA,IqPv2oB1C8xF,EAAA,EAMA,IAHAC,GAAAv+D,YAAA,oBACAu+D,GAAAn6D,IAAA,mCAEAi6D,GAAAnD,GrP02oBgBqD,GAAe3kF,SAAS,wBqPt2oBxC,CACA,GAAA4kF,GAAAH,EAAAtpG,cACA0pG,EAAAJ,EAAA9kF,aAWA,IARAsgF,GAAA,IAAAwE,EAAAK,MACAH,GAAAn6D,IAAA,mBAAAq6D,IAGAF,GAAAn6D,IAAA,kCACAm6D,GAAAn6D,IAAA,SAAAi6D,EAAAvE,aAGArrF,EAAAkqF,UAAA,CACA,GAAAqC,GAAAqD,EAAAM,OACA3D,GAAA32G,EAAA,CACA,IAAAu6G,GAAArF,UAAAyB,GAAAzhF,crPy2oBwBslF,EAAW,yBAA2BD,EAAY,KAAOJ,EAAU,GqPt2oB3FM,GrPy2oBwBC,GAAiB36D,IAAI,SAAUm1D,UAAUqF,GAAW9E,UAAWkF,aAAc,GAAKR,KqPr2oB1GO,GAAA36D,IAAA,wBAAAy6D,GACAE,GAAA36D,IAAA,qBAAAy6D,GrPy2oBwBE,GAAiB36D,IAAI,aAAc,OAASy6D,GqPt2oBpEE,GAAA36D,IAAA,aACA,6BAAAw6D,EAAA,KAAAJ,EAAA,MrP42oBgBF,EAAeD,EAAUh8F,SAASmK,GAIlCiC,EAAKwsF,WqPv2oBrB9tB,GAAAx2D,IAAA2nF,GAGA7vF,EAAAgsF,aACAuB,IAGAG,IAGA,QAAA+B,KrPy2oBY,GAAIt1G,GAAIi1G,GqPv2oBpBh0G,EAAA2nB,EAEA,IAAA0pF,IAAA1jF,GAEAynF,GAAAzrE,OACA0rE,GAAA1rE,OACA2rE,GAAA3rE,WAEA,CAEAyrE,GAAApvF,OACAqvF,GAAArvF,OACAsvF,GAAAtvF,MrP22oBgB,IAAIuvF,GAAQx2G,EAAI6zG,GqPv2oBhC4C,EAAA7C,GAAA3yG,EAAA2yG,EACA4C,GAAA1kG,KAAAqF,KACAu/F,GACiB5kG,KAAA4T,IAAAmuF,GAAA6C,GAAAF,EAAAE,KAEjBD,EAAA3kG,KAAAqF,KACAu/F,GACA5kG,KAAA4T,IAAAkuF,GAAA8C,GAAAD,EAAAC,KAEAH,GAAiB/6D,KACjBC,IAAAg7D,EAAA,KACA/6D,KAAA86D,EAAA,MAGA,IAAAG,GAAAzB,GAAA0B,EACAP,IAAA76D,KACAE,KAAAi7D,EAAAE,GAAA,QAIA,IAAAC,GAAA,GAAAhD,EACAwC,IAAA96D,KACAC,IAAAq7D,EAAAC,GAAA,QrP62oBQ,QAAS1C,GAAoB2C,GqPv2oBrC,GAAAjrG,GAAA/O,IACA04G,EAAA,GACAuB,GAAAtG,UAAAE,OAAA9kG,EAAA0nG,GAEA1nG,KrPy2oBgB2pG,EAAe3pG,EAAM0N,SAAS07F,IqPt2oB9CrC,EAAA/mG,IAGAmrG,IACAhD,GAAAnmF,IAAA2nF,GAGAsB,GAAAC,IrPy2oBgBxF,EAAUtzD,OAAOpyC,GqPv2oBjCmoG,GAAA/6D,QAAA,UAAAptC,KAIA,QAAiB2mG,KACjBmB,GAAA2B,GAAAz5D,QACA63D,GAAA4B,GAAA7wF,SACA+xF,GAAAH,GAAA5xF,SrPy2oBYwyF,GAAaC,GAAOr7D,QqPv2oBhC+3D,GAAAsD,GAAAzyF,SrPy2oBYoyF,GAAoBT,GAAY3xF,SqPv2oB5CiyF,GAAAS,GAAAt7D,QACA86D,GAAAR,GAAAt6D,QrP02oBiB+zD,IqPv2oBjBn0D,GAAAH,IAAA,uBACA31B,EAAAnN,OrPy2oBoBijC,GAAUjjC,OAAOmN,EAAKnN,QqPt2oB1CijC,GAAAjjC,OAAA4+F,EAAA37D,GAAA47D,MAIAjC,IrP02oBgBzvF,EAAKgsF,aqPv2oBrBuB,IAGAc,GAAA/6D,QAAA,mBAGA,QAAAxtB,KrPy2oBYuoF,GAAajtF,OqPv2oBzBswF,GAAA1pG,OAAA,sCACA8tC,GAAAnuB,SACAinF,GAAAjnF,SrPy2oBY6jF,EAAUmG,GAAM/vG,IAAM,KqPr2oBlC,QAAAuwB,GAAAy/E,EAAAC,GACA,MAAAD,KAAAx4G,EACAw3C,EAAAl6C,UAAAspB,GAEA6xF,IAAAz4G,EACA4mB,EAAA4xF,IAGA5xF,EAAA4xF,GAAAC,MACA/F,MAGA,QAAAhnE,KACA13B,IAAA,EACAihG,GAAA18D,KAAA,erPy2oBY+/D,GAAcngE,YAAY,eqPr2oBtC,QAAA0F,KACAlS,IACA33B,IAAA,EACAihG,GAAA18D,KAAA,eACA+/D,GAAAvmF,SAAA,eAGA,QAAA2mF,GAAAC,GACA/xF,EAAAnN,OAAAk/F,EACAlF,IA3vBA,GAAA7sF,GAAAyrF,EAAA70D,EAAA1yC,GACA+lG,EAAAjqF,EAAAiqF,KACAkD,EAAAntF,EAAAmtF,qBACAJ,EAAA/sF,EAAA+sF,gBACAtmF,EAAAzG,EAAAyG,MACAmlF,EAAA5rF,EAAA4rF,UACA+C,EAAAqD,EAAAnF,EAAA,IACAnY,GAAA,EACAwZ,GAAA,EACAF,GAAA,EACAD,GAAA,EACA8C,GAAA,EACA5C,GAAA,EACAqD,GAAA,ErPy2oBYP,GAAa,EqPv2oBzBC,GAAA,EACAE,GAAA,EACA/B,GAAA,EACAC,GAAA,EACArsF,GAAA,EACAssF,GAAA,EACAjD,MACAC,MACAC,MACAY,GAAAltF,EAAAktF,iBAAA1jG,MAAA,GACA4jG,GAAAptF,EAAAotF,iBACAe,GAAA,cACAC,GAAA,KAEAj9B,GAAAjtE,EAAA+tG,cAEA5D,IADAl9B,GAAAj2E,KACA01C,EAAA1sC,IACAkJ,IAAA,EACA0oC,GAAAlF,EAAAshE,EAAA/gC,IAAAhmD,SAAA1E,GACA0rF,GAAAr8D,GAAAz2C,KAAA,wBACAswG,GAAA75D,GAAAz2C,KAAA,aACAqxG,GAAA56D,GAAAz2C,KAAA,eACAkyG,GAAAz7D,GAAAz2C,KAAA,WACAoxG,GAAA36D,GAAAz2C,KAAA,cACAixG,GAAAx6D,GAAAz2C,KAAA,mBACAmyG,GAAA17D,GAAAz2C,KAAA,aACAmxG,GAAA16D,GAAAz2C,KAAA,oBACAq/E,GAAA5oC,GAAAz2C,KAAA,aACAouG,GAAA33D,GAAAz2C,KAAA,eACAwuG,GAAA/3D,GAAAz2C,KAAA,eACA+yG,GAAAt8D,GAAAz2C,KAAA,cACAgzG,GAAAv8D,GAAAz2C,KAAA,aACAizG,GAAAx8D,GAAAz2C,KAAA,crPy2oBY4sG,GAAen2D,GAAUz2C,KAAK,sBqPv2oB1CgyG,GAAAhD,GAAAt8D,GAAA,SrPy2oBYwgE,GAAmBlB,IAAyC,UAA9BhD,GAAa18D,KAAK,SAAuB6gE,IqPv2oBnFC,GAAApB,KAAApH,EACA2E,GAAA,GAAAh+D,EAAA8hE,GAAAvnF,SAAA1E,GAAA0E,SAAAnL,EAAAxb,WAAA2mB,SAAAnL,EAAA2yF,mBAAA/hE,MACA8gE,GAAA,GAAA9C,GAAAP,GrPy2oBYyB,GAAiBlB,GAASvvG,KAAK,qBqPv2oB3CuzG,GAAA5yF,EAAA9Z,OAAAmrG,IAAAhD,GAAAnmF,MrPy2oBY0lF,IAAc,EqPv2oB1B1C,GAAAlrF,EAAAkrF,gBACAoE,GAAApE,GACA4D,IAAA9uF,EAAAmqF,aAAAnqF,EAAA8uF,oBACA/lF,IAAA6pF,GACAnG,GAAAzsF,EAAAysF,aAA+B8F,IAoC/B,WAqLA,QAAAM,GAAA32G,GAcA,MAbAA,GAAAyL,MAAAzL,EAAAyL,KAAAmrG,QrPy2oBoBx7G,EAAIs5C,EAAE10C,EAAE+G,QAAQs0C,QAAQ,gBAAgB5vC,KAAK,UqPv2oBjE8mC,MAGAn3C,EAAAs5C,EAAA10C,EAAA+G,QAAAs0C,QAAA,gBAAA5vC,KAAA,UrPy2oBoB8mC,IqPv2oBpB+/D,GAAA,GrPy2oBwBxuF,EAAK+yF,wBqPv2oB7BhuE,MAIA,ErPqroBY,GqPt3oBZsrE,GACAv6D,GAAAz2C,KAAA,gBAAAsyC,KAAA,qBrP22oBYm6D,IqPt2oBZ2G,IACApE,GAAAlkD,MAAAykD,IAAA7pE,OAGA0nE,IACA4F,GAAAttE,OrP22oBgBklE,EqPv2oBhBoE,GAAAlkD,MAAArU,IAAA/Q,WAEA,CrP02oBgB,GAAI0O,GAA6B,WAAlBzzB,EAAKyzB,SAAwB46D,GAAa3zE,SAAWkW,EAAE5wB,EAAKyzB,SqPv2oB3F,KAAAA,EAAAn5C,SrPy2oBoBm5C,EAAW7C,EAAE,SqPr2oBjC6C,EAAAyW,OAAApU,IAGAg3D,IAEA4E,GAAAxoF,KAAA,8CAAAhtB,GrPy2oBqBkR,IqPv2oBrBoa,IAGAtrB,EAAA+1B,kBAEA2e,EAAA10C,EAAA+G,QAAA8uC,GAAA,UACA71C,EAAA81B,oBAIAq8E,GAAAt8D,GAAA,mBAAA/xB,EAAA5S,WACA6pC,IAIAnB,GAAArD,MAAAxgB,GAGAysD,GAAApmC,OAAAi2D,GACA7vB,GAAAx1D,KAAA,mBACA6D,WAAAwhF,EAAA,KAEA7vB,GAAArsC,QAAA,SAAAn2C,GAAA,IAAAA,EAAAq2C,SAAAg8D,MrP02oBY6D,GAAax1G,KAAKojB,EAAKgzF,YqPv2oBnCZ,GAAAlpF,KAAA,0BAAAhtB,GACAA,EAAA+1B,kBACA/1B,EAAA81B,iBACA+8E,IACahqE,MAGbstE,GAAA1gE,KAAA,QAAA3xB,EAAAonC,WACAirD,GAAAnpF,KAAA,0BAAAhtB,GACAA,EAAA+1B,kBrPy2oBgB/1B,EAAE81B,iBqPv2oBlBjJ,IAAA,EACA0lB,IrP02oBmBw7D,GqPt2oBnBuE,GAAA,KrP42oBY8D,GAAa11G,KAAKojB,EAAKizF,YqPv2oBnCX,GAAAppF,KAAA,0BAAAhtB,GACAA,EAAA+1B,kBACA/1B,EAAA81B,iBrP02oBoBq+E,GAAM3xB,GAAU3sC,GAAG,WqPv2oBvC2sC,GAAAprC,QAAA,UAGAj1C,MACAmwG,GAAA,GACAzpE,OAIAknE,GAAArvG,KAAAojB,EAAA+rF,gBAAA/rF,EAAAksF,sBAAAlsF,EAAAmsF,uBACAF,GAAA/iF,KAAA,0BAAAhtB,GACaA,EAAA+1B,kBrPy2oBG/1B,EAAE81B,iBqPt2oBlBhS,EAAA+rF,iBAAA/rF,EAAA+rF,gBAOa/rF,EAAA+rF,iBAAA9B,GrPy2oBOn0D,GAAUH,IAAI,OAAQ,MAAQw8D,GAAgBj2C,YAAW,GAAQ,IqPt2oBrF4vC,MAGAoH,EAAA1B,GAAA,SAAAb,EAAAC,EAAA10G,GACAmzG,GAAAsB,EAAAI,GACAhoF,IAAA,EACa7sB,EAAAu9C,WrPy2oBO41D,GAAepjG,KAAKwF,MAAqB,GAAf49F,IAAqB,IqPr2oBnE5gE,KACAq/D,EAAAQ,GAEA4E,EAAA3B,GAAA,SAAAZ,EAAAC,GACAzB,GAAAh9F,WAAAy+F,EAAA3C,IACAllF,IAAA,EACA/I,EAAAkqF,YACAmF,GAAA,GAEA5gE,KACAq/D,EAAAQ,GAEA4E,EAAAvD,GAAA,SAAAgB,EAAAC,EAAA10G,GAGA,GAAAA,EAAAu9C,UAGA,IAAA20D,GAAA,CACA,GAAA+E,GAAA/D,GAAApB,GACAoF,EAAArF,GAAAhrF,GAAAgrF,GrPy2oBwBsF,EAAepnG,KAAKC,IAAIykG,EAAQwC,GAAYlnG,KAAKC,IAAI0kG,EAAQwC,EqPt2oBrFhF,IAAAiF,EAAA,aAPAjF,IAAA,IrPk3oBgB,IAAIkF,IAAiBlF,IAAqD,MAA3BA,GqPv2oB/DrnC,GAAAqnC,IAAA,MAAAA,EAEakF,KrPy2oBOlE,GAAoBj9F,WAAWw+F,EAAQ3C,KqPt2oB3DjnC,IrPy2oBoBhkD,GAAe5Q,YAAY47F,GAAa6C,GAAS7C,KqPr2oBrEhlF,IAAA,EACA/I,EAAAkqF,YrPy2oBoBmF,GAAe,GqPr2oBnC5gE,KAEAq/D,EAAAQ,GAEAsE,IACAt7G,EAAAs7G,IAIA/D,IACAS,GAAApE,IAAAJ,UAAA8H,IAAA70F,OAEAkvF,EAAA2F,KAGA/D,IAGA5E,GACA7oF,GAoBA,IAAAmyF,GAAAlD,EAAA,yDACA5C,IAAAz6D,SAAA,eAAAugE,EAAAV,GACAhF,GAAyB76D,SAAA,4BAAAugE,GAAAT,QAAA,GAAAD,KAudzB,IAAAlB,KACAvwF,OACA2jB,OrPy2oBYvd,OAAQA,EqPv2oBpBqlF,SrPy2oBY16E,OAAQA,EqPv2oBpB2S,SACAmS,UrPy2oBYpkC,OAAQi/F,EqPv2oBpBx6G,IAAA,SAAA6L,GACA7L,EAAA6L,GACAqrG,KAEAr3G,MACA2uB,UACAgwB,aAKA,OAFA67D,IAAA/vG,GAAA4pG,EAAAvvG,KAAA01G,IAAA,EAEAA,GAOA,QAAAF,GAAA+B,EAAAx0D,GrPy2oBQ,GqPv2oBRy0D,GAAAD,EAAAt3C,aACAw3C,EAAAF,EAAAr3C,cACAw3C,EAAA30D,EAAAmd,crPy2oBYgV,EAAMqiC,EAAO,GAAGvB,cqPv2oB5B2B,EAAAziC,EAAAl/B,gBACA4hE,EAAAD,EAAAE,YAAAljE,EAAAugC,GAAAz1B,arPy2oBYq4D,EAAaH,EAAQI,aAAepjE,EAAEugC,GAAK/2B,YqPv2oBvDvnC,EAAAmsC,EAAAnsC,QAWA,OAVAA,GAAA+iC,KAAA+9D,EAEA9gG,EAAAgjC,MrPy2oBY5pC,KAAK4T,IAAIhN,EAAOgjC,KAAOhjC,EAAOgjC,KAAO49D,EAAUI,GAAaA,EAAYJ,EqPv2oBpFxnG,KAAAC,IAAA2G,EAAAgjC,KAAA49D,EAAAI,GAAA,GAEAhhG,EAAA+iC,KACA3pC,KAAA4T,IAAAhN,EAAA+iC,IAAA/iC,EAAA+iC,IAAA89D,EAAAK,KAAAL,EACAznG,KAAAC,IAAAwnG,EAAAC,ErPu1oBqB,MqPr1oBrB9gG,EAMA,QAAA2uC,MAOA,QAAAvvB,GAAA/1B,GrPy2oBQA,EAAE+1B,kBqPj2oBV,QAAA/I,GAAA+qF,EAAAh7E,GACA,GAAAzvB,GAAA5G,MAAA1L,UAAAsS,MACAivB,EAAAjvB,EAAA/O,KAAAJ,UAAA,EACA,mBACA,MAAA45G,GAAAv5G,MAAAu+B,EAAAR,EAAA8I,OAAA/3B,EAAA/O,KAAAJ,cAQA,QAAA64G,GAAAhvG,EAAAgwG,EAAAC,EAAAC,GAiBA,QAAAC,GAAAn4G,GACAA,EAAA+1B,iBrPy2oBgB/1B,EAAE+1B,kBqPt2oBlB/1B,EAAA81B,gBACA91B,EAAA81B,iBAEA91B,EAAAo4G,aAAA,EAGA,QAAA7lE,GAAAvyC,GACA,GAAAq4G,EAAA,CAEA,GAAAlE,GAAAl/B,EAAAqjC,aAAA,IAAAt4G,EAAA08F,OrPy2oBoB,MAAO99D,IqPr2oB3B,IAAA25E,GAAAv4G,EAAAw4G,eAAAx4G,EAAAw4G,cAAAC,SAAAz4G,EAAAw4G,cAAAC,QAAA,GrPy2oBoBC,EAAQH,GAAMA,EAAGG,OAAS14G,EAAE04G,MqPv2oBhDC,EAAAJ,KAAAI,OAAA34G,EAAA24G,MrP02oBoBlE,EAAQ1kG,KAAKqF,IAAI,EAAGrF,KAAK4T,IAAI+0F,EAAQ/hG,EAAOgjC,KAAMi/D,IqPv2oBtElE,EAAA3kG,KAAAqF,IAAA,EAAArF,KAAA4T,IAAAg1F,EAAAhiG,EAAA+iC,IAAA3gB,GAEA8/E,IAEAV,EAAAn4G,GAGAg4G,EAAAx5G,MAAAwJ,GAAAysG,EAAAC,EAAA10G,KrP42oBQ,QAAS2+B,GAAM3+B,IqPv2oBvBA,EAAA,SAAAA,EAAAs2C,MAAA,GAAAt2C,EAAA08F,SAEA2b,IACA,IAAAJ,EAAAz5G,MAAAwJ,EAAA7J,arPy2oBoBk6G,GAAW,EqPv2oB/Bt/E,EAAA2b,EAAA1sC,GAAA4a,SACAg2F,EAAAlkE,EAAA1sC,GAAAgyC,QACArjC,EAAA+9B,EAAA1sC,GAAA2O,SrP02oBoB+9B,EAAEugC,GAAKjoD,KAAK8rF,GqPv2oBhCpkE,EAAAugC,EAAAj2E,MAAAiwB,SAAA,eAEAsjB,EAAAvyC,GAEiBm4G,EAAAn4G,IAKjB,QAAA4+B,KACAy5E,IrPy2oBgB3jE,EAAEugC,GAAKnpE,OAAOgtG,GqPv2oB9BpkE,EAAAugC,EAAAj2E,MAAAq2C,YAAA,eAIAxkB,WAAA,WACAqnF,EAAA15G,MAAAwJ,EAAA7J,YACA,IAEAk6G,GAAA,EAhFAL,KAAA,arPy2oBQC,EAAUA,GAAW,aqPv2oB7BC,KAAA,YACA,IAAAjjC,GAAA93E,SACAk7G,GAAA,EACA1hG,KACAoiB,EAAA,EACA6/E,EAAA,EACAC,EAAA,gBAAAl+G,QAEAm+G,IrPy2oBQA,GAA8B,YAAIX,EqPv2oB1CW,EAAA,UAAAX,EACAW,EAAA,uBAAAvmE,EACAumE,EAAA,oBAAAl6E,EAqEA8V,EAAA1sC,GAAAglB,KAAA,uBAAA2R,GAGA,QAAAm3E,GAAAiC,EAAArjB,EAAA1jC,GACA,GAAA33B,ErPy2oBQ,OAAO,YqPv2oBf,GAAA6E,GAAAzjC,KAAA8hC,EAAAp+B,UACA46G,EAAA,WACA1/E,EAAA,KACA0+E,EAAAv5G,MAAA0/B,EAAA3B,GrP02oBgBy0B,IAAUlZ,aAAaze,IqPv2oBvC23B,GAAA33B,MAAAxI,WAAAkoF,EAAArkB,KrP42oBI,QAAS4hB,KqPv2oBb,MAAA5hE,GAAAnW,GAAA2vE,SAAAoI,wBAplCA,GAAA7G,IAGAE,WAAArqD,EACA/S,KAAA+S,EACAlJ,OAAAkJ,EACApgC,KAAAogC,EACAzc,KAAAyc,EAGAt7C,OAAA,EACA+jG,MAAA,EACAuC,WAAA,EACAC,YAAA,EACAtC,aAAA,EACA2E,qBAAA,EACAnC,aAAA,EACAX,aAAA,EACAD,iBAAA,EACAgH,wBAAA,EACArG,mBAAA,EACAS,sBAAA,EACAJ,iBAAA,EACAt5D,SAAA,OACA25D,iBAAA,EACA4F,WAAA,SACAC,WAAA,SACK/G,sBAAA,OACLC,sBAAA,OACA/kD,UAAA,wBACAkkD,oBAAA,oBACAJ,iBAAA,EACA1mG,UAAA,GACAooG,mBAAA,GrPy2oBQ+F,kBAAmB,GqPv2oB3BzI,WAAA,EACAzjF,MAAA,WACA2lF,UAAA,4FACAc,oBACK9/F,UAAA,EACLyF,OAAA,MAEA24F,KACA6E,IAAA,QAAA3yE,KAAA7mC,OAAAq+G,UAAuCC,WACvC/J,EAAA,WACA,QAAAxhD,GAAAx9C,EAAAwF,GACA,aAAAxF,GAAA7C,QAAAqI,GAGA,GAAA0Y,GAAAjxB,SAAAkL,cAAA,OACA4rB,EAAA7F,EAAA6F,KAEA,OADAA,GAAAi7C,QAAA,kCACAxhB,EAAAz5B,EAA2BF,gBAAQ,SAAA25B,EAAAz5B,EAAAF,gBAAA,WAEnCyiF,GACA,4BrPy2oBY,qEqPv2oBZ,mCACA,UACA3jG,KAAA,IACAmjG,EAAA,WAIA,GAAAkD,GAAA,EACA,IAAA/E,EACA,OAAAj2G,GAAA,EAAAA,GAAA,EAAAA,IACAg7G,GAAA,kBAAAh7G,EAAA,UAIA,QACA,uCACA,qCACA,gDACA,kDACA,4DACA,SACA,SACA,oCACA,6BACA,8BACA,6BACA,yBACA,uBACA,uBACA,iCACA,SACA,SACA,SACA,0CACA,SACA,uBACA,gCACAg7G,EACA,SACK,SrPy2oBmB,oGqPv2oBxB,SACA,yCACuB,6DACvB,SACA,gDACA,0CACA,qCACA,oDACA,SACA,SACA,UACArmG,KAAa,MrPs1qBT6hC,GAAEnW,GAAG2vE,SAAW,SAAUpqF,EAAMq1F,GqPt2oBpC,mBAAAr1F,GAAA,CAEA,GAAAs0F,GAAA39G,KACA8hC,EAAA71B,MAAA1L,UAAAsS,MAAA/O,KAAAJ,UAAA,EA6BA,OA3BA1D,MAAAunC,KAAA,WACA,GAAAyzE,GAAAnG,EAAA56D,EAAAj6C,MAAAgR,KATA,eAUA,IAAAgqG,EAAA,CACA,GAAA1hD,GAAA0hD,EAAA3xF,EACA,KAAAiwC,EACA,SAAA9vD,OAAA,8BAAA6f,EAAA,IAGA,QAAAA,EACAs0F,EAAA3C,EAAAx6G,MAEa,aAAA6oB,ErPy2oBWs0F,EAAc3C,EAAM77D,UqPt2oB5C,UAAA91B,ErPy2oBwBs0F,EAAc3C,EAAMx/E,OAAOz3B,MAAMi3G,EAAOl5E,GqPt2oBhE,WAAAzY,GACA2xF,EAAA7rF,UACA8qB,EAAAj6C,MAAAwgD,WA3BA,gBA8BA8Y,EAAAv1D,MAAAi3G,EAAAl5E,MAKA67E,EAIA,MAAA39G,MAAAyzG,SAAA,WAAAlsE,KAAA,WACA,GAAAhoC,GAAA06C,EAAAl6C,UAAAspB,EAAA4wB,EAAAj6C,MAAAgR,QACAgqG,EAAAvH,EAAAzzG,KAAAT,EACA06C,GAAAj6C,MAAAgR,KA1CA,cA0CAgqG,EAAA/vG,OAIAgvC,EAAAnW,GAAA2vE,SAAA3qG,MAAA,ErPy2oBImxC,EAAEnW,GAAG2vE,SAASkL,YqPv2oBlB1kE,EAAAnW,GAAA2vE,SAAA8I,YACAtiE,EAAAnW,GAAA2vE,SAAAj0G,SAAAw1G,EACA/6D,EAAAnW,GAAA2vE,SAAAoI,sBAAA,QAAAA,KACA,YAAAA,EAAA+C,cAAA,CACA,GAAAC,GAAA5kE,EAAA,sCACA4hE,GAAa+C,cAAA,UAAAC,EAAAl4G,MAAA,MAAAk4G,EAAAj+G,MAEb,MAAAi7G,GAAA+C,eAGA3kE,EAAAw5D,YACAx5D,EAAAw5D,SAAAqL,gBrPy2oBI7kE,EAAEw5D,SAASsL,YAEX9kE,EAAEnW,GAAG2vE,SAASuL,yBAA2B,WqPv2oB7C,GAAAC,GAAAhlE,EAAA,oBACAglE,GAAAt7G,SAAAk4G,KACAoD,EAAAxL,UACAc,gBAAA,UASA,WAyRA,QAAA2K,GAAA3vG,GAEA,GAAAqmG,IAAAnpG,EAAA,EAAAjH,EAAA,EAAAqE,EAAA,GACA5K,EAAA,EACA6pC,GAAA,EACA1hB,GAAA,CAkCA,OAhCA,gBAAA7X,KACAA,EAAA4vG,EAAA5vG,IAGA,gBAAAA,KACAA,EAAA1L,eAAA,MAAA0L,EAAA1L,eAAA,MAAA0L,EAAA1L,eAAA,MACA+xG,EAAAwJ,EAAA7vG,EAAA9C,EAAA8C,EAAA/J,EAAA+J,EAAA1F,GACAi/B,GAAA,EACA1hB,EAAA,MAAAvM,OAAAtL,EAAA9C,GAAAwO,QAAA,iBrP02oBqB1L,EAAM1L,eAAe,MAAQ0L,EAAM1L,eAAe,MAAQ0L,EAAM1L,eAAe,MqPv2oBpG0L,EAAA/L,EAAA67G,EAAA9vG,EAAA/L,GACA+L,EAAA9K,EAAA46G,EAAA9vG,EAAA9K,GACAmxG,EAAA0J,EAAA/vG,EAAAsJ,EAAAtJ,EAAA/L,EAAA+L,EAAA9K,GACAqkC,GAAA,ErPy2oBgB1hB,EAAS,OAEJ7X,EAAM1L,eAAe,MAAQ0L,EAAM1L,eAAe,MAAQ0L,EAAM1L,eAAe,OqPv2oBpG0L,EAAA/L,EAAA67G,EAAA9vG,EAAA/L,GACA+L,EAAA6kG,EAAAiL,EAAA9vG,EAAA6kG,GACAwB,EAAA2J,EAAAhwG,EAAAsJ,EAAAtJ,EAAA/L,EAAA+L,EAAA6kG,GACAtrE,GAAA,EACA1hB,EAAA,OAGA7X,EAAA1L,eAAA,OACA5E,EAAAsQ,EAAAtQ,IAIAA,EAAAugH,EAAAvgH,IAGA6pC,KrPy2oBY1hB,OAAQ7X,EAAM6X,QAAUA,EqPv2oBpC3a,EAAAgzG,EAAA,IAAAC,EAAA9J,EAAAnpG,EAAA,IACAjH,EAAAi6G,EAAA,IAAAC,EAAA9J,EAAApwG,EAAA,IACAqE,EAAA41G,EAAA,IAAAC,EAAA9J,EAAA/rG,EAAA,IACA5K,KAgBA,QAAAmgH,GAAA3yG,EAAAjH,EAAAqE,GACA,OACA4C,EAAA,IAAAkzG,EAAAlzG,EAAA,KrPy2oBYjH,EAAqB,IAAlBm6G,EAAQn6G,EAAG,KqPv2oB1BqE,EAAA,IAAA81G,EAAA91G,EAAA,MAQA,QAAA+1G,GAAAnzG,EAAAjH,EAAAqE,GAEA4C,EAAAkzG,EAAAlzG,EAAA,KACAjH,EAAAm6G,EAAAn6G,EAAA,KACAqE,EAAA81G,EAAA91G,EAAA,IrP02oBQ,IqPv2oBRgP,GAAArV,ErPu2oBYmX,EAAM+kG,EAAQjzG,EAAGjH,EAAGqE,GAAIqf,EAAMu2F,EAAQhzG,EAAGjH,EAAGqE,GqPv2oBxDuqG,GAAAz5F,EAAAuO,GAAA,CrP02oBQ,IAAGvO,GAAOuO,EqPv2oBlBrQ,EAAgBrV,EAAA,MrP02oBH,CqPv2oBb,GAAArC,GAAAwZ,EAAAuO,CAEA,QADA1lB,EAAA4wG,EAAA,GAAAjzG,GAAA,EAAAwZ,EAAAuO,GAAA/nB,GAAAwZ,EAAAuO,GACAvO,GACA,IAAmBlO,GAAAoM,GAAUrT,EAAAqE,GAAA1I,GAAAqE,EAAAqE,EAAA,UAC7B,KAAArE,GAAAqT,GAAAhP,EAAA4C,GAAAtL,EAAA,OACA,KAAA0I,GAAAgP,GAAApM,EAAAjH,GAAArE,EAAA,EAGA0X,GAAA,EAGA,OAAAA,IAAArV,IAAA4wG,KAOA,QAAAmL,GAAA1mG,EAAArV,EAAA4wG,GAOA,QAAAyL,GAAAj8G,EAAAkkG,EAAAvkG,GAGA,MAFAA,GAAA,IAAAA,GAAA,GACAA,EAAA,IAAAA,GAAA,GACAA,EAAA,IAAAK,EAAA,GAAAkkG,EAAAlkG,GAAAL,EACAA,EAAA,GAAAukG,ErPy2oBevkG,EAAI,EAAE,EAAUK,GAAKkkG,EAAIlkG,IAAM,EAAE,EAAIL,GAAK,EqPv2oBzCK,ErP41oBR,GAAI6I,GAAGjH,EAAGqE,CqPz1oBlB,IAbAgP,EAAA8mG,EAAA9mG,EAAA,KACArV,EAAAm8G,EAAAn8G,EAAA,KACA4wG,EAAAuL,EAAAvL,EAAA,KAWA,IAAA5wG,EACAiJ,EAAAjH,EAAAqE,EAAAuqG,MAEA,CACA,GAAAtM,GAAAsM,EAAA,GAAAA,GAAA,EAAA5wG,GAAA4wG,EAAA5wG,EAAA4wG,EAAA5wG,ErPy2oBgBI,EAAI,EAAIwwG,EAAItM,CqPv2oB5Br7F,GAAAozG,EAAAj8G,EAAAkkG,EAAAjvF,EAAA,KACArT,EAAAq6G,EAAAj8G,EAAAkkG,EAAAjvF,GACAhP,EAAAg2G,EAAAj8G,EAAAkkG,EAAAjvF,EAAA,KAGA,OAAApM,EAAA,IAAAA,EAAAjH,EAAA,IAAAA,EAAAqE,EAAA,IAAAA,GAOA,QAAAi2G,GAAArzG,EAAAjH,EAAAqE,GAEA4C,EAAAkzG,EAAAlzG,EAAA,KACAjH,EAAAm6G,EAAAn6G,EAAA,KACAqE,EAAA81G,EAAA91G,EAAA,IAEA,IACAgP,GAAArV,EADAmX,EAAA+kG,EAAAjzG,EAAAjH,EAAAqE,GAAAqf,EAAAu2F,EAAAhzG,EAAAjH,EAAAqE,GACApF,EAAAkW,EAEAxZ,EAAgBwZ,EAAAuO,CAGhB,IAFA1lB,EAAA,IAAAmX,EAAA,EAAAxZ,EAAAwZ,EAEAA,GAAAuO,EACArQ,EAAA,MAEA,CACA,OAAA8B,GrPy2oBgB,IAAKlO,GAAGoM,GAAKrT,EAAIqE,GAAK1I,GAAKqE,EAAIqE,EAAI,EAAI,EAAI,MqPv2oB3D,KAAArE,GAAAqT,GAAAhP,EAAA4C,GAAAtL,EAAA,OACA,KAAA0I,GAAAgP,GAAApM,EAAAjH,GAAArE,EAAA,ErP02oBY0X,GAAK,EqPt2oBjB,OAAAA,IAAArV,IAAAiB,KAOA,QAAA66G,GAAAzmG,EAAArV,EAAAiB,GAEAoU,EAAgB,EAAhB8mG,EAAgB9mG,EAAA,KAChBrV,EAAAm8G,EAAAn8G,EAAA,KrPy2oBQiB,EAAIk7G,EAAQl7G,EAAG,IqPt2oBvB,IAAAhB,GAAAonG,EAAAnzF,MAAAmB,GACAjU,EAAAiU,EAAApV,EACAG,EAAAa,GAAA,EAAAjB,GACAskG,EAAArjG,GAAA,EAAAG,EAAApB,GrPy2oBYD,EAAIkB,GAAK,GAAK,EAAIG,GAAKpB,GqPv2oBnCu8G,EAAAt8G,EAAA,CrP62oBQ,QAASgJ,EAAO,KqP52oBxBhI,EAAAqjG,EAAAlkG,IAAAL,EAAAkB,GAAAs7G,GrP42oB6Bv6G,EAAO,KqP32oBpCjC,EAAAkB,IAAAqjG,EAAAlkG,KAAAm8G,GrP22oByCl2G,EAAO,KqP12oBhDjG,IAAAL,EAAAkB,IAAAqjG,GAAAiY,IASA,QAAAC,GAAAvzG,EAAAjH,EAAAqE,EAAAo2G,GAEA,GAAAjjG,IACAkjG,EAAAC,EAAA1zG,GAAAwQ,SAAA,KACAijG,EAAAC,EAAA36G,GAAAyX,SAAA,KACAijG,EAAAC,EAAAt2G,GAAAoT,SAAA,KAIA,OAAAgjG,IAAAjjG,EAAA,GAAAmkB,OAAA,IAAAnkB,EAAA,GAAAmkB,OAAA,IAAAnkB,EAAA,GAAAmkB,OAAA,IAAAnkB,EAAA,GAAAmkB,OAAA,IAAAnkB,EAAA,GAAAmkB,OAAA,IAAAnkB,EAAA,GAAAmkB,OAAA,GACAnkB,EAAA,GAAAmkB,OAAA,GAAAnkB,EAAA,GAAAmkB,OAAA,GAAAnkB,EAAA,GAAAmkB,OAAA,GrP22oBenkB,EAAI5E,KAAK,IqPl2oBxB,QAAAgoG,GAAA3zG,EAAAjH,EAAAqE,EAAA5K,GASS,OANTihH,EAAAG,EAAAphH,IACAihH,EAAAC,EAAA1zG,GAAAwQ,SAAA,KACAijG,EAAAC,EAAA36G,GAAAyX,SAAA,KACAijG,EAAAC,EAAAt2G,GAAAoT,SAAA,MAGS7E,KAAA,IAuBT,QAAAkoG,GAAA/wG,EAAAy3B,GrPy2oBQA,EAAqB,IAAXA,EAAgB,EAAKA,GAAU,EqPv2oBjD,IAAAu5E,GAAApM,EAAA5kG,GAAAE,OrP22oBQ,OqP12oBR8wG,GAAA/8G,GAAAwjC,EAAA,IACAu5E,EAAA/8G,EAAAg9G,EAAAD,EAAA/8G,GrPy2oBe2wG,EAAUoM,GqPr2oBzB,QAAAE,GAAAlxG,EAAAy3B,GACAA,EAAA,IAAAA,EAAA,EAAAA,GAAA,EACA,IAAAu5E,GAAApM,EAAA5kG,GAAAE,OrP22oBQ,OqP12oBR8wG,GAAA/8G,GAAAwjC,EAAA,IACAu5E,EAAA/8G,EAAAg9G,EAAAD,EAAA/8G,GrPy2oBe2wG,EAAUoM,GqPr2oBzB,QAAAG,GAAAnxG,GACA,MAAA4kG,GAAA5kG,GAAA+wG,WAAA,KAGA,QAAAK,GAAApxG,EAAAy3B,GACAA,EAAA,IAAAA,EAAA,EAAAA,GAAA,ErPy2oBQ,IAAIu5E,GAAMpM,EAAU5kG,GAAOE,OqPr2oBnC,OAFA8wG,GAAAnM,GAAAptE,EAAA,IACAu5E,EAAAnM,EAAAoM,EAAAD,EAAAnM,GACAD,EAAAoM,GAGA,QAAAK,GAAArxG,EAAAy3B,GACAA,EAAA,IAAAA,EAAA,EAAAA,GAAA,ErPy2oBQ,IAAI4uE,GAAMzB,EAAU5kG,GAAOgqG,OqPp2oBnC,OAHA3D,GAAAnpG,EAAAizG,EAAA,EAAAD,EAAA,IAAA7J,EAAAnpG,EAAA0zG,GAAAn5E,EAAA,WACA4uE,EAAApwG,EAAAk6G,EAAA,EAAAD,EAAA,IAAA7J,EAAApwG,EAAA26G,GAAAn5E,EAAA,WACA4uE,EAAA/rG,EAAA61G,EAAA,EAAAD,EAAA,IAAA7J,EAAA/rG,EAAAs2G,GAAAn5E,EAAA,WACAmtE,EAAAyB,GAGA,QAAAiL,GAAAtxG,EAAAy3B,GACAA,EAAA,IAAAA,EAAA,EAAAA,GAAA,ErPy2oBQ,IAAIu5E,GAAMpM,EAAU5kG,GAAOE,OqPr2oBnC,OAFA8wG,GAAAnM,GAAAptE,EAAA,IACAu5E,EAAAnM,EAAAoM,EAAAD,EAAAnM,GACAD,EAAAoM,GAKA,QAAAO,GAAAvxG,EAAAy3B,GACA,GAAAu5E,GAAApM,EAAA5kG,GAAAE,QACAsxG,GAAAZ,EAAAI,EAAA1nG,GAAAmuB,GAAA,GAEA,OrPu2oBQu5E,GAAI1nG,EAAIkoG,EAAM,EAAI,IAAMA,EAAMA,EqPv2oBtC5M,EAAAoM,GAQA,QAAAS,GAAAzxG,GrPy2oBQ,GAAIgxG,GAAMpM,EAAU5kG,GAAOE,OqPt2oBnC,OADA8wG,GAAA1nG,GAAA0nG,EAAA1nG,EAAA,SACAs7F,EAAAoM,GAGA,QAAAU,GAAA1xG,GACA,GAAAgxG,GAAApM,EAAuB5kG,GAAAE,QACvBoJ,EAAA0nG,EAAA1nG,CACA,QACAs7F,EAAA5kG,GACA4kG,GAAAt7F,KAAA,SAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,IrPy2oBYD,GAAYt7F,GAAIA,EAAI,KAAO,IAAKrV,EAAG+8G,EAAI/8G,EAAG4wG,EAAGmM,EAAInM,KqPp2oB7D,QAAA8M,GAAA3xG,GACA,GAAAgxG,GAAApM,EAAA5kG,GAAAE,QACAoJ,EAAA0nG,EAAA1nG,CACA,QACAs7F,EAAA5kG,GACA4kG,GAAAt7F,KAAA,QAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,IrPy2oBYD,GAAYt7F,GAAIA,EAAI,KAAO,IAAKrV,EAAG+8G,EAAI/8G,EAAG4wG,EAAGmM,EAAInM,IqPv2oB7DD,GAAAt7F,KAAA,SAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,KAIA,QAAA+M,GAAA5xG,GACA,GAAAgxG,GAAApM,EAAA5kG,GAAAE,QACAoJ,EAAA0nG,EAAA1nG,CrPy2oBQ,QqPv2oBRs7F,EAAA5kG,GACA4kG,GAAAt7F,KAAA,QAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,IACAD,GAAAt7F,KAAA,SAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,KrP42oBI,QAASgN,GAAU7xG,EAAOk5C,EAAS44D,GqPv2oBvC54D,KAAA,EACA44D,KAAA,EAEA,IAAAd,GAAApM,EAAA5kG,GAAAE,QACA65B,EAAA,IAAA+3E,EACAC,GAAAnN,EAAA5kG,GAEA,KAAAgxG,EAAA1nG,GAAA0nG,EAAA1nG,GAAAywB,EAAAmf,GAAA,cAAAA,GACA83D,EAAA1nG,GAAA0nG,EAAA1nG,EAAAywB,GAAgC,IAChCg4E,EAAAh8G,KAAA6uG,EAAAoM,GrP02oBQ,OAAOe,GAGX,QAASC,GAAchyG,EAAOk5C,GqPv2oBlCA,KAAA,CAMA,KALA,GAAA+4D,GAAArN,EAAA5kG,GAAAgpG,QrPy2oBY1/F,EAAI2oG,EAAI3oG,EAAGrV,EAAIg+G,EAAIh+G,EAAGiB,EAAI+8G,EAAI/8G,EqPv2oB1C68G,KACAG,EAAA,EAAAh5D,EAEAA,KACA64D,EAAAh8G,KAAA6uG,GAAAt7F,IAAArV,IAAAiB,OrPy2oBYA,GAAKA,EAAIg9G,GAAgB,CqPr2oBrC,OAAAH,GAwRA,QAAA9B,GAAAvgH,GrP+2oBQ,MqP92oBRA,GAAAuc,WAAAvc,IAEA+W,MAAA/W,MAAA,GAAAA,EAAA,KACAA,EAAA,GrP22oBeA,EqPp2oBf,QAAA0gH,GAAA3gH,EAAA2b,GrPy2oBY+mG,EAAe1iH,KAAMA,EAAI,OqPt2oBrC,IAAA2iH,GAAAC,EAAA5iH,EASA,OARAA,GAAAygH,EAAA9kG,EAAA+kG,EAAA,EAAAlkG,WAAAxc,KAGA2iH,IACA3iH,EAAAgb,SAAAhb,EAAA2b,EAAA,SAIAkwF,EAAAt1F,IAAAvW,EAAA2b,GAAA,KACA,EAIA3b,EAAA2b,EAAAa,WAAAb,GrP42oBI,QAAS6lG,GAAQjvF,GqPv2oBrB,MAAAkuF,GAAA,EAAAC,EAAA,EAAAnuF,IrP42oBI,QAASswF,GAAgBtwF,GqPv2oB7B,MAAAvX,UAAAuX,EAAA,IAKA,QAAAmwF,GAAA1iH,GACA,sBAAAA,KAAA,GAAAA,EAAA4T,QAAA,UAAA4I,WAAAxc,GrP42oBI,QAAS4iH,GAAa5iH,GqPv2oB1B,sBAAAA,KAAA,GAAAA,EAAA4T,QAAA,KAIA,QAAAstG,GAAA1zG,GACA,UAAAA,EAAA7I,OAAA,IAAA6I,EAAA,GAAAA,EAIA,QAAA6yG,GAAArgH,GAKA,MAJAA,IAAA,IrPy2oBYA,EAAS,IAAJA,EAAW,KqPr2oB5BA,EAIA,QAAAqhH,GAAAl/G,GrPy2oBQ,MAAOmU,MAAKwF,MAAsB,IAAhBU,WAAWra,IAAU8b,SAAS,IAGpD,QAAS6kG,GAAoBjpG,GqPv2oBjC,MAAAgpG,GAAAhpG,GAAA,IAoCA,QAAAsmG,GAAA5vG,GAEAA,IAAA+C,QAAAyvG,EAAA,IAAAzvG,QAAA0vG,EAAA,IAAA/sG,aACA,IAAAgtG,IAAA,CACA,IAAAC,EAAA3yG,GACAA,EAAA2yG,EAAA3yG,GACA0yG,GAAA,MAEA,mBAAA1yG,EACA,OAAA9C,EAAA,EAAAjH,EAAA,EAAAqE,EAAA,EAAA5K,EAAA,EAAAmoB,OAAA,OAOA,IAAAxN,EACA,QAAAA,EAAAuoG,EAAAvM,IAAA7uE,KAAAx3B,KACA9C,EAAAmN,EAAA,GAAApU,EAAAoU,EAAA,GAAA/P,EAAA+P,EAAA,KAEAA,EAAAuoG,EAAAC,KAAAr7E,KAAAx3B,KACA9C,EAAAmN,EAAA,GAAApU,EAAAoU,EAAA,GAAA/P,EAAA+P,EAAA,GAAA3a,EAAA2a,EAAA,KAEAA,EAAAuoG,EAAA5B,IAAAx5E,KAAAx3B,KACAsJ,EAAAe,EAAA,GAAApW,EAAAoW,EAAA,GAAAw6F,EAAAx6F,EAAA,KAEAA,EAAAuoG,EAAAE,KAAAt7E,KAAAx3B,KACAsJ,EAAAe,EAAA,GAAApW,EAAAoW,EAAA,GAAAw6F,EAAAx6F,EAAA,GAAA3a,EAAA2a,EAAA,KAEAA,EAAAuoG,EAAAX,IAAAz6E,KAAAx3B,KACAsJ,EAAAe,EAAA,GAAApW,EAAAoW,EAAA,GAAAnV,EAAAmV,EAAA,KAEAA,EAAAuoG,EAAAG,KAAAv7E,KAAAx3B,KACAsJ,EAAAe,EAAA,GAAApW,EAAAoW,EAAA,GAAAnV,EAAAmV,EAAA,GAAA3a,EAAA2a,EAAA,KAEAA,EAAAuoG,EAAAI,KAAAx7E,KAAAx3B,KAEAtQ,EAAA6iH,EAAAloG,EAAA,IACAnN,EAAAo1G,EAAAjoG,EAAA,IACApU,EAAAq8G,EAAAjoG,EAAA,IACA/P,EAAAg4G,EAAAjoG,EAAA,IACAwN,OAAA66F,EAAA,gBAGAroG,EAAAuoG,EAAAK,KAAAz7E,KAAAx3B,KrP02oBgB9C,EAAGo1G,EAAgBjoG,EAAM,IqPv2oBzCpU,EAAAq8G,EAAAjoG,EAAA,IACA/P,EAAAg4G,EAAAjoG,EAAA,IrPy2oBgBwN,OAAQ66F,EAAQ,OAAS,UAG5BroG,EAAQuoG,EAASM,KAAK17E,KAAKx3B,MqPt2oBxC9C,EAAAo1G,EAAAjoG,EAAA,MAAAA,EAAA,IACApU,EAAAq8G,EAAAjoG,EAAA,MAAAA,EAAA,IACA/P,EAAAg4G,EAAAjoG,EAAA,MAAAA,EAAA,IACKwN,OAAA66F,EAAA,cAjkCL,GAAAF,GAAA,WACAC,EAAA,OACAU,EAAA,EACA7X,EAAAv1F,KACA6qG,EAAAtV,EAAA/vF,MACA2kG,EAAA5U,EAAA3hF,IACAw2F,EAAA7U,EAAAlwF,IACAgoG,EAAA9X,EAAAz/C,OAEA+oD,EAAA,SAAA5kG,EAAA8Z,GAMA,GAJA9Z,EAAA,MACA8Z,QAGA9Z,YAAA4kG,GACA,MAAA5kG,EAGA,MAAAvP,eAAAm0G,IACA,UAAAA,GAAA5kG,EAAA8Z,EAGA,IAAAusF,GAAAsJ,EAA0B3vG,EAC1BvP,MAAA4iH,eAA0BrzG,EAC1BvP,KAAA6iH,GAAAjN,EAAAnpG,ErPy2oBQzM,KAAK8iH,GAAKlN,EAAIpwG,EqPv2oBtBxF,KAAAuJ,GAAAqsG,EAAA/rG,EACA7J,KAAAiJ,GAAA2sG,EAAA32G,EACAe,KAAA+iH,QAAA5C,EAAA,IAAAngH,KAAAiJ,IAAA,IrPy2oBQjJ,KAAKgjH,QAAU35F,EAAKjC,QAAUwuF,EAAIxuF,OqPv2oB1CpnB,KAAAijH,cAAA55F,EAAAuwF,aAMS55G,KAAA6iH,GAAA,IAAA7iH,KAAA6iH,GAAA1C,EAAAngH,KAAA6iH,KACT7iH,KAAA8iH,GAAA,IAAA9iH,KAAA8iH,GAAA3C,EAAAngH,KAAA8iH,KACA9iH,KAAAuJ,GAAA,IAAAvJ,KAAAuJ,GAAA42G,EAAAngH,KAAAuJ,KAEAvJ,KAAAkjH,IAAAtN,EAAA9sE,GACA9oC,KAAAmjH,OAAAT,IAGAvO,GAAA5zG,WACAi0E,OAAS,WACT,MAAAx0E,MAAAojH,gBAAA,KAEAC,QAAS,WACT,OAAArjH,KAAAw0E,UAEA9sE,QAAA,WACS,MAAA1H,MAAAkjH,KAETI,iBAAA,WACA,MAAAtjH,MAAA4iH,gBAEAhK,UAAS,WACT,MAAA54G,MAAAgjH,SAEAO,SAAA,WACS,MAAAvjH,MAAAiJ,IAETm6G,cAAA,WACA,GAAAxN,GAAA51G,KAAAu5G,OACA,YAAA3D,EAAAnpG,EAAA,IAAAmpG,EAAApwG,EAAA,IAAAowG,EAAA/rG,GAAA,KAEA25G,SAAA,SAAA5iH,GAGA,MAFSZ,MAAAiJ,GAAAu2G,EAAA5+G,GACTZ,KAAA+iH,QAAA5C,EAAA,IAAAngH,KAAAiJ,IAAA,IACAjJ,MAEAu4G,MAAS,WACT,GAAAiJ,GAAA1B,EAAA9/G,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,GACA,QAAAsP,EAAA,IAAA2oG,EAAA3oG,EAAArV,EAAAg+G,EAAAh+G,EAAAiB,EAAA+8G,EAAA/8G,EAAAxF,EAAAe,KAAAiJ,KAEAw6G,YAAA,WACA,GAAAjC,GAAA1B,EAAA9/G,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,IACAsP,EAAAsnG,EAAA,IAAAqB,EAAA3oG,GAAArV,EAAA28G,EAAA,IAAAqB,EAAAh+G,GAAAiB,EAAA07G,EAAA,IAAAqB,EAAA/8G,EACS,WAAAzE,KAAAiJ,GACT,OAAA4P,EAAA,KAAArV,EAAA,MAAAiB,EAAA,KACA,QAAAoU,EAAA,KAAArV,EAAA,MAAAiB,EAAA,MAAAzE,KAAA+iH,QAAA,KAEAtzG,MAAA,WACA,GAAA8wG,GAAAX,EAAA5/G,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,GACS,QAAAsP,EAAA,IAAA0nG,EAAA1nG,EAAArV,EAAA+8G,EAAA/8G,EAAA4wG,EAAAmM,EAAAnM,EAAAn1G,EAAAe,KAAAiJ,KAETy6G,YAAA,WACS,GAAAnD,GAAAX,EAAA5/G,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,IACTsP,EAAAsnG,EAAA,IAAAI,EAAA1nG,GAAArV,EAAA28G,EAAA,IAAAI,EAAA/8G,GAAA4wG,EAAA+L,EAAA,IAAAI,EAAAnM,EACA,WAAAp0G,KAAAiJ,GACS,OAAA4P,EAAA,KAAArV,EAAA,MAAA4wG,EAAA,KACT,QAAAv7F,EAAA,KAAArV,EAAA,MAAA4wG,EAAA,MAAAp0G,KAAA+iH,QAAA,KAEAY,MAAS,SAAA1D,GACT,MAAAD,GAAAhgH,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,GAAA02G,IAEAtwG,YAAA,SAAAswG,GACA,UAAAjgH,KAAA2jH,MAAA1D,IAEA2D,OAAA,WACA,MAAAxD,GAAoBpgH,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,GAAAvJ,KAAAiJ,KAEpB46G,aAAA,WACA,UAAA7jH,KAAA4jH,UAEArK,MAAA,WACS,OAAA9sG,EAAA0zG,EAAAngH,KAAA6iH,IAAAr9G,EAAA26G,EAAAngH,KAAA8iH,IAAAj5G,EAAAs2G,EAAAngH,KAAAuJ,IAAAtK,EAAAe,KAAAiJ,KAETkrB,YAAA,WACA,UAAAn0B,KAAAiJ,GACA,OAAAk3G,EAAAngH,KAAA6iH,IAAA,KAAA1C,EAAAngH,KAAA8iH,IAAA,KAAA3C,EAAAngH,KAAAuJ,IAAA,IrPy2oBc,QAAU42G,EAAUngH,KAAK6iH,IAAM,KAAO1C,EAAUngH,KAAK8iH,IAAM,KAAO3C,EAAUngH,KAAKuJ,IAAM,KAAOvJ,KAAK+iH,QAAU,KqPt2oB3He,gBAAA,WACA,OAAAr3G,EAAA0zG,EAAA,IAAAR,EAAA3/G,KAAA6iH,GAAA,UAAAr9G,EAAA26G,EAAA,IAAAR,EAAA3/G,KAAA8iH,GAAA,UAAAj5G,EAAAs2G,EAAA,IAAAR,EAAA3/G,KAAAuJ,GAAA,UAAAtK,EAAAe,KAAAiJ,KAEA86G,sBAAA,WACS,UAAA/jH,KAAAiJ,GACT,OAAAk3G,EAAA,IAAAR,EAAA3/G,KAAA6iH,GAAA,YAAA1C,EAAA,IAAAR,EAAA3/G,KAAA8iH,GAAA,YAAA3C,EAAA,IAAAR,EAAA3/G,KAAAuJ,GAAA,WACA,QAAA42G,EAAA,IAAAR,EAAA3/G,KAAA6iH,GAAA,YAAA1C,EAAA,IAAAR,EAAA3/G,KAAA8iH,GAAA,YAAA3C,EAAA,IAAAR,EAAA3/G,KAAAuJ,GAAA,YAAAvJ,KAAA+iH,QAAA,KAEAiB,OAAA,WrPy2oBY,MAAgB,KAAZhkH,KAAKiJ,GqPv2oBrB,gBAGAjJ,KAAAiJ,GAAA,KAIAg7G,EAAAjE,EAAAhgH,KAAA6iH,GAAA7iH,KAAA8iH,GAAA9iH,KAAAuJ,IAAA,UAEAmrG,SAAA,SAAAwP,GrPy2oBY,GAAIC,GAAa,IAAM/D,EAAUpgH,KAAK6iH,GAAI7iH,KAAK8iH,GAAI9iH,KAAKuJ,GAAIvJ,KAAKiJ,IqPv2oB7Em7G,EAAAD,EACAvK,EAAA55G,KAAAijH,cAAA,uBrP02oBY,IAAIiB,EAAa,CqPt2oB7BE,EADAjQ,EAAA+P,GACAL,eAGA,oDAAAjK,EAAA,iBAAAuK,EAAA,gBAAAC,EAAA,KAEAnnG,SAAA,SAAAmK,GACA,GAAAi9F,KAAAj9F,CACAA,MAAApnB,KAAAgjH,OAEA,IAAA1O,IAAA,EACAgQ,EAAAtkH,KAAAiJ,GAAA,GAAAjJ,KAAAiJ,IAAA,CAGA,OAFAo7G,KAAAC,GAAA,QAAAl9F,GAAA,SAAAA,GAAA,SAAAA,GAAA,SAAAA,GAUA,QAAAA,IACAktF,EAAAt0G,KAAAm0B,eAEA,SAAA/M,IACAktF,EAAAt0G,KAAA+jH,yBAEA,QAAA38F,GAAA,SAAAA,IACAktF,EAAAt0G,KAAA2P,eAEA,SAAAyX,IrPy2oBgBktF,EAAkBt0G,KAAK2P,aAAY,IqPt2oB1C,SAAAyX,IrPy2oBOktF,EAAkBt0G,KAAK6jH,gBqPt2oBvC,SAAAz8F,IACAktF,EAAAt0G,KAAAgkH,UAEA,QAAA58F,IACAktF,EAAAt0G,KAAA0jH,eAES,QAAAt8F,IACTktF,EAAAt0G,KAAAyjH,eAGAnP,GAAAt0G,KAAA2P,eA9BA,SAAAyX,GAAA,IAAApnB,KAAAiJ,GACAjJ,KAAAgkH,SAEAhkH,KAAAm0B,eA8BAowF,mBAAA,SAAAzgF,EAAAhC,GACA,GAAAvyB,GAAAu0B,EAAA//B,MAAA,MAAA/D,MAAA4qC,UAAA/3B,MAAA/O,KAAAg+B,IAKA,OAJS9hC,MAAA6iH,GAAAtzG,EAAAszG,GACT7iH,KAAA8iH,GAAAvzG,EAAAuzG,GACA9iH,KAAAuJ,GAAAgG,EAAAhG,GACSvJ,KAAAwjH,SAAAj0G,EAAAtG,IACTjJ,MAEA2gH,QAAS,WACT,MAAA3gH,MAAAukH,mBAAA5D,EAAAj9G,YAEAk9G,SAAS,WACT,MAAA5gH,MAAAukH,mBAAA3D,EAAAl9G,YAEAm9G,OAAS,WrPy2oBG,MAAO7gH,MAAKukH,mBAAmB1D,EAAQn9G,YqPt2oBnD48G,WAAA,WACS,MAAAtgH,MAAAukH,mBAAAjE,EAAA58G,YAET+8G,SAAA,WACS,MAAAzgH,MAAAukH,mBAAA9D,EAAA/8G,YAETg9G,UAAA,WACS,MAAA1gH,MAAAukH,mBAAA7D,EAAAh9G,YAETo9G,KAAA,WACS,MAAA9gH,MAAAukH,mBAAAzD,EAAAp9G,YAGT8gH,kBAAS,SAAA1gF,EAAAhC,GACT,MAAAgC,GAAA//B,MAAA,MAAA/D,MAAA4qC,UAAA/3B,MAAA/O,KAAAg+B,MAEAs/E,UAAS,WACT,MAAAphH,MAAAwkH,kBAAApD,EAAA19G,YAEAs9G,WAAA,WACA,MAAAhhH,MAAAwkH,kBAAAxD,EAAAt9G,YAEA69G,cAAA,WACA,MAAAvhH,MAAAwkH,kBAAAjD,EAAA79G,YAEAy9G,gBAAA,WACA,MAAAnhH,MAAAwkH,kBAAArD,EAAAz9G,YAEAu9G,MAAA,WACA,MAAAjhH,MAAAwkH,kBAAAvD,EAAAv9G,YAEAw9G,OAAA,WACA,MAAAlhH,MAAAwkH,kBAAAtD,EAAAx9G,aAMAywG,EAAA0E,UAAA,SAAAtpG,EAAA8Z,GrPy2oBQ,GAAoB,gBAAT9Z,GAAmB,CqPv2oBtC,GAAAskB,KACA,QAAApwB,KAAA8L,GrPy2oBoBA,EAAM1L,eAAeJ,KqPt2oBzCowB,EAAApwB,GADA,MAAAA,EACA8L,EAAA9L,GAGA47G,EAAA9vG,EAAA9L,IAIA8L,GAAAskB,EAGA,MAAAsgF,GAAA5kG,EAAA8Z,IAkPA8qF,EAAAE,OAAA,SAAAoQ,EAAAC,GACA,SAAAD,IAAAC,IACAvQ,EAAAsQ,GAAAtwF,eAAAggF,EAAAuQ,GAAAvwF,eAEAggF,EAAA/oD,OAAA,WACA,MAAA+oD,GAAA0E,WACApsG,EAAAk2G,IACAn9G,EAAAm9G,IACA94G,EAAA84G,OA2IAxO,EAASwQ,IAAA,SAAAF,EAAAC,EAAA19E,GACTA,EAAA,IAAAA,EAAA,EAAAA,GAAA,ErP02oBQ,IqPj2oBR49E,GrPi2oBYC,EAAO1Q,EAAUsQ,GAAQlL,QqPv2oBrCuL,EAAA3Q,EAAAuQ,GAAAnL,QAEA31G,EAAAojC,EAAA,IrPy2oBYpuB,EAAQ,EAAJhV,EAAQ,EqPv2oBxB3E,EAAA6lH,EAAA7lH,EAAA4lH,EAAA5lH,CAKA2lH,GADAhsG,EAAA3Z,IAAA,EACA2Z,GAEAA,EAAA3Z,IAAA,EAAA2Z,EAAA3Z,GrP22oBQ2lH,GAAMA,EAAK,GAAK,CqPt2oBxB,IAAAG,GAAA,EAAAH,ErP02oBYxC,GqPv2oBZ31G,EAAAq4G,EAAAr4G,EAAAm4G,EAAAC,EAAAp4G,EAAAs4G,EACAv/G,EAAAs/G,EAAAt/G,EAAAo/G,EAAAC,EAAAr/G,EAAAu/G,EACAl7G,EAAAi7G,EAAAj7G,EAAA+6G,EAAAC,EAAAh7G,EAAAk7G,EACA9lH,EAAA6lH,EAAA7lH,EAAA2E,EAAAihH,EAAA5lH,GAAA,EAAA2E,GAGA,OAAAuwG,GAAAiO,IAYAjO,EAAA6Q,YAAA,SAAAP,EAAAC,GACA,GAAAO,GAAA9Q,EAAAsQ,GACAS,EAAA/Q,EAAAuQ,GACAG,EAAAI,EAAA1L,QrPy2oBYuL,EAAOI,EAAG3L,QqPv2oBtB4L,EAAAF,EAAA7B,gBACAgC,EAAAF,EAAA9B,gBACAiC,EACA/vG,KAAAqF,IAAAkqG,EAAAp4G,EAAAq4G,EAAAr4G,GAAA6I,KAAA4T,IAAA27F,EAAAp4G,EAAAq4G,EAAAr4G,GACA6I,KAAAqF,IAAAkqG,EAAAr/G,EAAAs/G,EAAAt/G,GAAA8P,KAAA4T,IAAA27F,EAAAr/G,EAAAs/G,EAAAt/G,GACA8P,KAAAqF,IAAAkqG,EAAAh7G,EAAAi7G,EAAAj7G,GAAAyL,KAAA4T,IAAA27F,EAAAh7G,EAAAi7G,EAAAj7G,EAGA,QrPy2oBYy7G,WAAYhwG,KAAKC,IAAI4vG,EAAcC,GqPv2oB/C71G,MAAA81G,IASAlR,EAAAoR,WAAqB,SAAAd,EAAsBC,GrPy2oBnC,GAAIM,GAAc7Q,EAAU6Q,YAAYP,EAAQC,EqPv2oBxD,OAAAM,GAAAM,WAAA,KAAAN,EAAAz1G,MAAA,KAQA4kG,EAAAqR,aAAA,SAAAC,EAAAC,GAIA,OAHAC,GAAA,KACAC,EAAA,EACAC,GAAA,EACApiH,EAAA,EAAAA,EAAAiiH,EAAA/hH,OAAAF,IAAA,CrP62oBY,GAAIuhH,GAAc7Q,EAAU6Q,YAAYS,EAAWC,EAAUjiH,IACzDqiH,EAAWd,EAAYM,WAAa,KAAON,EAAYz1G,MAAQ,IqPv2oB/Eg7E,EAAAy6B,EAAAM,WAAA,MAAAN,EAAAz1G,MAAA,KAEAu2G,IAAAD,GACAC,GAAAD,GAAAt7B,EAAAq7B,IACAE,IAAAD,GAAAt7B,EAAAq7B,KACAC,EAAAC,EACAF,EAAAr7B,EACAo7B,EAAAxR,EAAAuR,EAAAjiH,KAGA,MAAAkiH,GAOA,IAAAzD,GAAA/N,EAAA+N,OACA6D,UAAA,SACAC,aAAA,SACAC,KAAA,MACAC,WAAA,SACAC,MAAA,SACAC,MAAA,SACAC,OAAA,SACAC,MAAA,MACAC,eAAA,SACAC,KAAA,MACAC,WAAA,SACAC,MAAA,SACAC,UAAA,SACAC,YAAA,SACAC,UAAA,SACAC,WAAA,SACAC,UAAA,SACAC,MAAA,SACAC,eAAA,SACAC,SAAA,SACAC,QAAA,SACAC,KAAA,MACAC,SAAA,SACAC,SAAA,SACAC,cAAA,SACAC,SAAA,SACAC,UAAA,SACAC,SAAA,SACAC,UAAA,SACAC,YAAA,SACAC,eAAA,SACAC,WAAA,SACAC,WAAA,SACAC,QAAA,SACAC,WAAA,SACAC,aAAA,SACAC,cAAA,SACAC,cAAA,SACAC,cAAA,SACAC,cAAA,SACAC,WAAA,SACAC,SAAA,SACAC,YAAA,SACAC,QAAA,SACAC,QAAA,SACAC,WAAA,SACAC,UAAA,SACAC,YAAA,SACAC,YAAA,SACAC,QAAA,MACAC,UAAA,SACAC,WAAA,SACAC,KAAA,SACAC,UAAA,SACAC,KAAA,SACAC,MAAA,SACAC,YAAA,SACAC,KAAA,SACAC,SAAA,SACAC,QAAA,SACAC,UAAA,SACAC,OAAA,SACAC,MAAA,SACAC,MAAA,SACAC,SAAA,SACAC,cAAA,SACAC,UAAA,SACAC,aAAA,SACAC,UAAA,SACAC,WAAA,SACAC,UAAA,SACAC,qBAAA,SACAC,UAAA,SACAC,WAAA,SACAC,UAAA,SACAC,UAAA,SACAC,YAAA,SACAC,cAAA,SACAC,aAAA,SACAC,eAAA,MACAC,eAAA,MACAC,eAAA,SACAC,YAAA,SACAC,KAAA,MACAC,UAAA,SACAC,MAAA,SACAC,QAAA,MACAC,OAAA,SACAC,iBAAA,SACAC,WAAA,SACAC,aAAA,SACAC,aAAA,SACAC,eAAA,SACAC,gBAAA,SACAC,kBAAA,SACAC,gBAAA,SACAC,gBAAA,SACAC,aAAA,SACAC,UAAA,SACAC,UAAA,SACAC,SAAA,SACAC,YAAA,SACAC,KAAA,SACAC,QAAA,SACAC,MAAA,SACAC,UAAA,SACAC,OAAA,SACAC,UAAA,SACAC,OAAA,SACAC,cAAA,SACAC,UAAA,SACAC,cAAA,SACAC,cAAA,SACAC,WAAA,SACAC,UAAA,SACAC,KAAA,SACAC,KAAA,SACAC,KAAA,SACAC,WAAA,SACAC,OAAA,SACAC,cAAA,SACAC,IAAA,MACAC,UAAA,SACAC,UAAA,SACAC,YAAA,SACAC,OAAA,SACAC,WAAA,SACAC,SAAA,SACAC,SAAA,SACAC,OAAA,SACAC,OAAA,SACAC,QAAA,SACAC,UAAA,SACAC,UAAA,SACAC,UAAA,SACAC,KAAA,SrPy2oBQC,YAAa,SqPv2oBrBC,UAAA,SACAC,IAAA,SrPy2oBQC,KAAM,SACNC,QAAS,SqPv2oBjBC,OAAA,SACAC,UAAA,SrPy2oBQC,OAAQ,SqPv2oBhBC,MAAS,SACTC,MAAA,MACAC,WAAA,SACAC,OAAA,MACAC,YAAA,UAIAlL,EAAA9P,EAAA8P,SAOA,SAAAhkE,GACA,GAAAmvE,KACA,QAAA3rH,KAAAw8C,GrPy2oBgBA,EAAEp8C,eAAeJ,KqPv2oBjC2rH,EAAAnvE,EAAAx8C,MAGA,OAAA2rH,IAdAlN,GA6FAC,EAAA,WAGA,GAMAkN,GAAA,6CAKKC,EAAA,cAAAD,EAAA,aAAAA,EAAA,aAAAA,EAAA,YrPy2oBOE,EAAoB,cAAgBF,EAAW,aAAeA,EAAW,aAAeA,EAAW,aAAeA,EAAW,WqPt2oBzI,QACAzZ,IAAA,GAAArjG,QAAA,MAAA+8G,GACAlN,KAAA,GAAA7vG,QAAA,OAAAg9G,GrPy2oBYhP,IAAK,GAAIhuG,QAAO,MAAQ+8G,GqPv2oBpCjN,KAAA,GAAA9vG,QAAA,OAAAg9G,GACA/N,IAAA,GAAAjvG,QAAA,MAAA+8G,GACAhN,KAAA,GAAA/vG,QAAA,OAAAg9G,GACA9M,KAAA,qDACAD,KAAA,qDACAD,KAAA,wErP+6oBIriH,QAAOi0G,UAAYA,KAGnBl6D,EAAE,WACMA,EAAEnW,GAAG2vE,SAAS3qG,MACdmxC,EAAEnW,GAAG2vE,SAASuL,gCASpB,SAAUrgH,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIyM,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GACpEkkH,EAAoD3wH,EAAoB,KsP7otBvE4wH,EAAA5wH,EAAA,KACgCgN,EAAA7L,WAAA6L,WAAA,WACY,GAAAC,GAAA,SAAA3K,EAAA0I,GASpE,OADFiC,EAAAzI,OAAA0I,iBAAuCC,uBAA4BC,QAAA,SAAA9K,EAAA0I,GAAA1I,EAAA6K,UAAAnC,IACjE,SAAA1I,EAAA0I,GAAA,IAAY,GAAKjG,KAAAiG,KAAAhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,MACfzC,EAAA0I,GtP0otBA,OsPxotBA,UAAK1I,EAAA0I,GACN,QAAAqC,KAAAlM,KAAAmM,YAAAhL,EtPwotBK2K,EAAc3K,EAAG0I,GsPtotBvB1I,EAAAZ,UAAA,OAAAsJ,EAAAxG,OAAAJ,OAAA4G,IAAAqC,EAAc3L,UAAKsJ,EAAAtJ,UAAA,GAAA2L,QAQnBwjH,EAAA,SAAAnhH,GtPwotBE,QsPtotBMmhH,GAAmBlhH,GAEzB,GAAA4C,GACE7C,EAAAzK,KAAA9D,KAAAwO,IAAAxO,ItPuotBE,OAFAoR,GsPpotBAu+G,cAAAv+G,EAAAu+G,cAAAp9F,KAAAnhB,GtPqotBAA,EsPpotBAw+G,aAAAx+G,EAAAw+G,aAAAr9F,KAAAnhB,GAGAA,EtPuptBJ,MA1BAvF,GsPtotBM6jH,EAAkBnhH,GAgB1BmhH,EAAAnvH,UAAAovH,cAAA,SAAApgH,GACEvP,KAAAwO,MACEmhH,cAAApgH,ItP8ntBFmgH,EsP5ntBInvH,UAAAqvH,aAAA,WAGL5vH,KAAAwO,MAAAohH,gBAvCoCF,EAAAnvH,UAAAsvH,oBAAM,WtPoqtBrC,GAAIC,GAA8C,IAA5B9vH,KAAKwO,MAAM4Z,OAAOG,MAAc,cAAgB,csP1ntB9EwnG,EAAA,IAAA/vH,KAAAwO,MAAA4Z,OAAAG,MAAA,2BtP4ntBQ,OAAQhd,GAA4CtM,EAAE2O,cAAc,OAASC,UAAW,SACpFtC,EAA4CtM,EAAE2O,cAAc,SAAWC,UAAW,eAAiB,WACnGtC,EAA4CtM,EAAE2O,cAAc,UAAYsrB,QAASl5B,KAAK4vH,aAAc/hH,UAAW,iBAAmBiiH,GAAmB,QACrJvkH,EAA4CtM,EAAE2O,cAAc,UAAYsrB,QAASl5B,KAAK4vH,aAAc/hH,UAAW,iBAAmBkiH,GAAoB,WAE9JL,EAAkBnvH,UAAU6O,OAAS,WACjC,MAAQ7D,GAA4CtM,EAAE2O,cAAc,OAASC,UAAW,wBACpF7N,KAAKwO,MAAM4Z,OAAOG,OAASvoB,KAAK6vH,sBuPvrtB5CtkH,EAAAtM,EAAA2O,cAAA4hH,EAAA,GAAAjgH,MAAAvP,KAAAwO,MAAA4Z,OAAA7Y,MAAAwkB,cAAA/zB,KAAA2vH,kBvP0rtBWD,GACTnkH,EAA4CtM,EAAEoQ,UAEhDhM,QuPzrtBGosH,EAAA,uBAAAC,GAAA,2CvP8rtBG,SuPxrtBM/wH,EAAKC,EAAAC,GvP0rtBjB,YuP9qtBA,SAACmxH,KACD,OvPyrtBQliE,SAAU,IACVG,QAAS,UACT98C,OAAO,EACPmB,SAAS,EACT4tC,SAAU,oFACViO,KAAM,SAAUh9C,EAAO5D,EAASygD,EAAOmD,GACnChgD,EAAMggD,QAAUA,EAChBhgD,EAAMw+G,cAAgB,SAAUpgH,GAC5B4hD,EAAQvG,cAAcr7C,MuP1stBxB1Q,EAAA,GvP+stB8C,EAAEiW,UAAU,iBAAkBk7G,IwP1ttBvD,SAAArxH,EAAAC,EAAAC,GAEgD,YAOjE,IAAAO,GAAAP,EAAA,GACIQ,EAA6CR,EAAAG,EAAAI,GAAnC6wH,EAAApxH,EAAA,GAAYqxH,EAAArxH,EAAA,KAAsB4C,EAAC5C,EAAA,IAC9CsxH,EAAGtxH,EAAc,KAC7BuxH,EAA8BvxH,EAAA,KxPoutBnCwxH,EwP7ttBa,WxPgutBb,QAASA,GwP7ttBHtnH,EAAe+qD,EAAAw8D,GxP8ttBjBtwH,KAAK+I,WwP7ttBHA,ExP8ttBF/I,KAAK8zD,GAAKA,EACV9zD,KAAKswH,awP7ttBIA,ExP8ttBTtwH,KAAKuwH,awP7ttBH9uH,EAAA,EAAAZ,QAAA,6BxP8ttBFb,KwP7ttBDwwH,cAAA/uH,EAAA,EAAAZ,QAAA,8BC9BP,MzPqvtBIwvH,GAAUn6D,SwP7ttBC,aAAI,qBAQjBm6D,EAAC9vH,UAAAkwH,oBAAA,SAAAC,GAEO,GAAAt/G,GAAApR,IAAR,OAAAA,MAAA2wH,2BAmBCz2F,KAAA,SAAA5O,GAlBKA,EAAU3nB,OAAA,IACV+sH,EAAoB,QACf/hH,MAAQ,SAChBvD,KAAA,gBAEWm/E,OAAA,EACHqmC,WAAO,EACRC,SAACz/G,EAAAm/G,aACH1/F,OAAOzf,EAAA0/G,aAAAv+F,KAAAnhB,GACPjJ,MAAAmjB,OxPiutBN+kG,EAAU9vH,UwP5ttBHowH,yBAAA,WxP6ttBH,GAAIv/G,GwP5ttBFpR,KACF+wH,EAAG1xH,EAAAJ,EAAA+xH,KAAAd,EAAA,EAAA77G,qBAAA,EACP,OAAG,KAAA08G,EAAAptH,OACJsG,QAAAC,YAGMlK,KAAA+I,WAAe8wB,QAAQo3F,aAAYF,IAAiB72F,KAAA,SAAA5O,GACzD,MAAAylG,GAEKzqH,IAAQ,SAAQ4qH,GACnB,MAAO7xH,GAAyBJ,EAAAyJ,KAAA4iB,GAAArgB,GAAAimH,MAG3Bj9G,OAAK,SAAAk9G,GAAA,MAA2BA,KAAKA,EAAAC,YAC1C9qH,IAAQ,SAAQ6qH,GAKZ,MAJG//G,GAAO2E,eACbo7G,EAAA3jH,IAAA,MAAA4D,EAAA2E,aAAAo7G,EAAA3jH,KAGG2jH,OAIRd,EAAC9vH,UAAAuwH,aAAA,SAAAxqF,GAGC,MADMtmC,MAAAuwH,aAAAjqF,EAAUuqF,UAACvqF,EAAQuqF,SAA3BpvH,EAiBC,EAAAd,IAAA,yBAAAX,KAAAuwH,eAhBMjqF,EAAAuqF,UAAAvqF,EAAAn+B,MAAAxE,OACIsG,QAAQC,QAAOo8B,GAGjBtmC,KAAK2wH,2BAA2Bz2F,KAAE,SAAa5O,GxPyttB9C,MwPxttBNgb,GAAIn+B,MAAOmjB,EACTrhB,QAASC,QAAUo8B,MxP0ttBvB+pF,EAAU9vH,UwPvttBJ8wH,cAAS,SAAA/qF,GxP0ttBX,MAFAtmC,MAAKwwH,cwPvttBKlqF,EAAOuqF,UAAavqF,EAAAuqF,SxPwttB9BpvH,EwPvttBuC,EAAAd,IAAA,0BAAAX,KAAAwwH,exPwttBhCvmH,QwPvttBLC,QAAOo8B,IxPyttBb+pF,EwPvttBG9vH,UAAA+wH,WAAA,SAAAZ,GACH,GAAGt/G,GAAApR,IACJ,OAAAmwH,GAAA,EAAAluH,WAGMjC,KAAA+I,WAAe8wB,QAAQ03F,SAAa,EAAAv1G,MAAA,IAAAke,KAAA,SAAA5O,GAClCA,EAAQ3nB,OAAA,IAEX+sH,EAAmB,SACX/hH,MAAM,UACNvD,KAAA,eACRm/E,OACF,EACQsmC,SAAQz/G,EAAQo/G,cAChB3/F,OAAOzf,EAAAigH,cAAA9+F,KAAAnhB,GACPjJ,MAACmjB,MAXbrhB,QAAAC,WxPqutBEmmH,EwPnttBE9vH,UAASs5B,OAAU,SAAWt6B,GxPottB5B,GwPnttBH6R,GAAApR,IAEDA,MAAK+V,aAAaxW,EAAMwW,mBACnBxW,GAAUwW,YxPmttBX,IwPlttBF26G,MACDc,KAEDr7F,EAAS92B,EAC4BJ,EAAAgrC,MAAA1qC,GACjCkyH,EAAYlyH,EAAA42B,OAEd52B,EAAA4/D,KAAA5/D,EAAA4/D,IAAAx7D,OAAA,GAEFpE,EAAYgyH,SACVhyH,EAAOmyH,WAAAnyH,EAAAmyH,UAAA/tH,OAAA,CxP4ttBL,OwP3ttBDpE,GAAAoyH,YAAAF,GACJD,EAAAlsH,KAAAtF,KAAAywH,oBAAAC,IAGKnxH,EAAQqyH,aAAcH,GACxBD,EAAOlsH,KAAAtF,KAASsxH,WAAAZ,IAGlBv6F,EAAAu7F,UAAAv7F,EAAsBu7F,cACND,IAAXt7F,EAAIu7F,WAAG,IxP+stBRF,EwP7stBAlsH,KAAAtF,KAAS+I,WAAU8wB,OAAA1D,GAAA+D,KAAA,SAAAuuB,GxP8stBf,MAAOr3C,GwP7stBLygH,mBAAMnB,EAAAjoE,MxP+stBLzoD,KwP7stBL8zD,GAAAna,IAAO63E,GAASt3F,KAAA,WxP8stBd,MAAO76B,GwP7stBMJ,EAAAuR,OAAAnR,EAAAJ,EAAAqiE,OAAAovD,GAAA,YxPgttBrBL,EAAU9vH,UwP7stBDsxH,mBAAS,SAAAnB,EAAAjoE,GxP8stBd,GwP7stBQ,IxP6stBJA,EwP7stBF9kD,OxP8stBE,MAAO+sH,EAGX,KwP7stBH,GAAA5lH,GAAA,EAAAgnH,EAAArpE,EAAA39C,EAAAgnH,EAAAnuH,OAAAmH,IAAA,CAED,GAAgBqmH,GAAAW,EAAAhnH,EAAJ,iBAAHqmH,EAAGxqH,OACN+pH,EAAQS,EAAKlmH,KACfA,GAAAkmH,EAASlmH,GACVwhC,IAAA0kF,EAAA1kF,IAED99B,MAAAwiH,EAAAxiH,MACQkiH,UAAC,EACH1oH,SACL0oB,OAAA7wB,KAAA+xH,aAAAx/F,KAAAvyB,MAAMwN,IAAA2jH,EAAA3jH,IACDpC,KAAA,eAEAm/E,MAAClrF,EAAcJ,EAAAoH,KAAAqqH,GAAA/sH,SxPgttBnB,IAAK,GAAIsF,GwP5stBN,EAAA+oH,EAAAvpE,EAAAx/C,EAAA+oH,EAAAruH,OAAAsF,IAAA,CxP6stBC,GAAIkoH,GwP5stBPa,EAAA/oH,ExP6stBG,IwP3stBA,gBAAJkoH,EAAIxqH,KxP2stBA,CwPtstBN,GAAI3G,KAAA+V,aACAo7G,EAAC3jH,IAAS,MAAAxN,KAAA+V,aAAAo7G,EAAA3jH,QxP4stBH,CACD,GAAIuI,GwP1stBA/V,KAAQswH,aAAAv6G,YxP2stBZ,KAAKA,EwP1stBA,CxP2stBD,GwP1stBRlC,GAAWu8G,EAAW,EAAAn6G,qBACtBpC,GAASlQ,OAAS,IAClBoS,EAASlC,EAAA,IxP6stBDkC,IACAo7G,EwP1stBR3jH,IAAA,MAAAuI,EAAAo7G,EAAA3jH,KxP6stBA,GAAI84B,GwP3stBNoqF,EAAUS,EAAAc,UAAA,ExP4stBH3rF,KAEGA,EADA6qF,EwP3stBRc,UAEAhnH,GAAIkmH,EAAEc,SACNxlF,IAAA0kF,EAAQe,UACRvjH,MAAOwiH,EAAAgB,YACP3kH,IAAA2jH,EAAAiB,UACHjqH,SACDiD,KAAc,oBACNylB,OAAK7wB,KAAQ+xH,aAASx/F,KAAQvyB,MACvCuqF,MAAAlrF,EAAAJ,EAAAoH,KAAAqqH,GAAA/sH,SAOGsH,GAAA,EACU0D,MAAI,UACLxG,SAEHiD,KAAM,oBACTylB,OAAQ7wB,KAAQ+xH,aAASx/F,KAAAvyB,MACjCuqF,MAAAlrF,EAAAJ,EAAAoH,KAAAqqH,GAAA/sH,QAMM+sH,EAAKS,EAAAc,UAAkB,GAAO3rF,GAEnCA,EAAOuqF,UAAQ,EACdvqF,EAAAn+B,MAAA7C,KAAA6rH,MxPystBHd,EwPrstBA9vH,UAAYwxH,aAAe,SAAAzrF,GAE9B,GADEA,EAAAuqF,UAAAvqF,EAAAuqF,SACHvqF,EAAAl7B,KAACk7B,EAAAuqF,SAAA,mCAAAvqF,EAAAn+B,MAAAxE,OxPustBW,MAAOsG,SAAQC,QAAQo8B,EAE3B,IAAInQ,IACAu7F,WAAYprF,EAAQr7B,IAExB,OAAOjL,MAAK+I,WAAW8wB,OAAO1D,GAAO+D,KAAK,SAAUuuB,GAEhD,MADAniB,GAAQn+B,MAAQsgD,EACTx+C,QAAQC,QAAQo8B,MAG/B+pF,EAAU9vH,UAAU8xH,iBAAmB,WACnC,MAAOryH,MAAK+I,WAAWvI,IAAI,yByPv7tBnC6vH,IACAJ,GAAA,EAAA7tF,QAAA,YAA0FiuF,IAM1F,SAAc1xH,EAAAC,EAAAC,GAEd,YzP+8tBA,SyPt7tBOyzH,GAAgBvoH,EAAAwoH,GzPw7tBnB,GAAIC,EyPt7tBsCvzH,EAAAw5B,WAAS1uB,GzPu7tB/C,MAAOA,EAGX,KyPv7tBEA,EACH,SAAAP,OAAA,kDzP07tBC,IyPt7tBDipH,EAED,KACDA,EAAAF,EAAA/xH,IAAAuJ,GAGD,MAASxE,IACP,IAAIktH,EACF,IACDA,EAAA1oH,EAAAugC,MAAA,KAAAvC,OAAA,SAAAnc,EAAA8mG,GACU,MAAQ9mG,GAAA8mG,IACbxyH,QAEJ,MAAIqF,IzPs7tBJ,IyPp7tBCktH,EzPq7tBG,KyPr7tBGjpH,OAAA,+BAAAO,EzPu7tBP,OAAO0oH,GAGX,QyPr7tBIE,GAAA7uF,EAAA3yB,GACF,GAAA2yB,EAAO8uF,eACP,MAAO9uF,EAGT,IAAA+uF,GAAA,WzPq7tBQ,GAAI/wF,GAAOp+B,UACPovH,EAAQ3hH,EAAM4hH,MAAMt/D,OACxB,OAAc,WAAVq/D,GAAgC,YAAVA,EACfhvF,EAAG//B,MAAM,KAAM+9B,GAGf3wB,EAAM4lB,OAAO,WAChB,MAAO+M,GAAG//B,MAAM,KAAM+9B,KyP/6tBpC,OADF+wF,GAASD,gBAAoB,EACpBC,EzPk8tBT,QAASG,GAAe1wF,EAAKnxB,EAAO8hH,GAChC,MAAO5vH,QAAOgD,KAAKi8B,OAAWyF,OAAO,SAAUsa,EAAM5hD,GACjD,GAAIG,GAAQ0hC,EAAI7hC,GACZJ,GAAU4yH,OAAmBxyH,MyPz6tBvC,OAFI4hD,GAAA5hD,GAAA+xH,EAA2BvzH,EAAAw5B,WAAA73B,KAAA,IAAAP,EAAAoyG,UAAAkgB,EAAA/xH,EAAAuQ,GAAAvQ,EAE/ByhD,OzP27tBF,QyPj7tBK6wE,GAAA1gB,EAAArhG,EAAAgiH,EAAAC,GzPk7tBD,GAAIC,GyPl7tBGb,EAAAvzH,EAAAw5B,WAAAtnB,EAAAmiH,kBzPm7tBHC,EyPl7tBWf,EAAyCvzH,EAAWw5B,WAAEtnB,EAAAqiH,azPm7tBjEC,IyPj7tBNN,GAAG7hG,QAAA,SAAAoV,GAEC,GAAAgtF,GAAeC,EAAYjtF,GAC7BktF,EAAWC,EAAArhB,EAAA9rE,EACZ,gBAAAktF,GAAAP,EAEGliH,EAAAmiH,iBAAsBI,EAAQN,GAEjC,cAAAQ,GAAAL,EACFE,EAAAnuH,KAAAouH,GAGmC,aAA3BE,GAIRziH,EAAA0kB,OAAA69F,EAAAN,EAAA,cAAAQ,KAIc,aAAbphB,GACD4gB,IAGDK,EAA2B9vH,QACzBwN,EAAOqiH,YAAcC,EAAqBL,GzPi7tB5C,QyP56tBEU,GAAqBl/G,EAAQpG,EAAU2C,EAAKwiB,GAC7CxiB,EAAA4iH,WAAA,WAED9iB,EAAAhyG,EAAAmQ,OAAA7D,EAA2FtM,EAAA2O,cAAAgH,EAAApG,GAAAmlB,EAAA,MzP+6tB3F,QyP36tBOqgG,GAAC/uE,GACN,MAAOh5C,OAAM+H,QAAOixC,KAAA,GAAAA,EAItB,QAASgvE,GAAAhvE,GACP,MAAIh5C,OAAA+H,QAAgBixC,GAASA,EAAA,MAI/B,QAAA0uE,GAAmB1uE,GACnB,MAAAh5C,OAAA+H,QAAAixC,KAAA,GAAAA,EAGA,QAAAivE,GAAAlmE,EAAAmmE,GAIE,MAAAnmE,GAHA3qD,OAAAgD,KAAA2nD,GAAA/5C,OAAA,SAAA+mC,GACF,MAAAA,GAAA/lC,gBAAAk/G,EAAAl/G,gBACA,IAIA,QAAA4+G,GAAAO,EAAAnvE,GAEA,MADAh5C,OAAA+H,QAAAixC,IAAgDutE,EAAAvzH,EAAAsxB,SAAA00B,EAAA,KAAAA,EAAA,GAAAutD,YACjB4hB,EA5KL,GAAA9oH,GAAAzM,EAAA,GACO0M,EAAA1M,EAAAG,EAAAsM,GACH0lG,EAAAnyG,EAAA,IAE9BoyG,EAAApyG,EAAAG,EAAAgyG,GACsBqjB,EAAAx1H,EAAA,IACb2zH,EAAiC3zH,EAAAG,EAAAq1H,GzPmmuBtC5B,EyPr6tBS,SAAMF,GzPs6tBf,OACIzkE,SyPr6tBC,IzPs6tBDx7C,SAAS,EACT67C,KAAM,SyPt6tBJh9C,EAAWwiB,EAAMq6B,GzPu6tBf,GAAIykE,GyPt6tBJH,EAAkBtkE,EAAAjkD,KAAAwoH,GzPu6tBd+B,EyPt6tBH,WzPu6tBG,GyPt6tBPC,GAAApjH,EAAA65C,MAAAgD,EAAAx/C,OACAA,EAAAwkH,EAAAuB,EAAApjH,EACJ2iH,GAAArB,EAAAjkH,EAAA2C,EAAAwiB,GAILq6B,GAAAx/C,MAAmB0kH,EAAAllE,EAAAwkD,WAAArhG,GAAA68C,EAAAx/C,OAAA8lH,OAEjBnjH,EAAAG,IAAA,sBACF08C,EAAAwmE,eAIArjH,EAAA65C,MAA+BgD,EAAAwmE,gBAC/BC,iBAAAxjB,EAAyDhyG,EAAAy1H,uBAAAniG,KAAAvyB,KAAA2zB,EAAA,MAJvDs9E,EAAAhyG,EAAAy1H,uBAAA/gG,EAAA,SzP08tBE5e,EAAiB,SyPj6tBFw9G,GzPk6tBf,MAAO,UyPj6tBAoC,EAAEnmH,EAAAomH,EAAAC,GzPk6tBL,GAAI//G,IACAg5C,SyPh6tBF,IzPi6tBEx7C,SyPh6tBF,EzPi6tBE67C,KyPh6tBF,SAAAh9C,EAAAwiB,EAAAq6B,GAEF,GAAAykE,GAAAH,EAAAqC,EAAApC,EAEA/jH,GAAIA,GAAAnL,OAAkBgD,KAAMosH,EAAaqC,cAEzC,IAAGR,GAAA,WAEH,GAAAC,MAAAl0H,IACAmO,GAAM8iB,QAAS,SAAW2zB,GAE1B,GAAAkvE,GAAAH,EAAkC/uE,EAC5BsvE,GAAIJ,GAAYhjH,EAAA65C,MAAAkpE,EAAAlmE,EAAAmmE,IAChB9zH,EAAO8zH,GAAAF,EAAgBhvE,KzP+5tBjBsvE,EyP75tBTvB,EAAAuB,EAAApjH,EAAA9Q,GzP85tBSk0H,EyP95tBH/B,EAAAvzH,EAAAc,UAAAw0H,EAAAM,GzP+5tBGf,EyP95tBIrB,EAAM8B,EAAgBpjH,EAAAwiB,IAInCohG,EAAAvmH,EAAAlI,IAAA,SAAA2+C,GACJ,MAAAh5C,OAAA+H,QAAAixC,IAAA+I,EAAAgmE,EAAA/uE,IAAAgvE,EAAAhvE,IAAA+I,EAAA/I,IAGHz2C,GAAA7K,OAAAuvH,EAAAllE,EAAAwkD,WAAArhG,EAAA4jH,EAAAT,OAGWnjH,EAAAG,IAAA,sBACI08C,EAAAwmE,ezPi6tBKrjH,EAAM65C,MAAMgD,EAAMwmE,gBACdC,iBAAkBxjB,EAAgDhyG,EAAEy1H,uBAAuBniG,KAAKvyB,KAAM2zB,EAAK,MyPj6tBtHs9E,EAAiDhyG,EAAAy1H,uBAAA/gG,EAAA,OzPu6tB1D,OAAO6+F,GAA8CvzH,EAAEc,OAAO+U,EAAW8/G,KAG7EI,EAAWxC,EAA8CvzH,EAAEN,OAAO,WACtEq2H,GAASlgH,UAAU,kBAAmB,YAAa29G,IACnDuC,EAASnyH,QAAQ,kBAAmB,YAAakS,KAK3C,SAAUpW,EAAQC,EAAqBC,GAE7C,YAoEA,SAASo2H,G0PrsuBKC,EAAe9zH,EAAS8vD,EAAa57B,EAAe6/F,G1PssuB9D,OACIrnE,S0PrsuBC,I1PssuBDzU,W0PrsuBC+7E,E1PssuBDjnE,K0PpsuBF,SAAAh9C,EAAAwiB,G1P+wuBM,QAAS0hG,K0PpruBVC,GAKH/wH,EAAA82C,SAAmB,oBAGjB,GAAI1lB,OAACC,UAAY2/F,EAAqBC,IAEtCF,GAAA,EACA/wH,EAAIiwB,SAAA,qBAEFihG,IACAC,GAAA,EACAnxH,EAAAq2C,YAAS,iB1PoruBGsW,E0PnruBV,WACC57B,EAAK69B,WAAA,WACT,OAKL,QAAKwiE,KACDJ,GAAS,GAAA5/F,OAAAC,UACb0/F,IACQA,GAAC,EACT/wH,EAAAq2C,YAAA,qBAGA86E,IACYA,GAAA,EAEZnxH,EAAAiwB,SAAA,iBACEohG,EAAiB,EAAAloH,KAAA,wBACjBwjD,EAAA,WACC57B,EAAA69B,WAAA,WAEH,O1PokuBM,G0PpsuBJsiE,GACAlxH,EAAK4sG,IAA6B,OAGpCA,GAAAlyG,EAAA6kC,GAAA4Z,MAAAzB,YAAS17C,UAAIy8C,aAAA,a1PosuBPy4E,E0PnsuBCtkH,EAAY/P,WAAAU,SACnByC,EAAGi3C,YAAA,gBAAAi6E,GAEHG,EAAA,EAAU3kH,GAAG,wBAAwB,SAAE4kH,GACrC,GAAI3+C,GAAY2+C,EAAC7oF,WAAmBe,IAKnC,IAJAmpC,IAAAjjE,OAAA,SAAAxP,GAEG,MAAO,kBAAAA,EAAAsF,OAEVmtE,EAAAvzE,OAAA,GAAAuzE,EAAA,GAAAtrD,QAAAhrB,MAAA,CAEH,GAAAmV,GAAAiE,SAAAk9D,EAAwC,GAAAtrD,QAAAhrB,MACpCk1H,GAA6C,EAAAhgH,wBAAAC,MAIjD6/G,EAAsB,EAAA3kH,GAAA,6BACtBwkH,EAAAtkH,EAAsB/P,WAAAU,SAClByC,EAAAi3C,YAAU,mB1PisuBRo6E,E0P/ruBW,EAAA3kH,GAAA,oC1PgsuBP1M,E0P/ruBNi3C,YAAK,uB1PisuBHo6E,E0P9ruBc,EAAA3kH,GAAA,oC1P+ruBV1M,E0P9ruBNi3C,YAAY,qB1PgsuBVrqC,EAAM0kB,O0P9ruBN,WAAc,MAAAq/F,GAAWa,WAAA,SAAAphE,G1P+ruBrBhhC,E0P9ruBL6nB,YAAA,uBAAAmZ,MAImC,IAAtCjyD,SAAKszH,OAAWpjH,QAAC,cAEjBrO,EAAAiwB,SAAA,kB1PgsuBI,IAAIyhG,EACJ9kH,G0P1ruBJG,IAAA,+BAAAhE,EAAA0D,GACIilH,GACF1xH,EAAKq2C,YAASq7E,GAGdjlH,EAAKklH,UACND,EAAAjlH,EAAAklH,QAAAD,YAGgB1xH,EAAAiwB,SAAAyhG,GAGhB1xH,EAAAq2C,YAAA,qBAEHu2D,IAAoB,sBAAAngF,SAEdhgB,EAACu3B,OAAW4tF,OACfP,EAAA,EAAAloH,KAAA,qBAICsD,EAAAu3B,OAAa6tF,WACb7xH,EAAAiwB,SAAiB,qBAGrBjwB,EAASiwB,SAAA,iB1PyruBC,K0PtruBP,GAAA1pB,GAAA,EAAA7B,EAAAotH,EAAAp3H,EAAAq3H,MAAAxrH,EAAA7B,EAAAtF,OAAAmH,IAAA,CACD7B,EAAA6B,GACSqkB,a1P0ruBLymG,E0PrruBiB,EAAA3kH,GAAA,+B1PsruBb1M,E0PrruBNi3C,YAAa,oB1PwruBX,IAAI+5E,I0PrruBJ,GAAA5/F,OAAiBC,U1PsruBb0/F,G0PrruBC,E1PsruBDE,E0PrruBK,Q1PsruBLE,G0PrruBF,C1P4tuBFnxH,G0P/quBHgyH,UAAAZ,G1PgruBGpxH,E0P9quBJm3C,QAAAi6E,G1PgruBIjzH,S0P9quBA4vB,iBAAgB,QAAOqjG,GAA4Ba,SAAC,EAAAC,SAAA,I1PgruBpD/zH,S0P9quBF4vB,iBAAI,mBAAsBqjG,G1PgruBxBe,Y0P9quBFrB,EAAW,K1P+quBTO,E0P9quB0C,EAAA3kH,GAAA,8B1P+quBtCskH,E0P9quBE,E1P+quBFF,MAGJ9wH,E0P7quBHu3C,MAAA,SAAAxuC,GAED,GAAAhB,GAAA6kG,IAAc7jG,EAAAhB,OACd,IAAc,IAAVA,EAAKqqH,UAAKhzH,OAAd,C1PiruBQ,GAAIizH,G0P5quBTtqH,EAAAs0C,QAAA,oB1P6quBK,I0P5quBPg2E,EAAAjzH,OAAA,CAED,GAAAkzH,GAAgBD,EAAA7yF,QACZ6yF,GAAc73E,SACd3oB,WAAQ,WACVygG,EAAetjE,OAAAqjE,IAChB,KAEJ,IAAAtqH,EAAAqqH,QAAA,6BAAAhzH,QACDuxH,EAAA/wF,O1P8quBgB5/B,EAAKmE,KAAK,qBAAqB/E,OAAS,GAC0C,IAA9E2I,EAAOqqH,QAAQ,oDAAoDhzH,QACnEwN,EAAM4lB,OAAO,WACT5lB,EAAM8yD,SAAS,qBAK3B,IAAI6yD,GAAUnjG,EAAKjrB,KAAK,WACpBouH,GAAQnzH,OAAS,GAAgD,IAA3C2I,EAAOqqH,QAAQ,iBAAiBhzH,QACtDmzH,EAAQ1oF,Y0P77uBkB6mF,EAAA/+D,SAAA,mEAAA70D,GAAAxC,EAAA,IACDyC,EAAAzC,EAAA,GACD0C,EAAA1C,EAAAG,EAAAsC,GACb4vG,EAAAryG,EAAA,IACgBsyG,EAAAtyG,EAAAG,EAAAkyG,GACJ6lB,EAAAl4H,EAAA,GAGwCm4H,EAAAn4H,EAAA,KAEnF+2H,EAAA/2H,EAAA,IACkBo4H,EAAAp4H,EAAA,KAEdw3H,EAKAx3H,EACAG,EAASi4H,GAITC,EAAAr4H,EAAc,KAEAs4H,EAAAt4H,EAAA,KACLi3H,EAAwBj3H,EAAA,K1P2tuBjCu2H,E0P5suBkB,W1P+suBlB,Q0P3suBAA,GAAWl+F,EAAakgG,EAASC,EAAM/hG,EAAUgiG,EAAUl2H,EAAAm2H,EAAAxuH,EAAAyuH,G1P4suBvDn0H,O0P3suBF6zH,EAA4C,IAAAnuH,aAAAyuH,kB1P4suB1CtgG,E0P3suBF7B,KAAI,WACJ6B,EAAI91B,WAAeA,E1P4suBb81B,E0P3suBJp3B,UAAYuB,EAA0D,EAAAvB,U1P4suBlEo3B,E0P3suBLpyB,EAAAvD,EAAAtC,EACD+3H,EAAgB,EAAA3hG,KAAAh0B,EAAA,EAAAi0B,G1P4suBV8hG,E0P3suBJ/hG,O1P4suBIgiG,E0P3suBLhiG,OACDkiG,EAAAliG,OACA6B,EAAAugG,WAAAL,G1P6suBE9hG,E0P1suBFllB,OAAgB+mH,EAAgB,E1P2suB9BjgG,E0P1suBFwgG,cAAA,SAAAC,EAAAC,GACA1gG,EAAA+sC,SAAA,sBAAA0zD,GAEFL,EAAc,iBAAApgG,OAAA0gG,IAAAviG,KAAAsiG,IAElBriG,EAAAS,WAAC,SAAAhsB,EAAA4lC,EAAAkoF,GAAA,GAAAxmH,GAAAikB,EAAAhkB,IAAAvH,EAAA4lC,G1P2suBemoF,EAAc93H,I0PzsuBd,KAAA83H,EAAA3sE,KAAA0sE,GACA9oG,QAAAC,IAAmB,0DAEvB6oG,IACRC,EAAYD,GAEVC,EAAIxmH,IAAY,WAACD,I1P4suBfikB,E0PzsuBF2uC,SAAA,SAAAl6D,EAAA6rD,GACAtgC,EAAAg/B,MAAAvqD,EAAA6rD,GAEAggE,EAAyC,EAAAloH,KAAA3D,EAAA6rD,I1P0suBvC1+B,E0PvsuBF7B,O1PysuBF,MAnCA+/F,G0P5suBEl/D,SAAA,gH1P+uuBKk/D,I2P9xuB6B2B,GAAA,EAAAjiH,UAAA,aAAAmgH,IAKa,SAAAt2H,EAAAC,EAAAC,GAEqB,YAEjDA,GAAAsC,EAAAvC,EAAM,IAAM,iBAAAm5H,IAC3B,IAAA5zH,GAAMtF,EAAS,IACTm5H,EAAAn5H,EAAA,MACZo5H,EAAAp5H,EAAA,MACWq5H,EAAMr5H,EAAS,MACjBs5H,EAAAt5H,EAAA,MACTu5H,EAAAv5H,EAAA,MACGw5H,EAAex5H,EAAA,MACTy5H,EAAez5H,EAAA,K3P+8uBxBk5H,E2Pt8uBO5zH,EAAE,MAAAuC,O3Pu8uBTmzB,O2Pt8uBA11B,EAAe,MAAAyC,SAAAoxH,EAAA,GACftH,cAED6H,YAAAp0H,EAAA,MAAAyC,SAAAqxH,EAAA,G3Pu8uBKhvG,WAEJ8Y,IAAK59B,EAAqD,MAAEyC,SAASsxH,EAAmE,MACxIM,UAAWr0H,EAAqD,MAAEyC,SAASuxH,EAAqF,GAC5JM,WAEJ/7F,YAAav4B,EAAqD,MAAEyC,SAAS0xH,EAA2F,GACpKvwH,UAAU,EACVI,WAEJuwH,KAAMv0H,EAAqD,MAAEyC,SAASwxH,EAAsE,GACxI/oD,KAAM,G4Ph/uB0Bl5C,SACoBwiG,iB5Pm/uBxDC,O4Ph/uBKz0H,EAAe,MAAAyC,SAAAyxH,EAAA,SAKlB,C5Pi/uBI,CAEJ,S4P/+uBM15H,EAAOC,EAASC,G5Pi/uB5B,Y4P9+uBqBA,GAAAsC,EAAAvC,EAAA,qBAAAi6H,IAEX,IAAA10H,GAAAtF,EAAA,IACHi6H,EAAAj6H,EAAA,M5Pi/uBHg6H,EAAc10H,EAAqD,MAClEuC,MAAM,eACPgqH,SAAUvsH,EAAqD,MAAEiE,MAAM0wH,EAAgF,KAEtJnxH,QAAQ,SAAUF,GAAQ,OAC3B0uB,MAAO,WACH,IAAK,GAAI1yB,GAAI,EAAGA,EAAI,IAAKA,IACrBgE,EAAKipH,SAASprH,KAAKwzH,EAAgF,EAAE71H,QACjGgI,GAAI,UAAYxH,EAChBkL,MAAO,U6P7gvBiBvD,KAAA,qBACEylH,UAAA,EAE7B1oH,iBAST,SAAMxJ,EAAAC,EAAAC,G7P+gvBV,Y6P1gvBUA,GAAAsC,EAAAvC,EAAA,eAAW,MAAOm6H,IACX,IAAA50H,GAAAtF,EAAA,IACEm6H,EAAgCn6H,EAAA,M7P8gvB/Ck6H,E6P1gvBM50H,EAAA,M7P2gvBLuC,M6P1gvBE,uBACHuE,GAAC9G,EAAA,MAAA80H,aAdctqH,MAebxK,EAAA,MAAA+C,O7P2gvBFkE,KAAMjH,EAAqD,MAAE+C,OAC7D2pH,SAAU1sH,EAAqD,MAAE6D,QACjEG,MAAOhE,EAAqD,MAAEiE,MAAM4wH,EAA8D,KAEjIrxH,QAAQ,SAAUF,GAAQ,OAC3BopB,OAAQ,WACJppB,EAAKopH,UAAYppH,EAAKopH,QACtB,KAAK,GAAIptH,GAAI,EAAGA,EAAI,IAAKA,IACrBgE,EAAKU,MAAM7C,KAAK0zH,EAA8D,EAAE/1H,Q8P7ivBpDgI,GAAAxH,EAEjBkL,MAAG,aAAAlH,EAAAU,MAAAxE,OACpByH,KAAA,wBACMoC,IAAA,c9PsjvBN,SAAU7O,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOs6H,IAC9E,IAAI/0H,GAAgDtF,EAAoB,IAEzFq6H,EAAa/0H,EAAqD,MAAEuC,MAAM,cAC1EuE,GAAI9G,EAAqD,MAAE80H,WAAW90H,EAAqD,MAAE6C,QAC7HirH,SAAU9tH,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE6C,OAAQ,GACzI2H,MAAOxK,EAAqD,MAAE+C,OAC9DsG,IAAKrJ,EAAqD,MAAE+C,OAC5DkE,KAAMjH,EAAqD,MAAE+C,OAC7DirH,YAAahuH,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,OAM1I,SAAUvI,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOu6H,IAC9E,IAAIh1H,GAAgDtF,EAAoB,IACpEu6H,EAA4Cv6H,EAAoB,MACrFwF,EAAerE,MAAQA,KAAKqE,aAAgB,SAAUC,EAASC,GAG/D,QAASC,GAAKxF,GAAK,MAAO,UAAUyF,GAAK,MAAOC,IAAM1F,EAAGyF,KACzD,QAASC,GAAKC,GACV,GAAIC,EAAG,KAAM,IAAIC,WAAU,kCAC3B,MAAOC,GAAG,IACN,GAAIF,EAAI,EAAGG,IAAMxB,EAAY,EAARoB,EAAG,GAASI,EAAU,OAAIJ,EAAG,GAAKI,EAAS,SAAOxB,EAAIwB,EAAU,SAAMxB,EAAEO,KAAKiB,GAAI,GAAKA,EAAEC,SAAWzB,EAAIA,EAAEO,KAAKiB,EAAGJ,EAAG,KAAKM,KAAM,MAAO1B,EAE3J,QADIwB,EAAI,EAAGxB,IAAGoB,GAAc,EAARA,EAAG,GAAQpB,EAAE3C,QACzB+D,EAAG,I+P3lvB+B,cAAApB,EAAAoB,CAAA,MACZ,cAAAG,GAAAI,SAAAtE,MAAA+D,EAAA,GAAAM,MAAA,EAE7B,KAAgB,GAAGH,EAAAI,QAAAH,EAAAJ,EAAA,GAAAA,GAAA,WACvB,QAAAA,EAAkBG,EAAEK,IAAAC,MAAAN,EAAAO,KAAAD,KAAA,SAClB,SACA,GAAA7B,EAAAuB,EAAAO,OAAA9B,IAAAI,OAAA,GAAAJ,IAAAI,OAAM,MAAS,IAAAgB,EAAA,QAAAA,EAAA,KAAAG,EAAA,WACtB,OAAAH,EAAA,MAAApB,GAAAoB,EAAA,GAAApB,EAAA,IAAAoB,EAAA,GAAApB,EAAA,KAAAuB,EAAAI,MAAAP,EAAA,SACO,GAAQ,IAARA,EAAI,IAAKG,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAA,EAAAoB,CAAA,OACV,GAAApB,GAAAuB,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAuB,EAAAK,IAAAG,KAAKX,EAAA,O/P4lvBSpB,EAAE,IAAIuB,EAAEK,IAAIC,MAChBN,EAAEO,KAAKD,KAAO,UAEtBT,EAAKJ,EAAKT,KAAKQ,EAASQ,GAC1B,MAAOS,G+P/lvBLZ,GAAA,EAAUY,GAAGR,EAAA,UAAAH,EAAArB,EAAA,E/PgmvBjB,G+P/lvBU,E/P+lvBNoB,EAAG,G+P/lvBG,KAAAA,GAAA,UAAM/D,MAAW+D,EAAG,GAACA,EAAA,UAAmBM,MAAA,G/PwkvBtD,GAAsGL,GAAGG,EAAGxB,EAAGiC,EAA3GV,GAAMI,MAAO,EAAGO,KAAM,WAAa,GAAW,EAAPlC,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAO8B,QAAUF,OAC3F,OAAOK,IAAMR,KAAMR,EAAK,GAAIkB,MAASlB,EAAK,GAAImB,OAAUnB,EAAK,IAAwB,kBAAXoB,UAA0BJ,EAAEI,OAAOC,UAAY,WAAa,MAAO7F,QAAUwF,GA2BvJ2zH,E+PjmvBEh1H,EAAgB,M/PkmvBjBuC,MAAM,oBACPuiB,MAAO9kB,E+PjmvBW,MAAAiE,MAAAgxH,EAA6C,G/PkmvB/DvgG,MAAO10B,E+PjmvBW,MAAAyC,SAAAzC,EAA0B,MAAA+C,OAAmB,M/PmmvB9DS,QAAQ,S+PjmvBPF,GAAW,O/PkmvBbqB,KAAMzF,OAAOc,E+PjmvBK,iB/PkmvBd,GAAI4E,G+PjmvBFC,C/PkmvBF,OAAO3E,GAAYrE,KAAM,SAAUiJ,GAC/B,OAAQA,EAAG/D,OACP,IAAK,G+PlmvBf,MADA6D,GAAA1F,OAAAc,EAAA,QAAAsD,GAAAsB,YACA,EAAAA,EAAAvI,IAAA,oB/PqmvBU,KAAK,GgQxnvBZ,MhQynvBWwI,GAAMC,EAAGxD,OACTgC,EAAKwhB,MAAM/f,QACXzB,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,mBAAoBnJ,MAAOoI,EAAIqwH,cAC9H5xH,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,cAAenJ,MAAOoI,EAAImxB,SACzH1yB,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,mCAAoCnJ,MAAOoI,EAAIswH,eAC9I7xH,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,aAAcnJ,MAAOoI,EAAIuwH,QACxH9xH,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,kBAAmBnJ,MAAOoI,EAAIwwH,aAC7H/xH,EAAKwhB,MAAM3jB,KAAK8zH,EAA8D,EAAEn2H,QAAS8G,KAAM,kBAAmBnJ,MAAOoI,EAAIywH,agQpovBzGhyH,EAAAwhB,MAAA3jB,KAAA8zH,EAAA,EAAAn2H,QAAA8G,KAAA,uBAAAnJ,MAAAoI,EAAA4jC,QAEdnlC,EAAAwhB,MAAA3jB,KAAA8zH,EAA0B,EAAAn2H,QAAA8G,KAAA,2BAAAnJ,MAAAoI,EAAA0wH,SAC5CjyH,EAAAwhB,MAAA3jB,KAAA8zH,EAAY,EAAAn2H,QAAA8G,KAAA,eAAAnJ,MAAAoI,EAAA2wH,WACX,YhQ6ovBH,SAAUh7H,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOg7H,IAC9E,IAAIz1H,GAAgDtF,EAAoB,IiQppvB7C+6H,EAAAz1H,EAAA,MAAAuC,MAAA,cACZqD,KAAA5F,EAAA,MAAA+C,OAEvBtG,MAAAuD,EAAW,MAAAyC,SAAKzC,EAAA,MAAA6C,OAAA,MAMzB,SAAIrI,EAAAC,EAAAC,GjQupvBR,YiQvpvBSA,GAAOsC,EAAAvC,EAAA,qBAAAi7H,IjQypvBK,IAAIz6H,GAAuCP,EAAoB,GiQxpvB/DQ,EAAAR,EAAYG,EAACI,GACb06H,EAAAj7H,EAAA,IACEk7H,EAAAl7H,EAAA,MjQ6pvBnBg7H,EAAWC,EiQvpvBgC,MjQwpvB1CpzH,MAAM,YACPqG,KAAM+sH,EiQtpvBuB,MAAA/yH,MAAAgzH,EAAA,GjQupvB7B93F,KAAM63F,EiQtpvBiB,MAAA/yH,MAAAgzH,EAAA,KjQwpvBtBpyH,QiQhqvBgB,SAAIF,GAAJ,OjQiqvBjBqB,KAAM,WAEF,IiQ1pvBD,GjQypvBKg5B,MiQzpvBLh3B,EAAA,EAAAA,EAAApH,UAAAC,OAAAmH,IAEGg3B,EAAGh3B,GAAQpH,UAAQoH,EAgBzB,QjQ4ovBQiC,GiQzpvBCk1B,EAAL/0B,EAAiB7J,OAAAy2H,EAAe,QAAAryH,GAAAtE,QjQ0pvB5BwzH,KiQ7ovBK1tH,EAAA,EAAA+4B,EAACF,EAAa74B,EAAA+4B,EAAqBr+B,OAAAsF,IAAA,CAC1C,GAAIgC,GAAG+2B,EAAA/4B,IAXH,SAAQgC,GjQ0pvBV,KADAg3B,EAAO/0B,EiQxpvBFxE,KAAM,SAAQ4L,GAAA,MAAAA,GAAArJ,UAEtB,SAAAzB,OAAA,mBAAAyB,EAAA,aAGCiC,GAAQ+0B,EAAA/0B,SACRypH,EAAQrxH,KAAA28B,IAKJh3B,GjQypvBN,GADA8B,EiQtpvBA4pH,EAAUA,EAAAhzH,OAAA,GACVoJ,EAAKG,SACL,IAAI,GAAE3D,GAAO,EAAA24B,EAAKn1B,EAAAG,SAAA3D,EAAA24B,EAAAv+B,OAAA4F,IAAA,CAClB,GAAAhD,GAAc27B,EAAE34B,EAChBhD,GAAQ6G,QAAE,EACR7G,EAAAiH,MAAAy0B,EAAAz0B,MACEjH,EAAA6G,QAAQ,GjQ0pvBZ3F,EAAKsF,KiQtpvBDgtH,EAAe,EAAA92H,OAAA8J,GjQupvBnBtF,EAAKw6B,KiQtpvBF83F,EAAA,EAAA92H,OAAAg/B,IjQwpvBP+3F,cAAe,SiQtpvBCpB,EAAAqB,GjQupvBZ,GAAIltH,IACA3B,KAAM,oBACNH,GAAI,gBACJiE,SiQtpvBA,yCjQupvBA1B,IiQtpvBD,GjQupvBCvH,KiQtpvBF2yH,EAAAjqH,MjQupvBEC,ciQtpvBQD,MAAA,aAAkBnB,IAAA,ejQupvB1BN,WiQppvBAE,OAAgB,6BAAV6sH,EACN7uH,KAAQ,uBACTH,GAAA,2BACFhF,KAAA,aACDuH,IAAAorH,EAAAprH,MAKJJ,OAA+B,8BAAV6sH,EACP7uH,KAAM,mBACNH,GAAG,4BAEJhF,KAAA,cACDuH,IAAGorH,EAAKprH,IAAA,iBAIXJ,OAAuB,2BAAZ6sH,EACZ7uH,KAAU,kBACNH,GAAE,yBACHhF,KAAA,WACDuH,IAAKorH,EAAAprH,IAAA,cjQspvBX/F,GAAKsF,KiQlpvBDgtH,EAA6C,EAAA92H,OAAA8J,IjQopvBrDmtH,sBiQlpvBY,SAAAC,EAAAC,EAAqBC,GjQmpvB7B,GAAI1rH,GiQlpvBA,MjQmpvBAO,EiQlpvBG,SAAEkrH,EAAArwH,IjQmpvBLowH,GAAGlvH,KACH0D,EiQlpvBHwrH,EAAApwH,KAGH,IAAMgD,IACFiC,IAAAorH,EAAAngH,KAAiBqgH,MAAKC,MACxBtvH,GAAI,WAAUmvH,EAAKnvH,GjQkpvBfiE,SiQjpvBIA,EjQkpvBJ1B,IiQjpvBF,GjQkpvBEvH,KiQjpvBA0I,EjQkpvBAC,ciQjpvBID,MAAY,eAAAnB,IAAA,gBjQkpvBhBN,WiQ/ovBLE,OAAA,wBAAAitH,EAEWjvH,KAAA,sBACbH,GAAA,sBACChF,KAAA,WjQipvBcuH,IAAK,oBAAsB2sH,EAAGlvH,UAI0ExI,KAAhGpD,EAA6CJ,EAAEyJ,KAAK0xH,EAAO/4F,UAAY16B,KAAM,eAC5EwzH,EAAGlvH,IACpB8B,EAAKG,SAAS5H,MACV8H,OAAwB,0BAAhBitH,EACRjvH,KAAM,uBACNH,GAAI,wBkQ/wvBoBhF,KAAA,aAEjBuH,IAAA,oBAAA2sH,EAAAlvH,GAAA,gBAGlBxD,EAAEsF,KAAAgtH,EAAe,EAAA92H,OAAA8J,QAOnB,SAAApO,EAAAC,EAAAC,GlQixvBH,YkQ7wvBOA,GAAAsC,EAAAvC,EAAY,qBAAA47H,IlQgxvBE,IAAIr2H,GAAgDtF,EAAoB,IAEzF27H,EAAUr2H,EAAqD,MAAEuC,MAAM,WACvEuE,GAAI9G,EAAqD,MAAE80H,WAAW90H,EAAqD,MAAE+C,QAC7HjB,KAAM9B,EAAqD,MAAE+C,OAC7DsG,IAAKrJ,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,IACpIgI,SAAU/K,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,IACzIkE,KAAMjH,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,IACrI8H,IAAK7K,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,IACpIkG,OAAQjJ,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE6D,SAAS,GACxI4G,YAAazK,EAAqD,MAAEyC,SAASzC,EAAqD,MAAEiE,MAAMjE,EAAqD,MAAEs2H,KAAK,WAAc,MAAOC,UAC3NxtH,SAAU/I,EAAqD,MAAEyC,SAASzC,EAAqD,MAAEiE,MAAMjE,EAAqD,MAAEs2H,KAAK,WAAc,MAAOD,YAExNE,EAAav2H,EAAqD,MAAEuC,MAAM,cAC1EiI,MAAOxK,EAAqD,MAAE+C,OAC9DsG,IAAKrJ,EAAqD,MAAE+C,UAM1D,SAAUvI,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAO+7H,IAC9E,IAAIx2H,GAAgDtF,EAAoB,IACpE+7H,EAA2C/7H,EAAoB,MAC/Dg8H,EAAyCh8H,EAAoB,KAClFwF,EAAerE,MAAQA,KAAKqE,aAAgB,SAAUC,EAASC,GAG/D,QAASC,GAAKxF,GAAK,MAAO,UAAUyF,GAAK,MAAOC,IAAM1F,EAAGyF,KACzD,QAASC,GAAKC,GACV,GAAIC,EAAG,KAAM,IAAIC,WAAU,kCAC3B,MAAOC,GAAG,IACN,GAAIF,EAAI,EAAGG,IAAMxB,EAAY,EAARoB,EAAG,GAASI,EAAU,OAAIJ,EAAG,GAAKI,EAAS,SAAOxB,EAAIwB,EAAU,SAAMxB,EAAEO,KAAKiB,GAAI,GAAKA,EAAEC,SAAWzB,EAAIA,EAAEO,KAAKiB,EAAGJ,EAAG,KAAKM,KAAM,MAAO1B,EAE3J,QADIwB,EAAI,EAAGxB,IAAGoB,GAAc,EAARA,EAAG,GAAQpB,EAAE3C,QACzB+D,EAAG,ImQr0vB+B,cAAApB,EAAAoB,CAAA,MACd,cAAAG,GAAAI,SAAAtE,MAAA+D,EAAA,GAAAM,MAAA,EACG,QAAAH,EAAAI,QAAAH,EAAAJ,EAAA,GAAAA,GAAA,WAK9B,KAAiB,GAAAA,EAAAG,EAAAK,IAAAC,MAAAN,EAAAO,KAAAD,KAAA,SACrB,SACE,GAAA7B,EAAAuB,EAAAO,OAAA9B,IAAAI,OAAA,GAAAJ,IAAAI,OAAW,MAAC,IAAAgB,EAAA,QAAAA,EAAA,KAAAG,EAAA,WACN,OAAAH,EAAA,MAAApB,GAAAoB,EAAA,GAAApB,EAAA,IAAAoB,EAAA,GAAKpB,EAAC,KAASuB,EAAAI,MAAAP,EAAA,SACpB,OAAAA,EAAA,IAAAG,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAM3B,EAAA,GAAAA,EAASoB,CAAA,OACvB,GAAApB,GAAAuB,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAuB,EAAAK,IAAAG,KAAAX,EAAA,OACKpB,EAAI,IAAIuB,EAAAK,IAAAC,MACTN,EAAaO,KAAAD,KAAA,UAEfT,EAAOJ,EAAKT,KAAMQ,EAAOQ,GnQm0vBrB,MmQl0vBFS,GAAOZ,GAAM,EAAKY,GAAKR,EAAC,EAAK,QAAUH,EAAKrB,EAAM,EACpD,GAAG,EAAAoB,EAAA,QAAAA,GAAA,UAAA/D,MAAA+D,EAAA,GAAAA,EAAA,UAAAM,MAAA,GnQ2yvBL,GAAsGL,GAAGG,EAAGxB,EAAGiC,EAA3GV,GAAMI,MAAO,EAAGO,KAAM,WAAa,GAAW,EAAPlC,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAO8B,QAAUF,OAC3F,OAAOK,IAAMR,KAAMR,EAAK,GAAIkB,MAASlB,EAAK,GAAImB,OAAUnB,EAAK,IAAwB,kBAAXoB,UAA0BJ,EAAEI,OAAOC,UAAY,WAAa,MAAO7F,QAAUwF,GA4BvJm1H,EAAiBx2H,EAAqD,MACrEuC,MAAM,kBACP+xH,MAAOt0H,EAAqD,MAAEiE,MAAMwyH,EAA4D,GAChIE,YAAa32H,EmQt0vBQ,MAAAyC,SAAAzC,EAAwB,MAAA+C,OAAA,OnQu0vB7C2yB,OAAQ11B,EmQt0vB4B,MAAAyC,SAAAzC,EAAuC,MAAA+C,OAAA,MnQw0vB1EM,MAAM,SAAUC,GAAQ,OACzBszH,oBACI,GAAIlzG,GmQx0vBN,GAAItV,QAAO9K,EAAKoyB,OAAG,InQy0vBjB,OAAOpyB,GmQv0vBTgxH,MAAAxkH,OAAiB,SAAA2gC,GnQw0vBX,MAAO/sB,GmQx0vBJwI,KAAIukB,EAAA7qC,OAAA8d,EAAAwI,KAAAukB,EAAA3c,YAAApQ,EAAAwI,KAAAukB,EAAA36B,YnQ40vBdtS,QAAQ,SAAUF,GAAQ,OAC3BuzH,UAAW33H,OAAOc,EmQv0vBX,eAAAirC,GnQw0vBH,GAAIrmC,GAAYkyH,EmQv0vBVnwH,EAAKowH,EAAYrjG,CnQw0vBvB,OAAOxzB,GAAYrE,KmQv0vBf,SAASiJ,GnQw0vBT,OAAQA,EAAG/D,OACP,IAAK,GAGD,MAFA6D,GmQt0vBP1F,OAAWc,EAAA,QAAAsD,GAAUsB,WnQu0vBdtB,EmQt0vBbqzH,YAAA1rF,EAAA94B,OnQu0vBqB,EAAavN,EAAWvI,IAAI,cAAe4uC,GACvD,KAAK,GmQt0vBH,InQu0vBE6rF,EAAWhyH,EAAGxD,OmQx0vB5BgC,EAAAgxH,MAAAvvH,QACY4B,EAAC,EAAAowH,EAAaD,EAAAnwH,EAAAowH,EAAAv3H,OAAAmH,IACZ+sB,EAAMqjG,EAAApwH,GACrBzH,OAAAw3H,EAAA,GAAAhjG,IAAAvhB,OACC,WAAAuhB,EAAAvhB,QnQ00vB0BuhB,EAAKsjG,iBACLtjG,EAAK5d,KAAO,oBAAsB4d,EAAKsjG,gBAEvCtjG,EAAKujG,UAAYvjG,EAAKujG,SAASC,SAC/BxjG,EAAK5d,KAAO,2BAGpBxS,EAAKgxH,MAAMnzH,KAAKs1H,EAA4D,EAAE33H,OAAO40B,GAEzF,QAAQ,QAIxByjG,eAAgB,SAAUnlG,GACtB1uB,EAAKoyB,OAAS1D,OAOhB,SAAUx3B,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAO28H,IAC9E,IAAIp3H,GAAgDtF,EAAoB,IACpE28H,EAAyC38H,EAAoB,KAClFwF,EAAerE,MAAQA,KAAKqE,aAAgB,SAAUC,EAASC,GAG/D,QAASC,GAAKxF,GAAK,MAAO,UAAUyF,GAAK,MAAOC,IAAM1F,EAAGyF,KACzD,QAASC,GAAKC,GACV,GAAIC,EAAG,KAAM,IAAIC,WAAU,kCAC3B,MAAOC,GAAG,IACN,GAAIF,EAAI,EAAGG,IAAMxB,EAAY,EAARoB,EAAG,GAASI,EAAU,OAAIJ,EAAG,GAAKI,EAAS,SAAOxB,EAAIwB,EAAU,SAAMxB,EAAEO,KAAKiB,GAAI,GAAKA,EAAEC,SAAWzB,EAAIA,EAAEO,KAAKiB,EAAGJ,EAAG,KAAKM,KAAM,MAAO1B,EAE3J,QADIwB,EAAI,EAAGxB,IAAGoB,GAAc,EAARA,EAAG,GAAQpB,EAAE3C,QACzB+D,EAAG,IoQ55vB+B,cAAApB,EAAAoB,CAAA,MACX,cAAAG,GAAAI,SAAAtE,MAAA+D,EAAA,GAAAM,MAAA,EAElB,QAAAH,EAAAI,QAAAH,EAAAJ,EAAA,GAAAA,GAAA,WAChB,QAAaA,EAAAG,EAAAK,IAAAC,MAAAN,EAAAO,KAAAD,KAAA,SACd,SACS,GAAA7B,EAAAuB,EAAAO,OAAA9B,IAAAI,OAAA,GAAAJ,IAAAI,OAAK,MAAO,IAAAgB,EAAA,QAAAA,EAAA,KAAAG,EAAA,WAChB,OAAAH,EAAA,MAAApB,GAAAoB,EAAA,GAAApB,EAAA,IAAAoB,EAAA,GAAMpB,EAAA,IAAM,CAAAuB,EAAAI,MAAAP,EAAA,SACf,OAAAA,EAAA,IAAAG,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAM3B,EAAA,GAAMA,EAAAoB,CAAA,OACX,GAAApB,GAAAuB,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAuB,EAAKK,IAACG,KAAMX,EAAA,OACRpB,EAAA,IAAAuB,EAAAK,IAAAC,MACAN,EAAAO,KAAAD,KAAA,UAEHT,EAAEJ,EAAAT,KAAAQ,EAAAQ,GACJ,MAAAS,GAAAZ,GAAA,EAAAY,GAAAR,EAAA,UAAAH,EAAArB,EAAA,EACH,GAAE,EAAAoB,EAAA,QAAAA,GAAA,UAAA/D,MAAA+D,EAAA,GAAAA,EAAK,OAAC,GAAMM,MAAA,GpQq4vBjB,GAAsGL,GAAGG,EAAGxB,EAAGiC,EAA3GV,GAAMI,MAAO,EAAGO,KAAM,WAAa,GAAW,EAAPlC,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAO8B,QAAUF,OAC3F,OAAOK,IAAMR,KAAMR,EAAK,GAAIkB,MAASlB,EAAK,GAAImB,OAAUnB,EAAK,IAAwB,kBAAXoB,UAA0BJ,EAAEI,OAAOC,UAAY,WAAa,MAAO7F,QAAUwF,GoQj4vBvJ+1H,EAACp3H,EAAA,MACDuC,MAAC,apQ65vBDuE,GoQ55vBD9G,EAAiB,MAAA80H,WAAA90H,EAAA,MAAA6C,QAChBkB,YAAA/D,EAAA,MAAA6C,OpQ65vBAswB,QAASnzB,EAAqD,MAAE6C,OAChE+C,KoQ55vBG5F,EAAA,MAAA+C,OACHoP,MAAAnS,EAAc,MAAA+C,OpQ65vBd+wB,UAAW9zB,EAAqD,MAAE+C,OAClEgxB,UAAW/zB,EAAqD,MAAE+C,OAClEkxB,WAAYj0B,EAAqD,MAAE+C,OACnEmxB,SAAUl0B,EAAqD,MAAE+C,OACjE+S,KAAM9V,EoQh6vBe,MAAAyC,SAAAzC,EAAwB,MAAA+C,OAAA,IpQi6vB7CsG,IAAKrJ,EoQh6vBwC,MAAA+C,SpQk6vB5CM,MAAM,SAAUC,GAAQ,OACzBg0H,eACI,MoQl6vBF,WpQk6vBSh0H,EoQl6vBT6O,UpQq6vBD3O,QAAQ,SAAUF,GAAQ,OAI3Bi0H,aAAcr4H,OAAOc,EAAoD,MAAG,WACxE,GAAI4E,GAAY6sD,EAAS5sD,CACzB,OAAO3E,GAAYrE,KAAM,SAAUiJ,GAC/B,OAAQA,EAAG/D,OACP,IAAK,GAGD,MAFA6D,GAAa1F,OAAOc,EAAsD,QAAGsD,GAAMsB,WACnF6sD,GAAY7sB,QAASthC,EAAKg0H,WAClB,EAAa1yH,EAAWmC,KAAK,eAAiBzD,EAAKwD,GAAK,SAAU2qD,GAC9E,KAAK,GqQ98vBO,MrQ+8vBR5sD,GAAMC,EAAGxD,OACTpC,OAAOm4H,EAA+D,GAAG/zH,EAAMuB,EAAIsN,OqQj9vB/D7O,EAAAwS,KAAA,IACZ,YAWxB,SAAAtb,EAAAC,EAAAC,GrQk9vBJ,YqQ/8vB2BA,GAAAsC,EAAAvC,EAAA,qBAAA+8H,IAEZ,IAAMx3H,GAAMtF,EAAA,IACR+8H,EAAG/8H,EAAA,IACfg9H,EAAAh9H,EAAA,MrQm9vBHi9H,EqQ/8vBO33H,EAAI,MAAA43H,MAAA53H,EAAA,MAAA+C,OAAA/C,EAAA,MAAA6D,QAAA7D,EAAA,MAAA6C,QACXg1H,EAAA73H,EAAmB,MAAA43H,MAAAD,EAAA33H,EAAA,MAAAiE,MAAA0zH,IACnBH,EAASx3H,EAAsB,MrQg9vB9BuC,OACD2oE,KqQ/8vBElrE,EAAgB,MAAkB+C,OrQg9vBpCivB,MAAOhyB,EqQh9vBO,MAAAmC,IAAA01H,GrQi9vBdrD,YqQh9vBQx0H,EAAY,MAAAmC,IAAA01H,KrQk9vBnBx0H,MAAM,SqQh9vBFC,GAAA,OrQi9vBLw0H,iBqQ/8vBC,GAAA5sD,GAAA5nE,EAAA4nE,IAKC,OAHF5nE,GAAA0uB,MAAAva,OACAyzD,GAAS,IAAAhsE,OAAkBw4H,EAAgB,GAAAx4H,OAAAu4H,EAAA,MAAAn0H,EAAA0uB,SAEzBk5C,MrQk9vBjB1nE,QAAQ,SqQh9vBEF,GrQk9vBX,QqQh9vBGy0H,GAAA/lG,GACF1uB,EAAA0uB,MAAAjtB,OAED,KAAS,GAAA4B,GAAA,EAAA7B,EAAA5F,OAA+BgD,KAAE8vB,GAAYrrB,EAAA7B,EAAgBtF,OAAAmH,IAAA,CAChE,GAACrK,GAAOwI,EAAK6B,EACjBqrB,GAAY11B,IACZgH,EAAA0uB,MAAkBx1B,IAAAF,EAAA01B,EAAa11B,KrQo9vBjC,QqQ98vBE07H,GAAAxD,GACDlxH,EAAAkxH,YAAAzvH,OrQ+8vBG,KAAK,GAAI4B,GAAK,EAAG7B,EAAK5F,OAAOgD,KAAKsyH,GAAc7tH,EAAK7B,EAAGtF,OAAQmH,IAAM,CAClE,GAAIrK,GAAMwI,EAAG6B,EACT6tH,GAAYl4H,IACZgH,EAAKkxH,YAAYh4H,IAAIF,EAAKk4H,EAAYl4H,KsQxgwBtD,QAAA27H,GAAA/sD,EAAAl5C,EAAAwiG,GAAAlxH,EAAA4nE,OtQ8gwBQ6sD,EAAY/lG,GsQ5gwBjBgmG,EAAAxD,GAGD,OACIuD,YAAWA,EAEXE,mBAAmBA,MtQkhwBnB,SsQ1gwBDz9H,EAAAC,EAAAC,GtQ4gwBL;;;AAKA,QsQzgwBIw9H,GAAYp9H,GtQ0gwBZ,GAAIuE,MACA84H,EsQzgwBA,QtQ0gwBAtoH,EAAU,SsQzgwBJsuB,GtQ0gwBN,MsQzgwBwB,mBtQygwBjBj/B,OAAO9C,UsQzgwBN0c,SAAanZ,KAAGw+B,ItQ2gwBxBrR,EAAM,SAAUsrG,EsQ1gwBP93H,GtQ2gwBTA,EsQ1gwBI,kBtQ0gwBOA,GsQ1gwBKA,IAAc,OAANA,EAAQ,OAAAhC,KAAAgC,EAAA,GAAAA,EtQ4gwB5BjB,EAAEA,EAAEG,QsQ3gwBL,iBtQ0gwBQc,GsQzgwBV+N,mBAAA+pH,GAAA,IAAA/pH,mBAAA/N,GAEO+N,mBAAS+pH,ItQ8gwBjBC,EsQ3gwBD,SAAA72C,EAAArjD,GtQ4gwBC,GAAI7+B,GAAGy9B,EsQ5gwBFzgC,CtQ6gwBL,IAAIklF,EACA,GsQ5gwBL3xE,EAAAsuB,GACF,IAAA7+B,EAAA,EAAAy9B,EAAAoB,EAAA3+B,OAAAF,EAAAy9B,EAAAz9B,IAAiB64H,EAAOjsG,KAAAs1D,GACX10D,EAAG00D,EAAOrjD,EAAM7+B,IAG7B+4H,EAAA72C,EAAArjD,EAAA7+B,QAGE,IAAA6+B,GAAA,oBAAAznB,OAAAynB,GACF,IAAA7hC,IAAA6hC,GACQk6F,EAAA72C,EAAA,IAAAllF,EAAA,IAAA6hC,EAAA7hC,QAKDwwB,GAAC00D,EAAWrjD,OtQghwBX,IAAItuB,EAAQsuB,GACb,IAAK7+B,EAAI,EAAGy9B,EAAMoB,EAAI3+B,OAAQF,EAAIy9B,EAAKz9B,IACnCwtB,EAAIqR,EAAI7+B,GAAGsG,KAAMu4B,EAAI7+B,GAAG7C,WAI5B,KAAKH,IAAO6hC,GACRk6F,EAAY/7H,EAAK6hC,EAAI7hC,GAG7B,OAAO+C,GAEX,OAAOg5H,GAAY,GAAIv9H,GAClBmZ,KAAK,KACL9F,QAAQ,OAAQ,KsQlkwBpB1T,EAAA,EAAAy9H,GtQwkwBC,SAAU19H,EAAQC,EAAqBC,GAE7C,YAE+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAO69H,IAC9E,IAAIt4H,GAAgDtF,EAAoB,IACzFwF,EAAerE,MAAQA,KAAKqE,aAAgB,SAAUC,EAASC,GAG/D,QAASC,GAAKxF,GAAK,MAAO,UAAUyF,GAAK,MAAOC,IAAM1F,EAAGyF,KACzD,QAASC,GAAKC,GACV,GAAIC,EAAG,KAAM,IAAIC,WAAU,kCAC3B,MAAOC,GAAG,IACN,GAAIF,EAAI,EAAGG,IAAMxB,EAAY,EAARoB,EAAG,GAASI,EAAU,OAAIJ,EAAG,GAAKI,EAAS,SAAOxB,EAAIwB,EAAU,SAAMxB,EAAEO,KAAKiB,GAAI,GAAKA,EAAEC,SAAWzB,EAAIA,EAAEO,KAAKiB,EAAGJ,EAAG,KAAKM,KAAM,MAAO1B,EAE3J,QADIwB,EAAI,EAAGxB,IAAGoB,GAAc,EAARA,EAAG,GAAQpB,EAAE3C,QACzB+D,EAAG,IuQzmwB+B,cAAApB,EAAAoB,CAAA,MAEhC,cAAAG,GAAAI,SAAAtE,MAAA+D,EAAA,GAAAM,MAAA,EAChB,QAAAH,EAAAI,QAAAH,EAAAJ,EAAA,GAAAA,GAAA,WACC,QAAAA,EAAAG,EAAAK,IAAAC,MAAAN,EAAAO,KAAAD,KAAA,SACE,SACF,GAAA7B,EAAAuB,EAAAO,OAAA9B,IAAAI,OAAA,GAAAJ,IAAAI,OAAY,UAAAgB,EAAA,QAAAA,EAAA,KAAAG,EAAA,WACR,OAAAH,EAAA,MAAApB,GAAAoB,EAAA,GAAApB,EAAA,IAAAoB,EAAA,GAAMpB,EAAA,IAAO,CAAAuB,EAAAI,MAAAP,EAAA,SACV,OAAAA,EAAA,IAAAG,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAMA,EAAAoB,CAAO,OAChB,GAAApB,GAAAuB,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAuB,EAAAK,IAAMG,KAAMX,EAAA,OACpBpB,EAAA,IAAAuB,EAAAK,IAAAC,MAEwBN,EAAAO,KAAAD,KAAA,UAEfT,EAAAJ,EAAAT,KAAAQ,EAAAQ,GACR,MAAAS,GAAAZ,GAAA,EAAAY,GAAAR,EAAA,UAAAH,EAAArB,EAAA,EACD,GAAQ,EAADoB,EAAC,QAAIA,GAAI,UAAC/D,MAAA+D,EAAA,GAAAA,EAAA,UAAAM,MAAA,GvQilwBhB,GAAsGL,GAAGG,EAAGxB,EAAGiC,EAA3GV,GAAMI,MAAO,EAAGO,KAAM,WAAa,GAAW,EAAPlC,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAO8B,QAAUF,OAC3F,OAAOK,IAAMR,KAAMR,EAAK,GAAIkB,MAASlB,EAAK,GAAImB,OAAUnB,EAAK,IAAwB,kBAAXoB,UAA0BJ,EAAEI,OAAOC,UAAY,WAAa,MAAO7F,QAAUwF,GA0BvJk3H,EAASv4H,EAAqD,MAAEuC,MAAM,UACtEuE,GAAI9G,EAAqD,MAAE80H,WAAW90H,EAAqD,MAAE6C,QAC7HylC,IAAKtoC,EuQ5mwBkB,MAAA+C,OvQ6mwBvByH,MAAOxK,EuQ5mwBuC,MAAA+C,OvQ6mwB9CsG,IAAKrJ,EuQ5mwBkB,MAAA+C,OvQ6mwBvBonC,QAASnqC,EuQ5mwBN,MAAA6D,QvQ6mwBHyyG,WAAYt2G,EuQ3mwBS,MAAA6D,QvQ4mwBrBhG,QAASmC,EuQ3mwBoC,MAAC6C,SvQ6mwB9Cy1H,EAAct4H,EuQ7mwBoC,MvQ8mwBjDuC,MAAM,eACPkyH,OAAQz0H,EuQ7mwBM,MAAA4C,MAAA21H,KvQ+mwBb/0H,QAAQ,SAAUF,GuQ7mwBR,OvQ8mwBXqB,KAAMzF,OAAOc,EuQ7mwBG,eAAAsoC,GvQ8mwBZ,GAAI1jC,GuQ7mwBJC,CvQ8mwBA,OAAO3E,GuQ7mwBPrE,KAAA,SAAiBiJ,GvQ8mwBb,OAAQA,EAAG/D,OACP,IuQ7mwBT,GAMW,MvQymwBMuC,GAAKmxH,QAAUnxH,EAAKmxH,OAAOnsF,MAAQA,IACnChlC,EAAKmxH,OAAS,MuQ3mwBxB7vH,EAAS1F,OAAuBc,EAAa,QAAAsD,GAAAsB,YACjC,EAAMA,EAAA4zH,eAAAlwF,GACrB,KAAO,GAON,MANPzjC,GAAAC,EAAAxD,OAEWgC,EAAAmxH,OAAA8D,EAAAz5H,QvQ6mwBQgI,GAAIjC,EAAIiC,GACRwhC,IAAKzjC,EAAIyjC,IACT99B,MAAO3F,EAAI2F,MACXnB,IAAKxE,EAAIwE,IuQ/mwBrB8gC,QAAatlC,EAAAslC,QACfmsE,YAAQ,EAEAz4G,QAAAgH,EAAAhH,WAAA,EAAmDgH,QvQqnwBjE4zH,SAAU,SAAUC,EAAeluH,GAC/BlH,EAAKmxH,OAAOjqH,MAAQA,EuQjnwBtBlH,EAAAmxH,OAAAne,WAAAoiB,EAAA5nH,gBAAAtG,EAAA67B,OAAAv1B,eAAAtG,EAAA67B,OAAA7mC,OAAA,GvQonwBFm5H,WAAYz5H,OAAOc,EAAoD,MAAG,SAAoB5E,GAC1F,GAAIwJ,GAAYC,CAChB,OuQnnwBI3E,GAAarE,KAAA,SAAAiJ,GAEnB,OAAAA,EAAA/D,OvQmnwBU,IAAK,GAGD,MuQrnwBd6D,GAAA1F,OAAAc,EAAA,QAAAsD,GAAAsB,WACAtB,EAAAmxH,OAAAjqH,MAAAlH,EAAAmxH,OAAAjqH,MAAA67B,QvQonwBsB,EAAazhC,EAAWg0H,aAAat1H,EAAKmxH,OAAQr5H,GAC9D,KAAK,GAID,MAHAyJ,GAAMC,EAAGxD,OACTgC,EAAKmxH,OAAOprH,IAAMxE,EAAIwE,IACtB/F,EAAKmxH,OAAO52H,QAAUgH,EAAIhH,SAClB,EAAcyF,EAAKmxH,OAAOprH,IAAM,kBwQprwBpBwvH,aAAA35H,OAAAc,EAAA,iBAE3B,GAAA4E,EACV,OAAM1E,GAAArE,KAAsB,SAAEiJ,GAE7B,MADAF,GAAa1F,OAAAc,EAAe,QAAAsD,GAAAsB,YAChB,EAAAA,EAAAi0H,aAAAv1H,EAAAmxH,OAAKnsF,cAQjB,SAAW9tC,EAAAC,EAAAC,GxQyrwBf,YwQtrwBUA,GAAAsC,EAAAvC,EAAY,qBAAAq+H,IACH,IAAA94H,GAAKtF,EAAO,IAE3Bo+H,EAAA94H,EAAA,MACDuC,MAAA,wBACCwB,YAAY/D,EAAI,MAAAyC,SAAAzC,EAAA,MAAA6C,QAAA,GxQwrwBhBO,WwQvrwBOpD,EAAY,MAAA6C,OACnBuD,eAACpG,EAAA,MAAA4C,MAAA5C,EAAA,MAAA+C,QACD5E,KAAA6B,EAA2D,MAAA4C,MAAA5C,EAAA,MAAA+C,QxQwrwB3DI,KwQvrwBEnD,EAA6B,MAAAyC,SAAAzC,EAAA,MAAA+C,OAAA,IxQwrwB/BG,OwQvrwBMlD,EAAiC,MAAAyC,SAAAzC,EAAA,MAAA6C,OAAA,GACvCk2H,UAAC/4H,EAAA,MAAAyC,SAAAzC,EAAA,MAAA+C,OAAA,IAPcJ,OAQb3C,EAAA,MAAAyC,SAAAzC,EAAA,MAAA6C,OAAA,GxQwrwBFC,UAAW9C,EAAqD,MAAEyC,SAASzC,EAAqD,MAAE+C,OAAQ,IAC1I8D,UAAW7G,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE6D,SAC/H8B,SAAU3F,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE6C,QAC9HoE,KAAMjH,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE+C,QAC1H6C,KAAM5F,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE+C,QAC1HE,cAAejD,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE+C,QACnIC,cAAehD,EAAqD,MAAE4C,MAAM5C,EAAqD,MAAE+C,UAElIS,QAAQ,SAAUF,GAAQ,OAC3B01H,WAAY,SAAU76H,GAClBmF,EAAKnF,KAAOA,GAEhBkI,iBAAkB,SAAUjD,EAAYgD,GACpC9C,EAAKF,WAAaA,EAClBE,EAAK8C,eAAiBA,OyQ5twB9B,SAAA5L,EAAAC,EAAAC,GzQquwBA,YAoEA,SyQ3twBKu+H,KzQ4twBD,OyQ1twBHtvE,SAAA,IAEDC,YAAA,oDzQ2twBQ1U,WAAYgkF,EACZh9D,kBAAkB,EAClBnS,aAAc,OACd/8C,SACAg9C,KAAM,SAAUh9C,EAAOwiB,GAEnBA,EAAK1iB,GAAG,iBAAkB,mBAAoB,SAAU3D,GACpD,GAAIi0C,GAAO4vD,IAA+C7jG,EAAIhB,QAAQqqH,QAAQ,kBAC1E5yF,EAASwd,EAAKxd,QAClBwd,GAAKxC,SACL3oB,WAAW,WACP2N,EAAOwvB,OAAOhS,IACf,SyQhzwBmB,GAAUniD,GAAAP,EAAA,GAAUQ,EAASR,EAAAG,EAAAI,GAAoBgE,EAAAvE,EAAA,IAAUqyG,EAAQryG,EAAA,IACtFsyG,EAAyBtyG,EAAAG,EAAAkyG,GAC5BosB,EAAgBz+H,EAAA,GAEd0+H,EAAE1+H,EAAU,IzQuuwB1Bw+H,EyQhuwBmB,WzQmuwBnB,QyQhuwBCA,GAAAnmG,EAAA5B,EAAA6/F,EAAA/zH,EAAA8vD,GAED,GAAI9/C,GAAQpR,IzQguwBRA,MyQ/twBFk3B,OAAKA,EACPl3B,KAAGs1B,aACJt1B,KAAAm1H,YAEDn1H,KAAAoB,aAAApB,KAAAkxD,WACElxD,KAAKiC,WAAWb,EAAAa,WAChBjC,KAAA2B,KAAAP,EAAAO,IAEA,IAAIwB,GAAU9D,EAAAJ,EAAAuvB,UAAAprB,EAAA,EAAAnD,SAAAkD,QAKhB,IzQ0twBMnD,KyQ9twBFw9H,UAAKn+H,EAAgCJ,EAAAgV,OAAA9Q,EAAA,SAAAoD,GAAA,OAAAA,EAAAk3H,eACvCz9H,KAAG09H,UAAAr+H,EAAAJ,EAAAgV,OAAA9Q,EAAA,SAAAoD,GAAA,MAAAA,GAAAk3H,eACJz9H,KAAA29H,SAAA,kBAAAnrH,mBAAAxS,KAAAm1H,UAAA9lD,QAEDjuE,EAAAO,KAAAi8H,SAAA,GACE,GAAAC,GAAAx+H,EAAAJ,EAAUyJ,KAAK1I,KAAA09H,WAAAzyH,GAAA,WAChB4yH,KAEDA,EAAAC,iBAAA,GzQ+twBM99H,KyQ5twBDk3B,OAAA5lB,IAAA,iCACJF,EAAAusH,SAAA,kBAAAnrH,mBAAApB,EAAA+jH,UAAA9lD,UzQuvwBC,MAhDAguD,GyQhuwBGnnE,SAAA,2DzQwvwBHmnE,EyQ3twBE98H,UAAAqC,eAAA,WzQ4twBE,GAAIwO,GyQ3twBJpR,IzQ4twBAA,MyQ3twBDoB,WAAEwB,iBzQ4twBD26H,EyQ3twBmB,EAAA7vH,KAAA,mBzQ4twBnB1N,KyQ3twBHkxD,SAAA,WACF9/C,EAAAkkB,WAAA69B,WAAA,azQ8twBCkqE,EAAa98H,UAAUw9H,8BAAgC,WyQ3twBrDR,EAA2B,EAAA7vH,KAAA,2BzQ8twB7B2vH,EyQ5twBQ98H,UAAKy9H,UAAA,WACbh+H,KAAAs1B,WAAa2uC,SAAA,cACb/P,aAAY,uDzQ+twBZmpE,EyQ5twBS98H,UAAA09H,YAAA,SAAA13H,EAAA+G,GACM,eAAX/G,EAAEiH,MACJ+vH,EAA6B,EAAA7vH,KAAA,cACzBwmD,aAAI,8BzQ8twBF5mD,EyQ5twBJ+tB,mBzQ+twBGgiG,I0QxywBiCC,GAAA,EAAAxoH,UAAA,WAAAsoH,I1Qq0wBtC,S0QnzwB2Cz+H,EAAAC,EAAQC,G1QqzwBzD,YAyNA,SAASq/H,KACL,OACIpwE,SAAU,IACVC,YAAa,gDACb1U,WAAY8kF,E2QxixBG99D,kBAAA,EACuBnS,aAAA,OACf/8C,UDyBf,GAAG/R,GAAwBP,EAAA,GACvBQ,EAA+BR,EAAAG,EAAAI,GAC/B0kE,EAAAjlE,EAAA,GACXu/H,EAA6Bv/H,EAAA,KACnC8M,EAAA9M,EAAA,I1QwzwBCs/H,E0Q1xwBD,W1Q6xwBC,Q0QlzwBEA,GAAOjnG,EAAAi+F,EAAAjkE,EAAAmtE,G1QmzwBLr+H,K0QlzwBHm1H,YAEDn1H,KAAKkxD,SAASA,EACdlxD,KAAKq+H,YACL1yH,EAAwB,EAAAsF,GAAA,mBAAAjR,KAAAs+H,WAAA/rG,KAAAvyB,MAAAk3B,GACxBvrB,EAAkB,EAAAsF,GAAA,mBAAAjR,KAAAu+H,YAAAhsG,KAAAvyB,MAAAk3B,GAClBl3B,KAAKw+H,yBAA0B,MAC/Bx+H,KAAKy+H,QAAAz+H,KAAey+H,QAAKlsG,KAAAvyB,MACzBA,KAAK0+H,YAAc1+H,KAAK0+H,YAAAnsG,KAAAvyB,MACxBA,KAAKmC,SAASi8H,EAAQ,EAAAj8H,SAEtBnC,KAAIqC,2BAA4B+7H,EAAA,EAAA/7H,2B1Q6+wBhC,MAxMA87H,G0QlzwBEjoE,SAAK,SAAc,oC1Q+zwBrBioE,E0QhzwBC59H,UAAAg+H,YAAA,WAEDv+H,KAAKywB,OAASzwB,KAAA2+H,a1QizwBdR,E0Q/ywBE59H,UAAK+9H,WAAkB,SAAKhxH,EAAAsoD,G1QgzwB1B,G0Q/ywBFxkD,GAAKpR,IACP,IAAGA,KAAKywB,OAGV,WAFCzwB,MAAAu+H,a1QkzwBKv+H,M0Q9ywBFywB,QAAK,E1Q+ywBHzwB,K0Q9ywBH4+H,gBAAA,EACD5+H,KAAIyN,eAAkB,E1Q+ywBlBzN,K0Q9ywBFyoD,W1Q+ywBEzoD,K0Q9ywBHm2B,aAAA,GAAAgpC,OAAAoyD,SAAA,GACDvxH,KAAI6+H,gBAAkB,E1Q+ywBlB7+H,K0Q9ywBF2+H,aAAK,E1Q+ywBH3+H,K0Q9ywBH26B,WAAA,EACGi7B,GAAWA,EAAO27D,UACpBvxH,KAAMm2B,MAAAo7F,SAAe,G1QgzwBnBvxH,K0Q7ywBFkxD,SAAI,W1Q8ywBE9/C,E0Q7ywBJutH,aAAgB,E1Q8ywBZvtH,EAAMwtH,gB0Q7ywBUxtH,EAAGwtH,gBAAa,E1Q8ywBhCxtH,EAAMyoB,UACP,MAEPskG,EAAW59H,U0Q5ywBHuhE,QAAK,SAAcx0D,G1QszwBvB,G0QrzwBG,K1Q4ywBCA,EAAIsuC,SACJ57C,K0Q5ywBHu+H,cACO,K1Q6ywBJjxH,EAAIsuC,SACJ57C,KAAK8+H,c0Q5ywBH,GAEH,K1Q4ywBCxxH,EAAIsuC,SACJ57C,K0Q5ywBH8+H,eAAA,GAEJ,KAAAxxH,EAAAsuC,QAAA,CACF,GAAAmjF,GAAA/+H,KAAAg/H,kCAEDC,EAAAF,EAAA/+H,KAAAyN,cACM,IAACwxH,EACA,OAAex8H,KAAfw8H,EAAeC,eAAA,CACrB,GAAAC,GAAAn/H,KAAAyoD,QAAAw2E,EAAAG,aAAAj3H,MAAA82H,EAAAC,eAEDC,KAAAn/H,KAMCm1H,UAAAt7F,WALiB75B,KAAGm1H,UAAK9lD,KAAA8vD,EAAA3xH,KAEVxN,KAAAu+H,mBAGf,CAED,GAAAc,GAAAr/H,KAAAyoD,QAAcw2E,EAASG,YACLC,IACPA,EAAAxuG,OAAAwuG,M1Q+ywBTlB,EAAW59H,U0QvywBF++H,iBAAoB,W1QwywBzBt/H,K0QvywBD4+H,gBAAA,E1QwywBC5+H,KAAKu/H,gBAETpB,E0QxywBG59H,UAAAg/H,aAAA,W1QyywBC,G0QxywBHnuH,GAAApR,IAEDA,MAAI2+H,aAAe,E1QwywBf3+H,K0QvywBFkxD,SAAK,WACL9/C,EAAAutH,aAAO,GACR,M1QyywBDR,E0QtywBI59H,UAAWu+H,cAAkB,SAAGlyE,GACpC,GAAsB,IAAlB5sD,KAACyoD,QAAA9kD,OAAL,C1QyywBI,G0QrywBFo7H,GAAkB/+H,KAACg/H,kCACnBC,EAAOF,EAAA/+H,KAAAyN,c1Q8ywBL,I0Q7ywBHwxH,QAEmCx8H,KAAhCw8H,EAAaC,eACXl/H,KAAKyoD,QAAQw2E,EAACG,aAAwBj3H,MAAE82H,EAAUC,gBAAA1rF,UAAA,EAGrDxzC,KAAAyoD,QAAAw2E,EAAAG,aAAA5rF,UAAA,GAIF,IAAAoZ,EAGC,YADE5sD,KAAKyN,eAAQ,E1QqywBb,I0QlywBHkN,GAAAokH,EAAAp7H,OAEG67H,EAASx/H,KAAAyN,cAAam/C,CAC3B5sD,MAAAyN,eAAA+xH,GAAA7kH,GAAA,EAAA6kH,EAAA7kH,EAAA6kH,CAED,IAAAC,GAAAV,EAAgB/+H,KAAhByN,cAAA,YAmBChL,KAnBDg9H,EAmBCP,gBAAA,IAAAl/H,KAAAyoD,QAAAg3E,EAAAL,aAAAn0H,OAlBKjL,MAAC8+H,cAAkBlyE,OAIInqD,KAAzBg9H,EAAIP,eACFl/H,KAAAyoD,QAAOg3E,EAAAL,aAAAvO,c1QoywBH7wH,K0QhywBDyoD,QAAIg3E,EAAML,aAAAj3H,MAAAs3H,EAAAP,gBAAA1rF,UAAA,OAHdxzC,MAAA8+H,cAAAlyE,G1QsywBK5sD,KAAKyoD,Q0QjywBFg3E,EAAaL,aAAUM,e1QkywB1B1/H,M0QjywBH8+H,cAAAlyE,Q1QoywBD5sD,K0QhywBFyoD,QAAKg3E,EAAgBL,aAAC5rF,UAAA,KAE1B2qF,EAAC59H,UAAAo/H,iBAAA,WAED,GAAAvuH,GAAApR,IACEA,MAAI6+H,gBAAmB7+H,KAAA6+H,gBAAA,CACvB,IAAAe,GAAkB5/H,KAAO6+H,eAC1B,OAAA7+H,MAAAq+H,UAAAxkG,OAAA75B,KAAAm2B,OAAA+D,KAAA,SAAAuuB,GAED,KAAAm3E,EAAAxuH,EAAWytH,iBAAX,CAGIztH,EAAKq3C,QAASA,KACf,QAAA39C,GAAA,EAAA7B,EAAAmI,EAAAq3C,QAAA39C,EAAA7B,EAAAtF,OAAAmH,IAGH,OAFCwgB,GAAAriB,EAAA6B,GAEDvB,EAAA,EAAA24B,EAAA5W,EAAAnjB,MAAeoB,EAAG24B,EAAAv+B,OAAA4F,IAAA,CACL,GAAGhD,GAAG27B,EAAA34B,EACNhD,GAAGiH,KAAAtN,OAAA2/H,SAAAhmG,OAGVzoB,EAAAupB,WAAiB,EACtBvpB,EAAA0tH,cAAA,OAIDX,EAAC59H,UAAAu/H,kBAAA,WAED,GAAA3pG,GAAAn2B,KAAAm2B,KACE,OAAiB,KAAZA,EAAMA,QAAM,IAAAA,EAAAo7F,SAAe,IAAfp7F,EAAAgpC,IAAEx7D,QAErBw6H,EAAC59H,UAAAw/H,YAAA,SAAA5gE,IAED,IAAA9/D,EAAAJ,EAAA2T,QAAA5S,KAAAm2B,MAAAgpC,SACMn/D,KAACm2B,MAASgpC,IAAK75D,KAAC65D,GAChBn/D,KAAC65B,W1Q6xwBLskG,E0QzxwBK59H,UAAMy/H,UAAgB,SAAM7gE,EAAQ7xD,GACzCtN,KAAKm2B,MAAAgpC,IAAA9/D,EAA2CJ,EAAAghI,QAAAjgI,KAAAm2B,MAAAgpC,OAChDn/D,KAAK65B,SACN75B,KAAA4+H,gBAAA5+H,KAAA4+H,gBAAA,EAEDtxH,EAAAguB,kBACEhuB,EAAI+tB,kB1Q0xwBJ8iG,E0QxxwBK59H,UAAAk+H,QAAmB,WACzB,MAAAz+H,MAAAq+H,UAAAhM,oB1Q0xwBC8L,E0QvxwBK59H,UAAAm+H,YAAiB,SAAAwB,GACvBlgI,KAAAm2B,MAAAgpC,IAAA9/D,EAAAJ,EAAAqH,IAAA45H,EAAA,SAAA/gE,GAAA,MAAAA,GAAAv+D,QAEOZ,KAAA65B,U1QwxwBNskG,E0QrxwBO59H,UAAA4/H,kBAAA,W1QsxwBHngI,K0QrxwBFm2B,MAAIgpC,O1QsxwBFn/D,K0QpxwBF65B,U1QsxwBFskG,E0QpxwBK59H,UAAA6/H,YAAA,W1QqxwBDpgI,K0QnxwBFm2B,MAAIo7F,SAAcvxH,KAAKm2B,MAAAo7F,Q1QoxwBrBvxH,K0QlxwBF4+H,gBAAgB5+H,KACd4+H,gBAAA,E1QkxwBA5+H,KAAK65B,UAETskG,EAAW59H,U0QjxwBHs5B,OAAc,W1QkxwBlB75B,KAAKqgI,Y0QjxwBD,E1QkxwBJrgI,K0QjxwBCyN,eACD,E1QixwBAzN,K0Q/wwBF2/H,oB1QixwBFxB,E0Q/wwBG59H,UAAA+/H,gBAAA,WACJtgI,KAAA8+H,cAAA,IACFX,EAAA59H,UAAAy+H,gCAAA,W1QixwBO,GAAII,GAAc,C0Q/wwBpB,OAAU//H,GAAeJ,EAAAshI,QAAAvgI,KAAAyoD,QAAA,SAAAjlD,GACtB,GAAA8nB,KACLA,GAAUhmB,MACV85H,YAAaA,GAEb,IAAAF,GAAsB,C1QwxwBd,O0QvxwBR5zG,GAAYA,EAAQsf,OAAAvrC,EAAAJ,EAAAqH,IAAA9C,EAAA2E,UAAA,SAAA1E,GACb,OACP27H,cACHF,uB1QmxwBWE,IACO9zG,KAGR6yG,IAaXr6D,G2QxixBiB,EAAAhvD,UAAA,kBAAAopH,I3Q6ixBX,S2QxixBIv/H,EAAQC,EAAqBC,G3Q0ixBvC,YAUA,SAAS2hI,KACL,OACI1yE,SAAU,IACV5N,S2QnixBE,oC3QoixBFwT,Y2QlixBI,E3QmixBJvF,KAAM,S2QlixBJh9C,EAAQwiB,EAAOq6B,EAAAM,EAAAoF,G3QmixBb,GAAIx3C,G2QlixBN8xC,EAAS9xC,QAAO,U3QmixBVyjC,E2QlixBNqO,EAAUrO,UAAQ,e3QmixBZqyD,E2QlixBN,mC3QoixBEr+E,GAAKa,S2QlixBP,qB3QmixBMw5B,E2QlixBNyyE,O3QmixBMzuB,G2QlixBJ,c3QoixBIhkD,EAAM1B,MACN34B,EAAKa,SAAS,sB2QlixBFw5B,EAAA1B,M3QoixBhBoH,EAAW,S2QlixBPzpB,EAAKm5B,G3QmixBL,GAAI4M,G2QlixBLttE,SAAAkL,cAAA,M3QmixBCoiE,GAAQniE,U2QlixBX,gB3QmixBGxO,E2QlixBLJ,EAAAsoC,KAAA0C,EAAA,SAAAhI,GACD+tC,EAAA3+C,YAAA4Q,IAGF,IAAAy+F,IACEp0H,OAAQqnB,EAAG,GAEXq8C,QAAIA,E3QiixBMrwB,S2QhixBHA,E3QiixBGqyD,Q2QhixBRA,EACFC,OArBA,QAsBC0uB,eAAA,IACFxuB,eACJj2F,SACDk2F,cAGJ74F,GAAA,S3QgixBgC84F,WAAY,WACZuuB,KAAK,KAMrBzvH,GAAM0vH,YAAY,WACd,GAAI9uB,GAAO,GAAI+uB,GAAkD7hI,EAAEyhI,GAC/DrvH,EAASF,EAAMG,IAAI,WAAY,WAC/BygG,EAAK5iF,UACL9d,Y2Q5lxBT,GAACjS,GAAMP,EAAA,GACPQ,EAAiBR,EAAAG,EAAAI,GACzB6wH,EAAApxH,EAAA,GAESkiI,EAAMliI,EAAA,KACTiiI,EAA6CjiI,EAAAG,EAAA+hI,E3Q8lxB1D9Q,G4Q1mxBE,EAAAn7G,UAAA,cAAA0rH,I5Q+mxBI,S4QzmxBA7hI,EAAQC,EAAeC,G5Q2mxB7B,YAwBA,S4QnmxBKmiI,K5QomxBD,O4QlmxBHlzE,SAAA,IAEDC,YAAA,gDACA1U,WAAA4nF,E5QmmxBQ5gE,kBAAkB,EAClBnS,aAAc,OACd/8C,OACIzK,MAAO,KAEXynD,KAAM,SAAUh9C,EAAOwiB,MAG/B,QAASutG,KACL,OACIpzE,SAAU,I6QlqxBK5N,SAAA,wRACiB/uC,OAExBzK,MAAS,M7Q4nxBJ,GAAIuzD,GAA6Cp7D,EAAoB,G4QzmxB3DsiI,EAAAtiI,EAAA,I5Q6mxB3BoiI,E4Q1mxBa,W5Q4mxBb,Q4Q1mxBAA,M5QqnxBA,MATAA,G4Q1mxBO1gI,UAAA6gI,WAAA,W5Q2mxBHD,E4Q1mxBQ,EAAAzzH,KAAA,qB5Q4mxBZuzH,E4Q1mxBM1gI,UAAS8gI,eAAe,SAAAl0H,EAAAG,GAC9BH,EAAAm0H,eACHn0H,EAAAm0H,eAEeh0H,EAAM+tB,mBAGlB4lG,I5QkoxBJhnE,G6QjqxBsB,EAAAnlD,UAAA,SAAAosH,G7QkqxBtBjnE,E6QjqxBgD,EAAAnlD,UAAA,SAAAksH,I7QsqxB1C,S6QhqxBEriI,EAAIC,EAAAC,G7QkqxBZ,YAOA,S6QhqxBK0iI,KAEJ,OAEDzzE,SAAA,I7QgqxBQG,QAAS,UACTE,KAAM,SAAUh9C,EAAO5D,EAASytC,EAAMmW,GAClC,QAASqwE,GAAYv7H,GACjB,OAAQA,GAAQ,IAAIqkC,MAAM,KAE9B,QAASm3F,GAAWx7H,GAChB,MAAI5G,GAA6CJ,EAAE+U,QAAQ/N,IAC/CA,GAAQ,IAAImS,KAAK,KAGlBnS,EAGfkrD,EAAQ0B,SAASvtD,KAAKk8H,G8QzsxBXrwE,EAAAuB,YAAAptD,KAAAm8H,KDkBb,GAAAriI,GAAYP,EAAA,GACbQ,EAAAR,EAAAG,EAAAI,EACFP,GAAA,GCVL,EAAAiW,UAAA,YAAAysH,I9QysxBI,S8QnsxBM5iI,EAAEC,EAAwBC,G9QqsxBtC,Y8QhsxBa,IAAKO,GAAYP,EAAA,GACzBQ,EAAAR,EAAAG,EAAAI,GAEgBgE,EAA4BvE,EAAA,IACpC6iI,EAA2B7iI,EAAA,K9QusxBpC8iI,G8QtsxBC9iI,EAAAG,EAAA0iI,GAMW,W9QisxBZ,QAASC,KACL3hI,KAAK4hI,a+Q3txBb,M/Q6txBID,GAAQphI,U8Q/rxBJshI,gBAAgB,W9QgsxBhB,G8Q/rxBFztB,GAAEl0G,OAAA2/H,Q9QgsxBA,Q8Q9rxBQ,WAAVzrB,EAAK0tB,SAAiB,SAAG,SAAA1tB,EAAA2tB,KAAA3+H,EAAA,EAAAtD,UAAA,O9QgsxB3B6hI,E8Q9rxBEphI,UAAEyhI,cAAA,W9Q+rxBA,G8Q7rxBF5wH,GAAKpR,I9Q8rxBH,OAAIA,M8Q7rxBJiiI,YACAjiI,KAAOiiI,YAETjiI,KAAEkiI,MAAA,IAAAliI,KAAAkiI,KAAAC,WAEGl4H,QAAKC,QAASlK,KAAAkiI,O9Q8rxBjBliI,KAAKiiI,Y8Q5rxBA,GAAAh4H,SAAc,SAAKC,EAAA+1B,G9Q6rxBpBlR,Q8Q5rxBJC,IAAQ,uBACV5d,EAAE8wH,KAAA,GAAAE,WAAAhxH,EAAAywH,mBACDzwH,EAAA8wH,KAAAG,QAAA,SAAA/0H,GAEIyhB,QAAKC,IAAA,0BAAY1hB,GACzB2yB,GAAA2H,QAAA,sBAEDx2B,EAAA6wH,YAAa,KACJ7rG,WAAQhlB,EAAMkxH,UAAS/vG,KAAAnhB,GAAA,MAG5BA,EAAA8wH,KAAW58B,UAAC,SAAAh4F,GACZ8D,EAAOmxH,cAAAj1H,EAAA0D,OAGLI,EAAA8wH,KAAWM,QAAK,SAAUl1H,GACzB8D,EAAQ6wH,YAAE,KACThiG,GAAC2H,QAAe,qBACpB7Y,QAAOC,IAAA,wBAAA1hB,IAGT8D,EAAS8wH,KAAKO,OAAS,SAAAn1H,GACxByhB,QAAAC,IAAA,UAED5d,EAAA6wH,YAAA,KAAA/3H,EAAAkH,EAaC8wH,SAVGliI,KAAOiiI,c9QyrxBTN,E8QtrxBAphI,UAAYgiI,cAAA,SAAyB36F,G9QwrxBjC,G8QtrxBJA,EAAK9zB,KAAAC,MAAgB6zB,IACnBA,EAAA86F,OAEA,W9QorxBM3zG,S8QrrxBJC,IAAK,wCAA2C4Y,EAGrD,IAAAs8B,GAAAlkE,KAAA4hI,UAAAh6F,EAAA86F,OAED,KAAAx+D,EAEC,WADKlkE,MAAK2iI,eAAW/6F,EAAU86F,OAAO,KAGvCx+D,GAAAl/D,KAAA4iC,I9QsrxBE+5F,E8QnrxBIphI,UAAC+hI,UAAqB,W9QorxBtB,G8QnrxBFlxH,GAAKpR,IAER,KAAAX,EAAAJ,EAAAoH,KAAArG,KAAA4hI,WAAAj+H,SAGCorB,QAAQC,IAAI,yBACZhvB,KAAAgiI,gBAAqB9nG,KAAC,SAAQgoG,GAE1B7iI,EAA0BJ,EAAAsoC,KAAAn2B,EAAAwwH,UAAA,SAAAhhI,EAAAH,GAC5B2Q,EAASwxH,MAAGplD,OAAQ,YAAeklD,OAAQjiI,U9QsrxB7CkhI,E8QlrxBFphI,UAAAqiI,KAcC,SAAA5xH,GAbChR,KAAAkiI,KAAQU,KAAI9uH,KAAAM,UAAApD,K9QorxBZ2wH,E8QjrxBEphI,UAAKsiI,YAAY,SAAYH,EAAUx+D,G9QkrxBrC,G8QhrxBF9yD,GAAOpR,I9QirxBLA,MAAK4hI,U8QhrxBAc,GAAAx+D,E9QirxBLlkE,K8QhrxBDgiI,gBAAC9nG,KAAA,SAAAgoG,GACD9wH,EAAAwxH,MAAAplD,OAAA,YAAAklD,c9QmrxBHf,E8Q/qxBAphI,UAAMoiI,eAAA,SAAAD,EAAAx+D,GACP,GAAA9yD,GAAApR,IACH+uB,SAAAC,IAAC,cAAA0zG,SAAA1iI,MAAA4hI,UAAAc,G9QirxBO1iI,KAAKgiI,gBAAgB9nG,KAAK,SAAUgoG,G8Q/qxBhC9wH,EAAGwxH,MAAIplD,OAAU,cAAAklD,c9QmrxBzBf,EAAQphI,UAAU0+B,UAAY,SAAU6jG,GACpC,GAAI1xH,GAAQpR,IAEZ,OADA+uB,SAAQC,IAAI,sBAAwB8zG,GAC7BpB,EAA0D,WAAEz+H,OAAO,SAAUihE,GAEhF,MADA9yD,GAAMyxH,YAAYC,EAAY5+D,GACvB,W+Q1zxBnB9yD,EAAAuxH,eAAAG,EAAA5+D,OAOAy9D,KAGA,IAAAA,IAMA,SAAAhjI,EAAAiS,EAAA/R,GAEA,Y/Qg0xBA,SAAS6gC,GAAaqjG,EAAgBlqG,EAAOE,GACzC,GAAIgqG,EAAgB,CAChB,GAAIA,YAA0BC,GAAazgG,WgRp1xBnD,MAAAwgG,EAEA,IAAAA,EAAAvgG,EAAA9U,cACA,MAAAq1G,GAAAvgG,EAAA9U,gBAGA,MAAAq1G,IAAAlqG,GAAAE,EAGA,GAAAiqG,GAAAzgG,WAAAwgG,EAAAlqG,EAAAE,GAFA,GAAAiqG,GAAAzgG,WAAAI,EAAAhK,OhRw0xBA,GAAIqqG,GAAenkI,EAAoB,KACnC2jC,EAAiB3jC,EAAoB,KACrC8jC,EAAa9jC,EAAoB,IgRt0xBrC+R,GAAA8uB,gBAKA,SAAA/gC,EAAAiS,EAAA/R,GAEA,YhRy1xBA,SAASokI,KACL,IACI,MAAOC,GAAen/H,MAAM/D,KAAM0D,WiR52xB1C,MAAA6B,GAEA,MADA2lC,GAAAxS,YAAAnzB,IACA2lC,EAAmBxS,aAGnB,QAAA4S,GAAAxH,GAEA,MADAo/F,GAAAp/F,EACAm/F,EjRi2xBA,GACIC,GADAh4F,EAAgBrsC,EAAoB,IiR/1xBxC+R,GAAA06B,YAMA,SAAA3sC,EAAAiS,EAAA/R,GAEA,YAEA,IAAAgN,GAAA7L,WAAA6L,WAAA,SAAA1K,EAAA0I,GAEC,QAAAqC,KAAAlM,KAAAmM,YAAAhL,EADD,OAAAyC,KAAAiG,KAAAhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,GAEAzC,GAAAZ,UAAA,OAAAsJ,EAAAxG,OAAAJ,OAAA4G,IAAAqC,EAAA3L,UAAAsJ,EAAAtJ,UAAA,GAAA2L,KjRo3xBI4+B,EAAuB,SAAUv8B,GkR34xBrC,QAAAu8B,GAAAJ,GACAn8B,EAAAzK,KAAA9D,MACAA,KAAA0qC,QACA,IAAA5R,GAAAtvB,MAAA1F,KAAA9D,KAAA0qC,EACAA,EAAA/mC,OAAA,8CAAA+mC,EAAApkC,IAAA,SAAAwyB,EAAAr1B,GAAA,MAAAA,GAAA,OAAAq1B,EAAA7b,aAAA7E,KAAA,WACApY,MAAA+J,KAAoB+uB,EAAA/uB,KAAA,sBACpB/J,KAAAwqB,MAAAsO,EAAAtO,MACAxqB,KAAA4nC,QAAA9O,EAAA8O,QAEA,MlRm4xBI/7B,GAAUi/B,EAAqBv8B,GkRn4xBnCu8B,GACAthC,MACAoH,GAAAk6B,uBAKA,SAAAnsC,EAAAiS,EAAA/R,GAEA,YAIA,SAAAwhC,KAEA,OADA8iG,MACAr4H,EAAA,EAAAA,EAAApH,UlR64xBoCC,OAAQmH,IACpCq4H,EAAIr4H,EAAK,GAAKpH,UAAUoH,EAE5B,OAAOy1B,GAAc4iG,GmRx6xBzB,QAAA5iG,GAAA4iG,GACA,MAAAA,GAGA,IAAAA,EAAAx/H,OnR66xBew/H,EAAI,GAER,SAAe96E,GAClB,MAAO86E,GAAIp7F,OAAO,SAAUsa,EAAMve,GAAM,MAAOA,GAAGue,IAAUgG,ImRl7xBpE+6E,EAAiBv4E,KDkBjB,GAAAu4E,GAAAvkI,EAAA,KlRs5xBA+R,GAAQyvB,KAAOA,EAafzvB,EAAQ2vB,cAAgBA,GoRv7xBW,SAAA5hC,EAAAiS,EAAA/R,GAGnC,YpR87xBA,SoR/6xBEgsD,MpRg7xBFj6C,EoRh7xBsBi6C,QpRq7xBhB,SoR/6xBFlsD,EAAAC,EAAAC,GpRi7xBJ,YA+BA,SAASwkI,KACL,OACIv1E,SoR16xBA,IAEJzU,WAACiqF,EACDjjE,kBAAA,EACHnS,aAAA,OAED/8C,SACA+uC,YpR46xBA,QAASqjF,GAAWjuG,GAChB,OACIw4B,SAAU,IACV38C,SACAg9C,KAAM,SAAUh9C,EAAOwiB,GACnB,GAAI6vG,GAASnwH,EAA8D,EAAE7S,IAAI,6BAA+B,OAC5GqN,EAAY,oBAAsB21H,CqRz/xBJ7vG,GAAAa,SAAA3mB,GAElCynB,EAAGS,WAAA,+BAAAzoB,EAAAm2H,GAaf9vG,EAAAinB,YAAA/sC,GAOEA,EAAgB,oBAAA41H,EAChB9vG,EAAAa,SAAkB3mB,IAAUsD,KrRu7xB9BoyH,EoR96xBGrtE,SAAA,iBAAA7iD,GAAAxU,EAAA,IACHoxH,EAACpxH,EAAA,GAEDqhD,EAAA,0SACMojF,EAAwB,WpRk7xB1B,QoR/6xBAA,GAAYhuG,GACZt1B,KAAAs1B,WAAkBA,EAClBt1B,KAAAssD,KAAYj5C,EAAQ,EAAA7S,IAAA,oCpR27xBpB,MAfA8iI,GoR/6xBaptE,SAAA,cpRo7xBbotE,EoR/6xBU/iI,UAAQmjI,SAAA,WAClB1jI,KAAAssD,KAAA,OACHj5C,EAAA,EAAA1S,IAAA,mCAEDX,KAAAs1B,WAAiB2uC,SAAA,+BAEfq/D,EAAO/iI,UAAAojI,SAAA,WACL3jI,KAAAssD,KAAU,OACVj5C,EAAS,EAAA1S,IAAA,mCACTX,KAAIs1B,WAAW2uC,SAAO,sBAAI,SpRg7xBnBq/D,IA+BXrT,GqRv+xBE,EAAAn7G,UAAA,iBAAAuuH,GrRw+xBFpT,EqRp+xBG,EAAAn7G,UAAA,aAAAyuH,IACH,SAAA5kI,EAACC,EAAAC,GrR0+xBD,YAuBA,SAAS+kI,KACL,OACI91E,SAAU,IACVzU,WAAYwqF,EACZ31E,aAAc,OACdmS,kBAAkB,EsRviyBoBlvD,OAElCm7F,QAAG,IAIfpnG,MAAA,IAIE4+H,WAAgB,IAChBlqF,QAAA,IAAoBmqF,YAAU,IAAIh2H,SAAA,KAElCmyC,YDwBe,GAAArrC,GAAAhW,EAAA,GrR2+xBbqhD,EqRz+xBA,qgBrR0+xBA2jF,EqRz+xBsB,WrR4+xBtB,QqRz+xBEA,GAAU3sG,EAAAg6B,GrR0+xBRlxD,KqRz+xBFkxD,SAAYA,ErR0+xBVlxD,KqRz+xBFyqB,MAAO,ErR0+xBLzqB,KqRz+xBFiL,GAAAisB,EAAai0B,IrRi/xBf,MAZA04E,GqRz+xBE3tE,SAAY,qBrR++xBd2tE,EqRz+xBCtjI,UAAAyjI,iBAAA,WACD,GAAA5yH,GAAUpR,IACV,OAAAA,MAAAkxD,SAAA,WACH,MAAA9/C,GAAArD,crR4+xBU81H,IAoBXhvH,GsRliyBsB,EAAAC,UAAA,eAAA8uH,IAKtB,SAAAjlI,EAAAC,EAACC,GtRoiyBD,YAwBA,SAASolI,KACL,OACIn2E,SAAU,IuRplyBKzU,WAAA6qF,EACA7jE,kBAAA,EACuBnS,aAAA,OAE1ChO,SAAWA,EAWf/uC,OACgBzK,MAAA,MDUC,GAAAmO,GAAAhW,EAAA,GtRqiyBbqhD,EsRniyBA,yHtRoiyBAgkF,EsRniyBoB,WtRsiyBpB,QsRniyBEA,GAAUn7H,GtRoiyBR/I,KsRniyBH+I,atR8iyBD,MAbAm7H,GsRniyBOhuE,SAAA,cAIVguE,EAAA3jI,UAAA4jI,QAAA,WAED,GAAA/yH,GAAApR,ItRoiyBQ,OADAA,MAAKT,UAAaqB,MAAO,EAAGqF,KAAM,YAC3BjG,KAAK+I,WAAW8wB,QAAS03F,SAAS,IAAQr3F,KAAK,SAAUlxB,GAC5DA,EAAIsoB,QAAQ,SAAU8yG,GAClBhzH,EAAM7R,QAAQ+F,MAAO1E,MAAOwjI,EAAKn5H,GAAIhF,KAAMm+H,EAAKz1H,aAIrDu1H,IAeXrvH,GuRzkyBsB,EAAAC,UAAA,oBAAAmvH,IvR8kyBhB,SuRzkyBDtlI,EAAAC,EAAAC,GvR2kyBL,YAaA,SAASwlI,GuRrkyBcvzE,EAAAwzE,GvRukyBnB,OACIx2E,SuRpkyBA,IvRqkyBA5N,SAAUA,EACV/uC,OACIm4B,KuRpkyBH,IACHi7F,YAAC,IAEDhuE,SAAS,KvRqkyBPpI,KAAM,SuRnkyBOj3B,EAAAvD,GvRykyBT,QuRjkyBF6wG,GAAcC,GvRmkyBR,GuRjkyBNC,GAAGvxG,IAAAnzB,MACJm1D,EAAAuvE,EAAA1/H,MAEDmwD,GAAO5jC,IAAI+X,EAAGf,OAAAk8F,IACdtvE,EAAMnW,IAAI,QAAG0lF,EAAAnlF,QAAA,SACdmlF,EAAAt2F,OAED+mB,EAAS1qC,OACP0qC,EAAA1Z,QACA0Z,EAAMzT,QvRgkyBE,IuR/jyBNT,GAAUkU,EAASnkD,KAAE,YACtBiwC,KACFkU,EAAA5jC,IAAA,IAED0vB,EAASW,UAGT,QAACyV,GAAAotE,GAGC,GAAItvE,GAAOhiC,IAAiCnzB,MAC1C0kI,EAAOvvE,EAAA9S,OACRsS,EAAAQ,EAAA5jC,OAEG,KAAAojC,GAAkBrrB,EAAAxoC,IAASynC,OAAOk8F,GAAQ79H,YAC5C89H,EAAI5kF,KAAMwkF,EAASK,yBAAAhwE,IvR6jyBTrrB,EuR5jyBRe,YAAW8qB,EAAS5jC,MAAOkzG,GvR6jyBnBvtG,EuR5jyBRH,OAAU,WvR6jyBEG,EuR5jyBVqtG,aAAUK,QAAA76H,KAAA,2BvR+jyBRorD,EAAO/mB,OACPs2F,EAAMj6G,OAEV,QuR3jyBFo6G,GAAcJ,EAAAl/H,GAEN,KvR2jyBEA,EAAEs2C,OACFwb,EAAUvzD,KuR3jyBd9D,KAASykI,GvR8jyBb,QAASK,KuRzjyBb9kI,KAAEw5B,MAAA+lB,MAAA,KAAAv/C,KAAAY,MAAA+C,QAAA,KvR6jyBE,QuRzjyBJohI,GAAiB5vE,EAAAu0C,EAAA+6B,GvR0jyBT,GuRzjyBN/6B,EAAMnqG,SAAEmqG,EAAelhE,cvRyjyBjB,CAGA,GuRzjyBNgyB,GAAS,SAAcrkC,EAAAwZ,GvR0jyBb,GuRzjyBR+5D,EAAAnqG,QAAW,CvR0jyBC,GuRzjyBVA,GAAUmqG,EAAKnqG,OAOrB,OANU,QAAFmqG,EAAE/iG,OACNpH,EAAaF,EAAAJ,EAAAqH,IAAA/G,EAAA,SAAAgyB,GACd,MAAAA,GAAAtU,cAIO1d,EAER23B,EAAIH,OAAQ,WACZG,EAAOqtG,aAAaK,QAAe76H,KAAE,uBAAMmwB,KAAA,SAAA5O,GAC3C,GAAA05G,GAAA3lI,EAAAJ,EAAAqH,IAAAglB,EAAA,SAAA3mB,GAEE,MAAgBA,GAAA/D,OAEnB+uC,GAAAq1F,OvR2jyBO7vE,GuRtjyBNna,KAAO,eAAiB,aAC1Bma,EAAGlU,WACH1hB,OAAAi7B,EAEK3Y,UAAA,EACL15C,MAAO,IACPk5C,QAAA,SAAAzgD,GAKI,MAHGw1B,YAAA,WACPihC,EAAAvzD,KAAAqxD,EAAA,GAAAsvE,IACM,GACK7jI,IvRujyBH,IAAIqgD,GuRnjyBRkU,EAAAnkD,KAAA,YvRojyBIiwC,GuRnjyBLW,OAAA,WAED5hD,KAAIm2B,MAAAn2B,KAAao8C,SAAA7qB,OAAY,EAC7B,IAAIppB,GAAAnI,KAAau/B,OAAAv/B,KAAAm2B,MAAAhD,EAAEl0B,EAAAq9C,MAAAt8C,KAAA8hD,QAAA9hD,MACnB,OAAImI,GAASnI,KAAA8hD,QAAA35C,MAGbwuD,IAEA1V,EAAOW,OAAKviD,EAAEJ,EAAOs3D,SAACtV,EAAkBW,OAAC,KAAA7nB,SAAA,MAc7C,QAASkrG,KACV5lI,EAAAJ,EAAAsoC,KAAA29F,EAAA38F,OAAA,SAAAmhE,EAAAl4E,GACD,KAAAk4E,EAAA9iG,UAAA0iC,EAAAf,OAAA5kC,QAAA6tB,GAAA,CvRgjyBoBA,EAAQ,GACR2B,IAA+C,mBAAmB2pB,SAASqoF,EAE/E,IAAIC,GAAad,EAAYK,yBAAyBr7F,EAAKf,OAAO/W,IAC9D6zG,EAAalyG,IAA+C,+CAAiDiyG,EAAa,QAC1HjwE,EAAShiC,IuR5ryBlB,4EvR6ryBKkyG,GAAWvoF,SAASqoF,GACpBhwE,EAAOrY,SAASqoF,GAChBhwE,EAAO5S,KAAKljD,EAA6CJ,EAAEqmI,QAAQjuE,EAAW7lC,IAC9E2jC,EAAO1S,MAAMqiF,GACb3vE,EAAO3S,SAASnjD,EAA6CJ,EAAEqmI,QAAQT,EAAerzG,IACtF6zG,EAAWvpF,MAAMz8C,EAA6CJ,EAAEqmI,QAAQd,EAAgBhzG,IwRhvyBrFuzG,EAAA5vE,EAAAu0C,EAAAl4E,MxR6nyBX,GuRnkyBJ8X,GAAIpS,EAAQoS,KACZ47F,EAAI57F,EAAWxoC,IAEfqkI,EAAmBxxG,EAAIjrB,KAAK,0BvRmkyBpBiuD,EuRlkyBKz/B,EAAAq/B,QvRmkyBTr/B,GAAOquG,eAuFPruG,EAAOsuG,gBuRhjyBQ,WvRijyBXtuG,EuR/iyBNqtG,aAAaK,QAAa76H,KAAO,sBAAEmwB,KAAA,SAAAlxB,GAClCkuB,EAAAquG,YAAAv8H,KvRkjyBCkuB,EuR9iyBJuuG,kBAAsB,SAAGjoD,GACzBtmD,EAAAqtG,aAAqBK,QAAG76H,KAAA,SAAAyzE,aC5KvB,WACK2nD,EAAIxsG,QACPssG,SxRkmyBXZ,EuRzkyBUnuE,SAAiB,WAAe,cAAC,IAAA92D,GAAAP,EAAA,GAE9BQ,EAAiBR,EAAAG,EAAAI,GAEf8zB,EAAyBr0B,EAAA,IAChCs0B,EAA0Bt0B,EAAAG,EAAAk0B,GvR4kyB9BgtB,EAAW,uYuR3kyBOrhD,GAAM,GCzBe,EAAAiW,UAAA,kBAAAuvH,IA0BzC,SAAA1lI,EAAiBC,EAAAC,GxR6tyBnB,YAQA,SwRhuyBI6mI,GAAkBn/H,GxRiuyBlB,GwR/tyBAkP,GAAAzV,KAAAm2B,KxRguyBA,OwR/tyBO,KAAP1gB,IAIC,MxR8tyBGA,EwR9tyBH,KxR+tyBGA,EwR/tyBGA,EAAA4H,UAAA,IAEN,MxR+tyBG5H,EwR/tyBHA,EAAA9R,OAAA,KAED8R,EAAIA,EAAK4H,UAAW,EAAE5H,EAAA9R,OAAA,IAErB4C,EAAA0O,cAAA2E,MAAAnE,EAAAR,gBxR05yBL,QAAS0wH,KACL,OACI73E,SAAU,IACV5N,SAAUA,EACV7G,WAAYusF,EACZvlE,kBAAkB,EAClBnS,aAAc,OACd/8C,OACIzK,MAAO,IyRz9yBSq3C,WAAA,IACehwC,SAAA,IAErC6pD,SAAkB,IAElBiuE,YAAmB,IACnBC,UAAgB,IAChBC,WAAmB,IACnBhvH,YAAiB,IAEjBivH,UAAiB,IACjBzvE,SAAe,MD2ByC,GAAWn3D,GAAAP,EAAA,GAAYQ,EAAAR,EAAAG,EAAAI,GAChE0kE,EAAkCjlE,EAAA,GxRgvyBnD+mI,EwR7tyB4B,WxRguyB5B,QwR7tyBEA,GAAY1uG,EAAAklB,EAAAia,EAAAiuE,EAAAxwE,GxR8tyBV,GwR7tyBF1iD,GAAOpR,IxR8tyBLA,MwR7tyBFk3B,OAASA,ExR8tyBPl3B,KwR7tyBDq2D,OAEHr2D,KAAAskI,cACAtkI,KAAA8zD,KACA9zD,KAAIimI,aAAgB7pF,EAAC1zC,KAAa,SAAKmjB,QACvC7rB,KAAAkmI,YAAmB9pF,EAAA1zC,KAAA,KAAAmjB,QxR6tyBf7rB,KwR5tyBF02D,UAAU,ExR6tyBR12D,KwR5tyBFy2D,WAAY,KAGdv/B,EAAIrB,OAAK,aAAU71B,KAAAmmI,aAAA5zG,KAAAvyB,OACjBA,KAAA8lI,UACD9lI,KAAAomI,WAAA,iBAAApmI,KAAA43D,SAIC53D,KAAIomI,WAAW,yCAA+BpmI,KAAA43D,SxR4tyBxC53D,KwR1tyBL+W,aACA/W,KAAAimI,aAAAjrF,KAAA,cAAAh7C,KAAA+W,axR4tyBC/W,KwRztyBFimI,aAAQjrF,KAAO,eAAS,axR0tyBtBh7C,KAAKimI,awRztyBKhlF,WxR0tyBN1hB,OwRztyBFv/B,KAAIw6D,gBAAcjoC,KAAOvyB,MxR0tyBvB6hD,UwRztyBG,ExR0tyBH15C,MwRztyBL,IACAk5C,QAAArhD,KAAAqmI,iBAAA9zG,KAAAvyB,MAECkhD,QAACwkF,GAKN,IAAAzkF,GAAAjhD,KAAAimI,aAAAj1H,KAAA,YAEDiwC,GAAAW,OAAA,WACM5hD,KAAAm2B,MAAan2B,KAACo8C,SAAa7qB,OAAQ,GACnCvxB,KAAKu/B,OAAAv/B,KAAAm2B,MAAcn2B,KAAS8hD,QAAAvvB,KAAAvyB,QAE/BA,KAAAu2D,WACDtV,EAAcW,OAAMviD,EAAQJ,EAAAs3D,SAAAtV,EAAAW,OAAA,KAAA7nB,SAAA,KAG9B/5B,KAAAkmI,YAAAxqF,QAAA,SAAApuC,GAEC,KAAAA,EAAAsuC,SAAA,KAAAtuC,EAAAsuC,SAEDxqC,EAAA80H,YAAApqF,UxRutyBM97C,KwRrtyBFimI,aAAKvqF,QAAc,SAAWpuC,GAC/B,KAAAA,EAAAsuC,SAAMxlB,WAAA,WACLhlB,EAAA60H,aAAyB1jF,QACrB,OxRytyBFviD,KAAKimI,awRttyBE1jF,KAAAviD,KAAAq3D,UAAoB9kC,KAAKvyB,OxRutyB5BA,KwRttyBHgmI,WxRutyBG5vG,WwRttyBLp2B,KAAAgwB,KAAAuC,KAAAvyB,MAAA,GAwJP,MxRugyBI4lI,GwR7tyBW1vE,SAAG,+CxRuxyBd0vE,EwRvtyBGrlI,UAAAu3D,mBAAA,SAAA3hC,GxRwtyBC,GwRvtyBH7K,GAAAtrB,KAAA+9C,YAAAuZ,OAAAnhC,GACF,OAAAn2B,MAAAsmI,cAAAh7G,GAEDA,EACOtrB,KAAA8zD,GAAAG,KAAA3oC,IxRytyBLs6G,EwRttyBErlI,UAAgB+lI,cAAA,SAAAhkG,GxRutyBd,MwRttyBFA,IAAkB,kBAAHA,GAAGpI,MxRwtyBpB0rG,EwRttyBKrlI,UAAA4lI,aAAA,WxRutyBD,GwRrtyBF/0H,GAAApR,IACAX,GAA0CJ,EAAAsxB,SAAAvwB,KAAA0G,OxRstyBpC1G,KwRrtyBJumI,cAAIvmI,KAAA0G,MAAAT,MAKNjG,KAAS+lI,WACR/lI,KAAA83D,mBAAA,IAAA59B,KAAA,SAAA36B,GACJ,GAAAgH,GAAAlH,EAAAJ,EAAAyJ,KAAAnJ,GAAAqB,MAAAwQ,EAAA1K,OAED0K,GAAAm1H,cAAAhgI,EAAgBA,EAAhBN,KAAAmL,EAAqB1K,SAIjB1G,KAAOumI,cAAKvmI,KAAA0G,QxRutyBdk/H,EwRltyBYrlI,UAAAi6D,gBAAA,SAAArkC,EAAAwZ,GACb,GAAAv+B,GAAApR,IAEDA,MAAA83D,mBAAA3hC,GAAA+D,KAAY,SAAZ36B,GACM6R,EAAKo1H,YAAajnI,CAErB,IAAAknI,GAAApnI,EAAAJ,EAAAqH,IAAA/G,EAAA,SAAAoF,GAED,MAAatF,GAAiBJ,EAAAwqB,OAAA9kB,EAAAsB,OAGzBmL,GAAAy0H,aAAoB,KAAAz0H,EAAAnL,OACD,IAAnB5G,EAAmBJ,EAAA2T,QAAA6zH,EAAAr1H,EAAAnL,OACnBwgI,EAAiBtyH,QAAA/C,EAAgBnL,MAItC0pC,EAAA82F,MAGFb,EAACrlI,UAAA8lI,iBAAA,SAAApgI,GAED,MAAAA,KAAAjG,KAAAiG,MAAAo3C,aAkCCr9C,KAAAy2D,YAjCKz2D,KAAGimI,aAAAxqF,QAECx1C,IxRgtyBJjG,KwR9syBHimI,aAAA10G,IAAAtrB,GAEDjG,KAAKm3D,cAAa,GAChBlxD,IxR+syBF2/H,EwR5syBQrlI,UAAA42D,aAAA,SAAAC,GxR6syBAp3D,KAAK02D,WwR5syBFU,IxR+syBP/Z,awR7syBEr9C,KAAKy2D,YxR8syBPz2D,KAAKy2D,WwR7syBJ,KxR8syBDz2D,KAAK02D,UwR7syBA,ExR8syBL12D,KwR7syBDimI,aAAA73F,OxR8syBCpuC,KAAKkmI,YwR9syBIz7G,OxR+syBTzqB,KAAK0mI,YwR9syBD1mI,KAAAimI,aAAA10G,SxRgtyBRq0G,EwR9syBKrlI,UAAA82D,UAAA,WxRityBDr3D,KAAKy2D,WwR/syBJrgC,WAAAp2B,KAAAm3D,aAAA5kC,KAAAvyB,MAAA,MxRityBL4lI,EwR/syBGrlI,UAAAmmI,YAAA,SAAAzgI,GxRgtyBC,GwR9syBFmL,GAAApR,IAEK,OxR6syBHiG,EwR9syBF5G,EAAqCJ,EAAA43D,SAAA5wD,KACzBjG,KAAAiG,OAAaA,GxRityBvBjG,KAAKk3B,OwR9syBFH,OAAA,WACL,GAAGyE,GAAAn8B,EAAAJ,EAAAyJ,KAAA0I,EAAAo1H,aAAAvgI,QACFu1B,IACJn8B,EAAAJ,EAAAsxB,SAAAnf,EAAA1K,OAED0K,EAAA1K,MAAA80B,EAGCpqB,EAAA1K,MAAA80B,EAAA56B,MAGMwQ,EAAAnL,KAAgBu1B,EAACv1B,MAGjBmL,EAAay0H,cAEbxmI,EAAmBJ,EAAAsxB,SAAAnf,EAAA1K,OACnB0K,EAAW1K,MAAMT,KAAAmL,EAAA1K,MAAA9F,MAAAqF,EAIfmL,EAAA1K,MAAiBT,EAEvBmL,EAAAnL,QxR6syBOmL,EAAM8lB,OAAO8gC,aAAa,WwRzsyBrB5mD,EAAA8lB,OAAAH,OAAA,WAeD3lB,EAAArD,UAAqBuvD,QAAA9hC,WxRisyBjCoqG,EwR5ryBArlI,UAAsBgmI,cAAA,SAAAtgI,GACtBjG,KAAAiG,KAAYA,EACZjG,KAAKqmC,QAAErmC,KAAAq2D,KAAAa,YAAAl3D,KAAAskI,YAAAK,yBAAA1+H,KxR8ryBP2/H,EwR5ryBErlI,UAAeyvB,KAAA,WxR6ryBbhwB,KwR5ryBFimI,aAAajnF,IAAA,QAAA1pC,KAAAqF,IAAA3a,KAAAkmI,YAAA3mF,QAAA,axR6ryBXv/C,KwR5ryBFimI,aAAax7G,OxR6ryBXzqB,KwR5ryBFimI,aAAaxqF,QxR6ryBXz7C,KwR5ryBFkmI,YAAW93F,OxR6ryBTpuC,KwR5ryBF02D,UAAY,CxR6ryBV,IwR5ryBFzV,GAAWjhD,KAAKimI,aAAAj1H,KAAA,YAChBiwC,KACAjhD,KAAAimI,aAAa10G,IAAA,IACd0vB,EAAAW,WAILgkF,KxR8ryBI1lF,EAAW,kSyR/7yBf4jB,GAA0D,EAAAhvD,UAAc,iBAAA6wH,IAKpE,SAAAhnI,EAAgBC,EAAAC,GzRu9yBpB,YA2QA,SAAS8nI,GAAYlxH,EAAK0gB,GAItB,IAHA,GAAIywG,GAASnxH,EAAIR,cACb4xH,EAAW1wG,EAAMlhB,cACjBxR,EAAI0yB,EAAMxyB,OACPF,EAAI,IAAMmjI,EAAOj0H,SAASk0H,EAASxpH,UAAU,EAAG5Z,KACnDA,GAEJ,OAAOgS,GAAM0gB,EAAM9Y,UAAU5Z,GAGjC,QAASqjI,KACL,OACIh5E,SAAU,IACV5N,SAAUA,E0RtwzBM7G,WAAA0tF,EACI1mE,kBAAA,EACNnS,aAAA,OACE/8C,OACDzK,MAAA,IACQsgI,QAAA,IACTC,SAAA,MDuBpB,GAAAzuG,GAAA35B,EAAA,GAEqBy5B,EAAYz5B,EAAAG,EAAAw5B,GACXsrC,EAAajlE,EAAA,GAInCqoI,EAAY,GAiBdC,GACAC,OAAA,GAAA70H,QAPE80H,qCAQAloE,IAAA,GAAA5sD,QANF+0H,+BAOAtmG,KAAA,GAAAzuB,QALEg1H,kCAUFC,GACAC,UAAA,yGAGAC,QAAA,2GAEAC,OAAA,yGzRq/yBIZ,EyR97yB4B,WzRi8yB5B,QyR97yBGA,GAAA3qF,EAAArzC,GzR+7yBC/I,KyR97yBF+I,WAAYA,EACd/I,KAAEimI,aAAA7pF,EAAA1zC,KAAA,SAAAmjB,QACH7rB,KAAA4nI,aAAAxrF,EAAA1zC,KAAA,cAAAmjB,QAED7rB,KAAAimI,aAAAhlF,WACA1hB,OAAAv/B,KAAAu/B,OAAAhN,KAAAvyB,MACMohD,YAAMphD,KAAAohD,YAAA7uB,KAAAvyB,MACNmhD,OAAC,SAAiBh5C,GAAC,MAAAA,IAEnB05C,UAAQ,EACV15C,MAAK++H,EACL7lF,QAAKrhD,KAAAqhD,QAAa9uB,KAAQvyB,MAC3BkhD,QAAAlhD,KAAAkhD,QAAA3uB,KAAAvyB,QzR87yBGA,KyR77yBFihD,UAAKjhD,KAAYimI,aAAGj1H,KAAc,azR+7yBhChR,KyR77yBHihD,UAAAW,OAAA,WzR87yBO5hD,KyR97yBGm2B,MAAQn2B,KAAKo8C,SAAO7qB,OAAU,GACvCvxB,KAAKu/B,OAAAv/B,KAAYm2B,MAAGn2B,KAAA8hD,QAAevvB,KAAAvyB,QzRm8yBjCA,KyR/7yBHihD,UAAAS,OAAA,WACF,GAAAnwB,GAAAvxB,KAAAshD,MAAA54C,KAAA,WAAAsyC,KAAA,aAKC,OAHFzpB,IAAAvxB,KAAAo8C,SAoCC7qB,IAAAvxB,KAAAqhD,QAAA9vB,IAAAowB,SAjCS3hD,KAAKouC,QzR0lzBb,MAxLA24F,GyR97yBS7wE,SAAa,WAAY,czR89yBlC6wE,EyR77yBOxmI,UAAgBsnI,iBAAA,SAAA1xG,GzR87yBnB,GAAIvc,EACJ5Z,MAAK8nI,WyR77yBH,MzR87yBEluH,EyR77yBDuc,EAAAvc,MAAAutH,EAAAC,UzR87yBCpnI,KyR77yBJ+nI,aA1HF,azRwjzBM/nI,KyR77yBJ8nI,WAAMluH,EAAA,IAAAA,EAAA,SAGNA,EAASuc,EAACvc,MAAAutH,EAAgBhoE,OzR67yBtBn/D,KyR57yBJ+nI,aAhII,UAkIN/nI,KAAK8nI,WAAaluH,EAAA,IAAAA,EAAA,SzR67yBPA,EyR37yBPuc,EAAOvc,MAASutH,EAAKnmG,QzR47yBnBhhC,KyR37yBH+nI,aAnIE,WzR+jzBC/nI,KyR17yBJ8nI,WAAKluH,EAAW,IAAAA,EAAA,IAAqB,IzR67yBjC5Z,KAAK+nI,ayRrkzBX,QzRwkzBFhB,EAAmBxmI,UyR17yBNg/B,OAAW,SAAKpJ,EAAQwZ,GzR27yBjC,GAAIv+B,GAAQpR,IAEZ,QADAA,KAAK6nI,iByR17yBM1xG,GACXn2B,KAAG+nI,czR27yBC,IyR5kzBN,OAmJDp4F,GAAA,0BACF,MAED,KApJI,aAqJJ,GAAAq4F,GAAA3kI,OAAOgD,KAAPrG,KAAAgnI,SAAY1gI,IAAA,SAAA7F,GACC,MAAK2Q,GAAA41H,QAAavmI,GAAAwnI,WAE3Bt4F,GAAaq4F,EACd,MACD,KAzJO,WA0JRr4F,GAxIH,YACc,aACZ,aAwIA,MACA,KA/JU,UAgKA,OAAqBltC,KAAlBzC,KAAKkoI,SACR,MAAKv4F,GAAW3vC,KAAAkoI,SAElBloI,MAAI+I,WAAGo/H,qBAAkBnoI,KAAA8nI,YAAA5tG,KAAA,SAAA0S,OAIHnqC,KAAZ2O,EAAC82H,UACLt7F,EAAA6b,QAAA9kD,SAAAipC,EAAAw7F,YACE,KAAAh3H,EAAA02H,aACb12H,EAAA82H,SAAAt7F,EAAA6b,SAGO9Y,EAAa/C,EAAC6b,azR47yBtBs+E,EyRt7yBGxmI,UAAA2gD,QAAA,SAAA36C,GACJ,GAAA+lD,GAAAtsD,KAAA+nI,YAED,OArLI,eAqLJz7E,GAtLU,YAsLVA,IAG4C,IAAtC/lD,EAAA0O,cAAmBrC,QAAA5S,KAAgB8nI,WAAG7yH,gBzRw7yB1C8xH,EyRp7yBCxmI,UAAA6gD,YAAA,SAAA76C,GAGD,GAjME,SAgMFvG,KAAA+nI,aACqB,CAEpB,GAAAM,GAAAb,EAAAjhI,EAED,OAAA8hI,IAAA9hI,EAEA,GAAA4vB,GAAWn2B,KAAG8nI,UAGd,OAAA3xG,IAKAA,IAAA7jB,QAAA,sCACI6jB,EAEG5vB,EAAI+L,QAAS,GAAAC,QAAA,IAAiB4jB,EAAA,mBAAAisB,EAAAxoC,GACnC,MAAO,WAAMA,EAAA,cAFNrT,GANLA,GzR67yBJwgI,EyRh7yBAxmI,UAAA8gD,QAAA,SAAAp7C,GACA,GAAIuqD,GAAaxwD,KAAIimI,aAAS10G,KzRi7yB1B,OyRh7yBqB,KAAvBi/B,EAAU7sD,OACXsC,EA3NC,SAgOJjG,KAAA+nI,aACOpB,EAAkBn2E,EAACvqD,IAIxBuqD,EAAaA,EAAKnzC,UAAa,EAAAmzC,EAAA7sD,OAAA3D,KAAA8nI,WAAAnkI,QAEF,MAA3B6sD,EAAUA,EAAU7sD,OAAO,KzR+6yBrB6sD,EyR96yBCA,EAAgBnzC,UAAG,EAAAmzC,EAAA7sD,OAAA,IAnNhC,cAsNGsC,EAEDA,EAAA,IAAAqyB,MAAAkJ,SAAA,WAAApa,OAAA,cAvNY,eAyNXnhB,EAEDA,EAAA,IAAAqyB,MAAAkJ,SAAA,YAAApa,OAAA,cA1NA,cA2NEnhB,IACEA,EAAI,IAAKqyB,MAAqCkJ,SAAA,WAAApa,OAAA,gBAGxC,IAALnhB,EAAK2M,QAAA,OACT3M,EAAA,IAAAA,EAAA,KAGOuqD,EAAcvqD,EAAG,MAEzB8gI,EAACxmI,UAAA+nI,aAAA,SAAAnvG,GAEDn5B,KAAAihD,UAAAW,UAEAmlF,EAAAxmI,UAAAgoI,aAAA,WACE,GAAIn3H,GAACpR,IACNq9C,cAAAr9C,KAAAwoI,aAEDxoI,KAAAwoI,YAAApyG,WAAA,WACQhlB,EAAA6vC,UAAiBO,OAClBpwC,EAAS6vC,UAACW,UAEhB,KACFmlF,EAAAxmI,UAAAkoI,aAAA,WzR46yBOzoI,KAAK4nI,aAAapzG,SAAS,WyRz6yBnCuyG,EAAAxmI,UAAAmoI,aAAA,WACA,GAAAt3H,GAAApR,IACAo2B,YAAA,YAC+B,IAAtBhlB,EAAY60H,aAAU7qF,GAAA,WACnBhqC,EAAOw2H,aAAchtF,YAAA,WAE1B,MzR66yBHmsF,EyR16yBMxmI,UAAAooI,oBAAA,SAAAxvG,GACPA,EAAAkC,iBACDr7B,KAAOinI,UAAY3vE,OAASt3D,KAAIiG,QAuBhC8gI,EAAOxmI,UAAAqoI,YAAA,SAAAzvG,GACLn5B,KAAAinI,UAAa3vE,OAAAt3D,KAAAiG,QzRy5yBb8gI,EyRv5yBYxmI,UAAAsoI,aAAkB,SAAA1vG,GAC9BA,EAAAkC,iBACAr7B,KAAAiG,KAAY,GACZjG,KAAKinI,UAAE3vE,OAAA,MzRy5yBAyvE,KAgBP7mF,EAAW,mfAef4jB,GAA4D,EAAEhvD,UAAU,mBAAoBgyH,IAKtF,SAAUnoI,EAAQC,EAAqBC,GAE7C,YACuEA,GAAoB,MAChBA,EAAoB,MAC1BA,EAAoB,MAClBA,EAAoB,MACrBA,EAAoB,M2R7xzB5DA,EAAA,MACPA,EAAA,MACAA,EAAA,O3R2yzBjB,S2R1xzBCF,EAAAC,EAAAC,G3R4xzBP,Y2RzxzBS,IAAAC,GAAAD,EAAA,IAAME,EAAAF,EAAAG,EAAAF,GACLwC,EAAkBzC,EAAA,GACnB0C,EAAA1C,EAAAG,EAAAsC,GACF4vG,EAAAryG,EAAA,IAAUsyG,EAAqBtyG,EAAAG,EAAAkyG,GACvBosB,EAA8Bz+H,EAAA,G3RkyzBzCiqI,E2R5xzBO,W3R+xzBP,QAASA,G2R3xzBE5xG,EAAO6xG,G3R4xzBd,GAAIriI,G2R3xzBJwwB,EAAO8xG,S3R4xzBP9xG,GAAO7B,K2R3xzBD,W3R4xzBF6B,E2R3xzBL+/C,QAAAzlD,MAAA,GAEG9qB,EAAMmyB,Q3R6xzBAt3B,E2RzxzB2BtC,EAAAspD,SAAA7hD,EAAAmyB,MAA6B7nB,M3R0xzBxDkmB,E2RzxzBP/rB,SAAAgmG,IAAA,QAAAzqG,EAAAmyB,MAAA7nB,KAAA,UAAA/K,OACCS,EAAOmyB,MAAA7nB,K3R2xzBGtK,E2R1xzBRmyB,MAAO7nB,KAAK7F,SACd+rB,EAAG/rB,SAAA49H,EAAAriI,EAAAmyB,MAAA7nB,KAAA7F,UAGP+rB,EAAA/rB,SAAApM,EAAAE,EAAAgqI,OAAAviI,EAAAmyB,MAAA7nB,MAAA,GAGWtK,EAAGmyB,MAAA+O,UACZ1Q,EAAU0Q,QAAGlhC,EAAYmyB,MAAM+O,SAE7BlhC,EAAAmyB,MAAWx4B,QAAWqG,EAAGmyB,MAASx4B,OAAEkoC,SACpCrR,EAAAgyG,mBAAwB3nI,EAAAtC,EAAAqH,IAAAI,EAAAmyB,MAAAx4B,OAAAkoC,OAAA,SAAA3nC,EAAAH,GAC1B,OAAYA,MAAAG,Y3R6xzBJ8F,E2R1xzBLmyB,MAAArO,QACJ0M,EAAA+/C,OAAAzlD,MAAA,EACF0F,EAAAiyG,YAAAziI,EAAAmyB,MAAArO,MACM0M,EAAO0Q,QAAAlhC,EAAAmyB,MAAA+O,SAElBlhC,EAACmyB,MAAAx4B,QAAAqG,EAAAmyB,MAAAx4B,OAAA2Q,OAAAkmB,EAAA+/C,OAAAzlD,MAAA,E3R4xzBmBjwB,EAA6CtC,EAAEspD,SAAS7hD,EAAMmyB,MAAMx4B,OAAO2Q,M2R1xzB/FkmB,EAAAgyG,mBAAAlpI,KAAAopI,6BAAsB1iI,EAAemyB,MAAAx4B,OAAa2Q,M3R8xzB9BkmB,EAAOgyG,mBAAqB3nI,EAA6CtC,EAAEqH,IAAII,EAAMmyB,MAAMx4B,OAAO2Q,KAAM,SAAUpQ,EAAOH,GACrH,OAASA,IAAKA,EAAKG,MAAO7B,EAA8CE,EAAEgqI,OAAOroI,GAAO,SAoB5G,MA3DAkoI,G2R3xzBM5yE,SAAW,SAAQ,a3Rw0zBzB4yE,EAAYvoI,UAAU6oI,6BAA+B,SAAUC,G4R12zB3B,O5R22zB5B/9G,M4R52zBkBke,EAAA6/F,EAAA/+F,MAAA,KACU7mC,EAAA,EAAAA,EAAA+lC,EAAA7lC,OAAAF,IAAA,CAExC,GAAA6lI,GAAA9/F,EAAA/lC,GAAA6mC,MAAA,IACEg/F,GAAgB,GAAA3lI,OAAA,GAChB2nB,EAAAhmB,MACa7E,IAAG6oI,EAAA,GACP1oI,MAAYV,OAAO22D,SAAAyyE,EAAkB,M5Rg3zBxC,M4R32zBFh+G,IAGFw9G,IAEJxL,GAAC,EAAAjkF,WAAA,cAAAyvF,I5Rg3zBK,SAAUnqI,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIC,GAAwCD,EAAoB,IAC5DE,EAAgDF,EAAoBG,EAAEF,GACtEglE,EAA6CjlE,EAAoB,GAGtF0qI,EAAgC,W6Rx4zBC,QAAAA,GAAAryG,GAErCA,EAAAnH,KAAAhxB,EAAAE,EAAAgqI,OAAA/xG,EAAAq4C,QAAA,GACEr4C,EAAAsyG,cAAgB,KAAAtyG,EAAAuyG,eAAAvyG,EAAA91B,WAAAe,SAChB+0B,EAAAwyG,QAAYxyG,EAAQyyG,WAClBzyG,EAAO+oD,OAAS,WACd,GAAI2pD,GAAI7qI,EAAAE,EAAA4qI,SAAA3yG,EAAAnH,KACRmH,GAAOuyG,cAAEG,EAAA1yG,EAAAq4C,S7R44zBPr4C,E6R14zBF4yG,uBAAA,iBAAA5yG,GAAAnH,M7R44zBF,M6Rt5zBoCw5G,GAAArzE,SAAA,UAapCqzE,I7R44zBJzlE,G6Rv4zB0B,EAAAzqB,WAAA,iBAAOkwF,I7R44zB3B,S6Rt4zBK5qI,EAASC,EAAGC,G7Rw4zBvB,Y6Rl4zBa,IAAMO,GAAuCP,EAAA,GAEhDQ,EAAAR,EAAiBG,EAAEI,GACd0kE,EAA2CjlE,EAAA,GACnDyU,EAAAzU,EAAA,I7Ru4zBHkrI,E6Rl4zBmB,W7Rq4zBnB,QAASA,G6Rn4zBE7yG,EAAQnuB,EAAC3H,EAAA+zH,EAAAiC,G7Ro4zBhBlgG,E6Rn4zBD8yG,WACDroI,KAAA,GAEF04B,MAAO,GACLuxE,SAAI,I7Ro4zBF10E,E6Rj4zBFknD,W7Rk4zBElnD,E6Rj4zBF5L,OAAW,G7Rk4zBTlqB,E6Rj4zBAU,UAAU,E7Rk4zBVo1B,E6Rj4zBC+yG,MAAK32H,EAAA,EAAA22H,M7Rk4zBN/yG,E6Rj4zBFgzG,aAAW7qI,EAAAJ,EAAAoH,KAAAiN,EAAA,EAAA22H,OAAAtmI,OAAA,E7Rk4zBTuzB,EAAOizG,Y6Rj4zBP72H,EAA8C,EAAA62H,Y7Rk4zB9CjzG,E6Rj4zBCkzG,iBAAK92H,EAAA,EAAA82H,iB7Rk4zBNlzG,E6Rj4zBFmzG,iBAAW/2H,EAAA,EAAA+2H,iB7Rk4zBTnzG,EAAOozG,kB6Rj4zBYh3H,EAA2B,EAAAg3H,kB7Rk4zB9CpzG,E6Rj4zBCqzG,UAAKj3H,EAAA,EAAAi3H,U7Rk4zBNrzG,E6Rh4zBFszG,WAAW,E7Ri4zBTtzG,EAAOuzG,c6Rh4zBE,S7Ri4zBTvzG,E6Rh4zBC7B,KAAK,WACR6B,EAAArB,OAAA,YAAAqB,EAAAwzG,kBAEKp3H,EAAiB,EAAAq3H,YACtBzzG,EAAO+sC,SAAQ,iBAAsB,eAAA3wD,EAAA,EAAAq3H,c7Rk4zBnCzzG,EAAO+rB,O6R93zBA,WACR/rB,EAAAszG,UAEDtzG,EAAWkD,QAGXlD,EAAA0zG,UAIF1zG,EAAE2zG,WAAA,WAEF,GAAOC,GAAApoI,SAAmB+vB,cAAS,eACjCs4G,EAAuBroI,SAAW+vB,cAAW,wBAC7Cq4G,GAAAj9H,WAAA,OAEFuoB,WAAa,WACP00G,EAAQj9H,WAAU,W7R23zBb,KACHuoB,W6R13zBL,WAED20G,EAAgBn6G,UAAAI,OAAoB,W7R03zB3B,KACHoF,W6Rz3zBF,W7R03zBM20G,E6Rz3zBPn6G,UAAAI,OAAA,W7R03zBM,KACHoF,W6R13zBF,W7R23zBM1zB,S6R13zBPsoI,eAAA,eAAAvvF,SACA,MAGLvkB,EAAO+zG,eAAQ,WAGb,GAFA/zG,EAAOknD,QAAO8sD,YAAW,QAErBh0G,EAAOknD,QAAC+sD,cAAkBj0G,EAAAknD,QAAAgtD,WAE7B,WADCl0G,GAAO+sC,SAAA,kD7R23zBHl7D,G6Rt3zBK6qD,IAAA,qBAAgB18B,EAAAknD,SAAAlkD,KAAA,WAEvBhD,EAAIm0G,e7Rw3zBNn0G,EAAOqhD,K6Rr3zBJ,W7Rs3zBCrhD,E6Rr3zBFm0G,a7Ru3zBFn0G,EAAOwzG,iB6Rp3zBW,SAAS/1E,G7Rq3zBvBz9B,EAAOuzG,c6Rp3zBM91E,EAAA,SAAwB,W7Rs3zBzCz9B,EAAO0zG,O6Rp3zBJ,WAEH1zG,EAAAo0G,UAAAC,QAIFxiI,EAAUmC,KAAG,mBAAmBgsB,EAAA8yG,WAAA9vG,KAAA,SAAA5O,GAET,kBAAnBA,EAAOkgH,OACTrW,EAAO9lD,KAAS,WAAOx1C,QAAAQ,MAAAnD,EAAA8yG,UAAA3vG,QAEvBn6B,OAAO2/H,SAAalyH,KAAG2F,EAA0B,EAAAxT,UAAA,O7Rs3zBjDo3B,E6Rn3zBDkD,MAAA,iBACDlD,GAAAyzG,WAEKzzG,EAAOo0G,UAAAC,QAEjBxiI,EAAAmC,KAAA,SAAAgsB,EAAA8yG,WAAA9vG,KAAA,SAAA5O,GAED,G7Rk3zBgB4L,EAAO5L,OAASA,E6Rl3zBhC,UAAA4L,EAAA8yG,UAAAp+B,UAAU10E,EAACizG,aAAWjzG,EAAakzG,iB7Rq3zBf,WADAlzG,GAAOm0G,WAGXn0G,GAAO2zG,cACR,SAAU/xG,GACLA,EAAI9nB,MAAQ8nB,EAAI9nB,KAAK42B,UACrBwvF,EAASz2H,IAAI,mBAAoBm4B,EAAI9nB,KAAK42B,QAAS,UAAW,KAC9D9O,EAAI2yG,WAAY,M8Rzg0BCv0G,EAAAm0G,UAAA,WAErC,GAAA9iG,GAAA4sF,EAAAt7F,QACE0O,GAAgBmjG,UAAA,MAAAnjG,EAAAmjG,SAAA,GAChBxrI,OAAA2/H,SAAkBlyH,KAAE2F,EAAoC,EAAAxT,UAAAyoC,EAAAmjG,SAE/Cx0G,EAAY5L,OAAGqgH,YAEfzrI,OAAQ2/H,SAAGlyH,KAAAupB,EAAA5L,OAAAqgH,YAGdzrI,OAAM2/H,SAAQlyH,KAAA2F,EAAA,EAAAxT,UAAA,K9R8g0Bdo3B,E8R3g0BD7B,O9R6g0BH,MAhHA00G,GAAU7zE,S6Rn4zBD,2DCvBT6zE,I9R6g0BJjmE,G8R1g0B8C,EAAAzqB,WAAA,YAAA0wF,I9R+g0BxC,S8Rzg0BGprI,EAAAC,EAAAC,G9R2g0BT,Y8Rtg0BQ,IAAOo7D,GAAAp7D,EAAA,GACRuE,EAAAvE,EAAA,I9R2g0BH+sI,E8Rvg0BK,WAIP,QAACA,GAAA10G,EAAAo5F,EAAAlvH,EAAA2H,GACH3H,EAAAU,UAAC,EAAAo1B,EAAA8yG,a9Rwg0BO9yG,EAAO20G,U8Rtg0Bf9+H,M9Rwg0BgB3B,KAAM,uBACNnF,KAAM,SACNiJ,SAAU,gCACVN,cAAgBD,MAAO,QAASnB,IAAK,YAG7C0pB,EAAO7B,KAAO,WACVtsB,EAAWvI,IAAI,oBAAsB8vH,EAAa7pE,MAAMvsB,KAAK,SAAU4xG,GACnE50G,EAAO8yG,UAAUjgI,KAAO+hI,EAAO/hI,KAC/BmtB,EAAO8yG,UAAU3vG,MAAQyxG,EAAOzxG,M+R7j0BXnD,EAAA8yG,UAAA+B,SAAAD,EAAAzxG,MACGnD,EAAA8yG,UAAAgC,WAAA1b,EAAA7pE,KAExCvvB,EAAA+0G,SAAAH,EAAA/hI,MAAA+hI,EAAAzxG,OAAAyxG,EAAAC,SACE70G,EAAgBg1G,UAAAJ,EAAAI,aACyBh1G,EAAA+rB,OAAU,WAAgD/rB,EAAAi1G,WAAaZ,QAI9GxiI,EAAOmC,KAAY,4BAAGgsB,EAAA8yG,WAAA9vG,KAAA,WAElBh6B,OAAS2/H,SAAUlyH,KAAQvK,EAAC,EAAAtD,UAAA,O/Rik0B5Bo3B,E+R7j0BF7B,O/R+j0BF,MAhCAu2G,G8Rtg0BO11E,SAAO,mDCvBb01E,I/Rgk0BL3xE,G+R5j0B6C,EAAA5gB,WAAA,cAAAuyF,I/Rik0BvC,S+R1j0BKjtI,EAAQC,EAAGC,G/R4j0BtB,Y+Rxj0BQ,IAAQwC,GAA+BxC,EAAA,IACvCilE,EAA+CjlE,EAAA,G/R6j0BnDutI,E+Rzj0Be,W/R4j0Bf,Q+Rzj0BGA,GAAAl1G,EAAAnuB,EAAAosH,EAAA/zH,EAAAg2H,GACJp3H,KAAAk3B,SAEDl3B,KAAA+I,aAAA/I,KAAAo3H,WACEh2H,EAAUU,UAAO,E/R0j0Bbo1B,E+Rzj0BFo3B,KAAOtuD,K/R0j0BLk3B,E+Rzj0BH8yG,YAED,IAAIzhG,GAAC4sF,EAAgBt7F,Q/R0j0BjB,IAAI0O,E+Rvj0BFlO,QAAOkO,EAAalO,MAAGzgB,MAAA,a/Ryj0BrB,WADAmV,S+Rvj0BHC,IAAA,gB/R0j0BDkI,G+Rxj0BC8yG,UAAAqC,QAAA9jG,EAAAlO,MACHnD,EACA8yG,UAAG3vG,MAAAkO,EAAAlO,M/Rwj0BDnD,E+Rvj0BA8yG,UAAY+B,SAAYxjG,EAAClO,M/Rwj0BzBnD,EAAO8yG,U+Rvj0BAvjF,KAASle,EAAIke,K/Rwj0BpBvvB,EAAO8yG,U+Rvj0BDsC,YAAiB,E/Rwj0BvBp1G,E+Rvj0BCq1G,oBAAA,EACHr1G,EACAs1G,eAAA,EACHt1G,EAAA20G,UACH9+H,MAAC3B,KAAA,uB/Rwj0BenF,KAAM,U+Rtj0BtBiJ,SAAA,8B/Rwj0BgBN,cAAgBD,MAAO,QAASnB,IAAK,YAG7CzE,EAAWvI,IAAI,4BAA4B05B,KAAK,SAAU36B,GACtD23B,EAAOq1G,mBAAqBhtI,EAAQgtI,mBACpCr1G,EAAOs1G,cAAgBjtI,EAAQitI,gBAsBvC,MArDAJ,G+Rzj0BEl2E,SAAO,SAAgB,aAAQ,YAAc,yB/R2l0B/Ck2E,EAAW7rI,UAAU0iD,OAAS,WgSlo0BM,GAAA7xC,GAAApR,IAExCA,MAAAk3B,OAAAu1G,WAAAlB,QAGIvrI,KAAA+I,WAAWmC,KAAQ,yBAASlL,KAAAk3B,OAAA8yG,WAAA9vG,KAAA,SAAAwyG,GACP,2BAAdA,EAAAjmF,KACAvmD,OAAO2/H,SAAOlyH,KAAAtM,EAAA,EAAAvB,UAAA,+BAInBI,OAAW2/H,SAAGlyH,KAAQtM,EAAA,EAAAvB,UAAA,cAEvB,SAAAg5B,GAEMA,EAAA9nB,MAAW8nB,EAAA9nB,KAAA42B,UACZx2B,EAAEgmH,SAAAz2H,IAAA,mBAAAm4B,EAAA9nB,KAAA42B,QAAA,eACJ9O,EAAI2yG,WAAE,MhSoo0BHW,IAGXtoE,GgS/n0BwC,EAAAzqB,WAAA,aAAA+yF,IhSoo0BlC,SgS/n0BGztI,EAAAC,EAAAC,GhSio0BT,YgS5n0BQ,IAAOo7D,GAAAp7D,EAAA,GhSgo0BX8tI,EgS7n0BuB,WhSgo0BvB,QgS7n0BGA,GAAAz1G,EAAA91B,EAAA2H,EAAAosH,GhS8n0BC/zH,EgS5n0BFU,UAAgB,EhS6n0Bdo1B,EAAO8yG,aACP9yG,EgS5n0BCo1B,KAAA,MACL,IAAE/jB,GAAA4sF,EAAAt7F,QACH0O,GAAAke,OACHvvB,EAAAo1B,KAAA,QAACp1B,EAAA8yG,UAAAvjF,KAAAle,EAAAke,MAEDvvB,EAAA20G,UhS8n0BY9+H,MACI3B,KAAM,uBACNnF,KAAM,iBACNiJ,SAAU,8BACVN,cAAgBD,MAAO,QAASnB,IAAK,YAG7C0pB,EAAO01G,eAAiB,WACf11G,EAAO21G,cAActB,QiSxr0BDxiI,EAAAmC,KAAA,sCAAAgsB,EAAA8yG,WAAA9vG,KAAA,WACGhD,EAAAo1B,KAAA,gBAItCp1B,EAAA41G,YAAgB,WAChB,GAAA51G,EAAY61G,UAAQxB,OAId,MAACr0G,GAAU8yG,UAACmB,cAAYj0G,EAAA8yG,UAAAgD,oBAC1B91G,GAAA+sC,SAAA,8CAAS,SAITl7D,GAAKmC,KAAW,2BAAYgsB,EAAA8yG,WAAA9vG,KAAA,WAC1Bi7F,EAAA9lD,KAAA,YAIR,MjSip0BIs9D,GgS7n0BIz2E,SAAO,gDCpBfy2E,IAEA1yE,GAAA,EAAW5gB,WAAW,oBAAaszF,IjS8r0B7B,SAAUhuI,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIwC,GAAgDxC,EAAoB,IkSxt0BrDilE,EAAAjlE,EAAA,GAExCouI,EAAApuI,EAAA,IlS4t0BIquI,EkS3t0BgB,WlS8t0BhB,QkStt0BGA,GAAAh2G,EAAA91B,EAAA+rI,GAEHj2G,EAAA20G,SAAcsB,EAAAhrG,iBlSst0BVjL,EkSrt0BFp3B,UAAcuB,EAAQ,EAAAvB,UACtBsB,EAAKa,YACJgrI,EAAA,EAAAv/H,KAAA,0BAEPwpB,EAAA5lB,IAAC,qBAAAlQ,EAAAa,YlSut0BegrI,EAAmE,EAAEv/H,KAAK,4BAItF,MAbAw/H,GkStt0BEh3E,SAAK,SAAe,aAAO,elSmu0BtBg3E,IAGXppE,GAA4D,EAAEzqB,WAAW,YAAa6zF,IAKhF,SAAUvuI,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIo7D,GAA6Cp7D,EAAoB,GAEtFuuI,EAA0B,WAG1B,QAASA,GAASC,EAAiBC,GAC/B,GAAIl8H,GAAQpR,IACZA,MAAKutI,WAAY,EACjBF,EAAgBG,SAAStzG,KAAK,SAAU1sB,GmSjw0B3B4D,EAAAq8H,gBAAAjgI,IAEE8/H,EAAAI,qBAAAxzG,KAAA,SAAAngB,GACN3I,EAAAm8H,WAAA,EACIn8H,EAAAu8H,eAAA5zH,EAAA,IAGE,MnSsv0BnBqzH,GAASl3E,SAAW,kBAAmB,iBmStv0BpBk3E,IAGWnzE,GAAA,EAAA5gB,WAAA,WAAA+zF,IAKd,SAAAzuI,EAAAC,EAAAC,GnSow0BpB,YACoEA,GAAoB,MACrBA,EAAoB,MACjBA,EAAoB,KAC1BA,EAAoB,MAChBA,EAAoB,MAClBA,EAAoB,MACpBA,EAAoB,MACpBA,EAAoB,MACVA,EAAoB,MAC/BA,EAAoB,MACPA,EAAoB,MAC5BA,EAAoB,MoS/x0BhEA,EAAA,MACPA,EAAA,MACuBA,EAAA,MACFA,EAAA,OpSqz0BtC,SoShx0BFF,EAAAC,EAAAC,GpSkx0BJ,YoS7w0BW,IAAAC,GAASD,EAAA,IACLE,EAAcF,EAAAG,EAAAF,GACXwC,EAAAzC,EAAA,GACH0C,EAA6B1C,EAAAG,EAAAsC,GACtCE,EAAA3C,EAAA,GACS8M,EAAoB9M,EAAA,IpSox0B/B+uI,EoS/w0BI,WpSkx0BJ,QAASA,GoS/w0BD18E,EAAG57B,GpSgx0BPt1B,KoS/w0BDkxD,WpSgx0BClxD,KoS/w0BHs1B,aAEDt1B,KAAI+tC,QpS600BJ,MAnEA6/F,GoS/w0BE13E,SAAS,WAAY,cpSqx0BvB03E,EoS9w0BErtI,UAAU80B,KAAM,WpS+w0Bd,GoS9w0BFjkB,GAAQpR,IpS+w0BNA,MoS9w0BFs1B,WAAWS,WAAA,cAA2B,SAACxwB,EAAAqvC,GACvCxjC,EAAAzQ,IAAAi0C,EAAA,GAAAA,EAAA,kBAEF50C,KAAIs1B,YAEJt1B,KAAAs1B,WAAAS,WAAA,gBAAyC,SAAAxwB,EAAAqvC,GACzCxjC,EAAAzQ,IAAAi0C,EAAA,GAAAA,EAAA,mBpS6w0BO50C,KoS5w0BLs1B,YACFt1B,KAAGs1B,WAAAS,WAAA,yBAAAxwB,EAAAqvC,GAECxjC,EAAMzQ,IAAIi0C,EAAC,GAASA,EAAC,mBACzB50C,KAAIs1B,YpS4w0BA3pB,EoS3w0BY,EAAAsF,GAAA,yBAAA1R,GAAA,MAAA6R,GAAAzQ,IAAApB,EAAA,GAAAA,EAAA,oBpS4w0BZoM,EoS3w0Ba,EAACsF,GAAA,gBAAmB,SAAU1R,GAAA,MAAA6R,GAAAzQ,IAAApB,EAAA,GAAAA,EAAA,oBpS4w0B3CoM,EoS3w0BU,EAAAsF,GAAA,uBAAA1R,GAAA,MAAA6R,GAAAzQ,IAAApB,EAAA,GAAAA,EAAA,mBpS6w0BdquI,EoS1w0BKrtI,UAAKstI,mBAAoB,SAAAC,GpS2w0B1B,OoS1w0BEA,GACL,cAEM,MAAQ,aAChB,aAED,kCACM,SACL,4BAIDF,EAACrtI,UAAAI,IAAA,SAAAgO,EAAA1I,EAAA6nI,EAAAlvG,GACH,GAAAxtB,GAACpR,IAAAuB,GAAAtC,EAAAsxB,SAAAtqB,KpSyw0BW8oB,QAAQC,IAAI,cAAe/oB,GoSvw0BvCA,EAAA8nI,apSyw0BgB9nI,EAAO,eAAiBA,EAAKulI,OAAS,KAAOvlI,EAAK8nI,YAG1D,IAAIC,IACAr/H,MAAOA,GAAS,GAChB1I,KAAMA,GAAQ,GACd6nI,SAAUA,GAAY,OACtB1iI,KAAMpL,KAAK6tI,mBAAmBC,IAE9BG,EAAelvI,EAA8CE,EAAEgqI,OAAO+E,EqSt20BhF,OAd0CzsI,GAAAtC,EAAA+xB,OAAAhxB,KAAA+tC,KAAA,SAAAntC,GAE5C,MAAA7B,GAAAE,EAAAgqI,OAAAroI,KAAAqtI,IAIEjuI,KAAA+tC,KAAAzoC,KAAoB0oI,GAAApvG,EAAA,GAAoB5+B,KAAAkxD,SAAA,WAAU9/C,EAAA28B,KAAAxsC,EAAAtC,EAAAghI,QAAA7uH,EAAA28B,KAAAigG,IAElDpvG,GAEE5+B,KAAAs1B,WAAAm+B,SACAzzD,KAAAs1B,WAAAgwC,UAGF0oE,GrSs30BEJ,EqSp30BErtI,UAAK2I,MAAW,SAAU0rC,GrSq30BxB50C,KqSp30BH+tC,KAAAxsC,EAAAtC,EAAAghI,QAAAjgI,KAAA+tC,KAAA6G,IAGHg5F,EAAArtI,UAAA2tI,SAAA,WACEluI,KAAI+tC,SAEH6/F,IrSs30BLpsI,GqSj30B+C,EAAA4gC,QAAA,WAAAwrG,IrSs30BzC,SqSl30BDjvI,EAAAC,EAAAC,GrSo30BL,YqS/20BM,IAAYgW,GAAsBhW,EAAA,GACzBsiI,EAAKtiI,EAAA,IrSo30BhBsvI,EqSj30BiB,WrSo30BjB,QqSh30BAA,GAAQ74G,EAAe6+B,GrSi30BnBn0D,KqSh30BFs1B,WAAcA,EAChBt1B,KAAGm0D,SrSg70BH,MAnEAg6E,GqSj30BGj4E,SAAA,uBAOLi4E,EAAA5tI,UAAA80B,KAAA,WACE8rG,EAAmC,EAAAlwH,GAAA,aAAAjR,KAAAouI,UAAA77G,KAAAvyB,WAAAs1B,YAEnC6rG,EAAkB,EAAAlwH,GAAA,aAAAjR,KAAAm9C,UAAA5qB,KAAAvyB,WAAAs1B,YrS+20Bd6rG,EqS920BkB,EAAAlwH,GAAA,gBAAAjR,KAAAquI,iBAAA97G,KAAAvyB,WAAAs1B,arSg30BtB64G,EqS920BE5tI,UAAA48C,UAAA,WAEFn9C,KAAMsuI,YAAiBtuI,KAAGsuI,WAASj6E,SACjCr0D,KAAKsuI,WAACj6E,WrSg30BR85E,EqS520BA5tI,UAAa6tI,UAAa,SAAA7uI,GAC1BS,KAAMsuI,YAAgBtuI,KAAMsuI,WAAAj6E,SAC5Br0D,KAAMsuI,WAAcj6E,UAGpBr0D,KAAKsuI,WAAY/uI,EAAG4R,MACpB5R,EAAMmH,OACN1G,KAAMsuI,WAAetuI,KAAIs1B,WAAI0+B,OAC7Bh0D,KAAMsuI,WAAU5nI,MAAQnH,EAAWmH,OAE7B1G,KAAAsuI,aAENtuI,KAAAsuI,WAAAtuI,KAAAs1B,WAAA0+B,OrS420BI,IqS120BFtW,GAAO19C,KAAKm0D,QACZC,WAAY70D,EAAA60D,WACXlU,SAAA3gD,EAAA0P,IACJilD,aAAA30D,EAAA20D,aACHK,SAAC,EAAA9pC,MAAA,ErS420BWtZ,MAAOnR,KAAKsuI,WqS120BxBlxF,UAAA,ErS420BYP,SAAUt9C,EAAQs9C,UAEtB5yC,SAAQC,QAAQwzC,GAAOxjB,KAAK,SAAUq0G,GAClCA,EAAQ7wF,MAAM,WAGtBywF,EAAQ5tI,UAAU8tI,iBAAmB,SAAUz4E,GAC3C,GAAIzkD,GAAQnR,KAAKs1B,WAAW0+B,MAC5B7iD,GAAMq9H,UAAY,WACd54E,EAAQ44E,YACRr9H,EAAMkjD,WsSz80B4BljD,EAAAs9H,kBAAA,SAAA7tI,GAE9CuQ,EAAAu9H,iBAAA94E,EAAA+4E,YAAA15H,gBAA2ErU,EAAAqU,eAE3E9D,EAAAxC,MAAAinD,EAAAjnD,MAGEwC,EAAAlL,KAAgB2vD,EAAA3vD,KAChBkL,EAAAy9H,MAAoBh5E,EAAQg5E,MAARz9H,EAAAw9H,YAAA/4E,EAAQ+4E,YAH5Bx9H,EAAAq9H,UAAY54E,EAAA44E,UAGoBr9H,EAAA09H,YAAAj5E,EAAAi5E,YAEhC19H,EAAA29H,cAAQl5E,EAARk5E,cACE39H,EAAK/F,KAAOwqD,EAAKxqD,MAAS,WAC1B+F,EAAA49H,QAAen5E,EAAAm5E,SAAA,MAChB59H,EAAA69H,OAAAp5E,EAAAo5E,QAAA,SAED79H,EAAAu9H,kBAAAv9H,EAAOw9H,YACLxN,EAAgB,EAAQzzH,KAAK,cACzBuB,IAAC,yCACNkC,QAEDijD,WAAA,mBtS280BS+5E,IAGXt5H,GsSz80BG,EAAAutB,QAAA,UAAA+rG,ItS880BG,SAAUxvI,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIO,GAAuCP,EAAoB,GAC3DQ,EAA+CR,EAAoBG,EAAEI,GACrE6wH,EAAqDpxH,EAAoB,GAK9FowI,EAAuB,WuSj/0BU,QAAAA,GAAA/9E,GAErClxD,KAAAkxD,WACElxD,KAAAkvI,UvSog1BE,MuSxg1B0CD,GAAA/4E,SAAA,YvSy/0B1C+4E,EuSp/0BkB1uI,UAAA+4C,SAAA,SAAU61F,GAA6B,MAAnBnvI,MAAAkvI,OAAA5pI,KAAA6pI,GAAmBA,GAE3DF,EAAA1uI,UAAAmnF,OAAA,SAAAynD,GACEnvI,KAAAkvI,OAAA7vI,EAAOJ,EAAAghI,QAAAjgI,KAAAkvI,OAAAC,GvSu/0BHnvI,KuSt/0BFkxD,SAAKw2B,OAAAynD,IvSw/0BPF,EAAM1uI,UuSt/0BG6uI,UAAI,WvSu/0BT,GuSt/0BDh+H,GAAApR,IACHX,GAA0BJ,EAAAsoC,KAAAvnC,KAAAkvI,OAAA,SAAA3rI,GAClB6N,EAAO8/C,SAAGw2B,OAAAnkF,KvSw/0BdvD,KAAKkvI,WuSp/0BND,IvSy/0BPhf,GuSt/0Bc,EAAA7tF,QAAA,QAAA6sG,IvS2/0BR,SuSt/0BItwI,EAAQC,EAAaC,GvSw/0B/B,YAkDA,SAASwwI,GwS1i1BOC,GxS2i1BRh8H,EwS1i1BiB,EAAAi8H,mBxS2i1BjBD,EwS1i1BCj6G,OxSy/0BTg6G,EuSp/0BSn5E,SAAO,qBAAO,IAAAlhC,GAAAn2B,EAAA,IACNo2B,EAAYp2B,EAAAG,EAAAg2B,GACtBi7F,EAAApxH,EAAA,GACJyU,EAAAzU,EAAA,IAGH2wI,EAAgB,WvSw/0BZ,QuSr/0BAA,GAAAl6G,EAA0B6/F,EAAA/zH,GAC3BpB,KAAAs1B,aACFt1B,KAAAm1H,YAEDn1H,KAAAoB,avSkh1BI,MuSvh1BFouI,GAAUt5E,SAAA,uCvS2/0BRs5E,EAAUjvI,UAAUkvI,OAAS,WACzBx6G,EAA6Ch2B,EAAEywI,MAC3CliI,IAAK,gDACLmiI,SAAU,SACV/0G,OAAO,GAEX,IAAIg1G,GAAM1vI,OAAO0vI,GACb1vI,OAAO0vI,IACH,YACKA,EAAG9nC,EAAI8nC,EAAG9nC,OAASxiG,KAAK5B,WwS1i1B7C,OAJuBksI,GAAAx7B,GAAA,GAAAz+E,MACuBi6G,EAAA,SAAAt8H,EAAA,EAAAi8H,kBAAA,QACfK,EAAA,wBAE/BA,GAEEJ,EAAIjvI,UAAgB80B,KAAA,WAEhB,GAACjkB,GAAQpR,IACXA,MAAIs1B,WAAUhkB,IAAA,gCACZ,GAAA+4F,IAAcwlC,KAAGz+H,EAAA+jH,UAAA3nH,OAClBoiI,EAAA1vI,OAAA0vI,IAAAx+H,EAAAq+H,QACDr+H,GAAAhQ,WAAAa,YAAAmP,EAAAhQ,WAAAO,MAAAyP,EAAAhQ,WAAAO,KAAAsJ,IAEU2kI,EAAA,MAAS,SAAOx+H,EAAAhQ,WAAAO,KAAAsJ,IAExB2kI,EAAA,MAASvlC,GACTulC,EAAA,OAAW,eAIbJ,IxSqj1BJvf,GwSzi1BS,EAAA7tF,QAAA,qBAAAotG,GAAA77E,IAAA07E,IxS8i1BH,SwSvi1BI1wI,EAAQC,EAACC,GxSyi1BnB,YAWA,SAASixI,GwSpi1BDh/E,EAAax7B,EAAE47B,GxSqi1BnB,GAAI6+E,GAAW,IACf/vI,MAAKqzD,MwSpi1BA,WxSqi1BG08E,GwSli1BNA,EAAQ18E,SxSsi1BVrzD,KAAKyqB,KwSli1BH,SAAWlrB,GACXwwI,IACCA,EAAK18E,QAER08E,EAAA,KxSmi1BI,IACIh+B,GwSli1BN5gG,EAAQ9R,EAAEJ,EAAAc,OAAAu1B,EAAA0+B,MAAA,GAAAz0D,EAAAmH,OxSmi1BJm6D,EwSji1BL,WACDzqC,WAAA,WACFjlB,EAAAqjD,WACHu9C,EAAAQ,QAEDR,EAAA5iF,UxSki1BoB5vB,EAAQywI,SACRzwI,EAAQywI,YAGhBD,EAAW,KAEf5+H,GAAMkjD,QAAU,WACZ09C,EAAK1+C,QAET,IAAI48E,GAAiBvtI,SAASkL,cAAc,MyS/l1BhD,OA1BmBqiI,GAAAj9G,UAAAzzB,EAAA2gD,SACiB4Q,EAAAm/E,GAAA9+H,GAExC+/C,EAAgB,WACA6gD,EAAA,GAAa+uB,GAAiB7hI,GACjCqN,OAAK/M,EAAAgO,QAEPyiE,QAAAigE,EACHtwF,SAAYpgD,EAAOogD,SACjBqyD,QAASzyG,EAAI2wI,YAAA,eACbj+B,OAAQ1yG,EAAK0yG,OACbC,gBAAgB,IAChBC,eACGC,cAAA74F,GAAA,eAAA84F,WAAA,gBAIPN,EAAK9gG,GAAA,QAAQ,WACT4vD,MAELkvE,EAAAh+B,EAEDg+B,EAAA//G,QACA,KAGK,WACA+hF,GACAA,EAAO1+C,UzSuj1BhBy8E,EwSri1BI55E,SAAS,WAAgB,aAAO,eAAA92D,GAAAP,EAAA,GAEvBQ,EAAAR,EAAAG,EAAAI,GACI6wH,EAAKpxH,EAAA,GACNkiI,EAAeliI,EAAA,KACdiiI,EAAcjiI,EAAAG,EAAA+hI,ExSmm1B/B9Q,GySrn1B6D,EAAA7tF,QAAA,aAAyB0tG,IzS0n1BhF,SySpn1BDnxI,EAAAC,EAAAC,GzSsn1BL,YASA,SySln1BO24D,GAAanB,EAAAiuE,GAElB,QAAE6L,GAAA5wI,GAEE,MAAU,MAATA,GAAqB,MAAAA,EAAAqB,OACxBZ,KAAOY,MAAI,IACXZ,KAAA8/C,KAAAuW,EAAAa,YAAA,iCAEGl3D,KAAA2G,KAAcpH,EAAAoH,UACjB3G,KAAOg3D,YAAI,IAIX33D,EAAiDJ,EAAEspD,SAAAhpD,IACnDS,KAAAY,MAAArB,OAEGS,KAAA8/C,KAAcuW,EAAAa,YAAWotE,EAAAK,yBAAA3kI,KAAAY,WAK5BZ,KAAAiG,KAAO1G,EAAAqB,MzS8m1BHZ,KyS7m1BF43D,SAAWr4D,EAAAq4D,SACb53D,KAAGi3D,OAAA13D,EAAA03D,OACHj3D,KAAA2G,KAAApH,EAAAoH,KAEE3G,KAAC+2D,KAAAx3D,EAAmBw3D,KACtB/2D,KAAAY,MAAOrB,EAASqB,MzS6m1BZZ,KyS5m1BFw2D,WAAYj3D,EAAGi3D,WzS6m1Bbx2D,KAAK2G,KyS5m1BLpH,EAAYoH,KzS6m1BZ3G,KyS5m1BDg3D,WAAEz3D,EAAAy3D,gBzS6m1BDh3D,KyS3m1BF8/C,KAAIvgD,EAAAugD,MAAiBuW,EAAAa,YAAAotE,EAAAK,yBAAA3kI,KAAAY,UzSml1BvB,GySln1BA6G,GAAOzH,IzS4o1BPA,MAAKowI,mByS3m1BK,SAAAxvI,EAAuByvI,GzS4m1B7B,MAAIzvI,GACOZ,KyS3m1BR63D,WAAAj3D,GAIEZ,KAAA63D,YAASj3D,MAAAyvI,EAAAt5E,MAAA,KAIpB/2D,KAAKswI,qBAAkB,WACrB,MAAO,IAAIH,IAAgBvvI,MAAO,qBAAqBm2D,MAAM,KAG/D/2D,KAAKuwI,QAAA,SAAgBtqI,EAAAU,EAAAixD,GACnB,MAAO,IAAIu4E,IAAcvvI,MAAAqF,EAAA8wD,MAAA,EAAApwD,OAAAixD,czS0m1BzB53D,KAAK63D,WySxm1BG,SAAAt4D,GzSym1BJ,MySxm1BF,IAAM4wI,GAAa5wI,IzS0m1BrBS,KySxm1BCwwI,OAAE,SAAA/vI,GACH,UAAA0vI,IAAAvvI,MAAAH,EAAAkG,KAAA,MAAAixD,SAAA,uBAGJ53D,KAAAywI,YAAA,SAAA7vI,GzSwm1BQ,MAAO,IAAIuvI,IAAgBvvI,MAAOA,EAAO+F,KAAM,QAASixD,SAAU,yBAEtE53D,KAAK0wI,aAAe,SAAUC,GAC1B,MAAO,IAAIR,IAAgBvvI,MAAO+vI,EAAWhqI,KAAM,YAAaixD,SAAU,mBAE9E53D,KAAK4wI,YAAc,SAAUjsI,GACzB,MAAO,IAAIwrI,IAAgBvvI,MAAO+D,EAAIgC,KAAM,WAAYixD,SAAU,4BAEtE53D,KAAK6wI,aAAe,SAAU1rI,GAC1B,MAAO9F,GAA6CJ,EAAEqH,IAAInB,EAAK,SAAUR,GACrE,MAAO,IAAIwrI,IAAgBvvI,MAAO+D,EAAIgC,KAAM,WAAYixD,SAAU,8B0Shu1BvD53D,KAAA8wI,oBAAA,SAAAC,EAAAC,GACuB,gBAAAvoF,GACF,GAAAwoF,GAAA5xI,EAAAJ,EAAAqH,IAAAmiD,EAAA,SAAA6N,GAC4B,MAAA7uD,GAAAowD,YAAAj3D,MAAA01D,EAAArwD,KAAA+wD,WAAAV,EAAAU,cAG9D,OAIR+5E,IACA1xI,EAAmFJ,EAAAsoC,KAAU+8F,EAAAptD,UAAA,SAAAjoC,OAApE,KAAL+hG,GAAKA,IAAA/hG,EAAAtoC,MAAUsqI,EAAQ98H,QAAA1M,EAAAowD,YAAAlxD,KAAA,QAAA/F,MAAA,IAAAquC,EAAAllC,KAAAitD,YAAA,OALnCi6E,IAORjxI,KAAAkxI,gBAAA,WACE,MAAO,IAAIf,IAAWvvI,MAAQ,gBAAiBm2D,MAAQ,KAGzD/2D,KAAAmxI,cAAA,WACE,MAAO,IAAIhB,IACZp5E,MAAA,EAEDjX,KAAA,8BACEn5C,KAAO,cACRixD,SAAA,gB1Syo1BHJ,EySpn1BOtB,SAAA,OAAuB,kBAAA92D,GAAAP,EAAA,GACfQ,EAAmDR,EAAQG,EAAAI,EACtEP,GAAA,GCjBW,EAAAujC,QAAA,eAAAo1B,I1Ssu1BT,S0Sju1BG74D,EAAAC,EAAsBC,G1Smu1B/B,Y0S/t1BG,IAAAO,GAAAP,EAAA,GAEDQ,EAAuBR,EAAAG,EAAAI,GACJ6wH,EAAEpxH,EAAA,GACVouI,EAAApuI,EAAA,IACRuyI,EAAAvyI,EAAA,K1Squ1BDwyI,E0S9t1BwB,W1Siu1BxB,Q0S9t1BCA,GAAAx9E,EAAAujE,EAAAtjE,EAAA5C,EAAA9vD,GAEDpB,KAAK6zD,MAAQA,EAEb7zD,KAAIo3H,SAAUA,E1S6t1BVp3H,K0S5t1BF8zD,GAAKA,E1S6t1BH9zD,K0S5t1BHkxD,WAEDlxD,KAAIoB,WAAcA,E1S4t1BdpB,K0S3t1BFsxI,oB1S4t1BEtxI,K0S3t1BFuxI,wBAA2B,ECvDL,M3S0w1BxBF,G0S9t1BEn7E,SAAW,iD1Swu1Bbm7E,EAAW9wI,U0S3t1BPC,IAAc,SAAQgN,EAAA+6B,G1S4t1BtB,MAAOvoC,M0S3t1BPw/D,SAAUlG,OAAQ,MAAA9rD,MAAA+6B,Y1S6t1BtB8oG,E0S3t1BE9wI,UAAaS,OAAK,SAASwM,G1S4t1BzB,M0S3t1BHxN,MAAAw/D,SAAAlG,OAAA,SAAA9rD,SAGH6jI,EAAC9wI,UAAA2K,KAAA,SAAAsC,EAAAwD,GAED,MAAAhR,MAAAw/D,SAAAlG,OAAA,OAAQ9rD,MAAOwD,U1S2t1BbqgI,E0S1t1BO9wI,UAASixI,MAAQ,SAAWhkI,EAAAwD,GACnC,MAAIhR,MAAAw/D,SAAkBlG,OAAQ,QAAS9rD,IAACA,EAASwD,U1S4t1BjDqgI,E0Szt1BI9wI,UAAAqzD,IAAgB,SAAApmD,EAAAwD,G1S0t1BhB,M0Szt1BFhR,MAAQw/D,SAAClG,OAAe,MAAS9rD,MAAUwD,KAAMA,K1S2t1BnDqgI,EAAW9wI,U0Szt1BCkxI,mBAAQ,SAAsB9hG,G1S0t1BtC,GAAIv+B,G0Szt1BLpR,I1S2t1BC,OADAA,M0Sxt1BF0xI,gBAAgB,E1Syt1BP/hG,I0Sxt1BCgiG,QAAM,W1Syt1BVvgI,E0Sxt1BLsgI,gBAAA,K1S2t1BHL,E0Stt1BI9wI,UAAYqxI,oBAAkB,SAAA94G,G1Sut1B9B,IAAIA,E0Stt1BF2yG,U1Sst1BF,CAGA,GAAIz6H,GAAO8nB,E0Stt1BN9nB,OAAA42B,QAAA,mBAIP,I1Smt1BMvoC,E0Stt1BDJ,EAAAspD,SAAAv3C,K1Sut1BCA,G0Stt1BH42B,QAAA52B,IAGA,MAAH8nB,EAAA0yG,OAEE,KADAxrI,MAAAo3H,SAAAz2H,IAAA,oBAAsBqQ,EAAA42B,QAAA,eAClB52B,C1S2t1BJ,IAJAA,EAAK88H,S0Srt1BD,Q1Sst1BAh1G,EAAI0yG,O0Srt1BJ,M1Sst1BAx6H,E0Srt1BD88H,SAAE,WAGL98H,EAAI42B,QAAS,C1Sqt1BT,G0Spt1BF9hC,GAAA,GACC8hC,EAAA52B,EAAA42B,OACHA,GAAUjkC,OAAA,KAEZmC,EAAA8hC,EACHA,EAAA,SAGK5nC,KAAAo3H,SAAaz2H,IAAKinC,EAAA9hC,EAAkBkL,EAAA88H,SAAA,K1Sot1BpC,K0Slt1BH98H,K1Sot1BDqgI,E0Snt1BE9wI,UAAKi/D,QAAiB,SAAUjgE,G1Sot1B9B,G0Snt1BH6R,GAAApR,IACFT,GAAAsyI,MAAAtyI,EAAAsyI,OAAA,CAED,IAAAC,IAAAvyI,EAAAiO,IAAAoM,MAAuB,SACjBm4H,EAAiC,IAArBxyI,EAAKsyI,KAWrB,OAVIC,KACF9xI,KAASoB,WAAWO,MAAG3B,KAAAoB,WAAAO,KAAA8S,QACxBlV,EAAA2rG,QAAA3rG,EAAA2rG,YACF3rG,EAAA2rG,QAAA,oBAAAlrG,KAAAoB,WAAAO,KAAA8S,OAuFA,IArFDlV,EAAAiO,IAqFCoF,QAAA,OApFSrT,EAAQiO,IAAAjO,EAAaiO,IAAK6P,UAAC,KAInCrd,KAAA6zD,MAAAt0D,GAAA26B,KAAA,SAAAuuB,GAQE,MAPW,QAAblpD,EAAa+5D,QACT7Q,GAAmBA,EAACz3C,KAAU42B,UACnB,IAAAroC,EAAAyyI,kBACR5gI,EAAAgmH,SAAAz2H,IAAwB8nD,EAAUz3C,KAAC42B,QAAA,kBAInC6gB,EAAAz3C,MACN,SAAA8nB,GAGG,GAAe,MAAfA,EAAA0yG,QAAuBp6H,EAAKhQ,WAAOO,KAAAM,YAAA8vI,EAEnC,MAAA3gI,GAAgB6gI,YAAA/3G,KAAA,WAEhB,MADM36B,GAACsyI,MAAe,EACdzgI,EAAOouD,QAAUjgE,IAQ3B,MAJA6R,GAAI8/C,SAAW9/C,EAACwgI,oBAAoBr/G,KAAAnhB,EAAA0nB,GAAA,IAAAkhB,MAAA,SAAAlhB,MAIhCA,K1Sgt1BNu4G,E0S7s1BG9wI,UAAA2xI,YAAA,SAAAC,EAAAC,GAEDD,IAASnyI,MAAAsxI,iB1S6s1BHtxI,K0S5s1BJsxI,iBAAgBa,GAAA7sI,KAAA8sI,GAIpBpyI,KAAOsxI,iBAAmBa,IAAAC,I1S8s1B1Bf,EAAW9wI,U0S3s1BL8xI,wBAAA,SAAAF,G1S4s1BF,GAAIG,G0S3s1BHtyI,KAAAsxI,iBAAAa,IACD9yI,EAAgBJ,EAAAszI,YAAAD,MAAA3uI,QAChB2uI,EAAA,GAAApoI,W1S8s1BJmnI,EAAW9wI,U0S3s1BGiyI,kBAAgB,SAAOjzI,G1S4s1BjC,GAAI6R,G0S3s1BHpR,I1S4s1BDT,G0S1s1BAsyI,MAAAtyI,EAAAsyI,OAAA,C1S+s1BA,IAAIM,G0S1s1BE5yI,EAAQ4yI,S1S2s1Bd,IAAIA,E0S1s1BC,C1S2s1BDnyI,KAAKqyI,wB0S1s1BOF,E1S4s1BZ,I0S1s1BHC,GAAApyI,KAAA8zD,GAAAixC,OAEDxlG,GAAAq/B,QAAAwzG,EAAAjD,QACAnvI,KAAIkyI,YAAAC,EAAAC,G1S2s1BJ,GAAIN,I0Szs1BUvyI,EAACiO,IAAUoM,MAAA,S1S0s1BrBm4H,E0Szs1BkB,IAAlBxyI,EAAcsyI,KAkBpB,O1Swr1BMC,K0Sxs1BH9xI,KAAAoB,WAAAO,MAAA3B,KAAAoB,WAAAO,KAAA8S,QAEDlV,EAAA2rG,QAAiB3rG,EAAA2rG,YACb3rG,EAAQ2rG,QAAQ,oBAAiBlrG,KAAAoB,WAAAO,KAAA8S,OAEpC,IAAAlV,EAAAiO,IAAAoF,QAAA,OACGrT,EAAQiO,IAACjO,EAAQiO,IAAA6P,UAAA,IAEpB9d,EAAA2rG,SAAA3rG,EAAA2rG,QAAAunC,gBACDlzI,EAAU2rG,QAAA,sBAAA3rG,EAAA2rG,QAAAunC,oBACVlzI,GAAA2rG,QAAAunC,eAEAzyI,KAAA0xI,iBACInyI,EAAQ2rG,QAAA,qBAAW,SAGtBlrG,KAAA6zD,MAAAt0D,GACN26B,KAAA,SAAA/uB,GAMD,MAJA5L,GAAAmzI,QACSzF,EAAkE,EAAAv/H,KAAA,sBAAAvC,GAG3EA,IAEC6uC,MAAA,SAAAlhB,GAED,GAAAA,EAAA0yG,SAAAp6H,EAAAmgI,uBACS,MAASz4G,MAAA65G,WAAA,EAIhB,IAAOb,GAASC,GAA8B,MAAPj5G,EAAO0yG,OAC/C,MAAAp6H,GAAA6gI,YAAA/3G,KAAA,WAOU,MALX36B,GAAAsyI,MAAA,EACkBO,GACjBA,EAAAloI,UAGiBkH,EAASohI,kBAAQjzI,IAmBlC,MAfEF,GAAAJ,EAAAspD,SAAAzvB,EAAA9nB,OAAA,MAAA8nB,EAAA0yG,SACG1yG,EAAM9nB,MACA6nB,MAAIC,EAAAi1G,WACb5iI,SAAA2tB,EAAA9nB,OAMM8nB,EAAK9nB,OAAQ8nB,EAAA9nB,KAAA42B,SAAAvoC,EAAAJ,EAAAspD,SAAAzvB,EAAA9nB,KAAA6nB,SAClBC,EAAQ9nB,KAAK42B,QAAA9O,EAAA9nB,KAAA6nB,OAETt5B,EAASmzI,QACbzF,EAAuB,EAAAv/H,KAAA,mBAAAorB,GAE1BA,IAGC64G,QAAY,WAGdpyI,EAAA4yI,WACS/gI,EAAKkgI,iBAAI/xI,EAAoB4yI,WAAMhwF,W1Sks1B1CkvF,E0S7r1BE9wI,UAAa0xI,UAAA,W1S8r1BX,M0S7r1BCjyI,MAAEw/D,SAAAhyD,IAAA,kBAAwB8rD,OAAA,MAAAu4E,MAAA,K1S+r1B/BR,E0S7r1BE9wI,UAAAs5B,OAAkB,SAAK1D,G1S8r1BrB,M0S7r1BDn2B,MAAAQ,IAAA,cAAA21B,IAGLk7G,EAAA9wI,UAAAqyI,kBAAA,SAAgBz8G,GACd,MAAOn2B,MAAKQ,IAAI,0BAA0B21B,IAG5Ck7G,EAAA9wI,UAAAsyI,cAAgB,SAAhB18G,GACE,MAAOn2B,MAAKQ,IAAA,sBAA0B21B,IAGxCk7G,EAAA9wI,UAAA4nI,qBAAA,SAAAhyG,GACE,MAAOn2B,MAAKQ,IAAA,+BAAQ21B,I1S4r1BpBk7G,E0S1r1BK9wI,UAAEuyI,kBAAoB,SAAY52H,EAAAF,G1Sms1BnC,MARAE,G0S1r1BEsP,OAAIxR,SAAUkC,G1S2r1BhBF,E0S1r1BFwP,OAAAxR,SAAkBgC,GACjBhG,MAAAkG,KACJA,EAAA,GAGClG,MAAOgG,KACLA,EAAQ,KAERhc,KAAAQ,IAAA,gCAAuB0b,EAAA,UAAAF,IAE3Bq1H,EAAC9wI,UAAAwyI,qBAAA,SAAAC,GAED,MAAAhzI,MAAAw/D,SACMlG,OAAO,MACX9rD,IAAO,wBACRwD,KAAAgiI,EAEDhB,kBAAA,KAIAX,EAAA9wI,UAAA0yI,iBAAA,SAAAC,GACE,MAAOlzI,MAAKkL,KAAK,mBAAAgoI,IAGnB7B,EAAA9wI,UAAA4yI,iBAAA,SAAAloI,EAAAmoI,GACE,MAAOpzI,MAAK4zD,IAAI,oBAAA3oD,EAAAmoI,IAGlB/B,EAAA9wI,UAAA8yI,uBAAA,SAAsBpoI,EAAAmoI,GACpB,MAAOpzI,MAAKw/D,SACblG,OAAA,MAED9rD,IAAA,oBAAAvC,EACE+F,KAAOoiI,EACRpB,kBAAA,K1Ssr1BCX,E0Slr1BE9wI,UAAO+yI,cAAc,SAAAroI,G1Smr1BnB,M0Slr1BHjL,MAAAQ,IAAA,oBAAAyK,IAEHomI,EAAC9wI,UAAAgzI,iBAAA,SAAAtoI,GAED,MAAAjL,MAAAgB,OAAA,oBAAAiK,IAEAomI,EAAC9wI,UAAAizI,yBAAA,SAAAz9H,EAAA09H,GAED,MAAAzzI,MAAAw/D,SACElG,OAAY,OACV9rD,IAAA,oBAAauI,EAAA,YACb/E,MAAKyiI,YACLzB,kBAAY,KAGhBX,EAAC9wI,UAAAmzI,sBAAA,SAAA39H,GAED,MAAA/V,MAAAw/D,SACElG,OAAY,MACb9rD,IAAA,oBAAAuI,EAAA,YAEDi8H,kBAAA,KAIAX,EAAA9wI,UAAAozI,qBAAA,SAAmB59H,EAAI69H,GACrB,GAAArvI,IAAYyiI,QAAI4M,EACjB,OAAA5zI,MAAAkL,KAAA,oBAAA6K,EAAA,WAAAxR,I1S+q1BC8sI,E0S5q1BO9wI,UAASszI,uBAAuB,SAAO99H,EAAA+9H,GAC/C,MAAA9zI,MAAAgB,OAAA,oBAAA+U,EAAA,YAAA+9H,I1S8q1BCzC,E0S3q1BO9wI,UAASwzI,uBAAuB,SAAAnb,GACxC,MAAA54H,MAAAkL,KAAA,2BAAA0tH,I1S6q1BCyY,E0S1q1BO9wI,UAAUyzI,uBAAO,SAAA/oI,EAAA2tH,GAExB,MAAO54H,MAAK4zD,IAAI,4BAAwB3oD,EAAA2tH,I1S2q1BxCyY,E0Szq1BE9wI,UAAU0zI,oBAAgB,SAAAhpI,G1S0q1BxB,M0Szq1BFjL,MAAAQ,IAAW,2BAA0ByK,I1S2q1BvComI,E0Szq1BG9wI,UAAA2zI,uBAAA,SAAAjpI,GACJ,MAAAjL,MAAAgB,OAAA,4BAAAiK,I1S2q1BComI,E0Sxq1BO9wI,UAAU4zI,aAAc,SAAW/M,GAM1C,MALDA,GAAAznF,WAEDynF,EAAAznF,UAAA,GAGS3/C,KAAKkL,KAAI,eAAAk8H,I1Swq1BhBiK,E0Stq1BE9wI,UAAS6zI,aAAc,SAAAnpI,EAAAm8H,G1Suq1BrB,M0Stq1BFpnI,MAAA4zD,IAAW,gBAAiB3oD,EAAKm8H,IAErCiK,EAAC9wI,UAAA8zI,mBAAA,SAAAppI,EAAAm8H,GAED,MAAApnI,MAAAw/D,SACElG,OAAY,MACb9rD,IAAA,gBAAAvC,EAED+F,KAAAo2H,EACE4K,kBAAoB,K1Suq1BpBX,E0Spq1BE9wI,UAAA+zI,UAAkB,SAAgBrpI,G1Sqq1BhC,M0Spq1BDjL,MAAAQ,IAAA,gBAAAyK,IAGLomI,EAAA9wI,UAAAg0I,aAAA,SAAAtpI,GACE,MAAMjL,MAAQgB,OAAG,gBAAAiK,I1Sqq1BjBomI,E0Snq1BK9wI,UAAai0I,mBAAA,SAAAC,G1Soq1Bd,M0Snq1BFz0I,MAAMQ,IAAK,sBAAqBi0I,I1Sqq1BlCpD,E0Slq1ByB9wI,UAAAm0I,kBAAA,SAAAjoG,G1Smq1BrB,M0Snq1BCzsC,MAAIQ,IAAA,uBAAYisC,I1Sqq1BrB4kG,E0Snq1BC9wI,UAAAo8H,eAAA,SAAAlwF,GAED,MAAOzsC,MAAKQ,IAAA,gBAAsBisC,IAGpC4kG,EAAA9wI,UAAAo0I,cAAc,SAAdvQ,EAAe7kI,GAGb,MAFAA,GAAWA,MAEKS,KAAAkL,KAAA,uBAAX2qH,UAAOuO,EACVnS,SAAU1yH,EAAM0yH,SACjB2iB,WAAA,IAAAr1I,EAAAq1I,UAEDhtG,QAAYroC,EAAAqoC,SAAoB,M1Smq1BhCypG,EAAW9wI,U0Shq1BPs0I,aAAc,SAAAj/E,G1Siq1Bd,MAAO51D,M0Shq1BPkL,KAAA,eAAsB0qD,I1Skq1B1By7E,E0Shq1BG9wI,UAAAw8H,aAAA,SAAAnE,EAAAr5H,GAGG,MAFPA,SAEOS,KAAA4zD,IAAA,gBAARglE,EAAAnsF,KAAA99B,MAAAiqH,EAwCCjqH,MAvCK3M,QAAQ42H,EAAQ52H,QAEhB4yI,WAA6B,IAA5Br1I,EAAkBq1I,a1Skq1BvBvD,EAAW9wI,U0S9p1BEy8H,aAAU,SAAevwF,EAAEulG,G1S+p1BpC,MAAOhyI,M0S9p1BPw/D,SAAOlG,OAAA,SAAA9rD,IAAA,gBAAAi/B,EAAAulG,kBAAA,IAAAA,K1Sgq1BXX,E0S7p1BE9wI,UAAcu0I,gBAAM,SAAoBroG,EAAAulG,G1S8p1BtC,M0S7p1BFhyI,MAAIw/D,S1S8p1BElG,O0S7p1BJ,S1S8p1BI9rD,I0S7p1BJ,uBAAgBi/B,E1S8p1BZulG,kB0S7p1BJ,IAAAA,K1Sgq1BJX,EAAW9wI,U0S5p1BIw0I,2BAA6B,SAAAC,EAAAC,G1S8p1BxC,IAAK,G0S7p1BLC,MACCpqI,EAAK,EAACqqI,EAAGH,EAAAlqI,EAAAqqI,EAAAxxI,OAAAmH,IAAA,C1S6p1BN,G0S5p1BFonH,GAAYijB,EAAarqI,E1S6p1BvBoqI,GAAM5vI,K0S5p1BHtF,KAACo1I,WAAYp1I,KAAKg9H,aAAAzqG,KAAAvyB,OAAA,EAAAkyH,GAAA,I1S8p1BzB,IAAK,GAAIjpH,G0S3p1BL,EAAIosI,EAAeJ,EAAehsI,EAAAosI,EAAA1xI,OAAAsF,IAAA,C1S4p1BlC,GAAIqsI,G0S3p1BID,EAAApsI,E1S4p1BRisI,GAAM5vI,KAAKtF,K0S3p1BPo1I,WAASp1I,KAAU80I,gBAAiBviH,KAAEvyB,OAAA,EAAAs1I,GAAA,I1S6p1B9C,MAAOt1I,MAAKu1I,e0S3p1BCL,O1S6p1BjB7D,EAAW9wI,U0S3p1BEi1I,eAAA,SAAAP,EAAAQ,G1S6p1BT,IAAK,GADDP,MACKpqI,E0S5p1BA,EAAA4qI,EAAAT,EAAAnqI,EAAA4qI,EAAA/xI,OAAAmH,IAAA,C1S6p1BL,GAAI2hC,G0S5p1BJipG,EAAiB5qI,E1S6p1BjBoqI,G0S5p1BD5vI,KAAAtF,KAAAo1I,WAAAp1I,KAAA21I,cAAApjH,KAAAvyB,OAAA,EAAAysC,EAAAgpG,IAEP,MAAGz1I,MAAAu1I,eAAAL,MAAAh7G,KAAA,SAAA5O,GAEH,OACD88G,WAAA98G,EAAA3nB,OAEOiyI,aAAAv2I,EAA+BJ,EAAAgV,OAAAqX,GAAAuqH,WAAA,IAAAlyI,OAAEmyI,qBAAcz2I,EAAAJ,EAAAgV,OAAAqX,GAAAyqH,iBAAA,IAAApyI,W1S+p1BrD0tI,E0S9p1BO9wI,UAAAo1I,cAAM,SAAAlpG,EAAAgpG,G1S+p1BT,G0S9p1BFrkI,GAAOpR,K1S+p1BDg2I,E0S9p1BGh2I,KAAI8zD,GAAEixC,OE5dlB,O5S2n2BK/kG,MAAK00I,kB0S9p1BCjoG,GAAGvS,KAAA,SAAA+7G,G1S+p1BL,G0S9p1BFvvI,GAAO,GAAK0qI,GAAiC,EAAA6E,EAAApgB,UAAAogB,EAAAzpG,KAC/C,KAAEypG,EAAAzpG,KAAAylF,UAAA,IAAAwjB,EAAAxqI,IAAAgrI,EAAAzpG,KAAAylF,WAAAwjB,EAAAxqI,GAEA,W1S6p1BM+qI,G0S9p1BD9rI,SAAA6rI,iBAAG,G1Siq1BN,IAAI9rG,G0S9p1BLvjC,EAAAkoC,oBAEDrvC,GACC0yH,SAAAwjB,EAAAxqI,GACL2pI,WAAA,EAGIxjI,GAAAujI,cAAA1qG,EAAc1qC,GACb26B,KAAM,WACd87G,EAAA9rI,SAAA2rI,WAAA,MACF77F,MAAA,SAAAlhB,G1S8p1BmBA,EAAI9nB,MAA4B,qBAApB8nB,EAAI9nB,KAAKw6H,Q0S5p1BzC1yG,EAAA2yG,WAAA,E1S8p1BoBlsI,EAAQq1I,WAAY,EACpBxjI,EAAMujI,cAAc1qG,EAAO1qC,GACtB26B,KAAK,WACN87G,EAAS9rI,SAAU2rI,WAAW,MAE7B77F,MAAM,SAAUlhB,GACjBk9G,EAAS9rI,SAAU2rI,WAAW,O4Sxp2B/BG,EAAA9rI,SAAA2rI,WAAA,QAKpBG,EAAA7G,S5S6p2BCkC,E4S1p2BI9wI,UAAY60I,WAAM,SAAAtxG,EAAAoyG,G5S4p2BlB,I4S3p2BC,GAALp0G,MAASh3B,EAAG,EAAAA,EAAApH,UAAAC,OAAAmH,IACVg3B,EAAAh3B,EAAA,GAAapH,UAAOoH,EAEtB,OAAO,UAAAwgB,GACR,MAAAwY,GAEY//B,MAAA,KAAA+9B,GACd5H,KAAA,SAAAlxB,G5S2p2Be,MAAOiD,OAAM1L,UAAUqqC,OAAOtf,GAAStiB,MAEtCgxC,MAAM,SAAUlhB,GACjB,GAAIo9G,EACA,MAAO5qH,EAEX,MAAMwN,OAIlBu4G,EAAW9wI,UAAUg1I,eAAiB,SAAUL,EAAOiB,GACnD,MAAOjB,GAAMntG,OAAO/nC,KAAK8zD,GAAGG,KAAMkiF,I2S9q2Bd9E,I3Smr2B5BphB,G2S5q2B4C,EAAA7tF,QAAA,aAAAivG,I3Sir2BtC,S2S3q2BE1yI,EAAUC,EAAkBC,G3S6q2BpC,YAKA,S2Szq2BIu3I,GAAI/tF,G3S0q2BJ,GAAIhpD,E2Szq2BgBJ,EAAA+U,QAAAq0C,G3S0q2BhB,MAAOA,G2Szq2BH/hD,IAAI8vI,E3S2q2BZ,IAAI/2I,E2Szq2BmCJ,EAAAo3I,cAAahuF,GAAW,C3S2q2B3D,I2Szq2BD,G3Swq2BKiuF,M2Sxq2BLxrI,EAAA,EAAA7B,EAAA5J,EAAAJ,EAAAoH,KAAAgiD,GAAAz+C,OAAAkB,EAAA7B,EAAAtF,OAAAmH,IAAA,CAED,GAAArK,GAAAwI,EAAa6B,E3Syq2BPwrI,G2Sxq2BJ71I,GAAA21I,EAAoB/tF,EAAA5nD,I3S0q2BpB,MAAO61I,GAEX,MAAOjuF,G2S1r2BiBzpD,EAAuB,EAAEw3I,CACxC,IAAAh3I,GAAAP,EAAA,GACRQ,EAAAR,EAAAG,EAAAI,I3S8r2BC,S2Srq2BET,EAAIC,EAAYC,G3Suq2BxB,YAsaA,S2Sjn2BE03I,GAAApuH,G3Syn2BE,MAPI9oB,GAA6CJ,EAAEspD,SAASpgC,K2Shn2B3DA,EAAAnO,SAAAmO,EAAA7V,QAAA,cACuC6V,EAAAquH,EAAgB,IACxDruH,EAAIquH,EAAqB,GAEZlhI,KAAKmhI,KAAKtuH,GAAUquH,EAAe,EAAAA,EAAA,IA/djC33I,EAAesC,EAAAvC,EAAA,qBAAA83I,IACvB,IAAAt3I,GAAAP,EAAA,GAEGQ,EAAgBR,EAAAG,EAAAI,GAClBo3I,EAAoC33I,EAAA,KACpC83I,EAAsB93I,EAAA,K3Swq2B9B63I,E2Snq2BiB,W3Soq2BjB,QAASA,G2Snq2BKE,G3Soq2BV52I,KAAK61H,U2Snq2BF+gB,E3S2j3BP,MAtZAF,G2Snq2BMn2I,UAAYotC,aAAU,SAAAqI,G3Soq2BxB,GAAIvyC,GAAG+rD,E2Snq2BN+sE,EAAAv9H,E3Soq2BG63I,E2Slq2BK72I,KAAC61H,UAAWzoF,c3Smq2BjB0pG,IAEJ,IADA92I,KAAK61H,UAAUzoF,c2Slq2BI,G3Smq2BfypG,I2Slq2BD72I,KAAA61H,UAAAzoF,c3Skq2BH,CAiDA,G2S/s2BFypG,EAAG,IACJ7gG,EAAAjzC,UAEDizC,EAAAjzC,SAAAkR,SACIjU,KAAa61H,UAAG5uG,KAAA+uB,EAAAjzC,SAAAkR,OAAAgT,KAClBjnB,KAAA61H,UAAmB7oF,WAAAe,KAAAiI,EAAAjzC,SAAAkR,OAAA85B,U3Soq2Bb+oG,E2Sjq2BMxxI,KAAK,SAAA4iB,GAEF,aAAXA,EAAKvhB,OACNuhB,EAAAvhB,KAAA,SAEJ,UAAAuhB,EAAAvhB,OAICtH,EAA0BJ,EAAA83I,UAAA7uH,EAAA2B,UAC1B3B,EAAc2B,QAAKY,KAASvC,EAAK2B,SAE7B3B,EAAA8uH,OACD9uH,EAAA8uH,KAAA9tH,MACDhB,EAAA8uH,KAAAC,QAAA/uH,EAAA8uH,KAAA9tH,UACQhB,GAAA8uH,KAAe9tH,KAEhBhB,EAAM8uH,KAAAr8H,MACZuN,EAAA8uH,KAAAE,QAAAhvH,EAAA8uH,KAAAr8H,UACJuN,GAAA8uH,KAAAr8H,MAIKuN,EAAAivH,WAEAjvH,EAAakvH,YACVlvH,EAASkvH,cAEZlvH,EAAAkvH,UAAA,GAAAlvH,EAAAivH,eACHjvH,GAAAivH,UAGKjvH,EAAOmvH,YACPnvH,EAAWkvH,YACXlvH,EAASkvH,cAEZlvH,EAAAkvH,UAAA,GAAAlvH,EAAAmvH,gBACGnvH,GAAamvH,e3Skq2BbR,E2S7p2BH,G3S+p2BG,GAAIS,G2S7p2BNt3I,KAAS61H,UAAStmF,gB3S8p2BhBunG,G2S7p2BHxxI,KAAA,SAAA4iB,GACFA,EAAAjd,KACFid,EAAAjd,GAAAqsI,EAEGA,GAAgB,K3S6q2BhB,G2Svq2BFT,EAAa,G3S6p2BPC,E2Szp2BKxxI,KAAM,SAAQ4iB,GACV,U3Syp2BDA,E2Szp2BNvhB,OAILtH,EAAAJ,EAAAsoC,KAAArf,EAAAqvH,WAAA,SAAA32I,EAAAH,GACJynB,EAAAsvH,kBAAAjuH,MAAA9oB,EAAA8nB,MAAA3nB,YAGCsnB,GAAcqvH,c3S0p2BRV,E2Svp2BE,G3Syp2BF,GAAI3pG,G2Svp2BF7tC,EAAqBJ,EAAAyJ,KAAAstC,EAAAyhG,WAAA9wI,KAAA,e3S8p2BvB,KANIumC,IACAltC,KAAK61H,U2Svp2BR3oF,a3Swp2BOa,KAAMb,E2Sxp2BPA,kB3S4p2BFzpC,EAAI,EAAGA,EAAIzD,K2Sxp2BZ61H,UAAW7oF,WAAQe,KAAMpqC,OAAMF,IAAQ,C3Syp2BvC,GAAIwrC,GAAWjvC,K2Sxp2BX61H,UAAM7oF,WAAUe,KAAAtqC,OACZ,K3Swp2BJwrC,EAAShB,aACTgB,EAAShB,W2Sxp2BZ,MAEC,W3Swp2BEgB,EAAStoC,OACTsoC,EAAStoC,K2Sxp2BZ,aAEA,K3Swp2BGsoC,E2Sxp2BLtoC,O3Syp2BKsoC,E2Sxp2BNtoC,KAAO,aAEI,K3Swp2BLsoC,EAASyoG,YACTzoG,EAASyoG,U2Sxp2BN,S3Sq32Bf,GAzNIb,EAAa,IACT7gG,EAAIjU,KAAOiU,EAAIjU,IAAIp+B,SACnB3D,KAAK61H,UAAU9oF,W2Sxp2BdiJ,EAAAjU,IAAA,I3S2p2BL+0G,EAAcxxI,KAAK,S2Svp2BR4iB,G3Swp2BP7oB,E2Svp2BmBJ,EAAAsoC,KAAArf,EAAAuG,QAAA,SAAAniB,G3Swp2BVA,E2Svp2BVspC,Q3Swp2BStpC,E2Svp2BXspC,MAAA51C,KAAA61H,UAAAlgF,mBAAAztB,KAEHqK,KAACvyB,UAIP62I,EAAA,GACIC,EAAcxxI,KAAE,SAAA4iB,GAClB7oB,EAA0BJ,EAAAsoC,KAAArf,EAAAuG,QAAA,SAAAniB,GAEpBA,EAAUo8C,QAAKp8C,EAAYsgC,MAAStgC,EAAC65B,UAChC75B,EAAAqrI,gBACRrrI,GAAAo8C,aAESp8C,GAAY0b,OAIhB1b,EAAQo1C,OAAAriD,EAAAJ,EAAAqH,IAAAgG,EAAAo8C,OAAA,SAAAkvF,GACJ,GAAA9wG,KAUI,OATXA,GAAAxhC,MAAAqB,KAAA,QAAA4hC,QAAAqvG,EAAA7tI,QACF+8B,EAAAxhC,MAAAqB,KAAAixI,EAAAt6B,KAAA/0E,YACAqvG,EAAAC,UACJ/wG,EAAAxhC,MAAAqB,KAAA,OAAA4hC,QAAAqvG,EAAAC,YAGoBD,EAAAE,QACnBhxG,EAA0BxhC,MAAAqB,KAAA,QAAA4hC,QAAAqvG,EAAAE,UAELhxG,UAElBx6B,GAAAo8C,OAEDrpD,EAAYJ,EAACsoC,KAAMj7B,EAAE65B,QAAS,SAAKmD,GACH,SAApBA,EAAU3iC,MAAoB2iC,EAAChyB,WAC/BgyB,EAAMf,QAAWe,EAAAhyB,gBACfgyB,GAAAhyB,UAEX,QAAAgyB,EAAA3iC,MAAA2iC,EAAA7oC,MACA6oC,EAAAf,QAAAe,EAAA7oC,WACF6oC,GAAA7oC,OAIH6L,EAAA0b,OACA1b,EAAA65B,QAAA7gC,MAAAqB,KAAE,OAAS4hC,QAACj8B,EAAU0b,cACC1b,GAAS0b,Y3Syp2B1B6uH,E2Sjp2BH,G3Smp2BGC,E2Slp2BFxxI,KAAA,SAAqB4iB,G3Smp2Bf,I2Slp2BP,eAAAA,EAAAvhB,MAAA,KAAAuhB,EAAA2sB,aAID3sB,EAAa2sB,WAAI,CACnB,GAAA0nF,GAAAr0G,EAAA2sB,WAA6BvK,MAAA,IAC7BiyF,GAAc54H,QAAK,IACb44H,EAAMp6E,QACRj6B,EAAO2sB,WAAA0nF,EAAAnkH,KAAA,S3Sup2BLy+H,E2Shp2BG,I3Skp2BHC,EAAcxxI,K2Shp2BZ,SAAY4iB,GACP,U3Sgp2BCA,EAAMvhB,MAGVtH,E2Shp2BwBJ,EAAAsoC,KAAArf,EAAA6vH,OAAA,SAAAv+G,G3Sip2BpB,GAAIA,E2Shp2BVqb,YAAarb,EAAAqb,WAAclxC,QAAA,G3Sip2BjB,G2Shp2BX44H,GAAA/iG,EAAAqb,UACD0nF,GAAAp6E,Q3Sip2BY3oB,E2Shp2BVqb,WAAY0nF,O3Sqp2Bdsa,EAAa,IAEbx3I,E2Shp2BAJ,EAAAsoC,KAAAvnC,KAAA61H,UAAA7oF,WAAAe,KAAA,SAAAiqG,GAEFA,EAAc9oH,U3Sgp2BJ8oH,E2S/o2BI9oH,QAAS,GAGvB8oH,EAAkB9oH,UAClB8oH,EAAiB9oH,QAAS,GAE1B8oH,EAAiBC,aACjBD,EAAiB5pG,KAAC,EAElB4pG,EAAsBE,YACtBF,EAAa5pG,KAAA,K3Skp2BXyoG,E2S9o2BH,IAEJC,EAAAxxI,KAAA,SAAA4iB,GAEoB,UAAjBA,EAAavhB,MAGTuhB,EAAM8uH,OAGL9uH,EAAMG,QACTH,EAAAG,QAGIoC,KAAUvC,EAAM,UACNgB,IACZhB,EAAW8uH,KAAAC,QAELt8H,IAAKuN,EAAA8uH,KAAUE,QACfiB,QAASjwH,EAAK8uH,KAAAoB,YAClBhxH,OAAWc,EAAAkvH,UAAe,GACzBlyI,MAAOgjB,EAAKmwH,iBAGhB5tH,KAAAvC,EAAA,UAAMgB,IAAAhB,EAAA8uH,KAAAsB,SACF39H,IAAIuN,EAAQ8uH,KAAAuB,SACZJ,QAASjwH,EAAG8uH,KAAMwB,aAClBpxH,OAASc,EAAGkvH,UAAS,GACzBlyI,MAAAgjB,EAAAuwH,kBAIDvwH,EAAG8nB,OACCvlB,KAAMvC,EAAK,iBAEVA,GAAA8uH,KAASC,cACT/uH,GAAA8uH,KAASE,cACbhvH,GAAA8uH,KAAAoB,kBAAMlwH,GAAA8uH,KAAAsB,eACFpwH,GAAI8uH,KAAOuB,eACXrwH,GAAA8uH,KAASwB,mBACTtwH,GAAAkvH,gBACJlvH,GAAAmwH,qBACFnwH,GAAAuwH,sBAEGvwH,GAAA,gBACEA,GAAA,c3S8o2BF2uH,EAAa,IAEbC,EAAcxxI,K2S3o2BP,SAAA4iB,G3S4o2BH,G2S3o2BG,U3S2o2BCA,EAAMvhB,MAGLuhB,E2S3o2BR8uH,K3S2o2BG,CAGA9uH,EAAM2sB,aACN,IAAI6jG,M2S5o2BHC,IACN,Q3S4o2BSzwH,E2S5o2BT8uH,KAAA4B,aACFF,EAAA93I,MAAAsnB,EAAA8uH,KAAA4B,WAEM1wH,EAAM8uH,KAAK6B,eACXH,EAAA90E,MAAW,EACX80E,EAAAI,UAAW5wH,EAAW8uH,KAAA+B,gBACtBL,EAAAM,UAAW,WAGrBN,EAAA1wH,MAAA,EAEa0wH,EAAK/uH,UAAEzB,EAAA8uH,KAAA+B,gBACdL,EAAUM,UAAY,WAIG,OAAzB9wH,EAAA8uH,KAAAiC,aACNN,EAAA/3I,MAAAsnB,EAAA8uH,KAAAiC,WAEG/wH,EAAc8uH,KAAM6B,eACfF,EAAA/0E,MAAA,EACR+0E,EAAAG,UAAA5wH,EAAA8uH,KAAAkC,gBAEeP,EAAAK,UAAe,WAGnBL,EAAC3wH,MAAS,EAChB2wH,EAAMhvH,UAAUzB,EAAK8uH,KAASkC,gBAC5BP,EAAAK,UAAe,WAGpB35I,EAAAJ,EAAAsV,SAAAmkI,EAAA93I,SACFvB,EAAAJ,EAAAsV,SAAAokI,EAAA/3I,OACF83I,EAAA93I,MAAA+3I,EAAA/3I,OAED83I,EAAA/zI,GAAAg0I,EAAAh0I,GAAA,KACeujB,EAAA2sB,WAAAvvC,KAAAozI,GACKxwH,EAAA2sB,WAAAvvC,KAAAqzI,KAQhBD,EAAA/zI,GAAAg0I,EAAAh0I,GAAA,KACcujB,EAAU2sB,WAAKvvC,KAAAozI,GAEhBxwH,EAAA2sB,WAAAvvC,KAAAqzI,KAKED,EAAA/zI,GAAA,KAEOujB,EAAR2sB,WAAAvvC,KAAAozI,WAEZxwH,GAAS8uH,KAAA4B,iBACV1wH,GAAA8uH,KAAA+B,sBAES7wH,GAAY8uH,KAAAiC,iBAChB/wH,GAAa8uH,KAAGkC,sBAElBhxH,GAAkB8uH,KAAC6B,iB3Sgo2BjBhC,E2S7n2BJ,K3S8n2BI72I,K2S7n2BJ61H,UAAW/oF,aAAakJ,EAAAmjG,gBAAA,K3S+n2BpBtC,E2S7n2BK,I3S8n2BL72I,K2S7n2BJo5I,oBAAqBpjG,GAEA,I3S6n2BjB8gG,E2S7n2BKnzI,O3Sgo2BT,IAAK6rD,EAAI,E2S7n2BPA,EAAGxvD,KAAI61H,UAAAn2H,OAAAiE,OAAA6rD,I3S8n2BL,IAAK+sE,E2S7n2BN,EAAEA,EAAAua,EAAAnzI,OAAA44H,I3S+n2BG,GADAua,E2S7n2BHva,GAAAz4H,KAAa9D,UAAA61H,UAAAn2H,OAAA8vD,IAChBxvD,KAAA61H,UAAAn2H,OAAA8vD,GAAA9vD,OACF,IAAAV,EAAa,EAAGA,EAAIgB,KAAA61H,UAAAn2H,OAAA8vD,GAAA9vD,OAAAiE,OAAA3E,IACpB83I,EAAYva,GAAAz4H,KAAA9D,UAAA61H,UAAAn2H,OAAA8vD,GAAA9vD,OAAAV,M3Smo2BhB03I,E2S5n2BUn2I,UAAO64I,oBAAc,SAAApjG,G3S6n2B3B,GAAIrD,G2S5n2BJ,E3S6n2BI0mG,E2S5n2BI7C,EAAmB,K3S6n2BvB8C,E2S5n2BHj6I,EAAAJ,EAAA0b,IAAAtb,EAAAJ,EAAAyR,YAAArR,EAAAJ,EAAAqH,IAAA0vC,EAAA2Z,KAAA,SAAAre,G3S6n2BG,M2S5n2BJjyC,GAA4CJ,EAAAqH,IAAYgrC,EAAA5xC,OAAA,U3S8n2BpD65I,E2S3n2BAD,EAAW,C3S4n2Bf,IAAKtjG,E2S3n2BL2Z,K3Sgo2BA,IAAK,GADD6pF,G2S3n2BCn6I,EAAUJ,EAAAg2C,KAAAe,EAAA2Z,KAAA,SAAAre,GAAA,MAAAA,GAAAkoD,UAAAloD,EAAAmoG,WAAAnoG,EAAAV,S3S4n2BN9lC,E2S3n2BN,EAAE7B,EAAA+sC,EAAW2Z,KAAA7kD,EAAA7B,EAAAtF,OAAAmH,IAAA,C3S4n2BZ,GAAIwmC,G2S3n2BNroC,EAAA6B,E3S4n2BE,K2S3n2BJwmC,EAAAP,gB3S2n2BI,CAGA,GAAI5oB,G2Szn2BNmpB,EAAAnpB,QAAcquH,EAAmB,E3S0n2B3BkD,E2Szn2BPnD,EAAApuH,G3S0n2BOsnB,KACAkqG,M2S1n2BD,E3S2n2BCH,K2Svn2BN/pG,EAAAxkC,GAAasuI,EACf9pG,EAAK9oC,KAAU,MAChB8oC,EAAA9gC,MAAA2iC,EAAA3iC,MAEG8gC,EAAED,UAAiB8B,EAAAkoD,SACrB/pD,EAAQmB,OAAAU,EAAcV,OACvBnB,EAAA/vC,UACF+vC,EAAAphB,SACFC,EAAA,EACHvpB,EAAA4tC,EAAC/5B,EAAA49H,EAAA,E3S0n2BmB39H,EAAG6gI,G2Svn2BjBC,EAAA,GAAAhD,GAAoB,EAAAlnG,GAChB8pG,IACP5mG,IAIA,QADOinG,GAAG,GAAAC,GAAAH,EAAAlD,EAAiB,EAAA7jG,GAC3BppC,EAAA,EAAA24B,EAAAoP,EAAA5xC,OAAA6J,EAAA24B,EAAAv+B,OAAA4F,IAAA,CAEK,GAAU2e,GAAQga,EAAK34B,EACtB2e,GAAW+e,KAAA/e,EAAA+e,MAAAuvG,EAAA,EACnBtuH,EAAAuqB,UAEDvqB,EAAAuqB,QAAAn9B,KAAA4T,IAAAstH,EAAA,EAAAA,EAAA,KAAAtuH,EAAAuqB,S3Swn2BgB,IAAIqnG,GAAaxkI,KAAKoC,MAAMwQ,EAAM+e,MAAQoyG,EACtCU,EAAc7xH,EAAMC,OAASouH,EAAcruH,EAAMC,QAAUuxH,EAC3DM,EAAWJ,EAAQK,iBAAiBF,EAAaD,EACrDnnG,GAAOinG,EAAQjnG,KACfzqB,EAAMmG,SACFC,EAAG0rH,EAAS1rH,EACZvpB,EAAG4tC,EAAOqnG,EAASj1I,E2Srn2BpC6T,EAAAkhI,EACHjhI,EAAAkhI,GAKsBH,EAAA7pG,SAAA7nB,EAAAmG,eAA2BnG,GAAA+e,KACjC0yG,GAAiBlqG,EAAQD,UACzBmqG,EAAQj6I,OAAA4F,KAAA4iB,GAItBloB,KAAA61H,UAAAn2H,OAAA4F,KAAA,GAAAqxI,GAAA,EAAAzuH,IAIAyxH,G3Smn2Bc35I,KAAK61H,UAAUn2H,OAAO4F,KAAKq0I,G2Shn2BzCA,GAAAlqG,EAASD,YACFmD,GAAQ+mG,MAIZhD,K3Syo2BDmD,E2Spn2BG,W3Sqn2BH,QAASA,G2Srn2BA1xH,EAAAo3B,EAAA9L,OACC,K3Sqn2BF8L,I2Srn2BEA,EAAAi3F,EAAA,OACP,K3Sqn2BK/iG,I2Srn2BLA,EAAA,G3Ssn2BCzzC,K2Srn2BHyqG,KAAA,GAAAx+F,OAAAszC,GAAAv3B,KAAA,GAEDhoB,KAAI2yC,KAAAc,E3Sqn2BAzzC,K2Spn2BFmoB,OAAUA,E3S+q2BZ,MAzDA0xH,GAAQt5I,U2Spn2BDyrG,MAAU,W3Sqn2BbhsG,KAAKyqG,K2Spn2BJziF,KAAM,I3Syn2BX6xH,E2Srn2BEt5I,UAASwvC,SAAS,SAAO1hB,G3Ssn2BvB,I2Srn2BF,GAAK5qB,GAAA4qB,EAAQC,EAAA7qB,EAAA4qB,EAAAC,EAAAD,EAAAzV,EAAAnV,MACbzD,KAAOyqG,KAAKhnG,IAAA4qB,EAAiBtpB,EAAAspB,EAAWxV,EAAE7Y,KAAA2yC,KAAY3yC,KAAMyqG,KAAAhnG,MAC7DzD,KAAAyqG,KAAAhnG,GAAA4qB,EAAAtpB,EAAAspB,EAAAxV,EAAA7Y,KAAA2yC,K3Swn2BG,O2Stn2BH3yC,MAAAyqG,M3S2n2BDovC,EAAQt5I,UAAU05I,iBAAmB,SAAUF,EAAaD,EAAYI,OACnD,KAAbA,IAAuBA,GAAW,EAGtC,KAAK,GAFDC,GAAYC,EAEP32I,EAAIzD,KAAKyqG,KAAK9mG,OAAS,EAAGF,GAAK,GAChCzD,KAAKmoB,OAASnoB,KAAKyqG,KAAKhnG,GAAK,EADMA,IAEnC,OAAiBhB,KAAb23I,EACAA,EAAW32I,MAEV,C6Svr3BS,KAAAA,EAAAzD,KAAAyqG,KAAA9mG,OAAA,GAAA3D,KAAAyqG,KAAAhnG,IAAAzD,KAAAyqG,KAAAhnG,EAAA,IAK5B,KAJsC02I,GAAA12I,EAWpC,WAAehB,KAAf03I,OAAsB13I,KAAA23I,KAAAD,GAAAL,EAAA,GAGxBxrH,EAAA6rH,EACSp1I,EAHR1F,EAAAJ,EAAA0b,IAAA3a,KAAAyqG,KAAA53F,MAAAsnI,KAMUD,EAQJ,M7Skr3BGl6I,K6Sxr3BF2yC,MAAO3yC,KAAAmoB,O7Syr3BLnoB,K6Sxr3BHgsG,QAEIhsG,KAAAi6I,iBAAiBF,EAAYD,GAAA,K7S8r3B/BD,MAML,S6Str3BEl7I,EAAYC,EAAGC,G7Swr3BvB,Y6Srr3BY,IAAAC,GAAmBD,EAAA,IACnBE,EAAmBF,EAAAG,EAAAF,GACjBglE,EAAkBjlE,EAAA,G7Syr3B5Bw7I,E6Str3BqB,W7Syr3BrB,QAASA,G6Str3BIvpF,EAAKx7B,G7Sur3Bdt1B,KAAK8wD,S6Str3BAA,E7Sur3BL9wD,KAAKs1B,W6Str3BJA,E7Syu3BL,MAtDA+kH,G6Str3BQnkF,SAAA,WAAmB,c7S2r3B3BmkF,E6Svr3BM95I,UAAU+5I,aAAkB,SAAU/sI,EAACxD,EAAAoH,G7Swr3BzC,GAAIopI,G6Svr3BHx7I,EAAAE,EAAAsO,QAAA7K,SAAAkL,cAAA7D,G7Swr3BD/J,M6Svr3BD8wD,SAAAypF,GAAAppI,G7Swr3BC5D,E6Svr3BForB,QAEFprB,EAAOgmD,OAAAgnF,IAEXF,EAAA95I,UAAC4tD,KAAA,SAAAh9C,EAAAwiB,EAAAq6B,EAAAzuD,GAAA,GAAA6R,GAAApR,IAEDT,G7Sur3BauV,UAAU3D,GACV+oB,KAAK,SAAUsgH,GAChB,IAAKA,IAAkBA,EAAc12G,GAEjC,WADAnQ,GAAKgF,OAGJ6hH,GAAc12G,GAAG22G,aAClB32E,EAA4D,EAAEhvD,UAAUk5C,EAAM0sF,WAAWF,EAAczwI,MAAOywI,EAAc12G,IAC5H02G,EAAc12G,GAAG22G,YAAa,GAElCrpI,EAAMkpI,aAAa3mH,EAAM6mH,EAAczwI,KAAMoH,KAE5C6oC,MAAM,SAAUlhB,G8Shw3BiB/J,QAAAC,IAAA,eAAA8J,GACF1nB,EAAAkkB,WAAA2uC,SAAA,8BAAAnrC,EAAA7b,gBAGYo9H,EAAA95I,UAAA0C,OAAA,SAAA1D,GAExD,GAAA6R,GAAApR,I9Sox3BQ,Q8Shx3BN8tD,SAAgB,IAChB38C,MAAA5R,EAAoB4R,MAAAg9C,KAAA,SAAAh9C,EAASwiB,EAAAq6B,GAAU,GAAAzuD,EAAAo7I,UAAQ,CAAiB,GAAPC,GAAO,IAAUzpI,GAAA0kB,OAAAt2B,EAAUo7I,UAAA,WAAgBC,GAC7FA,EAAwBpmF,WAG/BomF,EAAAzpI,EAAA6iD,OAAA5iD,EAsCC+8C,KAAAysF,EAAAjnH,EAAAq6B,EAAAzuD,SAlCK6R,GAAA+8C,KAAAh9C,EAAAwiB,EAAAq6B,EAAAzuD,MAQJ86I,I9Smw3BJv2E,G8S/v3BoB,EAAA1hC,QAAA,sBAAAi4G,I9Sow3Bd,S8S/v3BI17I,EAAQC,EAAIC,G9Siw3BtB,Y8S3v3BY,IAAAgW,GAAiBhW,EAAA,GACdsiI,EAAmDtiI,EAAA,IACrDg8I,EAAqCh8I,EAAA,KACnCi8I,EAAAj8I,EAAA,IACRk8I,EAAAl8I,EAAA,KAQPm8I,EAAC,WAED,QAAAA,GAAA7lB,EAAAjkE,EAAA5N,EAAAhuB,EAAA2lH,G9S8v3BQj7I,KAAKm1H,UAAYA,EACjBn1H,KAAKkxD,SAAWA,EAChBlxD,KAAKsjD,QAAUA,EACftjD,KAAKs1B,WAAaA,EAClBt1B,KAAKi7I,OAASA,EACdj7I,KAAKk7I,sBAAwB,WAmCjC,MA1CAF,GAAU9kF,SAAW,YAAa,WAAY,UAAW,aAAc,UASvE8kF,EAAUz6I,UAAU80B,KAAO,WACvB,GAAIjkB,GAAQpR,I+S9z3B0BA,MAAAs1B,WAAAhkB,IAAA,wBAAAhE,EAAA0D,GAE9C,GAAAmqI,GAAA/pI,EAAA+jH,UAAA3nH,KACEqtI,GAA8B,EAAAniB,KAAAuD,aAAAkf,GAAVN,EAAU,EAAAniB,KAAA0D,mBAAAhrH,EAAA+jH,UAAA9lD,OAAAj+D,EAAA+jH,UAAAt7F,SAAAzoB,EAAA6pI,OAAArvH,QAAA2c,UAE9BvoC,KAAAs1B,WAAAhkB,IAIC,+BAAAhE,EAAA0D,GAHC6pI,EAAkE,EAAAniB,KAAA0D,mBAAQhrH,EAAA+jH,UAAA9lD,OAAAj+D,EAAA+jH,UAAAt7F,SAAAzoB,EAAA6pI,OAAArvH,QAAA2c,UAE1EllC,OAAGy3I,EAAA,2BAAAD,GAAA,EAAAniB,KAAAuD,YAAA,SAAAA,GACJ,GAAAkf,GAAA/pI,EAAA+jH,UAAA3nH,MAEDA,EAAAutI,EAA4B,EAAAtoI,iBAAAwpH,EAA5Bkf,KAqBC3tI,IApBS4D,EAAI8/C,SAAA,WACH9/C,EAAQ+jH,UAAI3nH,SAGfuhB,QAAAC,IAAW,uCAAkCxhB,M/Sk03B/C2zH,E+Sh03BK,EAAAlwH,GAAA,2BAAA2kD,G/Si03BD,G+Sh03BJwlF,GAAgBL,EAA8B,EAAAtoI,iBAAAmjD,EAAAjoD,K/Si03B1C,I+Sh03BLyD,EAAA8pI,qBAAAtoI,QAAAwoI,IAAA,EAGC,YADEhqI,EAAAkyC,QAAWu8E,SAASlyH,KAAUioD,EAAAjoD,K/Sk03B5ByD,G+S/z3BJ8/C,SAAW,W/Si03BH9/C,E+Sh03BH+jH,UAAA3nH,IAAA4tI,QAKTJ,I/Sk03BJnmI,G+S9y3BG,EAAAutB,QAAA,YAAA44G,I/Smz3BG,S+S9z3BDr8I,EAAAC,EAAAC,G/Sg03BL,Y+S1z3BgB,IAAAgW,GAAsDhW,EAAQ,G/S8z3B1Ew8I,E+S5z3B2B,W/S6z3B3B,Q+S5z3BEA,GAAsBtyI,GACxB/I,KAAG+I,a/S023BH,M+Sx23BJsyI,GAAA96I,UAACs5B,OAAA,SAAA1D,GAAA,GAAA/kB,GAAApR,I/S8z3BO,OAAOA,MAAK+I,WAAWvI,IAAI,0BAA2B21B,GAAO+D,KAAK,SAAU/uB,G+S5z3BpF,MAAAiG,GAAAkqI,oBAAAnwI,M/Sg03BIkwI,EAAqB96I,UAAU+6I,oBAAsB,SAAUnwI,GAC3D,GAAIiG,GAAQpR,IgT323BjB,OhT423BK+uB,SAAQC,IAAI,wBAAyB7jB,GACrCA,EAASs9C,QAAQniD,IAAI,SAAU8sI,GAC3BA,EAAWmI,QAAU,GAAI5lH,MAAKy9G,EAAWmI,SAChB,yBAArBnI,EAAWoI,MACXpI,EAAWoI,MAAQ,KgTr33BjCpI,EAAeoI,MAAA,GAAA7lH,MAAAy9G,EAAAoI,OACO,WAAApI,EAAAzsI,MAAUysI,EAAAhoI,KAAA,eAAoBgoI,EAAYjrI,SALhEirI,EAAWviH,OAAAzf,EAAA2gH,aAAAx/F,KAAAnhB,IAKyDgiI,EAAAhoI,KAAA,gBAInED,GhTg43BCkwI,EgT733BgB96I,UAAQwxH,aAAe,SAAAzrF,GAEvC,GAAIl1B,GAACpR,IhT+33BD,IAFAsmC,EgT533BFuqF,UAAWvqF,EAAQuqF,ShT633BjBvqF,EgT533BAl7B,KAAOk7B,EAAAuqF,SAAA,oBAA0B,eACnCvqF,EAAGn+B,MAAAxE,OACJ,MAAAsG,SAAAC,QAAAo8B,EAGF,IAAAnQ,IAEDu7F,WAAAprF,EAAGr7B,IACD,OAAOjL,MAAI+I,WAAQvI,IAAA,0BAAgB21B,GAAA+D,KAAA,SAAA/uB,GhT833B3B,MgT733BNA,GAASiG,EAAMkqI,oBAAenwI,GhT433BxBm7B,EgT333BJn+B,MAAQgD,EAAWs9C,QACpBx+C,QAAAC,QAAAo8B,MhT833BI+0G,IAGXxmI,GgT133BwB,EAAAutB,QAAA,uBAAAi5G,IAOtB,SAAA18I,EAAAC,EAAAC,GhT033BF,YgTv33Be,IAAAgW,GAAehW,EAAA,GhT233B1B48I,EgTz33B0B,WhT433B1B,QgTx33BIA,GAAK3nF,EAAA/qD,EAAwBunH,GhTy33B7BtwH,KgTx33BF8zD,KhTy33BE9zD,KgTx33BH+I,aAED/I,KAAIswH,aAAgBA,EACpBtwH,KAAK46B,SACL56B,KAAA07I,iBAAwB,EACzB17I,KAAA27I,sBhTw63BC,MgTh73BFF,GAAAvlF,SAAA,kChTi43BEulF,EgTt33BUl7I,UAAMq7I,aAAA,WACjB,MAAA57I,MAAAswH,aAAAv6G,cACF0lI,EAAAl7I,UAAAs7I,WAAA,WhTw33BO,GAAI9lI,GAAe/V,KAAK47I,cgTt33BhC,OAAA7lI,GhT433Be/V,KAAKQ,IAAIuV,GAJL,GAAI9L,SAAQ,SAAUC,EAAS+1B,GAClCA,EAAO,6BAKnBw7G,EAAcl7I,UAAUC,IAAM,SAAUuV,GACpC,GAAI3E,GAAQpR,IACZ,OAAO,IAAIiK,SAAQ,SAAUC,EAAS+1B,GiTn83BA,IAAA7uB,EAAAwpB,MAAA7kB,GAMxB,MAAU3E,GAAVrI,WAAUuqI,cAAAv9H,GAAAmkB,KAAA,SAAAg5G,GAAY9hI,EAAAwpB,MAAA7kB,GAAAm9H,EAHpChpI,EAAGgpI,IAGqC,SAAAp6G,GAE9CmH,EAAAnH,IANF5uB,GAAAkH,EAAAwpB,MAAA7kB,OjT+83BI0lI,EAAcl7I,UiTt83BDu7I,mBAAM,SAAA/hI,GjTu83Bf/Z,KAAK07I,gBiTt83BM3hI,CjTu83BX,KAAK,GiTt83BJjP,GAAA,EAAA7B,EAAAjJ,KAAA27I,mBAAA7wI,EAAA7B,EAAAtF,OAAAmH,IAAA,CACS7B,EAAA6B,GACTZ,QAAA6P,GAEN/Z,KAAA27I,uBjTw83BCF,EiTr83BUl7I,UAAUmtI,mBAAc,WAClC,IAAqB,IAArB1tI,KAAO07I,gBACR,MAAA17I,MAAA8zD,GAAA5pD,QAAAlK,KAAA07I,gBAGC,IAAA1F,GAAeh2I,KAAC8zD,GAAAixC,OAEpB,OADG/kG,MAAA27I,mBAAAr2I,KAAA0wI,GACHA,EAAC7G,SjTs83BGsM,EAAcl7I,UAAUw7I,WAAa,WiTp83BzC/7I,KAAA46B,UjTu83BW6gH,IAGX5mI,GAAoE,EAAEutB,QAAQ,gBAAiBq5G,IkTv+3BjD,SAAA98I,EAAAC,EAAAC,GlT8+3B9C,YkTx+3BwB,IAAAgW,GAAAhW,EAAA,GlT4+3BpBm9I,EkT/+3Ba,WlTk/3Bb,QkT7+3BFA,GAAAjzI,EA2BC+qD,GA1BC9zD,KAAI+I,WAAOA,ElT8+3BP/I,KkT7+3BF8zD,KlT8+3BE9zD,KkT7+3BFsG,OAyBL,MA5BC01I,GAAA9lF,SAAA,mBlTk/3BE8lF,EkT5+3BIz7I,UAAY80B,KAAE,WlT6+3Bd,GkT5+3BFjkB,GAAOpR,IlT6+3BL,OkT5+3BHA,MAAA8zD,GAAA,SAAA5pD,EAAA+1B,GAEG7uB,EAACrI,WAAe8pI,gBAAI34G,KAAS,SAAM8sG,GACjC,IAAG,GAAGl8H,GAAA,EAAAmxI,EAAAjV,EAAAl8H,EAAAmxI,EAAAt4I,OAAsDmH,IAAK,CAChE,GAAMs8H,GAAS6U,EAClBnxI,EACMsG,GAAA9K,IAAQ8gI,EAAIa,UAAahzH,eAAkBmyH,ElT4+3BzCl9H,SAIZ8xI,EkT3+3BKz7I,UACDC,IAAG,SAAAynI,GlT2+3BH,GAAIxnI,GkT1+3BFwnI,EAAUhzH,alT2+3BZ,OkTz+3BAjV,MAAAsG,IAAA7F,IlT2+3BJu7I,EkTx+3BAz7I,UAAY27I,OAAQ,WACrB,MAAAl8I,MAAAsG,KACF01I,IlT4+3BDnnI,GAAoE,EAAEutB,QAAQ,YAAa45G,IAKrF,SAAUr9I,EAAQC,EAAqBC,GAE7C,YmTvh4B8C,IAAAgW,GAAAhW,EAAA,GAG5Cs9I,EAAgB,WnT2h4Bd,QmT1h4BsCA,GAAAroF,EAAAD,GAAoB7zD,KAAA8zD,KAAW9zD,KAAA6zD,QAEvE7zD,KAAAw/D,QAAA,KA4BF,MnT2/3BI28E,GmTzh4BkBjmF,SAAA,KAAU,SnT+h4B5BimF,EmT5h4BO57I,UAAAitI,OAAA,WAEP,GAAIp8H,GAAuCpR,InT4h4BvC,OmT3h4BK,gBAAPE,OAAO2/H,SAAAuc,SAGJnyI,QAAcC,QAAC,qEnT4h4BZlK,KmT1h4BJw/D,QACAx/D,KAAKw/D,SnT4h4BLx/D,KAAKw/D,QmTzh4BAx/D,KAAA8zD,GAAQ,SAAS5pD,EAAK+1B,GnT0h4BvB,GmTxh4BJzyB,GAAA,oDAAyB8H,KAAA81C,QnTyh4BrBh6C,GmTxh4BJyiD,MAAArzD,IAAAgN,GAAA0sB,KAAA,SAAA/uB,GnTyh4BYA,GAAYA,EAAS6F,MAAQ7F,EAAS6F,KAAKxD,IAC3CtD,EAAQiB,EAAS6F,KAAKxD,KmTrh4B9ByyB,EAAA,kCAEL,SAAAnH,GACJ,SAAAtvB,OAAA,kCnT2h4BYxJ,KAAKw/D,UmTvh4BX28E,IAITtnI,GAAA,EAAWutB,QAAQ,kBAAgB+5G,InT6h4B7B,SAAUx9I,EAAQC,EAAqBC,GAE7C,YAuCA,SAASw9I,GAAeC,GACpBA,EAAajnH,OoT7m4B6BgnH,EAAAnmF,SAAA,mBAAArhD,GAAAhW,EAAA,GAG5C09I,EAAgB,WpT0k4Bd,QoTzk4BsCA,GAAUjnH,EAAVl0B,EAAUkiD,GAAUtjD,KAAAs1B,aAAWt1B,KAAAoB,aAEvEpB,KAAAsjD,UpTkm4BE,MA5BAi5F,GoTxk4BkBrmF,SAAU,qCpT8k4B5BqmF,EoT3k4BKh8I,UAAW80B,KAAI,apTim4BbknH,IAOX1nI,GAAoE,EAAEutB,QAAQ,eAAgBm6G,GAAW5oF,IAAI0oF,IAKvG,SAAU19I,EAAQC,EAAqBC,GqTnn4Bf,YrTqp4B9B,SqTln4BI29I,GAAAC,GACDA,EAAApnH,OAhCHmnH,EAAAtmF,SAAA,kBAAArhD,GAAgChW,EAAA,GrTsn4B5B69I,EqTpn4BoB,WAIxB,QAAAA,GAAApnH,EAAAl0B,EAAAkiD,GACEtjD,KAAOs1B,WAAcA,EACnBt1B,KAAKoB,arTon4BDpB,KqTnn4BFsjD,QAAWA,ErToo4Bb,MqTzo4BDo5F,GAAAxmF,SAAA,qCAODwmF,EAAEn8I,UAAA80B,KAAA,WACD,GAAAjkB,GAAApR,IAEHA,MAAAs1B,WAAAhkB,IAAA,gCACS,GAAAF,EAAShQ,WAAGa,YAAAmP,EAAAhQ,WAAAO,MAAAyP,EAAAhQ,WAAAO,KAAAsJ,GAAA,CAEfmG,EAAOkyC,QAAAq5F,SAAAC,SAAA,GAAAxrI,EAAAhQ,WAAQO,KAAOsJ,GACvB,IAAAuhC,IAAMqwG,OAAAzrI,EAAAhQ,WAAAO,KAAA04B,MAENyiH,WAAA1rI,EAAAhQ,WAAAO,KAAAoI,KAEFqH,GAAAkyC,QAAAq5F,SAAAI,OAAAp8I,IAAA6rC,OrTun4BQkwG,IAOX7nI,GqTjn4B4B,EAAAutB,QAAA,cAAAs6G,GAAA/oF,IAAA6oF,IAKxB,SAAA79I,EAAAC,EAAAC,GAGJ,YrTor4BA,SAASm+I,GAAwB1Y,GAC7B,GAAI2Y,GAAa,SAAUh3I,EAAMkL,GAC7B,GAAIw/B,EAOJ,OALIA,GADAx/B,EAAMm9C,MACQn9C,EAAMm9C,KAAKpmC,OAAS/W,EAAMm9C,KAAKhd,KAAKX,WAGrCx/B,EAAMmgC,IAAIX,WAEpB2zF,EAAY4Y,gBAAgBj3I,EAAM0qC,GAG7C,OADAssG,GAAWE,WAAY,EAChBF,EA9EXD,EqThn4BW9mF,SAAA,kBAAA92D,GAAgBP,EAAA,GACfQ,EAAAR,EAAAG,EAAAI,GACO81B,EAAcr2B,EAAA,IACds2B,EAAat2B,EAAAG,EAAAk2B,GACbkoH,EAAav+I,EAAA,GACbw+I,EAAcx+I,EAAAG,EAAAo+I,GACd9f,EAAez+H,EAAA,ErTqn4BlCy+H,GqThn4BI,EAAArpH,OAAA,wBACD,gBAAAo0C,GAEH,MAAAA,GAAgBz+C,UrTkn4BhB0zH,EqT/m4BmB,EAAArpH,OAAA,mBrTgn4Bf,MqT/m4BA,UAAUs4C,EAAMroB,EAAAsW,GrTgn4BZ,IqT/m4BFn7C,EAA6CJ,EAAGszI,YAAYhmF,GAC7D,MAAAA,GAAA15C,MAAAqxB,EAAAsW,MrTmn4BL8iF,EqT/m4BwD,EAACrpH,OAAA,uBACvD,MAAE,UAAAs4C,GAEF,MAAAltD,GAA4BJ,EAAAsxB,SAAAg8B,KAAAltD,EAAAJ,EAAA+U,QAAAu4C,GACrBp3B,EAAWl2B,EAAAgqI,OAAA18E,GAIpBltD,EAAAJ,EAAAq+I,OAAA/wF,GAAkB,KAAAA,EAAAtvC,crTin4BlBqgH,EAA4D,EAAErpH,OAAO,SAAU,WAC3E,MAAO,UAAU+sB,EAAMsrB,GACnB,OAAQA,GACJ,IAAK,MACD,MAAO+wF,KAA+Cr8G,GAAMzZ,UAEpE,MAAO81H,KAA+Cr8G,GAAMzZ,aAGpE+1G,EAA4D,EAAErpH,OAAO,aAAc,WAC/E,MAAO,UAAU+sB,EAAMsrB,GACnB,MAAa,UAATA,EACO+wF,IAA+Cr8G,GAAM5Z,OAAO,KAEhEi2H,IAA+Cr8G,GAAM5Z,OAAO,SAG3Ek2G,EAA4D,EAAErpH,OAAO,QAAS,WAC1E,GAAIspI,GAAQ,SAAUt3I,GAClB,MAAO5G,GAA6CJ,EAAEspD,SAAStiD,GACzDA,EACGqM,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,SACdA,QAAQ,KAAM,UACjBrM,EAEV,OAAO,UAAUA,GACb,MAAO5G,GAA6CJ,EAAE+U,QAAQ/N,GAAQ5G,EAA6CJ,EAAEqH,IAAIL,EAAMs3I,GAASA,EAAMt3I,MAkBtJq3H,EAA4D,EAAErpH,OAAO,0BAA2B+oI,IAM1F,SAAUr+I,EAAQC,EAAqBC,GAE7C,YAEqB,IAAIm2B,GAAuCn2B,EAAoB,IAC3Do2B,EAA+Cp2B,EAAoBG,EAAEg2B,GACrE1zB,EAAuCzC,EAAoB,GAC3D0C,EAA+C1C,EAAoBG,EAAEsC,GACrEgS,EAAgDzU,EAAoB,IACpEk4H,EAAqDl4H,EAAoB,GsTjw4B3E0+H,EAAA1+H,EAAA,IACA2+I,EAAA3+I,EAAA,KAEc4+I,EAAA5+I,EAAA,KACS6+I,EAAA7+I,EAAAG,EAAAy+I,GACFE,EAAA9+I,EAAA,KAGVqE,GAFiCrE,EAAAG,EAAA2+I,GAEjC39I,WAAAkD,UAAA,WtTyw4B9B,MsTxw4B2BA,GAAAG,OAAAC,QAAA,SAAAC,GAE/B,OAAAC,GAAAC,EAAA,EAAAzE,EAAA0E,UAAAC,OAAAF,EAAAzE,EAAAyE,IAAA,CAKED,EAAAE,UAAgBD,EAChB,QAAAG,KAAAJ,GAAoBH,OAAoB9C,UAAmBsD,eAAuBC,KAAAN,EAAOI,KAAzFL,EAAAK,GAAAJ,EAYCI,IAZuC,MAAAL,IAA0CL,EAAOa,MAAP/D,KAAO0D,atTkw4BvFk6I,EsTtw4BF59I,MAAYA,KAAK49I,WAAC,SAAAt5I,EAAAu5I,EAAAC,EAAAC,GtTuw4BhB,MsTtw4BF,KAAAD,MAAA7zI,UAAuB,SAAAC,EAAA+1B,GAIrB,QAAA+9G,GAAAp9I,GAAA,IAAA8D,EAAAq5I,EAA0C/4I,KAAApE,IAAA,MAAA2E,GAAA06B,EAAA16B,IAC1C,QAAA04I,GAAer9I,GAAA,IAAA8D,EAAuBq5I,EAAA,MAAAn9I,IAAA,MAAA2E,GAAA06B,EAAA16B,ItTow4BlC,QsTnw4BFb,GAAA4mB,KAAArmB,KAAAiF,EAAAohB,EAAS1qB,OAAS,GAAAk9I,GAAA,SAAA5zI,KAAAohB,EAAA1qB,SAAAs5B,KAAA8jH,EAAAC,GtTow4BhBv5I,GsTnw4BFq5I,IAAAh6I,MAA0BO,EAAAu5I,QAAA74I,WtTsw4B5BX,EsTlw4BKrE,MAAcA,KAAAqE,aAAA,SAAAC,EAAAC,GtTqw4BnB,QsTlw4BAC,GAAUxF,GAAC,MAAW,UAAAyF,GAAA,MAAoBC,IAAA1F,EAAAyF,KAC5C,QAACC,GAAAC,GAED,GAAAC,EAAA,SAAAC,WAAA,kCACE,MAAKC,GAAK,IACN,GAACF,EAAK,EAAKG,IAAMxB,EAAW,EAAVoB,EAAA,GAAUI,EAAA,OAAAJ,EAAA,GAAAI,EAAA,SAAAxB,EAAAwB,EAAA,SAAAxB,EAAAO,KAAAiB,GAAA,GAAAA,EAAAC,SAAAzB,IAAAO,KAAAiB,EAAAJ,EAAA,KAAAM,KAAA,MAAA1B,EAE5B,QADCwB,EAAK,EAAKxB,IAAEoB,GAAK,EAAAA,EAAA,GAAapB,EAAC3C,QAC1B+D,EAAK,IACV,IAAK,GAAK,IAAM,GAACpB,EAAAoB,CAAA,MACjB,KAAK,GAAY,MAAPG,GAAEI,SAAiBtE,MAAA+D,EAAA,GAAAM,MAAA,EAC7B,KAAK,GAAKH,EAAEI,QAAKH,EAAAJ,EAAA,GAAgBA,GAAA,WACjC,KAAQ,GAAEA,EAAKG,EAAAK,IAAAC,MAAYN,EAAAO,KAAAD,KAAA,SAC3B,SACN,GAAA7B,EAAAuB,EAAAO,OAAA9B,IAAAI,OAAA,GAAAJ,IAAAI,OAAA,UAAAgB,EAAA,QAAAA,EAAA,KAAAG,EAAA,WAED,OAAAH,EAAA,MAAApB,GAAiBoB,EAAjB,GAAApB,EAAA,IAAAoB,EAAA,GAAApB,EAAA,KAAAuB,EAAAI,MAAAP,EAAA,SACE,OAAAA,EAAA,IAAAG,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAA,EAAUoB,CAAI,OACf,GAAApB,GAAAuB,EAAAI,MAAA3B,EAAA,IAAAuB,EAAAI,MAAA3B,EAAA,GAAAuB,EAAAK,IAAAG,KAAAX,EAAA,OAEDpB,EAAA,IAAAuB,EAAAK,IAAAC,MACEN,EAAAO,KAAAD,KAAA,UAGFT,EAAAJ,EAAAT,KAAAQ,EAAAQ,GACE,MAAAS,GAAAZ,GAAA,EAAAY,GAAAR,EAAA,UAAAH,EAAArB,EAAA,EACD,KAAAoB,EAAA,QAAAA,GAAA,UAAA/D,MAAA+D,EAAA,GAAAA,EAAA,UAAAM,MAAA,GtTuu4BC,GsTlw4B2BL,GAAMG,EAAAxB,EAAAiC,EAAjCV,GAAAI,MAAA,EAAAO,KAAA,gBAAAlC,EAAA,QAAAA,GAAA,SAASA,GAAC,IAAG8B,QAAcF,OtTmw4B3B,OsTlw4BAK,IAAAR,KAAWR,EAAA,GAAWkB,MAAAlB,EAAgB,GAAEmB,OAAAnB,EAAM,IAAM,kBAAAoB,UAAwBJ,EAAAI,OAAAC,UAAA,iBAAA7F,QAAAwF,GtTmy4B5E04I,EsT1v4BA,WtT6v4BA,QsTzv4BIA,GAAS5oH,EAAA6/F,EAAAqC,EAAA2mB,EAAE/8I,GACf,GAAIgQ,GAAOpR,ItT0v4BPA,MsTzv4BFs1B,WAAOA,EtT0v4BLt1B,KsTzv4BHm1H,YAEDn1H,KAAAw3H,gBAEAx3H,KAAKm+I,QAAKA,EtTwv4BNn+I,KsTvv4BFoB,WAASA,EtTwv4BPpB,KAAKo+I,WsTvv4BA,EtTwv4BLp+I,KAAKq+I,gBsTvv4BA,EtTyv4BL/oH,EsTxv4BKhkB,IAAA,iCtTyv4BDosI,EsTxv4BwCz+I,EAAE+sG,QAEjD56F,EAAAktI,gBtT0v4BGt+I,KsTzv4BFs+I,ctT0v4BE/gB,EsTzv4BH,EAAAtsH,GAAA,8BAAAG,GAAAgtI,WAAA,IAED9oH,EAAAS,WAAsB,kCAAA3kB,GAAAitI,gBAAA,IACtB/oH,EAAUS,WAAQ,mBAAmB,iBAAA3kB,GAAAitI,gBAAA,ItTk84BrC,MsTt94BFH,GAAAhoF,SAAA,iEtT8w4BEgoF,EsTxv4BE39I,UAAc+9I,YAAS,WtTyv4BrBt+I,KsTxv4BFuyB,MAAK,SAAUvyB,KAAOu+I,etTyv4BpBv+I,KsTxv4BHuyB,KAAA,MAAAvyB,KAAAw+I,UACFx+I,KAAAuyB,KAAA,MAAAvyB,KAAAy+I,cAEDz+I,KAAAuyB,KAAA,MAAAvyB,KAAA0+I,aAAA1+I,KAAAuyB,KAAA,MAWCvyB,KAAA2+I,mBAVC3+I,KAAAuyB,KAAA,MAAAvyB,KAAAs+H,YtTyv4BIt+H,KsTtv4BAuyB,KAAI,MAAAvyB,KAAc4+I,gBtTuv4BlB5+I,KsTtv4BAuyB,KAAI,IAAAvyB,KAAAs+H,YtTuv4BJt+H,KsTtv4BA6+I,WAAI,MAAc7+I,KAAM8+I,OtTwv4B5BZ,EsTrv4BE39I,UACAo+I,kBAAA,WACHphB,EAAA,EAAA7vH,KAAA,oBAAA6jH,SAAA,KtTsv4BC2sB,EsTpv4BF39I,UAWCq+I,eAAA,WAVCrhB,EACQ,EACN7vH,KAAA,oBAAGqxI,UAAA,KtTov4BLb,EsTlv4BQ39I,UAAA+9H,WAAkB,WtTmv4BtBf,EsTlv4BwB,EAAA7vH,KAAA,qBtTov4B5BwwI,EsTjv4BE39I,UACAk+I,aAAA,WACHz+I,KAAAm1H,UAAA3nH,IAAA,ctTkv4BC0wI,EsT/u4BU39I,UAAGi+I,SAAA,WACbx+I,KAAKm1H,UAAU3nH,IAAA,MAGjB0wI,EAAA39I,UAAAm+I,YAAA,WAAA1+I,KAAAm1H,UAAA3nH,IAoIC,atT6m4BC0wI,EsT/u4BE39I,UAAUg+I,cAAgB,WtTgv4BxBhhB,EsT/u4BF,EAAA7vH,KAAU,cAAKwmD,aAAqB,+BtTiv4BtCgqF,EsT/u4BG39I,UAAAu+I,KAAA,WtTiv4BC,KsT/u4BM7pH,IAAU,eACZtxB,OAAS,GtT8u4Bb,CAGA45H,EsT7u4B4B,EAAA7vH,KAAA,cAC7B1N,KAAAo+I,UAcHp+I,KAAAo+I,WAAa,EAZRp+I,KAAKq+I,gBACRr+I,KAAMs1B,WAAS2uC,SAAc,mBAC5BjkE,KAAAq+I,gBAAA,GAIAr+I,KAAAs1B,WAAA2uC,SAAA,qBAAAh2C,YAAA,EAAAkjD,MAAA,GtTkv4BC,IAAIt3C,GsTzu4BA75B,KAACm1H,UAAWt7F,QtT0u4BZA,GAAOmlH,iBACAnlH,GsTzu4BHmlH,StT0u4BJh/I,KAAKm1H,UsTzu4BAt7F,OAAEA,MtT4u4BfqkH,EsTzu4BG39I,UAAAgyB,KAAA,SAAA0sH,EAAAn7G,GACH,GAAG1yB,GAAApR,IAEH09I,GAAaz+I,EAAAszB,KAAA0sH,EAAA,SAAA3xI,GtT4u4BL,MsT3u4BJA,GAAC+tB,iBACH/tB,EAAIguB,kBtTyu4BEhuB,EsTxu4BJqwG,aAAK,EtTyu4BMvsG,EsTxu4BTkkB,WAAgByB,OAAA+M,EAAAvR,KAAAnhB,KtTyu4Bf,YAEP8sI,EAAc39I,UsTxu4BAs+I,WAAI,SAAAI,EAAAn7G,GtTyu4Bd,GAAI1yB,GsTxu4BDpR,ItTyu4BH09I,GsTxu4BDz+I,EAAA4/I,WAAAI,EAAA,SAAA3xI,GAKD,MAJCA,GAAA+tB,iBAEH/tB,EAAAguB,kBACIhuB,EAAIqwG,aAAY,EACbvsG,EAAQkkB,WAAEyB,OAAA+M,EAAAvR,KAAAnhB,KtTwu4BV,YAEP8sI,EAAc39I,UAAU2+I,iBAAmB,WACvC,GAAIrlH,GAASt4B,EAA6CtC,EAAEc,OAAOC,KAAKm1H,UAAUt7F,UAAYmlH,SAAU,YACxGh/I,MAAKm1H,UAAUt7F,OAAOA,IAE1BqkH,EAAc39I,UsT3u4BW4+I,uBAAU,SAAChuI,EAAc0kH,GtT4u4B9C,GAAIzkH,GAAQpR,IACZA,MAAKuyB,KAAK,QAAS,WACfsjG,EAAU/oF,csT7u4BR+oF,EAAc/oF,aAAW,KtT8u4B3BywF,EsT7u4B6C,EAAA7vH,KAAA,qBtT8u4B7C0D,EAAMkkB,WAAW69B,WsT7u4BN,atT+u4BfnzD,KAAKuyB,KAAK,QAAS,SsT1u4BVhtB,GtT2u4BL4L,EAAM8yD,SAAS,oBAEnBjkE,KAAKuyB,KAAK,MAAO,WACbphB,EAAM8yD,SAAS,WAAY,KAE/BjkE,KAAKuyB,KsT7u4BL,SAAC,WACJphB,EAAA8yD,SAAA,gBAGDjkE,KAAKuyB,KAAK,SAAO,WACfphB,EAAI8yD,SAAU,yBtT8u4BZjkE,KAAKuyB,KAAK,UsT5u4BC,WtT6u4BPphB,EsT5u4BF8yD,SAAC,wBAGPjkE,KAAGuyB,KAAA,eAEHsjG,EAAkBrpF,KAAA6H,cAAAwhF,EAAArpF,KAAAgC,SACbp9B,EAAKkkB,WAAO2uC,SAAA,qBACXh2C,YAAe,EACbkjD,MAAA,EACJ75C,QAAUu+F,EAAArpF,KAAe6H,aAC1BxjB,QAAA,MtTgv4BC7wB,KAAKuyB,KsT1u4BL,IAAI,WACJsjG,EAAIrpF,KAAS6H,cACbjjC,EAAAkkB,WAAgB2uC,SAAG,qBACnBh2C,YAAW,EAEXkjD,KAAA,KACE75C,QAAKu+F,EAAArpF,KAAA6H,aACLxjB,QAAO,MAMT7wB,KAAKoB,WAACe,UAAamR,EAAA,EAAA8rI,gBACrBp/I,KAAAuyB,KAAU,eAAe,MAAAqrH,GAAAxsI,MAAA,qBACxB,GAAA8W,GAAA+lB,EAAAh1B,EAAA3C,EAAA+oI,CAEH,OAAAh7I,GAAkBrE,KAAA,SAAAiJ,GACR,OAAAA,EAAa/D,OACX,OACT,MAAA2wH,GAAArpF,KAAA6H,cAEcnsB,EAAC2tG,EAAAjmF,aAAAimF,EAAArpF,KAAA6H,eACG,EAAiBr0C,KAACw3H,cAAAh3H,IAAA0nB,EAAA+lB,eAHpC,IAIA,QAEcA,EAAAhlC,EAAAxD,OACCwoC,GAAWA,EAAWqxG,kBACrCrmI,EAAAjZ,KAAAm+I,QAAAoB,kBAEcjpI,EAAApT,KAAA+qC,EAAAuxG,gBAAAt3H,IAAAjP,UACVomI,EAAmBh8I,OAAAm6I,EAAA,GAAA1pI,KAAAM,UAAAkC,IACvBtW,KAAAm1H,UAAA3nH,IAAA,YAAA6xI,IAGDp2I,EAAA/D,MAAA,CACC,yBAMNlF,KAAAuyB,KAAA,iBtTou4BesjG,EAAUrpF,KAAK6H,cAAgBwhF,EAAUrpF,KAAKgC,UsTlu4B9Dp9B,EAAAkkB,WAAA2uC,SAAA,gBtTou4BoB3sC,QAASu+F,EAAUrpF,KAAK6H,eAE5BwhF,EAAUrpF,KAAK6H,aAAe,KAItCr0C,KAAKuyB,KAAK,MAAO,WACb,GAAIsjG,EAAUrpF,KAAK6H,cAAgBwhF,EAAUrpF,KAAKgC,QAAS,CACvD,GAAImD,GAAakkF,EAAUphF,iBAAiBohF,EAAUrpF,KAAK6H,cAAc7iB,KACzEqkG,GAAUnhF,eAAemhF,EAAUn2H,OAAOiyC,OuTl/4B1D3xC,KAAAuyB,KAAA,iBAIE,GAAAsjG,EAAgBrpF,KAAA6H,aAAA,CAChB,GAAAorG,GAAAtuI,EAAA6iD,OACO0rF,EAAa7pB,EAAAphF,iBAAAohF,EAAArpF,KAAA6H,aACborG,GAAYv3H,MAAAw3H,EAAAx3H,MACfu3H,EAAQ5pB,YACN0H,EAAyD,EAAA7vH,KAAA,cACvDuB,IAAO,yDACPkC,MAAOsuI,OvTw/4BTz/I,KuTn/4BFuyB,KAAA,YAAW,WvTo/4BLsjG,EuTn/4BE1hF,iBvTs/4BNn0C,KAAKuyB,KuTn/4BH,YAAY,WvTo/4BVsjG,EuTn/4BE3hF,evTq/4BNl0C,KAAKuyB,KuTn/4BH,MAAO,SAAShtB,GvTo/4Bd6L,EuTn/4BF+jH,UAAO3nH,IAAO,oBvTq/4BhBxN,KuTn/4BFuyB,KAAA,iBvTo/4BMnhB,EuTn/4BFkkB,WAAW69B,WAAE,avTq/4BfnzD,KAAKuyB,KuTn/4BH,MAAO,WvTo/4BLnhB,EuTn/4BF8tI,qBvTq/4BFl/I,KuTn/4BDuyB,KAAA,iBACDgrG,EAAc,EAAA7vH,KAAA,uBvTq/4BZ1N,KAAKuyB,KuTn/4BL,iBvTo/4BIgrG,EuTn/4BkD,EAAA7vH,KAAA,uBvTs/4BnDwwI,IAGXnnB,GuTn/4BS,EAAA30F,QAAA,gBAAA87G,IvTw/4BH,SuTl/4BFv/I,EAAAC,EAAAC,GvTo/4BJ,YwTn/4BM,SAAU8gJ,KACd,OACE7xF,SAAU,IACVC,YAAU,4CACV1U,WAAYumG,EACZv/E,kBAAkB,EAClB3M,YAAY,EACZxF,aAAO,OxT4i5BH/8C,UuThj5BiB,GAAA8oD,GAAAp7D,EAAA,GAChBsiI,EAAAtiI,EAAA,IvTs/4BL+gJ,EuTn/4BoB,WvTq/4BpB,QuTn/4BAA,KACA5/I,KAAAkqF,SAAc,EACdlqF,KAAK6/I,WACLC,SACHz5I,MAAA,SAAAP,YAAA,yBAEDO,MAAA,SAAAP,YAAA,kBvTm/4BkBO,MAAO,IAAK,KAAMP,YAAa,gBAC/BO,MAAO,IAAK,KAAMP,YAAa,oCAC/BO,MAAO,IAAK,KAAMP,YAAa,6BAC/BO,MAAO,OAAQP,YAAa,4BAElCi6I,YACM15I,MAAO,SAAUP,YAAa,mBAC9BO,MAAO,IAAK,KAAMP,YAAa,uBAC/BO,MAAO,IAAK,KAAMP,YAAa,uBAC/BO,MAAO,IAAK,KAAMP,YAAa,iCAC/BO,MAAO,IAAK,KAAMP,YAAa,sCAC/BO,MAAO,IAAK,KAAMP,YAAa,oBwTjk5BHO,MAAA,SAAAP,YAAA,sBACvBO,MAAA,SAAAP,YAAA,kCAWvBk6I,kBAKE35I,MAAgB,KAAAP,YAAA,2BAChBO,MAAA,KAAoBP,YAAU,iCAAVO,MAAU,IAAV,KAAUP,YAAA,2BAClBO,MAAG,SAAAP,YAAA,oBACRO,MAAA,SAAuBP,YAAA,iBAE1Bm6I,eACC55I,MAAA,SAAAP,YAAA,wBAGLO,MAAA,6CACSP,YACL,yBAGKO,MAAA,8CAELP,YAAA,6BAUN,MAHE85I,GAAAr/I,UAAA8zD,QAAA,WACE8sE,EAA4C,EAAAzzH,KAAA,eAEhDkyI,IxT+j5BA3lF,GwT3i5BqC,EAAAnlD,UAAA,YAAA6qI,IAKpC,SAAAhhJ,EAAAC,EAAAC,GxT6i5BD,YAoCA,SyT5m5BIqhJ,KACF,OACFpyF,SAAA,IAAC5N,WzT8m5BO7G,WAAY8mG,EyT5m5Bd9/E,kBAAoB,EACxBnS,aAAO,OACL/8C,OACAqsB,WAAU,KAEV2wB,KAAA,SAAgBh9C,EAAMwiB,EAAAq6B,EAAAM,GACtBn9C,EAAAG,IAAc,oBAAM,WACbg9C,EAAA09C,YzTgk5BU,GAAIn3F,GAAqDhW,EAAoB,GACzEyC,EAAuCzC,EAAoB,GAC3D0C,EAA+C1C,EAAoBG,EAAEsC,GAG1F4+C,EAAW,8QACXigG,EAAgC,WyT1n5BU,QAAAA,GAAAp3I,GACvB/I,KAAA+I,aAEjB/I,KAAQgsG,QASdhsG,KAAAogJ,qBAAA7+I,EAAAtC,EAAAs3D,SAAAv2D,KAAAqgJ,YAAA,KAKEtmH,SAAgB,EAChBC,UAAA,IzTgo5BE,MAtBAmmH,GAAejqF,SAAW,cAS1BiqF,EyTjn5BS5/I,UAAM8/I,YAAA,SAAAlqH,GzTkn5BX,MyTjn5BFlsB,SAAUC,QAAKlK,KAAA+I,WAAAvI,IAAA,6CAAA21B,GAAA+D,KAAA,SAAA5O,GACd,MAAA/pB,GAAAtC,EAAAqH,IAAAglB,EAAA6O,MAAA,SAAAx4B,GACE,OAAQsE,KAAAtE,EAAAy4B,MAAA,OAAAz4B,EAAA04B,MAAAz5B,MAAAe,SAKfw+I,EAAC5/I,UAAAwN,SAAA,SAAAytB,GAEDx7B,KAAAw9B,YAAA8iH,MAAA9kH,EAAA56B,SzTin5BEu/I,EyT9m5BW5/I,UAAAyrG,MAAA,WzT+m5BPhsG,KAAK2B,MyT9m5BHsE,KAAS,SAAarF,MAAO,OAGlCu/I,IzTio5BLtrI,GyT7m5BqB,EAAAC,UAAA,aAAAorI,IAMrB,SAAAvhJ,EAAAC,EAAAC,GzT8m5BA,YAoCA,SAAS0hJ,KACL,OACIzyF,S0Thr5BA,I1Tir5BA5N,S0Thr5BAA,E1Tir5BA7G,W0Thr5BAmnG,E1Tir5BAngF,kB0T/q5BW,E1Tgr5BXnS,a0T9q5BE,O1T+q5BF/8C,OACIssB,W0T3q5BM,K1T6q5BV0wB,KAAM,S0T3q5BFh9C,EAAOwiB,EAAAq6B,EAAAM,G1T4q5BPn9C,E0T3q5BDG,IAAA,+BAEDg9C,EAAA09C,Y1T6n5BW,GAAIn3F,GAAqDhW,EAAoB,GACzEyC,EAAuCzC,EAAoB,GAC3D0C,EAA+C1C,EAAoBG,EAAEsC,GAG1F4+C,EAAW,gRACXsgG,EAAgC,WAGhC,QAASA,GAAez3I,G0Tzr5BL/I,KAAA+I,aACG/I,KAAAygJ,sBAAAl/I,EAAAtC,EAAAs3D,SAAAv2D,KAAA0gJ,aAAA,KACoB3mH,SAAA,EACFC,UAAA,IAQtCh6B,KAAAgsG,Q1Tms5BF,MAtBAw0C,GAAetqF,SAAW,c0T1q5BxBsqF,EAAUjgJ,UAAeyrG,MAAA,WAC7BhsG,KAAO4iG,OAAA38F,KAAA,SAAArF,MAAA,O1Tqr5BL4/I,E0Tnr5BMjgJ,UAAcmgJ,aAAa,SAAAvqH,G1Tor5B7B,M0Tnr5BFlsB,SAAIC,QAAalK,KAAK+I,WAASvI,IAAA,6CAAA21B,GAAA+D,KAAA,SAAA5O,GAC/B,MAAI/pB,GAAgBtC,EAAAqH,IAAAglB,EAAAq1H,MAAA,SAAAC,GAEhB,OAAM36I,KAAA26I,EAAA72I,KAAgBnJ,MAASggJ,S1Tsr5BrCJ,E0Tjr5BEjgJ,UAAAwN,SAAA,SAAAytB,G1Tkr5BEx7B,K0Tjr5BFy9B,YAAcojH,OAAArlH,EAAe56B,S1Tmr5BxB4/I,IAoBX3rI,G0T1q5BwC,EAAAC,UAAA,aAAAyrI,I1T+q5BlC,S0Tvq5BA5hJ,EAAAC,EAAAC,G1Tyq5BN,Y0Tpp5BA,SAAAiiJ,K1Toq5BI,OACIhzF,SAAU,IACVK,KAAM,SAAUh9C,EAAOwiB,EAAMq6B,G2Tvt5BhC,QAAA+yF,KACDC,EAAAj8E,S3Tut5BQ,GAAIk8E,GAAattH,EAAKoQ,SAClBm9G,EAAWvtH,CACXq6B,GAAMmzF,kBAA+C,iBAA3BnzF,EAAMmzF,mBAChCF,EAAaC,GAEjBD,EAAWzsH,SAAS4sH,GACpBnsH,IAA+CosH,GAAevkG,SAASmkG,GACvEttH,EAAKa,SAAS8sH,EACd,IAAIC,IACAnuI,KAAM6tI,EAAW,GACjBC,SAAUA,EAAS,G2Ttw5BWM,IAAA,cACFC,SAAA,aAE5BC,aAAa,aACpBr3C,MAAA,gBACGz9C,UAAK,KAEPo0F,EAAYW,IAAAJ,GAEhBK,EAAA,C3Tsw5BMj2I,G2Tnw5Be,EAAAsF,GAAA,uBAAA3D,G3Tow5BX,G2Tnw5BJA,EAAIu0I,QAEL,YADCluH,EAAA,GAAO8vB,UAAAm+F,EAKTA,GAAQjuH,EAAO,GAAE8vB,UACfn2C,EAAIkwC,QACL7pB,EAAA6pB,SAAAiG,UAAAn2C,EAAAumC,KAAA,KAEAlgB,EAAA,GAAA8vB,UAAAn2C,EAAAumC,KAKL1iC,G3Tiw5BMxF,E2T/v5BkB,EAAAsF,GAAA,kBAAA8vI,EAAA5vI,G3Tgw5BlBxF,E2T/v5BY,EAAAsF,GAAA,yBAAA8vI,EAAA5vI,GAClBxF,EAAG,EAAAsF,GAAA,mBAAA8vI,EAAA5vI,GAEHxF,EAAsB,EAAAsF,GAAA,oBAAA8vI,EAAA5vI,GACtBxF,EAAgB,EAAAsF,GAAA,uBAAA8vI,EAAA5vI,GAKtBA,EAAAG,IAAA,iC3T8v5BgBswI,EAAU,EACVjuH,EAAK,GAAG8vB,UAAY,IAExBtyC,EAAMG,IAAI,WAAY,WAClB0vI,EAAUc,c0Tru5BX,GAAA9sH,GAAWn2B,EAAA,IACTo2B,EAAUp2B,EAAAG,EAAAg2B,GACpB+sH,EAAAljJ,EAAA,KAES8iJ,EAAuB9iJ,EAAAG,EAAA+iJ,GACxBvgJ,EAAK3C,EAAA,GACJ8M,EAAc9M,EAAA,I1T0q5B1BwiJ,E0Tpq5BC,2E1Tqq5BDD,E0Tpq5BA,oBACHE,EAAA,iBEnF6C9/I,GAAA,EAAAsT,UAAA,mBAAAgsI,IAwB1C,CACA,CACA,C5T4x5BM,CAEJ,S4T3x5BFniJ,EAAYC,EAAAC,G5T6x5BhB,Y4Trx5BA,SAACmjJ,KAED,O5T2x5BQl0F,SAAU,IACVK,KAAM,SAAUh9C,EAAOwiB,EAAMq6B,GACzB,GAAI4zF,GAAU,CACdzgB,GAAmE,EAAElwH,GAAG,cAAe,SAAU3D,GAC7F,GAAIA,EAAIu0I,QAEJ,YADAluH,EAAK,GAAG8vB,UAAYm+F,EAGxBA,GAAUjuH,EAAK,GAAG8vB,UACdn2C,EAAIkwC,QACJ7pB,EAAK6pB,SAAUiG,UAAWn2C,EAAIumC,KAAO,K6T305BElgB,EAAA,GAAA8vB,UAAAn2C,EAAAumC,KAG1C1iC,GAwCjBA,EAAAG,IAAA,iCAIEswI,EAAgB,EAChBjuH,EAAA,GAAA8vB,UAAoB,EAAA9vB,EAAA,GAAU8nB,UAExB9nB,EAAC,GAAAu2D,UAAc,EACpBv2D,EAAA,GAAA8nB,UDnBO,GAAS5mC,GAAkBhW,EAAA,GACnBsiI,EAAOtiI,EAAA,G5T0z5BzBgW,G6Tpy5BuB,EAAAC,UAAA,gBAAAktI,I7Tyy5BjB,S6Tpy5BKrjJ,EAAKC,EAAgBC,G7Tsy5BhC,YAKA,S6Tny5BAojJ,KAAC,O7Tqy5BOn0F,SAAU,I6Tny5BZ5N,SAAUA,EACd/uC,OACEzK,MAAU,KAEVgtD,YACA6yC,OAAA,gBACAhiG,KAAA,cAEA4pD,KAAA,SAAAh9C,EAAAwiB,EAAAq6B,GACHj/B,QAAAC,IAAA7d,KAdC,GAEA+uC,GAAC,0fAF6BrhD,GAAA,G7Tsz5BoC,EAAEiW,UAAU,SAAUmtI,IAKpF,SAAUtjJ,EAAQC,EAAqBC,GAE7C,YAoCA,S8Tv45BEqjJ,KACA,OACAp0F,SAAA,IACE5N,SAAMA,EACN7G,WAAW8oG,EACX9hF,kBAAiB,EAChBnS,aAAA,OACH/8C,OAAAkjD,QAAA,M9T+15BmB,GAAIx/C,GAAqDhW,EAAoB,GACzEujJ,EAA8DvjJ,EAAoB,KAClFyU,EAAgDzU,EAAoB,I8Tp45BvBqhD,EAAA,8lCACLiiG,EAAA,WAGA,QAAAA,GAAAp5I,GACD/I,KAAA+I,aACH/I,KAAAqiJ,aAAAD,EAAA,EAAAzgJ,KAAA8S,MACLzU,KAAAsiJ,c9Ty55BpD,M8T755B8DH,GAAAjsF,SAAA,cAMxBisF,EAAA5hJ,UAAA+hJ,YAAA,WAEpC,GAAUlxI,GAAApR,IACdA,MAAA+I,WAAAvI,IAAA,kBAAA05B,KAAA,SAAAq/F,GACAnoH,EAAAmoH,U9T045BE4oB,E8Tv45BS5hJ,UAAAgiJ,YAAA,SAAAC,GACT,GAAApxI,GAAYpR,IACZ,OAAAA,MAAA+I,WAAkBmC,KAAA,mBAAAs3I,EAAA/tI,OAAAylB,KAAA,WAClB9oB,EAAAqxI,kBAAanvI,EAAA,EAAAxT,WAAAwT,EAAA,EAAAxT,UAAA6S,SAAA,uBAAA6vI,EAAA/tI,U9T045Bb0tI,E8Tv45BQ5hJ,UAAAkiJ,kBAAA,SAAA90I,GACRzN,OAAO2/H,SAAAlyH,QAEPw0I,I9To55BJttI,GAAoE,EAAEC,UAAU,cAAeotI,IAKzF,SAAUvjJ,EAAQC,EAAqBC,GAE7C,YAsBA,S+T975BE6jJ,K/T+75BEr/I,O+T975BQs/I,EAAwB,sBAAAC,EAAA,gB/T+75BhCv/I,O+T975BAs/I,EAAmD,gBAAAE,EAAA,sB/T+75BnDx/I,O+T975BAs/I,EAA6C,UAAAG,EAAA,GAE7C,Y/T875BI,UACA,a+T375BJ,mB/T675BI,cACA,OACA,e+T175BJ,S/T475BI,QACA,SACA,yBAEJz/I,OAAOs/I,E+Tv75BL,kBAAAI,EAAA,aACJ1/I,OAACs/I,EAAA,qBAAAK,EAAA,MACH3/I,OAAAs/I,EAAC,kBAAAM,EAAA,MA/BqC5/I,OAAAs/I,EA+BrC,eAAAO,EAAA,G/Ty75BO,QACC,YAAc1wC,WAAY,eAC1B,cAAgBA,WAAY,gBAEjCnvG,OAAOs/I,EAA2F,GAAG,mBAAoBQ,EAA6E,GAAI,aAAc,iBACxN9/I,OAAOs/I,EAA2F,GAAG,uBAAwBS,EAA4F,GAAI,aAAc,cAAe,WA9C7NxkJ,EAAuB,EAAI8jJ,CACvC,IAAIC,GAA6D9jJ,EAAoB,KACjF+jJ,EAA6D/jJ,EAAoB,MACjFgkJ,EAAkEhkJ,EAAoB,KACtFkkJ,EAAsElkJ,EAAoB,MAC1FmkJ,EAAkEnkJ,EAAoB,MACtFokJ,EAAgEpkJ,EAAoB,MACpFqkJ,EAAgErkJ,EAAoB,MACpFskJ,EAA8DtkJ,EAAoB,KAClFukJ,EAA6EvkJ,EAAoB,MACjGikJ,EAAsDjkJ,EAAoB,OA0C7F,SAAUF,EAAQC,EAAqBC,GAE7C,YAC+BA,GAAoBsC,EAAEvC,EAAqB,IAAK,WAAa,MAAOykJ,IAC9E,IAAI/3I,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GACzFO,EAAa7L,MAAQA,KAAK6L,WAAc,WACxC,GAAIC,GAAgB,SAAU3K,EAAG0I,GAI7B,OAHAiC,EAAgBzI,OAAO0I,iBAChBC,uBAA2BC,QAAS,SAAU9K,EAAG0I,GAAK1I,EAAE6K,UAAYnC,IACvE,SAAU1I,EAAG0I,GAAK,IAAK,GAAIjG,KAAKiG,GAAOA,EAAEhG,eAAeD,KAAIzC,EAAEyC,GAAKiG,EAAEjG,MACpDzC,EAAG0I,GgU9+5BhC,iBAAA1I,EAAA0I,GAAA,QAAAqC,KAAAlM,KAAAmM,YAAAhL,EAA2B2K,EAAA3K,EAAA0I,GhUm/5BnB1I,EAAEZ,UAAkB,OAANsJ,EAAaxG,OAAOJ,OAAO4G,IAAMqC,EAAG3L,UAAYsJ,EAAEtJ,UAAW,GAAI2L,QAInFm3I,EgU1+5BQ,SAAA90I,GhU4+5BR,QgU1+5BY80I,GAAA70I,GhU2+5BR,MAAOD,GgU3+5BoFzK,KAAA9D,KAAAwO,IAAAxO,KhU+/5B/F,MAtBA6L,GgU1+5BYw3I,EAAA90I,GhU8+5BZ80I,EgU5+5BY9iJ,UAAA6O,OAAA,WhU6+5BR,GAAIw8F,GgU5+5BQ5rG,KAAAwO,MAAAo9F,ShU6+5BR03C,EAAe,gCACfC,EgU9+5BsD,wBhU++5B1D,OAAK33C,IgUhg6BcA,EAAAjoG,QAAA,IA2B3B2/I,EAAA,+BhU0+5BYC,EAAgB,wBAEhB33C,EAASjoG,OAAS,IAClB2/I,EAAe,wBACfC,EAAgB,yBAEZh4I,EAA4CtM,EAAE2O,cAAc,OAASC,UAAW,2BAA6B01I,GACjHh4I,EAA4CtM,EAAE2O,cAAc,KAAM,KAAM01I,KgUp/5B/E,MhUs/5BMD,GACT93I,EAA4CtM,EAAEoQ,YAM1C,SAAU1Q,EAAQC,EAAqBC,GAE7C,YACqB,IAAIyM,GAAsCzM,EAAoB,GAC1D0M,EAA8C1M,EAAoBG,EAAEsM,GACzFO,EAAa7L,MAAQA,KAAK6L,WAAc,WACxC,GAAIC,GAAgB,SAAU3K,EAAG0I,GAI7B,OAHAiC,EAAgBzI,OAAO0I,iBAChBC,uBAA2BC,QAAS,SAAU9K,EAAG0I,GAAK1I,EAAE6K,UAAYnC,IACvE,SAAU1I,EAAG0I,GAAK,IAAK,GAAIjG,KAAKiG,GAAOA,EAAEhG,eAAeD,KAAIzC,EAAEyC,GAAKiG,EAAEjG,MACpDzC,EAAG0I,GAE5B,OAAO,UAAU1I,EAAG0I,GAEhB,QAASqC,KAAOlM,KAAKmM,YAAchL,EADnC2K,EAAc3K,EAAG0I,GAEjB1I,EAAEZ,UAAkB,OAANsJ,EAAaxG,OAAOJ,OAAO4G,IAAMqC,EAAG3L,UAAYsJ,EAAEtJ,UAAW,GAAI2L,QiUvi6BjFs3I,EAAY,SAAAj1I,GjU6i6Bd,QiU3i6BYi1I,KACR,MAAa,QAARj1I,GAAoBA,EAAAxK,MAAA/D,KAAA0D,YAAA1D,KjU0j6B7B,MiU3j6BJ6L,GAAc23I,EAAmBj1I,GAG/Bi1I,EACEjjJ,UAAA6O,OAAA,WAEH,GAAAnG,GAAAjJ,KAAAwO,MAAA9H,MAAAiI,EAAA1F,EAAA0F,MAAA80I,EAAAx6I,EAAAw6I,WAAAC,EAAAz6I,EAAAy6I,WAAAC,EAAA16I,EAAA06I,YAAAC,EAAA36I,EAAA26I,OAAAC,EAAA56I,EAAA46I,WAAAC,EAAA76I,EAAA66I,gBAAAC,EAAA96I,EAAA86I,YAED,OAASx4I,GAAqBtM,EAAA2O,cAAA,OAAAC,UAAA,kBACtBtC,EAAetM,EAAA2O,cAAA,OAAAC,UAAA,yBAAAc,GACfpD,EAAgBtM,EAAA2O,cAAA,KAAAD,KAAA+1I,EAAA71I,UAAA,qDACVtC,EAA0CtM,EAAA2O,cAAA,KAAAC,UAAA41I,IACvDE,GAEDp4I,EAAAtM,EAAA2O,cAAA,OAAAC,UAAA,2BAA6CtC,EAAmBtM,EAAA2O,cAAA,KAAAC,UAAA,iBAG9D,YAAA+1I,EAGOr4I,EAAQtM,EAAA2O,cAAA,KAAAC,UAAA,yCAAAF,KAAAk2I,EAAAv3I,OAAAy3I,GAAAD,MAEXN,GjUsi6BJl4I,EiUpi6BwC,UjUqi6Bb1M,GAAuB,EAAI,GAKlD,SiUpi6BAD,EAAAC,EAEEC,GjUoi6BR,YA8BA,SiUrh6BImlJ,GAAA/6I,GjUsh6BA,GiUrh6BAqlB,GAAArlB,EAAAqlB,EAASvpB,EAAAkE,EAAAlE,EAAAk/I,EAAAh7I,EAAAg7I,UACTzyH,EAASzsB,EAAAm/I,EAAA51H,EACT61H,EAASC,EAAA91H,EAAAvpB,EjUsh6BT,OiUrh6BAwG,GAAStM,EAAA2O,cAAA,OAAAC,UAAA,mBAAAo2I,IAAAzyH,EAAA,oBAAA/wB,IAAA+wB,EAAAgI,OAAA09D,WAAAitD,KjUuh6Bb,QiUrh6BIE,GAASn7H,EAAAvO,GjUwh6BT,MAFAuO,GiUrh6BA5T,KAAAmhI,KAASvtH,GjUsh6BTvO,EiUrh6BArF,KAAAoC,MAASiD,GACTrF,KAAAoC,MAASpC,KAAA81C,UAAAzwC,EAAAuO,MjUyj6Bb,QiUrh6BIk7H,GAAS91H,EAAAvpB,GjUsh6BT,GiUrh6BAqL,IACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UAEF,UACA,UACA,UAEA,UACD,UjUoh6BO,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UkU5w8BkB,UACU,UACE,UACG,UAOzC,UAAkC,UAChC,oBAGE,UlUww8BI,UACA,UkUrw8BJ,UlUuw8BI,UkUtw8BL,UAED,UACE,UlU2w8BA,OkUxx8BHA,IAAArL,EAAAm/I,EAAA51H,GAAAle,EAAAzM,QDiCC,GAAA2H,GAAAzM,EAAA,GACO0M,EAAsD1M,EAAAG,EAAAsM,GAC7DO,EAAC7L,WAAA6L,WAAA,WAED,GAAAC,GAAA,SAAA3K,EAAA0I,GAIA,OAHEiC,EAAczI,OAAK0I,iBACpBC,uBAAAC,QAAA,SAAA9K,EAAA0I,GAAA1I,EAAA6K,UAAAnC,IAED,SAAA1I,EAAA0I,GAAA,OAAAjG,KAAAiG,KAAAhG,eAAAD,KAAAzC,EAAAyC,GAAAiG,EAAAjG,MAkBCzC,EAAA0I,GjU+g6BC,OiU9h6BA,UACE1I,EAAA0I,GjU+h6BE,QiU1h6BQqC,KACElM,KAAAmM,YAAAhL,EjUwh6BV2K,EiU3h6BI3K,EAAA0I,GjU6h6BJ1I,EAAEZ,UiUth6BE,OAAAsJ,EAAAxG,OAAAJ,OAA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","file":"app.89154e0f2714751e6227.js","sourcesContent":["webpackJsonp([3],[\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_angular___default.a.module('grafana.core', ['ngRoute']));\n\n\n/***/ }),\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */,\n/* 12 */,\n/* 13 */,\n/* 14 */,\n/* 15 */,\n/* 16 */,\n/* 17 */,\n/* 18 */,\n/* 19 */,\n/* 20 */,\n/* 21 */,\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_emitter__ = __webpack_require__(158);\n\nvar appEvents = new __WEBPACK_IMPORTED_MODULE_0__utils_emitter__[\"a\" /* Emitter */]();\n/* harmony default export */ __webpack_exports__[\"a\"] = (appEvents);\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n\nvar Settings = /** @class */ (function () {\n function Settings(options) {\n var defaults = {\n datasources: {},\n panels: {},\n new_panel_title: 'Panel Title',\n playlist_timespan: '1m',\n unsaved_changes_warning: true,\n appSubUrl: '',\n };\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.extend(this, defaults, options);\n }\n return Settings;\n}());\nvar bootData = window.grafanaBootData || { settings: {} };\nvar options = bootData.settings;\noptions.bootData = bootData;\nvar config = new Settings(options);\n/* harmony default export */ __webpack_exports__[\"a\"] = (config);\n\n\n/***/ }),\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */,\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */,\n/* 41 */,\n/* 42 */,\n/* 43 */,\n/* 44 */,\n/* 45 */,\n/* 46 */,\n/* 47 */,\n/* 48 */,\n/* 49 */,\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */,\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */,\n/* 67 */,\n/* 68 */,\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */,\n/* 75 */,\n/* 76 */,\n/* 77 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Store */\nvar Store = /** @class */ (function () {\n function Store() {\n }\n Store.prototype.get = function (key) {\n return window.localStorage[key];\n };\n Store.prototype.set = function (key, value) {\n window.localStorage[key] = value;\n };\n Store.prototype.getBool = function (key, def) {\n if (def !== void 0 && !this.exists(key)) {\n return def;\n }\n return window.localStorage[key] === 'true';\n };\n Store.prototype.exists = function (key) {\n return window.localStorage[key] !== void 0;\n };\n Store.prototype.delete = function (key) {\n window.localStorage.removeItem(key);\n };\n return Store;\n}());\n\nvar store = new Store();\n/* harmony default export */ __webpack_exports__[\"a\"] = (store);\n\n\n/***/ }),\n/* 78 */,\n/* 79 */,\n/* 80 */,\n/* 81 */,\n/* 82 */,\n/* 83 */,\n/* 84 */,\n/* 85 */,\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */,\n/* 92 */,\n/* 93 */,\n/* 94 */,\n/* 95 */,\n/* 96 */,\n/* 97 */,\n/* 98 */,\n/* 99 */,\n/* 100 */,\n/* 101 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export User */\n/* unused harmony export ContextSrv */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return contextSrv; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_config__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_app_core_core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_store__ = __webpack_require__(77);\n\n\n\n\nvar User = /** @class */ (function () {\n function User() {\n if (__WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].bootData.user) {\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.extend(this, __WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].bootData.user);\n }\n }\n return User;\n}());\n\nvar ContextSrv = /** @class */ (function () {\n function ContextSrv() {\n this.sidemenuSmallBreakpoint = false;\n this.sidemenu = __WEBPACK_IMPORTED_MODULE_3_app_core_store__[\"a\" /* default */].getBool('grafana.sidemenu', true);\n if (!__WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].buildInfo) {\n __WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].buildInfo = {};\n }\n if (!__WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].bootData) {\n __WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].bootData = { user: {}, settings: {} };\n }\n this.version = __WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].buildInfo.version;\n this.user = new User();\n this.isSignedIn = this.user.isSignedIn;\n this.isGrafanaAdmin = this.user.isGrafanaAdmin;\n this.isEditor = this.hasRole('Editor') || this.hasRole('Admin');\n this.hasEditPermissionInFolders = this.user.hasEditPermissionInFolders;\n }\n ContextSrv.prototype.hasRole = function (role) {\n return this.user.orgRole === role;\n };\n ContextSrv.prototype.isGrafanaVisible = function () {\n return !!(document.visibilityState === undefined || document.visibilityState === 'visible');\n };\n ContextSrv.prototype.toggleSideMenu = function () {\n this.sidemenu = !this.sidemenu;\n __WEBPACK_IMPORTED_MODULE_3_app_core_store__[\"a\" /* default */].set('grafana.sidemenu', this.sidemenu);\n };\n return ContextSrv;\n}());\n\nvar contextSrv = new ContextSrv();\n\n__WEBPACK_IMPORTED_MODULE_2_app_core_core_module__[\"a\" /* default */].factory('contextSrv', function () {\n return contextSrv;\n});\n\n\n/***/ }),\n/* 102 */,\n/* 103 */,\n/* 104 */,\n/* 105 */,\n/* 106 */,\n/* 107 */,\n/* 108 */,\n/* 109 */,\n/* 110 */,\n/* 111 */,\n/* 112 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return store; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createStore;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__RootStore_RootStore__ = __webpack_require__(1205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_config__ = __webpack_require__(23);\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\nvar store;\nfunction createStore(services) {\n store = __WEBPACK_IMPORTED_MODULE_0__RootStore_RootStore__[\"a\" /* RootStore */].create({}, __assign({}, services, { navTree: __WEBPACK_IMPORTED_MODULE_1_app_core_config__[\"a\" /* default */].bootData.navTree }));\n return store;\n}\n\n\n/***/ }),\n/* 113 */,\n/* 114 */,\n/* 115 */,\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */,\n/* 120 */,\n/* 121 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return permissionOptions; });\n/* unused harmony export aclTypeValues */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return aclTypes; });\n/* unused harmony export NewPermissionsItem */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PermissionsStore; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__PermissionsStoreItem__ = __webpack_require__(1220);\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n\n\nvar permissionOptions = [\n { value: 1, label: 'View', description: 'Can view dashboards.' },\n { value: 2, label: 'Edit', description: 'Can add, edit and delete dashboards.' },\n {\n value: 4,\n label: 'Admin',\n description: 'Can add/remove permissions and can add, edit and delete dashboards.',\n },\n];\nvar aclTypeValues = {\n GROUP: { value: 'Group', text: 'Team' },\n USER: { value: 'User', text: 'User' },\n VIEWER: { value: 'Viewer', text: 'Everyone With Viewer Role' },\n EDITOR: { value: 'Editor', text: 'Everyone With Editor Role' },\n};\nvar aclTypes = Object.keys(aclTypeValues).map(function (item) { return aclTypeValues[item]; });\nvar defaultNewType = aclTypes[0].value;\nvar NewPermissionsItem = __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"]\n .model('NewPermissionsItem', {\n type: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].enumeration(Object.keys(aclTypeValues).map(function (item) { return aclTypeValues[item].value; })), defaultNewType),\n userId: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].number),\n userLogin: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].string),\n userAvatarUrl: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].string),\n teamAvatarUrl: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].string),\n teamId: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].number),\n team: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].string),\n permission: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].number, 1),\n})\n .views(function (self) { return ({\n isValid: function () {\n switch (self.type) {\n case aclTypeValues.GROUP.value:\n return self.teamId && self.team;\n case aclTypeValues.USER.value:\n return !!self.userId && !!self.userLogin;\n case aclTypeValues.VIEWER.value:\n case aclTypeValues.EDITOR.value:\n return true;\n default:\n return false;\n }\n },\n}); })\n .actions(function (self) { return ({\n setUser: function (userId, userLogin, userAvatarUrl) {\n self.userId = userId;\n self.userLogin = userLogin;\n self.userAvatarUrl = userAvatarUrl;\n self.teamId = null;\n self.team = null;\n },\n setTeam: function (teamId, team, teamAvatarUrl) {\n self.userId = null;\n self.userLogin = null;\n self.teamId = teamId;\n self.team = team;\n self.teamAvatarUrl = teamAvatarUrl;\n },\n setPermission: function (permission) {\n self.permission = permission;\n },\n}); });\nvar PermissionsStore = __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"]\n .model('PermissionsStore', {\n fetching: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].boolean,\n isFolder: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].boolean),\n dashboardId: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].number),\n items: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].array(__WEBPACK_IMPORTED_MODULE_1__PermissionsStoreItem__[\"a\" /* PermissionsStoreItem */]), []),\n originalItems: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].array(__WEBPACK_IMPORTED_MODULE_1__PermissionsStoreItem__[\"a\" /* PermissionsStoreItem */]), []),\n newType: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].string, defaultNewType),\n newItem: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(NewPermissionsItem),\n isAddPermissionsVisible: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].optional(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].boolean, false),\n isInRoot: __WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].maybe(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"types\"].boolean),\n})\n .views(function (self) { return ({\n isValid: function (item) {\n var dupe = self.items.find(function (it) {\n return isDuplicate(it, item);\n });\n if (dupe) {\n return false;\n }\n return true;\n },\n}); })\n .actions(function (self) {\n var resetNewTypeInternal = function () {\n self.newItem = NewPermissionsItem.create();\n };\n return {\n load: Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"flow\"])(function load(dashboardId, isFolder, isInRoot) {\n var backendSrv, res, items;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n backendSrv = Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"getEnv\"])(self).backendSrv;\n self.fetching = true;\n self.isFolder = isFolder;\n self.isInRoot = isInRoot;\n self.dashboardId = dashboardId;\n self.items.clear();\n return [4 /*yield*/, backendSrv.get(\"/api/dashboards/id/\" + dashboardId + \"/permissions\")];\n case 1:\n res = _a.sent();\n items = prepareServerResponse(res, dashboardId, isFolder, isInRoot);\n self.items = items;\n self.originalItems = items;\n self.fetching = false;\n return [2 /*return*/];\n }\n });\n }),\n addStoreItem: Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"flow\"])(function addStoreItem() {\n var item, updatedItems, newItem, sortedItems, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n item = {\n type: self.newItem.type,\n permission: self.newItem.permission,\n dashboardId: self.dashboardId,\n team: undefined,\n teamId: undefined,\n userLogin: undefined,\n userId: undefined,\n userAvatarUrl: undefined,\n teamAvatarUrl: undefined,\n role: undefined,\n };\n switch (self.newItem.type) {\n case aclTypeValues.GROUP.value:\n item.team = self.newItem.team;\n item.teamId = self.newItem.teamId;\n item.teamAvatarUrl = self.newItem.teamAvatarUrl;\n break;\n case aclTypeValues.USER.value:\n item.userLogin = self.newItem.userLogin;\n item.userId = self.newItem.userId;\n item.userAvatarUrl = self.newItem.userAvatarUrl;\n break;\n case aclTypeValues.VIEWER.value:\n case aclTypeValues.EDITOR.value:\n item.role = self.newItem.type;\n break;\n default:\n throw Error('Unknown type: ' + self.newItem.type);\n }\n updatedItems = self.items.peek();\n newItem = prepareItem(item, self.dashboardId, self.isFolder, self.isInRoot);\n updatedItems.push(newItem);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, updateItems(self, updatedItems)];\n case 2:\n _b.sent();\n self.items.push(newItem);\n sortedItems = self.items.sort(function (a, b) { return b.sortRank - a.sortRank || a.name.localeCompare(b.name); });\n self.items = sortedItems;\n resetNewTypeInternal();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 4: return [4 /*yield*/, Promise.resolve()];\n case 5:\n _b.sent();\n return [2 /*return*/];\n }\n });\n }),\n removeStoreItem: Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"flow\"])(function removeStoreItem(idx) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n self.items.splice(idx, 1);\n return [4 /*yield*/, updateItems(self, self.items.peek())];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }),\n updatePermissionOnIndex: Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"flow\"])(function updatePermissionOnIndex(idx, permission, permissionName) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n self.items[idx].updatePermission(permission, permissionName);\n return [4 /*yield*/, updateItems(self, self.items.peek())];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }),\n setNewType: function (newType) {\n self.newItem = NewPermissionsItem.create({ type: newType });\n },\n resetNewType: function () {\n resetNewTypeInternal();\n },\n toggleAddPermissions: function () {\n self.isAddPermissionsVisible = !self.isAddPermissionsVisible;\n },\n hideAddPermissions: function () {\n self.isAddPermissionsVisible = false;\n },\n };\n});\nvar updateItems = function (self, items) {\n var backendSrv = Object(__WEBPACK_IMPORTED_MODULE_0_mobx_state_tree__[\"getEnv\"])(self).backendSrv;\n var updated = [];\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n if (item.inherited) {\n continue;\n }\n updated.push({\n id: item.id,\n userId: item.userId,\n teamId: item.teamId,\n role: item.role,\n permission: item.permission,\n });\n }\n return backendSrv.post(\"/api/dashboards/id/\" + self.dashboardId + \"/permissions\", {\n items: updated,\n });\n};\nvar prepareServerResponse = function (response, dashboardId, isFolder, isInRoot) {\n return response\n .map(function (item) {\n return prepareItem(item, dashboardId, isFolder, isInRoot);\n })\n .sort(function (a, b) { return b.sortRank - a.sortRank || a.name.localeCompare(b.name); });\n};\nvar prepareItem = function (item, dashboardId, isFolder, isInRoot) {\n item.sortRank = 0;\n if (item.userId > 0) {\n item.name = item.userLogin;\n item.sortRank = 10;\n }\n else if (item.teamId > 0) {\n item.name = item.team;\n item.sortRank = 20;\n }\n else if (item.role) {\n item.icon = 'fa fa-fw fa-street-view';\n item.name = item.role;\n item.sortRank = 30;\n if (item.role === 'Editor') {\n item.sortRank += 1;\n }\n }\n if (item.inherited) {\n item.sortRank += 100;\n }\n return item;\n};\nvar isDuplicate = function (origItem, newItem) {\n if (origItem.inherited) {\n return false;\n }\n return ((origItem.role && newItem.role && origItem.role === newItem.role) ||\n (origItem.userId && newItem.userId && origItem.userId === newItem.userId) ||\n (origItem.teamId && newItem.teamId && origItem.teamId === newItem.teamId));\n};\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mobx_react__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_app_events__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_mobx__ = __webpack_require__(70);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar SelectNav = function (_a) {\n var main = _a.main, customCss = _a.customCss;\n var defaultSelectedItem = main.children.find(function (navItem) {\n return navItem.active === true;\n });\n var gotoUrl = function (evt) {\n var element = evt.target;\n var url = element.options[element.selectedIndex].value;\n __WEBPACK_IMPORTED_MODULE_3_app_core_app_events__[\"a\" /* default */].emit('location-change', { href: url });\n };\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form-select-wrapper width-20 \" + customCss },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"label\", { className: \"gf-form-select-icon \" + defaultSelectedItem.icon, htmlFor: \"page-header-select-nav\" }),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"select\", { className: \"gf-select-nav gf-form-input\", value: defaultSelectedItem.url, onChange: gotoUrl, id: \"page-header-select-nav\" }, main.children.map(function (navItem) {\n if (navItem.hideFromTabs) {\n // TODO: Rename hideFromTabs => hideFromNav\n return null;\n }\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"option\", { key: navItem.url, value: navItem.url }, navItem.text));\n }))));\n};\nvar Tabs = function (_a) {\n var main = _a.main, customCss = _a.customCss;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"ul\", { className: \"gf-tabs \" + customCss }, main.children.map(function (tab, idx) {\n if (tab.hideFromTabs) {\n return null;\n }\n var tabClasses = __WEBPACK_IMPORTED_MODULE_2_classnames___default()({\n 'gf-tabs-link': true,\n active: tab.active,\n });\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"li\", { className: \"gf-tabs-item\", key: tab.url },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"a\", { className: tabClasses, target: tab.target, href: tab.url },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"i\", { className: tab.icon }),\n tab.text)));\n })));\n};\nvar Navigation = function (_a) {\n var main = _a.main;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"nav\", null,\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(SelectNav, { customCss: \"page-header__select-nav\", main: main }),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Tabs, { customCss: \"page-header__tabs\", main: main })));\n};\nvar PageHeader = /** @class */ (function (_super) {\n __extends(PageHeader, _super);\n function PageHeader(props) {\n return _super.call(this, props) || this;\n }\n PageHeader.prototype.shouldComponentUpdate = function () {\n //Hack to re-render on changed props from angular with the @observer decorator\n return true;\n };\n PageHeader.prototype.renderTitle = function (title, breadcrumbs) {\n if (!title && (!breadcrumbs || breadcrumbs.length === 0)) {\n return null;\n }\n if (!breadcrumbs || breadcrumbs.length === 0) {\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"h1\", { className: \"page-header__title\" }, title);\n }\n var breadcrumbsResult = [];\n for (var i = 0; i < breadcrumbs.length; i++) {\n var bc = breadcrumbs[i];\n if (bc.url) {\n breadcrumbsResult.push(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"a\", { className: \"text-link\", key: i, href: bc.url }, bc.title));\n }\n else {\n breadcrumbsResult.push(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"span\", { key: i },\n \" / \",\n bc.title));\n }\n }\n breadcrumbsResult.push(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"span\", { key: breadcrumbs.length + 1 },\n \" / \",\n title));\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"h1\", { className: \"page-header__title\" }, breadcrumbsResult);\n };\n PageHeader.prototype.renderHeaderTitle = function (main) {\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header__inner\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"span\", { className: \"page-header__logo\" },\n main.icon && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"i\", { className: \"page-header__icon \" + main.icon }),\n main.img && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"img\", { className: \"page-header__img\", src: main.img })),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header__info-block\" },\n this.renderTitle(main.text, main.breadcrumbs),\n main.subTitle && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header__sub-title\" }, main.subTitle),\n main.subType && (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header__stamps\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"i\", { className: main.subType.icon }),\n main.subType.text)))));\n };\n PageHeader.prototype.render = function () {\n var model = this.props.model;\n if (!model) {\n return null;\n }\n var main = Object(__WEBPACK_IMPORTED_MODULE_4_mobx__[\"toJS\"])(model.main); // Convert to JS if its a mobx observable\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header-canvas\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-container\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"page-header\" },\n this.renderHeaderTitle(main),\n main.children && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Navigation, { main: main })))));\n };\n PageHeader = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_mobx_react__[\"observer\"]\n ], PageHeader);\n return PageHeader;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (PageHeader);\n\n\n/***/ }),\n/* 123 */,\n/* 124 */,\n/* 125 */,\n/* 126 */,\n/* 127 */,\n/* 128 */,\n/* 129 */,\n/* 130 */,\n/* 131 */,\n/* 132 */,\n/* 133 */,\n/* 134 */,\n/* 135 */,\n/* 136 */,\n/* 137 */,\n/* 138 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export PALETTE_ROWS */\n/* unused harmony export PALETTE_COLUMNS */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return DEFAULT_ANNOTATION_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return OK_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ALERTING_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return NO_DATA_COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return REGION_FILL_ALPHA; });\n/* unused harmony export sortColorsByHue */\n/* unused harmony export hexToHsl */\n/* unused harmony export hslToHex */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return sortedColors; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_tinycolor2__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_tinycolor2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_tinycolor2__);\n\n\nvar PALETTE_ROWS = 4;\nvar PALETTE_COLUMNS = 14;\nvar DEFAULT_ANNOTATION_COLOR = 'rgba(0, 211, 255, 1)';\nvar OK_COLOR = 'rgba(11, 237, 50, 1)';\nvar ALERTING_COLOR = 'rgba(237, 46, 24, 1)';\nvar NO_DATA_COLOR = 'rgba(150, 150, 150, 1)';\nvar REGION_FILL_ALPHA = 0.09;\nvar colors = [\n '#7EB26D',\n '#EAB839',\n '#6ED0E0',\n '#EF843C',\n '#E24D42',\n '#1F78C1',\n '#BA43A9',\n '#705DA0',\n '#508642',\n '#CCA300',\n '#447EBC',\n '#C15C17',\n '#890F02',\n '#0A437C',\n '#6D1F62',\n '#584477',\n '#B7DBAB',\n '#F4D598',\n '#70DBED',\n '#F9BA8F',\n '#F29191',\n '#82B5D8',\n '#E5A8E2',\n '#AEA2E0',\n '#629E51',\n '#E5AC0E',\n '#64B0C8',\n '#E0752D',\n '#BF1B00',\n '#0A50A1',\n '#962D82',\n '#614D93',\n '#9AC48A',\n '#F2C96D',\n '#65C5DB',\n '#F9934E',\n '#EA6460',\n '#5195CE',\n '#D683CE',\n '#806EB7',\n '#3F6833',\n '#967302',\n '#2F575E',\n '#99440A',\n '#58140C',\n '#052B51',\n '#511749',\n '#3F2B5B',\n '#E0F9D7',\n '#FCEACA',\n '#CFFAFF',\n '#F9E2D2',\n '#FCE2DE',\n '#BADFF4',\n '#F9D9F9',\n '#DEDAF7',\n];\nfunction sortColorsByHue(hexColors) {\n var hslColors = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(hexColors, hexToHsl);\n var sortedHSLColors = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.sortBy(hslColors, ['h']);\n sortedHSLColors = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.chunk(sortedHSLColors, PALETTE_ROWS);\n sortedHSLColors = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(sortedHSLColors, function (chunk) {\n return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.sortBy(chunk, 'l');\n });\n sortedHSLColors = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.flattenDeep(__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.zip.apply(__WEBPACK_IMPORTED_MODULE_0_lodash___default.a, sortedHSLColors));\n return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(sortedHSLColors, hslToHex);\n}\nfunction hexToHsl(color) {\n return __WEBPACK_IMPORTED_MODULE_1_tinycolor2___default()(color).toHsl();\n}\nfunction hslToHex(color) {\n return __WEBPACK_IMPORTED_MODULE_1_tinycolor2___default()(color).toHexString();\n}\nvar sortedColors = sortColorsByHue(colors);\n/* harmony default export */ __webpack_exports__[\"f\"] = (colors);\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (true) {\n module.exports = __webpack_require__(1314);\n} else {\n module.exports = require('./dist/react-hot-loader.development.js');\n}\n\n\n/***/ }),\n/* 140 */,\n/* 141 */,\n/* 142 */,\n/* 143 */,\n/* 144 */,\n/* 145 */,\n/* 146 */,\n/* 147 */,\n/* 148 */,\n/* 149 */,\n/* 150 */,\n/* 151 */,\n/* 152 */,\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Emitter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_eventemitter3__ = __webpack_require__(513);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_eventemitter3___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_eventemitter3__);\n\nvar Emitter = /** @class */ (function () {\n function Emitter() {\n this.emitter = new __WEBPACK_IMPORTED_MODULE_0_eventemitter3__[\"EventEmitter\"]();\n }\n Emitter.prototype.emit = function (name, data) {\n this.emitter.emit(name, data);\n };\n Emitter.prototype.on = function (name, handler, scope) {\n var _this = this;\n this.emitter.on(name, handler);\n if (scope) {\n var unbind = scope.$on('$destroy', function () {\n _this.emitter.off(name, handler);\n unbind();\n });\n }\n };\n Emitter.prototype.removeAllListeners = function (evt) {\n this.emitter.removeAllListeners(evt);\n };\n Emitter.prototype.off = function (name, handler) {\n this.emitter.off(name, handler);\n };\n return Emitter;\n}());\n\n\n\n/***/ }),\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__directives_dash_class__ = __webpack_require__(963);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_dropdown_typeahead__ = __webpack_require__(964);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directives_metric_segment__ = __webpack_require__(965);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directives_misc__ = __webpack_require__(966);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__directives_ng_model_on_blur__ = __webpack_require__(974);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__directives_tags__ = __webpack_require__(975);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__directives_videojs__ = __webpack_require__(977);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__directives_value_select_dropdown__ = __webpack_require__(1014);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__directives_rebuild_on_change__ = __webpack_require__(1015);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__directives_give_focus__ = __webpack_require__(1016);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__directives_diff_view__ = __webpack_require__(1017);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__jquery_extended__ = __webpack_require__(1018);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__partials__ = __webpack_require__(1019);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__partials___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__partials__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_jsontree_jsontree__ = __webpack_require__(1173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_code_editor_code_editor__ = __webpack_require__(1175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__utils_outline__ = __webpack_require__(1195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__utils_outline___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15__utils_outline__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_colorpicker_ColorPicker__ = __webpack_require__(1196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_colorpicker_SeriesColorPicker__ = __webpack_require__(1200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_colorpicker_spectrum_picker__ = __webpack_require__(1201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__services_search_srv__ = __webpack_require__(1202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__services_ng_react__ = __webpack_require__(1203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_grafana_app__ = __webpack_require__(1204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_sidemenu_sidemenu__ = __webpack_require__(1221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__components_search_search__ = __webpack_require__(1222);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_info_popover__ = __webpack_require__(1223);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_navbar_navbar__ = __webpack_require__(1224);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__directives_array_join__ = __webpack_require__(1225);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__live_live_srv__ = __webpack_require__(1226);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__utils_emitter__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_layout_selector_layout_selector__ = __webpack_require__(1232);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_switch__ = __webpack_require__(1233);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_dashboard_selector__ = __webpack_require__(1234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_query_part_query_part_editor__ = __webpack_require__(1235);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_form_dropdown_form_dropdown__ = __webpack_require__(1236);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_sidepane_search_sidepane_search__ = __webpack_require__(1237);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35_app_core_controllers_all__ = __webpack_require__(1238);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36_app_core_services_all__ = __webpack_require__(1247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__filters_filters__ = __webpack_require__(1265);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__app_events__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__utils_colors__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__utils_model_utils__ = __webpack_require__(708);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__services_context_srv__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__services_keybindingSrv__ = __webpack_require__(1266);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__components_help_help__ = __webpack_require__(1267);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__components_json_explorer_json_explorer__ = __webpack_require__(508);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__nav_model_srv__ = __webpack_require__(692);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__components_user_picker__ = __webpack_require__(1268);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__components_team_picker__ = __webpack_require__(1269);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__components_scroll_scroll__ = __webpack_require__(1270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__components_scroll_page_scroll__ = __webpack_require__(1275);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__components_gf_page__ = __webpack_require__(1276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__components_org_switcher__ = __webpack_require__(1277);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__profiler__ = __webpack_require__(512);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__angular_wrappers__ = __webpack_require__(1278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__time_series2__ = __webpack_require__(313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__components_search_search_results__ = __webpack_require__(1307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__components_manage_dashboards_manage_dashboards__ = __webpack_require__(1308);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__components_sidepane_sidepane__ = __webpack_require__(1309);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_53__profiler__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_54__angular_wrappers__[\"a\"]; });\n/* unused harmony reexport arrayJoin */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_38__core_module__[\"a\"]; });\n/* unused harmony reexport grafanaAppDirective */\n/* unused harmony reexport sideMenuDirective */\n/* unused harmony reexport navbarDirective */\n/* unused harmony reexport searchDirective */\n/* unused harmony reexport liveSrv */\n/* unused harmony reexport layoutSelector */\n/* unused harmony reexport switchDirective */\n/* unused harmony reexport infoPopover */\n/* unused harmony reexport Emitter */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_39__app_events__[\"a\"]; });\n/* unused harmony reexport dashboardSelector */\n/* unused harmony reexport queryPartEditorDirective */\n/* unused harmony reexport colors */\n/* unused harmony reexport formDropdownDirective */\n/* unused harmony reexport sidepaneSearchDirective */\n/* unused harmony reexport assignModelProperties */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_42__services_context_srv__[\"a\"]; });\n/* unused harmony reexport KeybindingSrv */\n/* unused harmony reexport helpModal */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_45__components_json_explorer_json_explorer__[\"a\"]; });\n/* unused harmony reexport NavModelSrv */\n/* unused harmony reexport NavModel */\n/* unused harmony reexport userPicker */\n/* unused harmony reexport teamPicker */\n/* unused harmony reexport geminiScrollbar */\n/* unused harmony reexport pageScrollbar */\n/* unused harmony reexport gfPageDirective */\n/* unused harmony reexport orgSwitcher */\n/* unused harmony reexport manageDashboardsDirective */\n/* unused harmony reexport TimeSeries */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_55__time_series2__[\"b\"]; });\n/* unused harmony reexport searchResultsDirective */\n/* unused harmony reexport sidepaneDirective */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return decodePathComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return encodePathComponent; });\n/* unused harmony export stripBaseFromUrl */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_config__ = __webpack_require__(23);\n\n// Slash encoding for angular location provider, see https://github.com/angular/angular.js/issues/10479\nvar SLASH = '';\nvar decodePathComponent = function (pc) { return decodeURIComponent(pc).replace(new RegExp(SLASH, 'g'), '/'); };\nvar encodePathComponent = function (pc) { return encodeURIComponent(pc.replace(/\\//g, SLASH)); };\nvar stripBaseFromUrl = function (url) {\n var appSubUrl = __WEBPACK_IMPORTED_MODULE_0_app_core_config__[\"a\" /* default */].appSubUrl;\n var stripExtraChars = appSubUrl.endsWith('/') ? 1 : 0;\n var urlWithoutBase = url.length > 0 && url.indexOf(appSubUrl) === 0 ? url.slice(appSubUrl.length - stripExtraChars) : url;\n return urlWithoutBase;\n};\n/* harmony default export */ __webpack_exports__[\"b\"] = ({ stripBaseFromUrl: stripBaseFromUrl });\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\nvar __window = typeof window !== 'undefined' && window;\nvar __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nvar __global = typeof global !== 'undefined' && global;\nvar _root = __window || __global || __self;\nexports.root = _root;\n// Workaround Closure Compiler restriction: The body of a goog.module cannot use throw.\n// This is needed when used with angular/tsickle which inserts a goog.module statement.\n// Wrap in IIFE\n(function () {\n if (!_root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n }\n})();\n//# sourceMappingURL=root.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 200 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export ImpressionSrv */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_store__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_app_core_config__ = __webpack_require__(23);\n\n\n\nvar ImpressionSrv = /** @class */ (function () {\n function ImpressionSrv() {\n }\n ImpressionSrv.prototype.addDashboardImpression = function (dashboardId, dashUrl) {\n __WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].set(this.lastUrlKey(), dashUrl);\n var impressionsKey = this.impressionKey();\n var impressions = [];\n if (__WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].exists(impressionsKey)) {\n impressions = JSON.parse(__WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].get(impressionsKey));\n if (!__WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isArray(impressions)) {\n impressions = [];\n }\n }\n impressions = impressions.filter(function (imp) {\n return dashboardId !== imp;\n });\n impressions.unshift(dashboardId);\n if (impressions.length > 50) {\n impressions.pop();\n }\n __WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].set(impressionsKey, JSON.stringify(impressions));\n };\n ImpressionSrv.prototype.getDashboardOpened = function () {\n var impressions = __WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].get(this.impressionKey()) || '[]';\n impressions = JSON.parse(impressions);\n impressions = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.filter(impressions, function (el) {\n return __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isNumber(el);\n });\n return impressions;\n };\n ImpressionSrv.prototype.getLastDashUrl = function () {\n return __WEBPACK_IMPORTED_MODULE_0_app_core_store__[\"a\" /* default */].get(this.lastUrlKey());\n };\n ImpressionSrv.prototype.impressionKey = function () {\n return 'dashboard_impressions-' + __WEBPACK_IMPORTED_MODULE_2_app_core_config__[\"a\" /* default */].bootData.user.orgId;\n };\n ImpressionSrv.prototype.lastUrlKey = function () {\n return 'last_dash_url-' + __WEBPACK_IMPORTED_MODULE_2_app_core_config__[\"a\" /* default */].bootData.user.orgId;\n };\n return ImpressionSrv;\n}());\n\nvar impressionSrv = new ImpressionSrv();\n/* harmony default export */ __webpack_exports__[\"a\"] = (impressionSrv);\n\n\n/***/ }),\n/* 201 */,\n/* 202 */,\n/* 203 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = react2AngularDirective;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_core_module__ = __webpack_require__(2);\n\nfunction react2AngularDirective(name, component, options) {\n __WEBPACK_IMPORTED_MODULE_0_app_core_core_module__[\"a\" /* default */].directive(name, [\n 'reactDirective',\n function (reactDirective) {\n return reactDirective(component, options);\n },\n ]);\n}\n\n\n/***/ }),\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */,\n/* 230 */,\n/* 231 */,\n/* 232 */,\n/* 233 */,\n/* 234 */,\n/* 235 */,\n/* 236 */,\n/* 237 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export getTagColorsFromName */\nvar TAG_COLORS = [\n '#E24D42',\n '#1F78C1',\n '#BA43A9',\n '#705DA0',\n '#466803',\n '#508642',\n '#447EBC',\n '#C15C17',\n '#890F02',\n '#757575',\n '#0A437C',\n '#6D1F62',\n '#584477',\n '#629E51',\n '#2F4F4F',\n '#BF1B00',\n '#806EB7',\n '#8a2eb8',\n '#699e00',\n '#000000',\n '#3F6833',\n '#2F575E',\n '#99440A',\n '#E0752D',\n '#0E4AB4',\n '#58140C',\n '#052B51',\n '#511749',\n '#3F2B5B',\n];\nvar TAG_BORDER_COLORS = [\n '#FF7368',\n '#459EE7',\n '#E069CF',\n '#9683C6',\n '#6C8E29',\n '#76AC68',\n '#6AA4E2',\n '#E7823D',\n '#AF3528',\n '#9B9B9B',\n '#3069A2',\n '#934588',\n '#7E6A9D',\n '#88C477',\n '#557575',\n '#E54126',\n '#A694DD',\n '#B054DE',\n '#8FC426',\n '#262626',\n '#658E59',\n '#557D84',\n '#BF6A30',\n '#FF9B53',\n '#3470DA',\n '#7E3A32',\n '#2B5177',\n '#773D6F',\n '#655181',\n];\n/**\n * Returns tag badge background and border colors based on hashed tag name.\n * @param name tag name\n */\nfunction getTagColorsFromName(name) {\n if (name.toLowerCase().indexOf('fire') !== -1) {\n return { color: '#ea262e', borderColor: '#FF5961' };\n }\n else if (name.toLowerCase().indexOf('cold flow') !== -1) {\n return { color: '#1fa2e5', borderColor: '#52d5ff' };\n }\n var hash = djb2(name.toLowerCase());\n var color = TAG_COLORS[Math.abs(hash % TAG_COLORS.length)];\n var borderColor = TAG_BORDER_COLORS[Math.abs(hash % TAG_BORDER_COLORS.length)];\n return { color: color, borderColor: borderColor };\n}\nfunction djb2(str) {\n var hash = 5381;\n for (var i = 0; i < str.length; i++) {\n hash = (hash << 5) + hash + str.charCodeAt(i); /* hash * 33 + c */\n }\n return hash;\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n getTagColorsFromName: getTagColorsFromName,\n});\n\n\n/***/ }),\n/* 238 */,\n/* 239 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export ExperimentImpressionSrv */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(23);\n\n\n\nvar ExperimentImpressionSrv = /** @class */ (function () {\n function ExperimentImpressionSrv() {\n }\n ExperimentImpressionSrv.prototype.addExperimentImpression = function (experimentId) {\n if (isNaN(experimentId) || experimentId <= 0) {\n return;\n }\n var impressionsKey = this.impressionKey(__WEBPACK_IMPORTED_MODULE_2__config__[\"a\" /* default */]);\n var impressions = [];\n if (__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */].exists(impressionsKey)) {\n impressions = JSON.parse(__WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */].get(impressionsKey));\n if (!__WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isArray(impressions)) {\n impressions = [];\n }\n }\n impressions = impressions.filter(function (imp) {\n return experimentId !== imp;\n });\n impressions.unshift(experimentId);\n if (impressions.length > 50) {\n impressions.pop();\n }\n __WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */].set(impressionsKey, JSON.stringify(impressions));\n };\n ExperimentImpressionSrv.prototype.getExperimentOpened = function () {\n var impressions = __WEBPACK_IMPORTED_MODULE_0__store__[\"a\" /* default */].get(this.impressionKey(__WEBPACK_IMPORTED_MODULE_2__config__[\"a\" /* default */])) || '[]';\n impressions = JSON.parse(impressions);\n impressions = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.filter(impressions, function (el) {\n return __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isNumber(el);\n });\n return impressions;\n };\n ExperimentImpressionSrv.prototype.impressionKey = function (config) {\n return 'experiment_impressions-' + config.bootData.user.orgId;\n };\n return ExperimentImpressionSrv;\n}());\n\nvar experimentImpressionSrv = new ExperimentImpressionSrv();\n/* harmony default export */ __webpack_exports__[\"a\"] = (experimentImpressionSrv);\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_select__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__DescriptionOption__ = __webpack_require__(1292);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar DescriptionPicker = /** @class */ (function (_super) {\n __extends(DescriptionPicker, _super);\n function DescriptionPicker(props) {\n var _this = _super.call(this, props) || this;\n _this.state = {};\n return _this;\n }\n DescriptionPicker.prototype.render = function () {\n var _a = this.props, optionsWithDesc = _a.optionsWithDesc, handlePicked = _a.handlePicked, value = _a.value, disabled = _a.disabled, className = _a.className;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"permissions-picker\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_select__[\"default\"], { value: value, valueKey: \"value\", multi: false, clearable: false, labelKey: \"label\", options: optionsWithDesc, onChange: handlePicked, className: \"width-7 gf-form-input gf-form-input--form-dropdown \" + (className || ''), optionComponent: __WEBPACK_IMPORTED_MODULE_2__DescriptionOption__[\"a\" /* default */], placeholder: \"Choose\", disabled: disabled })));\n };\n return DescriptionPicker;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (DescriptionPicker);\n\n\n/***/ }),\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n\n\nvar kbn = {};\nkbn.valueFormats = {};\nkbn.regexEscape = function (value) {\n return value.replace(/[\\\\^$*+?.()|[\\]{}\\/]/g, '\\\\$&');\n};\n///// HELPER FUNCTIONS /////\nkbn.round_interval = function (interval) {\n switch (true) {\n case interval < 0.0000015:\n return 0.000001; // 1ns\n case interval < 0.0000035:\n return 0.000002; // 2ns\n case interval < 0.0000075:\n return 0.000005; // 5ns\n case interval < 0.000015:\n return 0.00001; // 10ns\n case interval < 0.000035:\n return 0.00002; // 20ns\n case interval < 0.000075:\n return 0.00005; // 50ns\n case interval < 0.00015:\n return 0.0001; // 100ns\n case interval < 0.00035:\n return 0.0002; // 200ns\n case interval < 0.00075:\n return 0.0005; // 500ns\n case interval < 0.0015:\n return 0.001; // 1us\n case interval < 0.0035:\n return 0.002; // 2us\n case interval < 0.0075:\n return 0.005; // 5us\n case interval < 0.015:\n return 0.01; // 10us\n case interval < 0.035:\n return 0.02; // 20us\n case interval < 0.075:\n return 0.05; // 50us\n case interval < 0.15:\n return 0.1; // 100us\n case interval < 0.35:\n return 0.2; // 200us\n case interval < 0.75:\n return 0.5; // 500us\n case interval < 1.5:\n return 1; // 1ms\n case interval < 3.5:\n return 2; // 2ms\n case interval < 7.5:\n return 5; // 5ms\n // 0.015s\n case interval < 15:\n return 10; // 10ms\n // 0.035s\n case interval < 35:\n return 20; // 20ms\n // 0.075s\n case interval < 75:\n return 50; // 50ms\n // 0.15s\n case interval < 150:\n return 100; // 100ms\n // 0.35s\n case interval < 350:\n return 200; // 200ms\n // 0.75s\n case interval < 750:\n return 500; // 500ms\n // 1.5s\n case interval < 1500:\n return 1000; // 1s\n // 3.5s\n case interval < 3500:\n return 2000; // 2s\n // 7.5s\n case interval < 7500:\n return 5000; // 5s\n // 12.5s\n case interval < 12500:\n return 10000; // 10s\n // 17.5s\n case interval < 17500:\n return 15000; // 15s\n // 25s\n case interval < 25000:\n return 20000; // 20s\n // 45s\n case interval < 45000:\n return 30000; // 30s\n // 1.5m\n case interval < 90000:\n return 60000; // 1m\n // 3.5m\n case interval < 210000:\n return 120000; // 2m\n // 7.5m\n case interval < 450000:\n return 300000; // 5m\n // 12.5m\n case interval < 750000:\n return 600000; // 10m\n // 12.5m\n case interval < 1050000:\n return 900000; // 15m\n // 25m\n case interval < 1500000:\n return 1200000; // 20m\n // 45m\n case interval < 2700000:\n return 1800000; // 30m\n // 1.5h\n case interval < 5400000:\n return 3600000; // 1h\n // 2.5h\n case interval < 9000000:\n return 7200000; // 2h\n // 4.5h\n case interval < 16200000:\n return 10800000; // 3h\n // 9h\n case interval < 32400000:\n return 21600000; // 6h\n // 1d\n case interval < 86400000:\n return 43200000; // 12h\n // 1w\n case interval < 604800000:\n return 86400000; // 1d\n // 3w\n case interval < 1814400000:\n return 604800000; // 1w\n // 6w\n case interval < 3628800000:\n return 2592000000; // 30d\n default:\n return 31536000000; // 1y\n }\n};\nkbn.secondsToHms = function (seconds) {\n var numyears = Math.floor(seconds / 31536000);\n if (numyears) {\n return numyears + 'y';\n }\n var numdays = Math.floor((seconds % 31536000) / 86400);\n if (numdays) {\n return numdays + 'd';\n }\n var numhours = Math.floor(((seconds % 31536000) % 86400) / 3600);\n if (numhours) {\n return numhours + 'h';\n }\n var numminutes = Math.floor((((seconds % 31536000) % 86400) % 3600) / 60);\n if (numminutes) {\n return numminutes + 'm';\n }\n var numseconds = Math.floor((((seconds % 31536000) % 86400) % 3600) % 60);\n if (numseconds) {\n return numseconds + 's';\n }\n var nummilliseconds = Math.floor(seconds * 1000.0);\n if (nummilliseconds) {\n return nummilliseconds + 'ms';\n }\n var nummicroseconds = Math.floor(seconds * 1000000.0);\n if (nummicroseconds) {\n return nummicroseconds + 'u';\n }\n var numnanoseconds = Math.floor(seconds * 1000000000.0);\n if (numnanoseconds) {\n return numnanoseconds + 'ns';\n }\n return '1ns';\n};\nkbn.secondsToHhmmss = function (seconds) {\n var strings = [];\n var numhours = Math.floor(seconds / 3600);\n var numminutes = Math.floor((seconds % 3600) / 60);\n var numseconds = Math.floor((seconds % 3600) % 60);\n numhours > 9 ? strings.push('' + numhours) : strings.push('0' + numhours);\n numminutes > 9 ? strings.push('' + numminutes) : strings.push('0' + numminutes);\n numseconds > 9 ? strings.push('' + numseconds) : strings.push('0' + numseconds);\n return strings.join(':');\n};\nkbn.to_percent = function (nr, outof) {\n return Math.floor(nr / outof * 10000) / 100 + '%';\n};\nkbn.addslashes = function (str) {\n str = str.replace(/\\\\/g, '\\\\\\\\');\n str = str.replace(/\\'/g, \"\\\\'\");\n str = str.replace(/\\\"/g, '\\\\\"');\n str = str.replace(/\\0/g, '\\\\0');\n return str;\n};\nkbn.interval_regex = /(\\d+(?:\\.\\d+)?)(ms|[Mwdhmsy])/;\n// histogram & trends\nkbn.intervals_in_seconds = {\n y: 31536000,\n M: 2592000,\n w: 604800,\n d: 86400,\n h: 3600,\n m: 60,\n s: 1,\n ms: 0.001,\n};\nkbn.calculateInterval = function (range, resolution, lowLimitInterval) {\n var lowLimitMs = 0.000001; // 1 ns default low limit\n var intervalMs;\n if (lowLimitInterval) {\n if (lowLimitInterval[0] === '>') {\n lowLimitInterval = lowLimitInterval.slice(1);\n }\n lowLimitMs = kbn.interval_to_ms(lowLimitInterval);\n }\n intervalMs = kbn.round_interval((range.to.valueOf() - range.from.valueOf()) / resolution);\n if (lowLimitMs > intervalMs) {\n intervalMs = lowLimitMs;\n }\n return {\n intervalMs: intervalMs,\n interval: kbn.secondsToHms(intervalMs / 1000),\n };\n};\nkbn.describe_interval = function (str) {\n var matches = str.match(kbn.interval_regex);\n if (!matches || !__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.has(kbn.intervals_in_seconds, matches[2])) {\n throw new Error('Invalid interval string, expecting a number followed by one of \"Mwdhmsy\"');\n }\n else {\n return {\n sec: kbn.intervals_in_seconds[matches[2]],\n type: matches[2],\n count: parseInt(matches[1], 10),\n };\n }\n};\nkbn.interval_to_ms = function (str) {\n var info = kbn.describe_interval(str);\n return info.sec * 1000 * info.count;\n};\nkbn.interval_to_seconds = function (str) {\n var info = kbn.describe_interval(str);\n return info.sec * info.count;\n};\nkbn.query_color_dot = function (color, diameter) {\n return ('
');\n};\nkbn.slugifyForUrl = function (str) {\n return str\n .toLowerCase()\n .replace(/[^\\w ]+/g, '')\n .replace(/ +/g, '-');\n};\nkbn.stringToJsRegex = function (str) {\n if (str[0] !== '/') {\n return new RegExp('^' + str + '$');\n }\n var match = str.match(new RegExp('^/(.*?)/(g?i?m?y?)$'));\n return new RegExp(match[1], match[2]);\n};\nkbn.toFixed = function (value, decimals) {\n if (value === null) {\n return '';\n }\n var factor = decimals ? Math.pow(10, Math.max(0, decimals)) : 1;\n var formatted = String(Math.round(value * factor) / factor);\n // if exponent return directly\n if (formatted.indexOf('e') !== -1 || value === 0) {\n return formatted;\n }\n // If tickDecimals was specified, ensure that we have exactly that\n // much precision; otherwise default to the value's own precision.\n if (decimals != null) {\n var decimalPos = formatted.indexOf('.');\n var precision = decimalPos === -1 ? 0 : formatted.length - decimalPos - 1;\n if (precision < decimals) {\n return (precision ? formatted : formatted + '.') + String(factor).substr(1, decimals - precision);\n }\n }\n return formatted;\n};\nkbn.toFixedScaled = function (value, decimals, scaledDecimals, additionalDecimals, ext) {\n if (scaledDecimals === null) {\n return kbn.toFixed(value, decimals) + ext;\n }\n else {\n return kbn.toFixed(value, scaledDecimals + additionalDecimals) + ext;\n }\n};\nkbn.roundValue = function (num, decimals) {\n if (num === null) {\n return null;\n }\n var n = Math.pow(10, decimals);\n var formatted = (n * num).toFixed(decimals);\n return Math.round(parseFloat(formatted)) / n;\n};\n///// FORMAT FUNCTION CONSTRUCTORS /////\nkbn.formatBuilders = {};\n// Formatter which always appends a fixed unit string to the value. No\n// scaling of the value is performed.\nkbn.formatBuilders.fixedUnit = function (unit) {\n return function (size, decimals) {\n if (size === null) {\n return '';\n }\n return kbn.toFixed(size, decimals) + ' ' + unit;\n };\n};\n// Formatter which scales the unit string geometrically according to the given\n// numeric factor. Repeatedly scales the value down by the factor until it is\n// less than the factor in magnitude, or the end of the array is reached.\nkbn.formatBuilders.scaledUnits = function (factor, extArray) {\n return function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n var steps = 0;\n var limit = extArray.length;\n while (Math.abs(size) >= factor) {\n steps++;\n size /= factor;\n if (steps >= limit) {\n return 'NA';\n }\n }\n if (steps > 0 && scaledDecimals !== null) {\n decimals = scaledDecimals + 3 * steps;\n }\n return kbn.toFixed(size, decimals) + extArray[steps];\n };\n};\n// Extension of the scaledUnits builder which uses SI decimal prefixes. If an\n// offset is given, it adjusts the starting units at the given prefix; a value\n// of 0 starts at no scale; -3 drops to nano, +2 starts at mega, etc.\nkbn.formatBuilders.decimalSIPrefix = function (unit, offset) {\n var prefixes = ['n', 'µ', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];\n prefixes = prefixes.slice(3 + (offset || 0));\n var units = prefixes.map(function (p) {\n return ' ' + p + unit;\n });\n return kbn.formatBuilders.scaledUnits(1000, units);\n};\n// Extension of the scaledUnits builder which uses SI binary prefixes. If\n// offset is given, it starts the units at the given prefix; otherwise, the\n// offset defaults to zero and the initial unit is not prefixed.\nkbn.formatBuilders.binarySIPrefix = function (unit, offset) {\n var prefixes = ['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi'].slice(offset);\n var units = prefixes.map(function (p) {\n return ' ' + p + unit;\n });\n return kbn.formatBuilders.scaledUnits(1024, units);\n};\n// Currency formatter for prefixing a symbol onto a number. Supports scaling\n// up to the trillions.\nkbn.formatBuilders.currency = function (symbol) {\n var units = ['', 'K', 'M', 'B', 'T'];\n var scaler = kbn.formatBuilders.scaledUnits(1000, units);\n return function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n var scaled = scaler(size, decimals, scaledDecimals);\n return symbol + scaled;\n };\n};\nkbn.formatBuilders.simpleCountUnit = function (symbol) {\n var units = ['', 'K', 'M', 'B', 'T'];\n var scaler = kbn.formatBuilders.scaledUnits(1000, units);\n return function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n var scaled = scaler(size, decimals, scaledDecimals);\n return scaled + ' ' + symbol;\n };\n};\n///// VALUE FORMATS /////\n// Dimensionless Units\nkbn.valueFormats.none = kbn.toFixed;\nkbn.valueFormats.short = kbn.formatBuilders.scaledUnits(1000, [\n '',\n ' K',\n ' Mil',\n ' Bil',\n ' Tri',\n ' Quadr',\n ' Quint',\n ' Sext',\n ' Sept',\n]);\nkbn.valueFormats.dB = kbn.formatBuilders.fixedUnit('dB');\nkbn.valueFormats.percent = function (size, decimals) {\n if (size === null) {\n return '';\n }\n return kbn.toFixed(size, decimals) + '%';\n};\nkbn.valueFormats.percentunit = function (size, decimals) {\n if (size === null) {\n return '';\n }\n return kbn.toFixed(100 * size, decimals) + '%';\n};\n/* Formats the value to hex. Uses float if specified decimals are not 0.\n * There are two options, one with 0x, and one without */\nkbn.valueFormats.hex = function (value, decimals) {\n if (value == null) {\n return '';\n }\n return parseFloat(kbn.toFixed(value, decimals))\n .toString(16)\n .toUpperCase();\n};\nkbn.valueFormats.hex0x = function (value, decimals) {\n if (value == null) {\n return '';\n }\n var hexString = kbn.valueFormats.hex(value, decimals);\n if (hexString.substring(0, 1) === '-') {\n return '-0x' + hexString.substring(1);\n }\n return '0x' + hexString;\n};\nkbn.valueFormats.sci = function (value, decimals) {\n return value.toExponential(decimals);\n};\nkbn.valueFormats.locale = function (value, decimals) {\n return value.toLocaleString(undefined, { maximumFractionDigits: decimals });\n};\n// Currencies\nkbn.valueFormats.currencyUSD = kbn.formatBuilders.currency('$');\nkbn.valueFormats.currencyGBP = kbn.formatBuilders.currency('£');\nkbn.valueFormats.currencyEUR = kbn.formatBuilders.currency('€');\nkbn.valueFormats.currencyJPY = kbn.formatBuilders.currency('¥');\nkbn.valueFormats.currencyRUB = kbn.formatBuilders.currency('₽');\nkbn.valueFormats.currencyUAH = kbn.formatBuilders.currency('₴');\nkbn.valueFormats.currencyBRL = kbn.formatBuilders.currency('R$');\nkbn.valueFormats.currencyDKK = kbn.formatBuilders.currency('kr');\nkbn.valueFormats.currencyISK = kbn.formatBuilders.currency('kr');\nkbn.valueFormats.currencyNOK = kbn.formatBuilders.currency('kr');\nkbn.valueFormats.currencySEK = kbn.formatBuilders.currency('kr');\nkbn.valueFormats.currencyCZK = kbn.formatBuilders.currency('czk');\nkbn.valueFormats.currencyCHF = kbn.formatBuilders.currency('CHF');\n// Data (Binary)\nkbn.valueFormats.bits = kbn.formatBuilders.binarySIPrefix('b');\nkbn.valueFormats.bytes = kbn.formatBuilders.binarySIPrefix('B');\nkbn.valueFormats.kbytes = kbn.formatBuilders.binarySIPrefix('B', 1);\nkbn.valueFormats.mbytes = kbn.formatBuilders.binarySIPrefix('B', 2);\nkbn.valueFormats.gbytes = kbn.formatBuilders.binarySIPrefix('B', 3);\n// Data (Decimal)\nkbn.valueFormats.decbits = kbn.formatBuilders.decimalSIPrefix('b');\nkbn.valueFormats.decbytes = kbn.formatBuilders.decimalSIPrefix('B');\nkbn.valueFormats.deckbytes = kbn.formatBuilders.decimalSIPrefix('B', 1);\nkbn.valueFormats.decmbytes = kbn.formatBuilders.decimalSIPrefix('B', 2);\nkbn.valueFormats.decgbytes = kbn.formatBuilders.decimalSIPrefix('B', 3);\n// Data Rate\nkbn.valueFormats.pps = kbn.formatBuilders.decimalSIPrefix('pps');\nkbn.valueFormats.bps = kbn.formatBuilders.decimalSIPrefix('bps');\nkbn.valueFormats.Bps = kbn.formatBuilders.decimalSIPrefix('B/s');\nkbn.valueFormats.KBs = kbn.formatBuilders.decimalSIPrefix('Bs', 1);\nkbn.valueFormats.Kbits = kbn.formatBuilders.decimalSIPrefix('bps', 1);\nkbn.valueFormats.MBs = kbn.formatBuilders.decimalSIPrefix('Bs', 2);\nkbn.valueFormats.Mbits = kbn.formatBuilders.decimalSIPrefix('bps', 2);\nkbn.valueFormats.GBs = kbn.formatBuilders.decimalSIPrefix('Bs', 3);\nkbn.valueFormats.Gbits = kbn.formatBuilders.decimalSIPrefix('bps', 3);\n// Hash Rate\nkbn.valueFormats.Hs = kbn.formatBuilders.decimalSIPrefix('H/s');\nkbn.valueFormats.KHs = kbn.formatBuilders.decimalSIPrefix('H/s', 1);\nkbn.valueFormats.MHs = kbn.formatBuilders.decimalSIPrefix('H/s', 2);\nkbn.valueFormats.GHs = kbn.formatBuilders.decimalSIPrefix('H/s', 3);\nkbn.valueFormats.THs = kbn.formatBuilders.decimalSIPrefix('H/s', 4);\nkbn.valueFormats.PHs = kbn.formatBuilders.decimalSIPrefix('H/s', 5);\nkbn.valueFormats.EHs = kbn.formatBuilders.decimalSIPrefix('H/s', 6);\n// Throughput\nkbn.valueFormats.ops = kbn.formatBuilders.simpleCountUnit('ops');\nkbn.valueFormats.reqps = kbn.formatBuilders.simpleCountUnit('reqps');\nkbn.valueFormats.rps = kbn.formatBuilders.simpleCountUnit('rps');\nkbn.valueFormats.wps = kbn.formatBuilders.simpleCountUnit('wps');\nkbn.valueFormats.iops = kbn.formatBuilders.simpleCountUnit('iops');\nkbn.valueFormats.opm = kbn.formatBuilders.simpleCountUnit('opm');\nkbn.valueFormats.rpm = kbn.formatBuilders.simpleCountUnit('rpm');\nkbn.valueFormats.wpm = kbn.formatBuilders.simpleCountUnit('wpm');\n// Energy\nkbn.valueFormats.watt = kbn.formatBuilders.decimalSIPrefix('W');\nkbn.valueFormats.kwatt = kbn.formatBuilders.decimalSIPrefix('W', 1);\nkbn.valueFormats.mwatt = kbn.formatBuilders.decimalSIPrefix('W', -1);\nkbn.valueFormats.kwattm = kbn.formatBuilders.decimalSIPrefix('W/Min', 1);\nkbn.valueFormats.Wm2 = kbn.formatBuilders.fixedUnit('W/m2');\nkbn.valueFormats.voltamp = kbn.formatBuilders.decimalSIPrefix('VA');\nkbn.valueFormats.kvoltamp = kbn.formatBuilders.decimalSIPrefix('VA', 1);\nkbn.valueFormats.voltampreact = kbn.formatBuilders.decimalSIPrefix('var');\nkbn.valueFormats.kvoltampreact = kbn.formatBuilders.decimalSIPrefix('var', 1);\nkbn.valueFormats.watth = kbn.formatBuilders.decimalSIPrefix('Wh');\nkbn.valueFormats.kwatth = kbn.formatBuilders.decimalSIPrefix('Wh', 1);\nkbn.valueFormats.joule = kbn.formatBuilders.decimalSIPrefix('J');\nkbn.valueFormats.ev = kbn.formatBuilders.decimalSIPrefix('eV');\nkbn.valueFormats.amp = kbn.formatBuilders.decimalSIPrefix('A');\nkbn.valueFormats.kamp = kbn.formatBuilders.decimalSIPrefix('A', 1);\nkbn.valueFormats.mamp = kbn.formatBuilders.decimalSIPrefix('A', -1);\nkbn.valueFormats.volt = kbn.formatBuilders.decimalSIPrefix('V');\nkbn.valueFormats.kvolt = kbn.formatBuilders.decimalSIPrefix('V', 1);\nkbn.valueFormats.mvolt = kbn.formatBuilders.decimalSIPrefix('V', -1);\nkbn.valueFormats.dBm = kbn.formatBuilders.decimalSIPrefix('dBm');\nkbn.valueFormats.ohm = kbn.formatBuilders.decimalSIPrefix('Ω');\nkbn.valueFormats.lumens = kbn.formatBuilders.decimalSIPrefix('Lm');\n// Temperature\nkbn.valueFormats.celsius = kbn.formatBuilders.fixedUnit('°C');\nkbn.valueFormats.farenheit = kbn.formatBuilders.fixedUnit('°F');\nkbn.valueFormats.kelvin = kbn.formatBuilders.fixedUnit('K');\nkbn.valueFormats.humidity = kbn.formatBuilders.fixedUnit('%H');\n// Pressure\nkbn.valueFormats.pressurebar = kbn.formatBuilders.decimalSIPrefix('bar');\nkbn.valueFormats.pressurembar = kbn.formatBuilders.decimalSIPrefix('bar', -1);\nkbn.valueFormats.pressurekbar = kbn.formatBuilders.decimalSIPrefix('bar', 1);\nkbn.valueFormats.pressurehpa = kbn.formatBuilders.fixedUnit('hPa');\nkbn.valueFormats.pressurekpa = kbn.formatBuilders.fixedUnit('kPa');\nkbn.valueFormats.pressurehg = kbn.formatBuilders.fixedUnit('\"Hg');\nkbn.valueFormats.pressurepsi = kbn.formatBuilders.scaledUnits(1000, [' psi', ' ksi', ' Mpsi']);\n// Force\nkbn.valueFormats.forceNm = kbn.formatBuilders.decimalSIPrefix('Nm');\nkbn.valueFormats.forcekNm = kbn.formatBuilders.decimalSIPrefix('Nm', 1);\nkbn.valueFormats.forceN = kbn.formatBuilders.decimalSIPrefix('N');\nkbn.valueFormats.forcekN = kbn.formatBuilders.decimalSIPrefix('N', 1);\n// Length\nkbn.valueFormats.lengthm = kbn.formatBuilders.decimalSIPrefix('m');\nkbn.valueFormats.lengthmm = kbn.formatBuilders.decimalSIPrefix('m', -1);\nkbn.valueFormats.lengthkm = kbn.formatBuilders.decimalSIPrefix('m', 1);\nkbn.valueFormats.lengthmi = kbn.formatBuilders.fixedUnit('mi');\nkbn.valueFormats.lengthft = kbn.formatBuilders.fixedUnit('ft');\n// Area\nkbn.valueFormats.areaM2 = kbn.formatBuilders.fixedUnit('m²');\nkbn.valueFormats.areaF2 = kbn.formatBuilders.fixedUnit('ft²');\nkbn.valueFormats.areaMI2 = kbn.formatBuilders.fixedUnit('mi²');\n// Mass\nkbn.valueFormats.massmg = kbn.formatBuilders.decimalSIPrefix('g', -1);\nkbn.valueFormats.massg = kbn.formatBuilders.decimalSIPrefix('g');\nkbn.valueFormats.masskg = kbn.formatBuilders.decimalSIPrefix('g', 1);\nkbn.valueFormats.masst = kbn.formatBuilders.fixedUnit('t');\n// Velocity\nkbn.valueFormats.velocityms = kbn.formatBuilders.fixedUnit('m/s');\nkbn.valueFormats.velocitykmh = kbn.formatBuilders.fixedUnit('km/h');\nkbn.valueFormats.velocitymph = kbn.formatBuilders.fixedUnit('mph');\nkbn.valueFormats.velocityknot = kbn.formatBuilders.fixedUnit('kn');\n// Acceleration\nkbn.valueFormats.accMS2 = kbn.formatBuilders.fixedUnit('m/sec²');\nkbn.valueFormats.accFS2 = kbn.formatBuilders.fixedUnit('f/sec²');\nkbn.valueFormats.accG = kbn.formatBuilders.fixedUnit('g');\n// Volume\nkbn.valueFormats.litre = kbn.formatBuilders.decimalSIPrefix('L');\nkbn.valueFormats.mlitre = kbn.formatBuilders.decimalSIPrefix('L', -1);\nkbn.valueFormats.m3 = kbn.formatBuilders.fixedUnit('m3');\nkbn.valueFormats.Nm3 = kbn.formatBuilders.fixedUnit('Nm3');\nkbn.valueFormats.dm3 = kbn.formatBuilders.fixedUnit('dm3');\nkbn.valueFormats.gallons = kbn.formatBuilders.fixedUnit('gal');\n// Flow\nkbn.valueFormats.flowgpm = kbn.formatBuilders.fixedUnit('gpm');\nkbn.valueFormats.flowcms = kbn.formatBuilders.fixedUnit('cms');\nkbn.valueFormats.flowcfs = kbn.formatBuilders.fixedUnit('cfs');\nkbn.valueFormats.flowcfm = kbn.formatBuilders.fixedUnit('cfm');\nkbn.valueFormats.litreh = kbn.formatBuilders.fixedUnit('l/h');\nkbn.valueFormats.flowlpm = kbn.formatBuilders.decimalSIPrefix('L');\nkbn.valueFormats.flowmlpm = kbn.formatBuilders.decimalSIPrefix('L', -1);\n// Angle\nkbn.valueFormats.degree = kbn.formatBuilders.fixedUnit('°');\nkbn.valueFormats.radian = kbn.formatBuilders.fixedUnit('rad');\nkbn.valueFormats.grad = kbn.formatBuilders.fixedUnit('grad');\n// Radiation\nkbn.valueFormats.radbq = kbn.formatBuilders.decimalSIPrefix('Bq');\nkbn.valueFormats.radci = kbn.formatBuilders.decimalSIPrefix('Ci');\nkbn.valueFormats.radgy = kbn.formatBuilders.decimalSIPrefix('Gy');\nkbn.valueFormats.radrad = kbn.formatBuilders.decimalSIPrefix('rad');\nkbn.valueFormats.radsv = kbn.formatBuilders.decimalSIPrefix('Sv');\nkbn.valueFormats.radrem = kbn.formatBuilders.decimalSIPrefix('rem');\nkbn.valueFormats.radexpckg = kbn.formatBuilders.decimalSIPrefix('C/kg');\nkbn.valueFormats.radr = kbn.formatBuilders.decimalSIPrefix('R');\nkbn.valueFormats.radsvh = kbn.formatBuilders.decimalSIPrefix('Sv/h');\n// Concentration\nkbn.valueFormats.ppm = kbn.formatBuilders.fixedUnit('ppm');\nkbn.valueFormats.conppb = kbn.formatBuilders.fixedUnit('ppb');\nkbn.valueFormats.conngm3 = kbn.formatBuilders.fixedUnit('ng/m3');\nkbn.valueFormats.conngNm3 = kbn.formatBuilders.fixedUnit('ng/Nm3');\nkbn.valueFormats.conμgm3 = kbn.formatBuilders.fixedUnit('μg/m3');\nkbn.valueFormats.conμgNm3 = kbn.formatBuilders.fixedUnit('μg/Nm3');\nkbn.valueFormats.conmgm3 = kbn.formatBuilders.fixedUnit('mg/m3');\nkbn.valueFormats.conmgNm3 = kbn.formatBuilders.fixedUnit('mg/Nm3');\nkbn.valueFormats.congm3 = kbn.formatBuilders.fixedUnit('g/m3');\nkbn.valueFormats.congNm3 = kbn.formatBuilders.fixedUnit('g/Nm3');\n// Time\nkbn.valueFormats.hertz = kbn.formatBuilders.decimalSIPrefix('Hz');\nkbn.valueFormats.ms = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 1000) {\n return kbn.toFixed(size, decimals) + ' ms';\n }\n else if (Math.abs(size) < 60000) {\n // Less than 1 min\n return kbn.toFixedScaled(size / 1000, decimals, scaledDecimals, 3, ' s');\n }\n else if (Math.abs(size) < 3600000) {\n // Less than 1 hour, divide in minutes\n return kbn.toFixedScaled(size / 60000, decimals, scaledDecimals, 5, ' min');\n }\n else if (Math.abs(size) < 86400000) {\n // Less than one day, divide in hours\n return kbn.toFixedScaled(size / 3600000, decimals, scaledDecimals, 7, ' hour');\n }\n else if (Math.abs(size) < 31536000000) {\n // Less than one year, divide in days\n return kbn.toFixedScaled(size / 86400000, decimals, scaledDecimals, 8, ' day');\n }\n return kbn.toFixedScaled(size / 31536000000, decimals, scaledDecimals, 10, ' year');\n};\nkbn.valueFormats.s = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n // Less than 1 µs, divide in ns\n if (Math.abs(size) < 0.000001) {\n return kbn.toFixedScaled(size * 1e9, decimals, scaledDecimals - decimals, -9, ' ns');\n }\n // Less than 1 ms, divide in µs\n if (Math.abs(size) < 0.001) {\n return kbn.toFixedScaled(size * 1e6, decimals, scaledDecimals - decimals, -6, ' µs');\n }\n // Less than 1 second, divide in ms\n if (Math.abs(size) < 1) {\n return kbn.toFixedScaled(size * 1e3, decimals, scaledDecimals - decimals, -3, ' ms');\n }\n if (Math.abs(size) < 60) {\n return kbn.toFixed(size, decimals) + ' s';\n }\n else if (Math.abs(size) < 3600) {\n // Less than 1 hour, divide in minutes\n return kbn.toFixedScaled(size / 60, decimals, scaledDecimals, 1, ' min');\n }\n else if (Math.abs(size) < 86400) {\n // Less than one day, divide in hours\n return kbn.toFixedScaled(size / 3600, decimals, scaledDecimals, 4, ' hour');\n }\n else if (Math.abs(size) < 604800) {\n // Less than one week, divide in days\n return kbn.toFixedScaled(size / 86400, decimals, scaledDecimals, 5, ' day');\n }\n else if (Math.abs(size) < 31536000) {\n // Less than one year, divide in week\n return kbn.toFixedScaled(size / 604800, decimals, scaledDecimals, 6, ' week');\n }\n return kbn.toFixedScaled(size / 3.15569e7, decimals, scaledDecimals, 7, ' year');\n};\nkbn.valueFormats['µs'] = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 1000) {\n return kbn.toFixed(size, decimals) + ' µs';\n }\n else if (Math.abs(size) < 1000000) {\n return kbn.toFixedScaled(size / 1000, decimals, scaledDecimals, 3, ' ms');\n }\n else {\n return kbn.toFixedScaled(size / 1000000, decimals, scaledDecimals, 6, ' s');\n }\n};\nkbn.valueFormats.ns = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 1000) {\n return kbn.toFixed(size, decimals) + ' ns';\n }\n else if (Math.abs(size) < 1000000) {\n return kbn.toFixedScaled(size / 1000, decimals, scaledDecimals, 3, ' µs');\n }\n else if (Math.abs(size) < 1000000000) {\n return kbn.toFixedScaled(size / 1000000, decimals, scaledDecimals, 6, ' ms');\n }\n else if (Math.abs(size) < 60000000000) {\n return kbn.toFixedScaled(size / 1000000000, decimals, scaledDecimals, 9, ' s');\n }\n else {\n return kbn.toFixedScaled(size / 60000000000, decimals, scaledDecimals, 12, ' min');\n }\n};\nkbn.valueFormats.m = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 60) {\n return kbn.toFixed(size, decimals) + ' min';\n }\n else if (Math.abs(size) < 1440) {\n return kbn.toFixedScaled(size / 60, decimals, scaledDecimals, 2, ' hour');\n }\n else if (Math.abs(size) < 10080) {\n return kbn.toFixedScaled(size / 1440, decimals, scaledDecimals, 3, ' day');\n }\n else if (Math.abs(size) < 604800) {\n return kbn.toFixedScaled(size / 10080, decimals, scaledDecimals, 4, ' week');\n }\n else {\n return kbn.toFixedScaled(size / 5.25948e5, decimals, scaledDecimals, 5, ' year');\n }\n};\nkbn.valueFormats.h = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 24) {\n return kbn.toFixed(size, decimals) + ' hour';\n }\n else if (Math.abs(size) < 168) {\n return kbn.toFixedScaled(size / 24, decimals, scaledDecimals, 2, ' day');\n }\n else if (Math.abs(size) < 8760) {\n return kbn.toFixedScaled(size / 168, decimals, scaledDecimals, 3, ' week');\n }\n else {\n return kbn.toFixedScaled(size / 8760, decimals, scaledDecimals, 4, ' year');\n }\n};\nkbn.valueFormats.d = function (size, decimals, scaledDecimals) {\n if (size === null) {\n return '';\n }\n if (Math.abs(size) < 7) {\n return kbn.toFixed(size, decimals) + ' day';\n }\n else if (Math.abs(size) < 365) {\n return kbn.toFixedScaled(size / 7, decimals, scaledDecimals, 2, ' week');\n }\n else {\n return kbn.toFixedScaled(size / 365, decimals, scaledDecimals, 3, ' year');\n }\n};\nkbn.toDuration = function (size, decimals, timeScale) {\n if (size === null) {\n return '';\n }\n if (size === 0) {\n return '0 ' + timeScale + 's';\n }\n if (size < 0) {\n return kbn.toDuration(-size, decimals, timeScale) + ' ago';\n }\n var units = [\n { short: 'y', long: 'year' },\n { short: 'M', long: 'month' },\n { short: 'w', long: 'week' },\n { short: 'd', long: 'day' },\n { short: 'h', long: 'hour' },\n { short: 'm', long: 'minute' },\n { short: 's', long: 'second' },\n { short: 'ms', long: 'millisecond' },\n ];\n // convert $size to milliseconds\n // intervals_in_seconds uses seconds (duh), convert them to milliseconds here to minimize floating point errors\n size *=\n kbn.intervals_in_seconds[units.find(function (e) {\n return e.long === timeScale;\n }).short] * 1000;\n var strings = [];\n // after first value >= 1 print only $decimals more\n var decrementDecimals = false;\n for (var i = 0; i < units.length && decimals >= 0; i++) {\n var interval = kbn.intervals_in_seconds[units[i].short] * 1000;\n var value = size / interval;\n if (value >= 1 || decrementDecimals) {\n decrementDecimals = true;\n var floor = Math.floor(value);\n var unit = units[i].long + (floor !== 1 ? 's' : '');\n strings.push(floor + ' ' + unit);\n size = size % interval;\n decimals--;\n }\n }\n return strings.join(', ');\n};\nkbn.valueFormats.dtdurationms = function (size, decimals) {\n return kbn.toDuration(size, decimals, 'millisecond');\n};\nkbn.valueFormats.dtdurations = function (size, decimals) {\n return kbn.toDuration(size, decimals, 'second');\n};\nkbn.valueFormats.dthms = function (size, decimals) {\n return kbn.secondsToHhmmss(size);\n};\nkbn.valueFormats.timeticks = function (size, decimals, scaledDecimals) {\n return kbn.valueFormats.s(size / 100, decimals, scaledDecimals);\n};\nkbn.valueFormats.dateTimeAsIso = function (epoch, isUtc) {\n var time = isUtc ? __WEBPACK_IMPORTED_MODULE_1_moment___default.a.utc(epoch) : __WEBPACK_IMPORTED_MODULE_1_moment___default()(epoch);\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default()().isSame(epoch, 'day')) {\n return time.format('HH:mm:ss');\n }\n return time.format('YYYY-MM-DD HH:mm:ss');\n};\nkbn.valueFormats.dateTimeAsUS = function (epoch, isUtc) {\n var time = isUtc ? __WEBPACK_IMPORTED_MODULE_1_moment___default.a.utc(epoch) : __WEBPACK_IMPORTED_MODULE_1_moment___default()(epoch);\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default()().isSame(epoch, 'day')) {\n return time.format('h:mm:ss a');\n }\n return time.format('MM/DD/YYYY h:mm:ss a');\n};\nkbn.valueFormats.dateTimeFromNow = function (epoch, isUtc) {\n var time = isUtc ? __WEBPACK_IMPORTED_MODULE_1_moment___default.a.utc(epoch) : __WEBPACK_IMPORTED_MODULE_1_moment___default()(epoch);\n return time.fromNow();\n};\n///// FORMAT MENU /////\nkbn.getUnitFormats = function () {\n return [\n {\n text: 'none',\n submenu: [\n { text: 'none', value: 'none' },\n { text: 'short', value: 'short' },\n { text: 'percent (0-100)', value: 'percent' },\n { text: 'percent (0.0-1.0)', value: 'percentunit' },\n { text: 'Humidity (%H)', value: 'humidity' },\n { text: 'decibel', value: 'dB' },\n { text: 'hexadecimal (0x)', value: 'hex0x' },\n { text: 'hexadecimal', value: 'hex' },\n { text: 'scientific notation', value: 'sci' },\n { text: 'locale format', value: 'locale' },\n ],\n },\n {\n text: 'currency',\n submenu: [\n { text: 'Dollars ($)', value: 'currencyUSD' },\n { text: 'Pounds (£)', value: 'currencyGBP' },\n { text: 'Euro (€)', value: 'currencyEUR' },\n { text: 'Yen (¥)', value: 'currencyJPY' },\n { text: 'Rubles (₽)', value: 'currencyRUB' },\n { text: 'Hryvnias (₴)', value: 'currencyUAH' },\n { text: 'Real (R$)', value: 'currencyBRL' },\n { text: 'Danish Krone (kr)', value: 'currencyDKK' },\n { text: 'Icelandic Króna (kr)', value: 'currencyISK' },\n { text: 'Norwegian Krone (kr)', value: 'currencyNOK' },\n { text: 'Swedish Krona (kr)', value: 'currencySEK' },\n { text: 'Czech koruna (czk)', value: 'currencyCZK' },\n { text: 'Swiss franc (CHF)', value: 'currencyCHF' },\n ],\n },\n {\n text: 'time',\n submenu: [\n { text: 'Hertz (1/s)', value: 'hertz' },\n { text: 'nanoseconds (ns)', value: 'ns' },\n { text: 'microseconds (µs)', value: 'µs' },\n { text: 'milliseconds (ms)', value: 'ms' },\n { text: 'seconds (s)', value: 's' },\n { text: 'minutes (m)', value: 'm' },\n { text: 'hours (h)', value: 'h' },\n { text: 'days (d)', value: 'd' },\n { text: 'duration (ms)', value: 'dtdurationms' },\n { text: 'duration (s)', value: 'dtdurations' },\n { text: 'duration (hh:mm:ss)', value: 'dthms' },\n { text: 'Timeticks (s/100)', value: 'timeticks' },\n ],\n },\n {\n text: 'date & time',\n submenu: [\n { text: 'YYYY-MM-DD HH:mm:ss', value: 'dateTimeAsIso' },\n { text: 'DD/MM/YYYY h:mm:ss a', value: 'dateTimeAsUS' },\n { text: 'From Now', value: 'dateTimeFromNow' },\n ],\n },\n {\n text: 'data (IEC)',\n submenu: [\n { text: 'bits', value: 'bits' },\n { text: 'bytes', value: 'bytes' },\n { text: 'kibibytes', value: 'kbytes' },\n { text: 'mebibytes', value: 'mbytes' },\n { text: 'gibibytes', value: 'gbytes' },\n ],\n },\n {\n text: 'data (Metric)',\n submenu: [\n { text: 'bits', value: 'decbits' },\n { text: 'bytes', value: 'decbytes' },\n { text: 'kilobytes', value: 'deckbytes' },\n { text: 'megabytes', value: 'decmbytes' },\n { text: 'gigabytes', value: 'decgbytes' },\n ],\n },\n {\n text: 'data rate',\n submenu: [\n { text: 'packets/sec', value: 'pps' },\n { text: 'bits/sec', value: 'bps' },\n { text: 'bytes/sec', value: 'Bps' },\n { text: 'kilobits/sec', value: 'Kbits' },\n { text: 'kilobytes/sec', value: 'KBs' },\n { text: 'megabits/sec', value: 'Mbits' },\n { text: 'megabytes/sec', value: 'MBs' },\n { text: 'gigabytes/sec', value: 'GBs' },\n { text: 'gigabits/sec', value: 'Gbits' },\n ],\n },\n {\n text: 'hash rate',\n submenu: [\n { text: 'hashes/sec', value: 'Hs' },\n { text: 'kilohashes/sec', value: 'KHs' },\n { text: 'megahashes/sec', value: 'MHs' },\n { text: 'gigahashes/sec', value: 'GHs' },\n { text: 'terahashes/sec', value: 'THs' },\n { text: 'petahashes/sec', value: 'PHs' },\n { text: 'exahashes/sec', value: 'EHs' },\n ],\n },\n {\n text: 'throughput',\n submenu: [\n { text: 'ops/sec (ops)', value: 'ops' },\n { text: 'requets/sec (rps)', value: 'reqps' },\n { text: 'reads/sec (rps)', value: 'rps' },\n { text: 'writes/sec (wps)', value: 'wps' },\n { text: 'I/O ops/sec (iops)', value: 'iops' },\n { text: 'ops/min (opm)', value: 'opm' },\n { text: 'reads/min (rpm)', value: 'rpm' },\n { text: 'writes/min (wpm)', value: 'wpm' },\n ],\n },\n {\n text: 'length',\n submenu: [\n { text: 'millimetre (mm)', value: 'lengthmm' },\n { text: 'meter (m)', value: 'lengthm' },\n { text: 'feet (ft)', value: 'lengthft' },\n { text: 'kilometer (km)', value: 'lengthkm' },\n { text: 'mile (mi)', value: 'lengthmi' },\n ],\n },\n {\n text: 'area',\n submenu: [\n { text: 'Square Meters (m²)', value: 'areaM2' },\n { text: 'Square Feet (ft²)', value: 'areaF2' },\n { text: 'Square Miles (mi²)', value: 'areaMI2' },\n ],\n },\n {\n text: 'mass',\n submenu: [\n { text: 'milligram (mg)', value: 'massmg' },\n { text: 'gram (g)', value: 'massg' },\n { text: 'kilogram (kg)', value: 'masskg' },\n { text: 'metric ton (t)', value: 'masst' },\n ],\n },\n {\n text: 'velocity',\n submenu: [\n { text: 'metres/second (m/s)', value: 'velocityms' },\n { text: 'kilometers/hour (km/h)', value: 'velocitykmh' },\n { text: 'miles/hour (mph)', value: 'velocitymph' },\n { text: 'knot (kn)', value: 'velocityknot' },\n ],\n },\n {\n text: 'volume',\n submenu: [\n { text: 'millilitre (mL)', value: 'mlitre' },\n { text: 'litre (L)', value: 'litre' },\n { text: 'cubic metre', value: 'm3' },\n { text: 'Normal cubic metre', value: 'Nm3' },\n { text: 'cubic decimetre', value: 'dm3' },\n { text: 'gallons', value: 'gallons' },\n ],\n },\n {\n text: 'energy',\n submenu: [\n { text: 'Watt (W)', value: 'watt' },\n { text: 'Kilowatt (kW)', value: 'kwatt' },\n { text: 'Milliwatt (mW)', value: 'mwatt' },\n { text: 'Watt per square metre (W/m2)', value: 'Wm2' },\n { text: 'Volt-ampere (VA)', value: 'voltamp' },\n { text: 'Kilovolt-ampere (kVA)', value: 'kvoltamp' },\n { text: 'Volt-ampere reactive (var)', value: 'voltampreact' },\n { text: 'Kilovolt-ampere reactive (kvar)', value: 'kvoltampreact' },\n { text: 'Watt-hour (Wh)', value: 'watth' },\n { text: 'Kilowatt-hour (kWh)', value: 'kwatth' },\n { text: 'Kilowatt-min (kWm)', value: 'kwattm' },\n { text: 'Joule (J)', value: 'joule' },\n { text: 'Electron volt (eV)', value: 'ev' },\n { text: 'Ampere (A)', value: 'amp' },\n { text: 'Kiloampere (kA)', value: 'kamp' },\n { text: 'Milliampere (mA)', value: 'mamp' },\n { text: 'Volt (V)', value: 'volt' },\n { text: 'Kilovolt (kV)', value: 'kvolt' },\n { text: 'Millivolt (mV)', value: 'mvolt' },\n { text: 'Decibel-milliwatt (dBm)', value: 'dBm' },\n { text: 'Ohm (Ω)', value: 'ohm' },\n { text: 'Lumens (Lm)', value: 'lumens' },\n ],\n },\n {\n text: 'temperature',\n submenu: [\n { text: 'Celsius (°C)', value: 'celsius' },\n { text: 'Farenheit (°F)', value: 'farenheit' },\n { text: 'Kelvin (K)', value: 'kelvin' },\n ],\n },\n {\n text: 'pressure',\n submenu: [\n { text: 'Millibars', value: 'pressurembar' },\n { text: 'Bars', value: 'pressurebar' },\n { text: 'Kilobars', value: 'pressurekbar' },\n { text: 'Hectopascals', value: 'pressurehpa' },\n { text: 'Kilopascals', value: 'pressurekpa' },\n { text: 'Inches of mercury', value: 'pressurehg' },\n { text: 'PSI', value: 'pressurepsi' },\n ],\n },\n {\n text: 'force',\n submenu: [\n { text: 'Newton-meters (Nm)', value: 'forceNm' },\n { text: 'Kilonewton-meters (kNm)', value: 'forcekNm' },\n { text: 'Newtons (N)', value: 'forceN' },\n { text: 'Kilonewtons (kN)', value: 'forcekN' },\n ],\n },\n {\n text: 'flow',\n submenu: [\n { text: 'Gallons/min (gpm)', value: 'flowgpm' },\n { text: 'Cubic meters/sec (cms)', value: 'flowcms' },\n { text: 'Cubic feet/sec (cfs)', value: 'flowcfs' },\n { text: 'Cubic feet/min (cfm)', value: 'flowcfm' },\n { text: 'Litre/hour', value: 'litreh' },\n { text: 'Litre/min (l/min)', value: 'flowlpm' },\n { text: 'milliLitre/min (mL/min)', value: 'flowmlpm' },\n ],\n },\n {\n text: 'angle',\n submenu: [\n { text: 'Degrees (°)', value: 'degree' },\n { text: 'Radians', value: 'radian' },\n { text: 'Gradian', value: 'grad' },\n ],\n },\n {\n text: 'acceleration',\n submenu: [\n { text: 'Meters/sec²', value: 'accMS2' },\n { text: 'Feet/sec²', value: 'accFS2' },\n { text: 'G unit', value: 'accG' },\n ],\n },\n {\n text: 'radiation',\n submenu: [\n { text: 'Becquerel (Bq)', value: 'radbq' },\n { text: 'curie (Ci)', value: 'radci' },\n { text: 'Gray (Gy)', value: 'radgy' },\n { text: 'rad', value: 'radrad' },\n { text: 'Sievert (Sv)', value: 'radsv' },\n { text: 'rem', value: 'radrem' },\n { text: 'Exposure (C/kg)', value: 'radexpckg' },\n { text: 'roentgen (R)', value: 'radr' },\n { text: 'Sievert/hour (Sv/h)', value: 'radsvh' },\n ],\n },\n {\n text: 'concentration',\n submenu: [\n { text: 'parts-per-million (ppm)', value: 'ppm' },\n { text: 'parts-per-billion (ppb)', value: 'conppb' },\n { text: 'nanogram per cubic metre (ng/m3)', value: 'conngm3' },\n { text: 'nanogram per normal cubic metre (ng/Nm3)', value: 'conngNm3' },\n { text: 'microgram per cubic metre (μg/m3)', value: 'conμgm3' },\n { text: 'microgram per normal cubic metre (μg/Nm3)', value: 'conμgNm3' },\n { text: 'milligram per cubic metre (mg/m3)', value: 'conmgm3' },\n { text: 'milligram per normal cubic metre (mg/Nm3)', value: 'conmgNm3' },\n { text: 'gram per cubic metre (g/m3)', value: 'congm3' },\n { text: 'gram per normal cubic metre (g/Nm3)', value: 'congNm3' },\n ],\n },\n ];\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (kbn);\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = updateLegendValues;\n/* unused harmony export getDataMinMax */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_utils_kbn__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_utils_ticks__ = __webpack_require__(696);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_lodash__);\n\n\n\nfunction matchSeriesOverride(aliasOrRegex, seriesAlias) {\n if (!aliasOrRegex) {\n return false;\n }\n if (aliasOrRegex[0] === '/') {\n var regex = __WEBPACK_IMPORTED_MODULE_0_app_core_utils_kbn__[\"a\" /* default */].stringToJsRegex(aliasOrRegex);\n return seriesAlias.match(regex) != null;\n }\n return aliasOrRegex === seriesAlias;\n}\nfunction translateFillOption(fill) {\n return fill === 0 ? 0.001 : fill / 10;\n}\n/**\n * Calculate decimals for legend and update values for each series.\n * @param data series data\n * @param panel\n * @param height\n */\nfunction updateLegendValues(data, panel, height) {\n for (var i = 0; i < data.length; i++) {\n var series = data[i];\n var yaxes = panel.yaxes;\n var seriesYAxis = series.yaxis || 1;\n var axis = yaxes[seriesYAxis - 1];\n var formater = __WEBPACK_IMPORTED_MODULE_0_app_core_utils_kbn__[\"a\" /* default */].valueFormats[axis.format];\n // decimal override\n if (__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.isNumber(panel.decimals)) {\n series.updateLegendValues(formater, panel.decimals, null);\n }\n else if (__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.isNumber(axis.decimals)) {\n series.updateLegendValues(formater, axis.decimals + 1, null);\n }\n else {\n // auto decimals\n // legend and tooltip gets one more decimal precision\n // than graph legend ticks\n var _a = getDataMinMax(data), datamin = _a.datamin, datamax = _a.datamax;\n var _b = Object(__WEBPACK_IMPORTED_MODULE_1_app_core_utils_ticks__[\"getFlotTickDecimals\"])(datamin, datamax, axis, height), tickDecimals = _b.tickDecimals, scaledDecimals = _b.scaledDecimals;\n tickDecimals = (tickDecimals || -1) + 1;\n series.updateLegendValues(formater, tickDecimals, scaledDecimals + 2);\n }\n }\n}\nfunction getDataMinMax(data) {\n var datamin = null;\n var datamax = null;\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var series = data_1[_i];\n if (datamax === null || datamax < series.stats.max) {\n datamax = series.stats.max;\n }\n if (datamin === null || datamin > series.stats.min) {\n datamin = series.stats.min;\n }\n }\n return { datamin: datamin, datamax: datamax };\n}\nvar TimeSeries = /** @class */ (function () {\n function TimeSeries(opts) {\n this.datapoints = opts.datapoints;\n this.label = opts.alias;\n this.id = opts.alias;\n this.alias = opts.alias;\n this.aliasEscaped = __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.escape(opts.alias);\n this.color = opts.color;\n this.bars = { fillColor: opts.color };\n this.valueFormater = __WEBPACK_IMPORTED_MODULE_0_app_core_utils_kbn__[\"a\" /* default */].valueFormats.none;\n this.stats = {};\n this.legend = true;\n this.unit = opts.unit;\n this.hasMsResolution = this.isMsResolutionNeeded();\n }\n TimeSeries.prototype.applySeriesOverrides = function (overrides) {\n this.lines = {};\n this.dashes = {\n dashLength: [],\n };\n this.points = {};\n this.yaxis = 1;\n this.zindex = 0;\n this.nullPointMode = null;\n delete this.stack;\n delete this.bars.show;\n for (var i = 0; i < overrides.length; i++) {\n var override = overrides[i];\n if (!matchSeriesOverride(override.alias, this.alias)) {\n continue;\n }\n if (override.lines !== void 0) {\n this.lines.show = override.lines;\n }\n if (override.dashes !== void 0) {\n this.dashes.show = override.dashes;\n this.lines.lineWidth = 0;\n }\n if (override.points !== void 0) {\n this.points.show = override.points;\n }\n if (override.bars !== void 0) {\n this.bars.show = override.bars;\n }\n if (override.fill !== void 0) {\n this.lines.fill = translateFillOption(override.fill);\n }\n if (override.stack !== void 0) {\n this.stack = override.stack;\n }\n if (override.linewidth !== void 0) {\n this.lines.lineWidth = this.dashes.show ? 0 : override.linewidth;\n this.dashes.lineWidth = override.linewidth;\n }\n if (override.dashLength !== void 0) {\n this.dashes.dashLength[0] = override.dashLength;\n }\n if (override.spaceLength !== void 0) {\n this.dashes.dashLength[1] = override.spaceLength;\n }\n if (override.nullPointMode !== void 0) {\n this.nullPointMode = override.nullPointMode;\n }\n if (override.pointradius !== void 0) {\n this.points.radius = override.pointradius;\n }\n if (override.steppedLine !== void 0) {\n this.lines.steps = override.steppedLine;\n }\n if (override.zindex !== void 0) {\n this.zindex = override.zindex;\n }\n if (override.fillBelowTo !== void 0) {\n this.fillBelowTo = override.fillBelowTo;\n }\n if (override.color !== void 0) {\n this.setColor(override.color);\n }\n if (override.transform !== void 0) {\n this.transform = override.transform;\n }\n if (override.legend !== void 0) {\n this.legend = override.legend;\n }\n if (override.yaxis !== void 0) {\n this.yaxis = override.yaxis;\n }\n }\n };\n TimeSeries.prototype.getFlotPairs = function (fillStyle) {\n var result = [];\n this.stats.total = 0;\n this.stats.max = -Number.MAX_VALUE;\n this.stats.min = Number.MAX_VALUE;\n this.stats.logmin = Number.MAX_VALUE;\n this.stats.avg = null;\n this.stats.current = null;\n this.stats.first = null;\n this.stats.delta = 0;\n this.stats.diff = null;\n this.stats.range = null;\n this.stats.timeStep = Number.MAX_VALUE;\n this.allIsNull = true;\n this.allIsZero = true;\n var ignoreNulls = fillStyle === 'connected';\n var nullAsZero = fillStyle === 'null as zero';\n var currentTime;\n var currentValue;\n var nonNulls = 0;\n var previousTime;\n var previousValue = 0;\n var previousDeltaUp = true;\n for (var i = 0; i < this.datapoints.length; i++) {\n currentValue = this.datapoints[i][0];\n currentTime = this.datapoints[i][1];\n // Due to missing values we could have different timeStep all along the series\n // so we have to find the minimum one (could occur with aggregators such as ZimSum)\n if (previousTime !== undefined) {\n var timeStep = currentTime - previousTime;\n if (timeStep < this.stats.timeStep) {\n this.stats.timeStep = timeStep;\n }\n }\n previousTime = currentTime;\n if (currentValue === null) {\n if (ignoreNulls) {\n continue;\n }\n if (nullAsZero) {\n currentValue = 0;\n }\n }\n if (currentValue !== null) {\n if (__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.isNumber(currentValue)) {\n this.stats.total += currentValue;\n this.allIsNull = false;\n nonNulls++;\n }\n if (currentValue > this.stats.max) {\n this.stats.max = currentValue;\n }\n if (currentValue < this.stats.min) {\n this.stats.min = currentValue;\n }\n if (this.stats.first === null) {\n this.stats.first = currentValue;\n }\n else {\n if (previousValue > currentValue) {\n // counter reset\n previousDeltaUp = false;\n if (i === this.datapoints.length - 1) {\n // reset on last\n this.stats.delta += currentValue;\n }\n }\n else {\n if (previousDeltaUp) {\n this.stats.delta += currentValue - previousValue; // normal increment\n }\n else {\n this.stats.delta += currentValue; // account for counter reset\n }\n previousDeltaUp = true;\n }\n }\n previousValue = currentValue;\n if (currentValue < this.stats.logmin && currentValue > 0) {\n this.stats.logmin = currentValue;\n }\n if (currentValue !== 0) {\n this.allIsZero = false;\n }\n }\n result.push([currentTime, currentValue]);\n }\n if (this.stats.max === -Number.MAX_VALUE) {\n this.stats.max = null;\n }\n if (this.stats.min === Number.MAX_VALUE) {\n this.stats.min = null;\n }\n if (result.length && !this.allIsNull) {\n this.stats.avg = this.stats.total / nonNulls;\n this.stats.current = result[result.length - 1][1];\n if (this.stats.current === null && result.length > 1) {\n this.stats.current = result[result.length - 2][1];\n }\n }\n if (this.stats.max !== null && this.stats.min !== null) {\n this.stats.range = this.stats.max - this.stats.min;\n }\n if (this.stats.current !== null && this.stats.first !== null) {\n this.stats.diff = this.stats.current - this.stats.first;\n }\n this.stats.count = result.length;\n return result;\n };\n TimeSeries.prototype.updateLegendValues = function (formater, decimals, scaledDecimals) {\n this.valueFormater = formater;\n this.decimals = decimals;\n this.scaledDecimals = scaledDecimals;\n };\n TimeSeries.prototype.formatValue = function (value) {\n if (!__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.isFinite(value)) {\n value = null; // Prevent NaN formatting\n }\n return this.valueFormater(value, this.decimals, this.scaledDecimals);\n };\n TimeSeries.prototype.isMsResolutionNeeded = function () {\n for (var i = 0; i < this.datapoints.length; i++) {\n if (this.datapoints[i][1] !== null) {\n var timestamp = this.datapoints[i][1].toString();\n if (timestamp.length === 13 && timestamp % 1000 !== 0) {\n return true;\n }\n }\n }\n return false;\n };\n TimeSeries.prototype.hideFromLegend = function (options) {\n if (options.hideEmpty && this.allIsNull) {\n return true;\n }\n // ignore series excluded via override\n if (!this.legend) {\n return true;\n }\n // ignore zero series\n if (options.hideZero && this.allIsZero) {\n return true;\n }\n return false;\n };\n TimeSeries.prototype.setColor = function (color) {\n this.color = color;\n this.bars.fillColor = color;\n };\n return TimeSeries;\n}());\n/* harmony default export */ __webpack_exports__[\"a\"] = (TimeSeries);\n\n\n/***/ }),\n/* 314 */,\n/* 315 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return GRID_CELL_HEIGHT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return GRID_CELL_VMARGIN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return GRID_COLUMN_COUNT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return REPEAT_DIR_VERTICAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DEFAULT_PANEL_SPAN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return DEFAULT_ROW_HEIGHT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return MIN_PANEL_HEIGHT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return LS_PANEL_COPY_KEY; });\nvar GRID_CELL_HEIGHT = 30;\nvar GRID_CELL_VMARGIN = 10;\nvar GRID_COLUMN_COUNT = 24;\nvar REPEAT_DIR_VERTICAL = 'v';\nvar DEFAULT_PANEL_SPAN = 4;\nvar DEFAULT_ROW_HEIGHT = 250;\nvar MIN_PANEL_HEIGHT = GRID_CELL_HEIGHT * 3;\nvar LS_PANEL_COPY_KEY = 'panel-copy';\n\n\n/***/ }),\n/* 316 */,\n/* 317 */,\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar root_1 = __webpack_require__(199);\nvar Symbol = root_1.root.Symbol;\nexports.rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n Symbol.for('rxSubscriber') : '@@rxSubscriber';\n/**\n * @deprecated use rxSubscriber instead\n */\nexports.$$rxSubscriber = exports.rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n\n/***/ }),\n/* 319 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PanelModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_utils_emitter__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n\n\nvar notPersistedProperties = {\n events: true,\n fullscreen: true,\n isEditing: true,\n showEcuEvents: true,\n};\nvar PanelModel = /** @class */ (function () {\n function PanelModel(model) {\n this.events = new __WEBPACK_IMPORTED_MODULE_0_app_core_utils_emitter__[\"a\" /* Emitter */]();\n // copy properties from persisted model\n for (var property in model) {\n this[property] = model[property];\n }\n if (!this.gridPos) {\n this.gridPos = { x: 0, y: 0, h: 3, w: 6 };\n }\n }\n PanelModel.prototype.getSaveModel = function () {\n var model = {};\n for (var property in this) {\n if (notPersistedProperties[property] || !this.hasOwnProperty(property)) {\n continue;\n }\n model[property] = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(this[property]);\n }\n if (this.type === 'sensor') {\n delete model.targets;\n if (!this.hasCustomTitle) {\n delete model.title;\n }\n }\n return model;\n };\n PanelModel.prototype.setViewMode = function (fullscreen, isEditing) {\n this.fullscreen = fullscreen;\n this.isEditing = isEditing;\n this.events.emit('panel-size-changed');\n };\n PanelModel.prototype.updateGridPos = function (newPos) {\n var sizeChanged = false;\n if (this.gridPos.w !== newPos.w || this.gridPos.h !== newPos.h) {\n sizeChanged = true;\n }\n this.gridPos.x = newPos.x;\n this.gridPos.y = newPos.y;\n this.gridPos.w = newPos.w;\n this.gridPos.h = newPos.h;\n if (sizeChanged) {\n console.log('PanelModel sizeChanged event and render events fired');\n this.events.emit('panel-size-changed');\n }\n };\n PanelModel.prototype.resizeDone = function () {\n this.events.emit('panel-size-changed');\n };\n PanelModel.prototype.refresh = function () {\n this.events.emit('refresh');\n };\n PanelModel.prototype.destroy = function () {\n this.events.removeAllListeners();\n };\n return PanelModel;\n}());\n\n\n\n/***/ }),\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */,\n/* 326 */,\n/* 327 */,\n/* 328 */,\n/* 329 */,\n/* 330 */,\n/* 331 */,\n/* 332 */,\n/* 333 */,\n/* 334 */,\n/* 335 */,\n/* 336 */,\n/* 337 */,\n/* 338 */,\n/* 339 */,\n/* 340 */,\n/* 341 */,\n/* 342 */,\n/* 343 */,\n/* 344 */,\n/* 345 */,\n/* 346 */,\n/* 347 */,\n/* 348 */,\n/* 349 */,\n/* 350 */,\n/* 351 */,\n/* 352 */,\n/* 353 */,\n/* 354 */,\n/* 355 */,\n/* 356 */,\n/* 357 */,\n/* 358 */,\n/* 359 */,\n/* 360 */,\n/* 361 */,\n/* 362 */,\n/* 363 */,\n/* 364 */,\n/* 365 */,\n/* 366 */,\n/* 367 */,\n/* 368 */,\n/* 369 */,\n/* 370 */,\n/* 371 */,\n/* 372 */,\n/* 373 */,\n/* 374 */,\n/* 375 */,\n/* 376 */,\n/* 377 */,\n/* 378 */,\n/* 379 */,\n/* 380 */,\n/* 381 */,\n/* 382 */,\n/* 383 */,\n/* 384 */,\n/* 385 */,\n/* 386 */,\n/* 387 */,\n/* 388 */,\n/* 389 */,\n/* 390 */,\n/* 391 */,\n/* 392 */,\n/* 393 */,\n/* 394 */,\n/* 395 */,\n/* 396 */,\n/* 397 */,\n/* 398 */,\n/* 399 */,\n/* 400 */,\n/* 401 */,\n/* 402 */,\n/* 403 */,\n/* 404 */,\n/* 405 */,\n/* 406 */,\n/* 407 */,\n/* 408 */,\n/* 409 */,\n/* 410 */,\n/* 411 */,\n/* 412 */,\n/* 413 */,\n/* 414 */,\n/* 415 */,\n/* 416 */,\n/* 417 */,\n/* 418 */,\n/* 419 */,\n/* 420 */,\n/* 421 */,\n/* 422 */,\n/* 423 */,\n/* 424 */,\n/* 425 */,\n/* 426 */,\n/* 427 */,\n/* 428 */,\n/* 429 */,\n/* 430 */,\n/* 431 */,\n/* 432 */,\n/* 433 */,\n/* 434 */,\n/* 435 */,\n/* 436 */,\n/* 437 */,\n/* 438 */,\n/* 439 */,\n/* 440 */,\n/* 441 */,\n/* 442 */,\n/* 443 */,\n/* 444 */,\n/* 445 */,\n/* 446 */,\n/* 447 */,\n/* 448 */,\n/* 449 */,\n/* 450 */,\n/* 451 */,\n/* 452 */,\n/* 453 */,\n/* 454 */,\n/* 455 */,\n/* 456 */,\n/* 457 */,\n/* 458 */,\n/* 459 */,\n/* 460 */,\n/* 461 */,\n/* 462 */,\n/* 463 */,\n/* 464 */,\n/* 465 */,\n/* 466 */,\n/* 467 */,\n/* 468 */,\n/* 469 */,\n/* 470 */,\n/* 471 */,\n/* 472 */,\n/* 473 */,\n/* 474 */,\n/* 475 */,\n/* 476 */,\n/* 477 */,\n/* 478 */,\n/* 479 */,\n/* 480 */,\n/* 481 */,\n/* 482 */,\n/* 483 */,\n/* 484 */,\n/* 485 */,\n/* 486 */,\n/* 487 */,\n/* 488 */,\n/* 489 */,\n/* 490 */,\n/* 491 */,\n/* 492 */,\n/* 493 */,\n/* 494 */,\n/* 495 */,\n/* 496 */,\n/* 497 */,\n/* 498 */,\n/* 499 */,\n/* 500 */,\n/* 501 */,\n/* 502 */,\n/* 503 */,\n/* 504 */,\n/* 505 */,\n/* 506 */,\n/* 507 */,\n/* 508 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return JsonExplorer; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__helpers__ = __webpack_require__(1174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n// Based on work https://github.com/mohsen1/json-formatter-js\n// Licence MIT, Copyright (c) 2015 Mohsen Azimi\n\n\nvar DATE_STRING_REGEX = /(^\\d{1,4}[\\.|\\\\/|-]\\d{1,2}[\\.|\\\\/|-]\\d{1,4})(\\s*(?:0?[1-9]:[0-5]|1(?=[012])\\d:[0-5])\\d\\s*[ap]m)?$/;\nvar PARTIAL_DATE_REGEX = /\\d{2}:\\d{2}:\\d{2} GMT-\\d{4}/;\nvar JSON_DATE_REGEX = /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/;\n// When toggleing, don't animated removal or addition of more than a few items\nvar MAX_ANIMATED_TOGGLE_ITEMS = 10;\nvar requestAnimationFrame = window.requestAnimationFrame ||\n function (cb) {\n cb();\n return 0;\n };\nvar _defaultConfig = {\n animateOpen: true,\n animateClose: true,\n theme: null,\n};\n/**\n * @class JsonExplorer\n *\n * JsonExplorer allows you to render JSON objects in HTML with a\n * **collapsible** navigation.\n */\nvar JsonExplorer = /** @class */ (function () {\n /**\n * @param {object} json The JSON object you want to render. It has to be an\n * object or array. Do NOT pass raw JSON string.\n *\n * @param {number} [open=1] his number indicates up to how many levels the\n * rendered tree should expand. Set it to `0` to make the whole tree collapsed\n * or set it to `Infinity` to expand the tree deeply\n *\n * @param {object} [config=defaultConfig] -\n * defaultConfig = {\n * hoverPreviewEnabled: false,\n * hoverPreviewArrayCount: 100,\n * hoverPreviewFieldCount: 5\n * }\n *\n * Available configurations:\n * #####Hover Preview\n * * `hoverPreviewEnabled`: enable preview on hover\n * * `hoverPreviewArrayCount`: number of array items to show in preview Any\n * array larger than this number will be shown as `Array[XXX]` where `XXX`\n * is length of the array.\n * * `hoverPreviewFieldCount`: number of object properties to show for object\n * preview. Any object with more properties that thin number will be\n * truncated.\n *\n * @param {string} [key=undefined] The key that this object in it's parent\n * context\n */\n function JsonExplorer(json, open, config, key) {\n if (open === void 0) { open = 1; }\n if (config === void 0) { config = _defaultConfig; }\n this.json = json;\n this.open = open;\n this.config = config;\n this.key = key;\n // Hold the open state after the toggler is used\n this._isOpen = null;\n this.skipChildren = false;\n }\n Object.defineProperty(JsonExplorer.prototype, \"isOpen\", {\n /*\n * is formatter open?\n */\n get: function () {\n if (this._isOpen !== null) {\n return this._isOpen;\n }\n else {\n return this.open > 0;\n }\n },\n /*\n * set open state (from toggler)\n */\n set: function (value) {\n this._isOpen = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isDate\", {\n /*\n * is this a date string?\n */\n get: function () {\n return (this.type === 'string' &&\n (DATE_STRING_REGEX.test(this.json) || JSON_DATE_REGEX.test(this.json) || PARTIAL_DATE_REGEX.test(this.json)));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isUrl\", {\n /*\n * is this a URL string?\n */\n get: function () {\n return this.type === 'string' && this.json.indexOf('http') === 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isArray\", {\n /*\n * is this an array?\n */\n get: function () {\n return Array.isArray(this.json);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isObject\", {\n /*\n * is this an object?\n * Note: In this context arrays are object as well\n */\n get: function () {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"f\" /* isObject */])(this.json);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isEmptyObject\", {\n /*\n * is this an empty object with no properties?\n */\n get: function () {\n return !this.keys.length && !this.isArray;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"isEmpty\", {\n /*\n * is this an empty object or array?\n */\n get: function () {\n return this.isEmptyObject || (this.keys && !this.keys.length && this.isArray);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"hasKey\", {\n /*\n * did we receive a key argument?\n * This means that the formatter was called as a sub formatter of a parent formatter\n */\n get: function () {\n return typeof this.key !== 'undefined';\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"constructorName\", {\n /*\n * if this is an object, get constructor function name\n */\n get: function () {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"c\" /* getObjectName */])(this.json);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"type\", {\n /*\n * get type of this value\n * Possible values: all JavaScript primitive types plus \"array\" and \"null\"\n */\n get: function () {\n return Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"d\" /* getType */])(this.json);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(JsonExplorer.prototype, \"keys\", {\n /*\n * get object keys\n * If there is an empty key we pad it wit quotes to make it visible\n */\n get: function () {\n if (this.isObject) {\n return Object.keys(this.json).map(function (key) { return (key ? key : '\"\"'); });\n }\n else {\n return [];\n }\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Toggles `isOpen` state\n *\n */\n JsonExplorer.prototype.toggleOpen = function () {\n this.isOpen = !this.isOpen;\n if (this.element) {\n if (this.isOpen) {\n this.appendChildren(this.config.animateOpen);\n }\n else {\n this.removeChildren(this.config.animateClose);\n }\n this.element.classList.toggle(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('open'));\n }\n };\n /**\n * Open all children up to a certain depth.\n * Allows actions such as expand all/collapse all\n *\n */\n JsonExplorer.prototype.openAtDepth = function (depth) {\n if (depth === void 0) { depth = 1; }\n if (depth < 0) {\n return;\n }\n this.open = depth;\n this.isOpen = depth !== 0;\n if (this.element) {\n this.removeChildren(false);\n if (depth === 0) {\n this.element.classList.remove(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('open'));\n }\n else {\n this.appendChildren(this.config.animateOpen);\n this.element.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('open'));\n }\n }\n };\n JsonExplorer.prototype.isNumberArray = function () {\n return this.json.length > 0 && this.json.length < 4 && (__WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isNumber(this.json[0]) || __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isNumber(this.json[1]));\n };\n JsonExplorer.prototype.renderArray = function () {\n var arrayWrapperSpan = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span');\n arrayWrapperSpan.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'bracket', '['));\n // some pretty handling of number arrays\n if (this.isNumberArray()) {\n this.json.forEach(function (val, index) {\n if (index > 0) {\n arrayWrapperSpan.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'array-comma', ','));\n }\n arrayWrapperSpan.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'number', val));\n });\n this.skipChildren = true;\n }\n else {\n arrayWrapperSpan.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'number', this.json.length));\n }\n arrayWrapperSpan.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'bracket', ']'));\n return arrayWrapperSpan;\n };\n /**\n * Renders an HTML element and installs event listeners\n *\n * @returns {HTMLDivElement}\n */\n JsonExplorer.prototype.render = function (skipRoot) {\n if (skipRoot === void 0) { skipRoot = false; }\n // construct the root element and assign it to this.element\n this.element = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('div', 'row');\n // construct the toggler link\n var togglerLink = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('a', 'toggler-link');\n var togglerIcon = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'toggler');\n // if this is an object we need a wrapper span (toggler)\n if (this.isObject) {\n togglerLink.appendChild(togglerIcon);\n }\n // if this is child of a parent formatter we need to append the key\n if (this.hasKey) {\n togglerLink.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'key', this.key + \":\"));\n }\n // Value for objects and arrays\n if (this.isObject) {\n // construct the value holder element\n var value = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'value');\n // we need a wrapper span for objects\n var objectWrapperSpan = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span');\n // get constructor name and append it to wrapper span\n var constructorName = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span', 'constructor-name', this.constructorName);\n objectWrapperSpan.appendChild(constructorName);\n // if it's an array append the array specific elements like brackets and length\n if (this.isArray) {\n var arrayWrapperSpan = this.renderArray();\n objectWrapperSpan.appendChild(arrayWrapperSpan);\n }\n // append object wrapper span to toggler link\n value.appendChild(objectWrapperSpan);\n togglerLink.appendChild(value);\n // Primitive values\n }\n else {\n // make a value holder element\n var value = this.isUrl ? Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('a') : Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('span');\n // add type and other type related CSS classes\n value.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])(this.type));\n if (this.isDate) {\n value.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('date'));\n }\n if (this.isUrl) {\n value.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('url'));\n value.setAttribute('href', this.json);\n }\n // Append value content to value element\n var valuePreview = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"e\" /* getValuePreview */])(this.json, this.json);\n value.appendChild(document.createTextNode(valuePreview));\n // append the value element to toggler link\n togglerLink.appendChild(value);\n }\n // construct a children element\n var children = Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"a\" /* createElement */])('div', 'children');\n // set CSS classes for children\n if (this.isObject) {\n children.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('object'));\n }\n if (this.isArray) {\n children.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('array'));\n }\n if (this.isEmpty) {\n children.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('empty'));\n }\n // set CSS classes for root element\n if (this.config && this.config.theme) {\n this.element.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])(this.config.theme));\n }\n if (this.isOpen) {\n this.element.classList.add(Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('open'));\n }\n // append toggler and children elements to root element\n if (!skipRoot) {\n this.element.appendChild(togglerLink);\n }\n if (!this.skipChildren) {\n this.element.appendChild(children);\n }\n else {\n // remove togglerIcon\n togglerLink.removeChild(togglerIcon);\n }\n // if formatter is set to be open call appendChildren\n if (this.isObject && this.isOpen) {\n this.appendChildren();\n }\n // add event listener for toggling\n if (this.isObject) {\n togglerLink.addEventListener('click', this.toggleOpen.bind(this));\n }\n return this.element;\n };\n /**\n * Appends all the children to children element\n * Animated option is used when user triggers this via a click\n */\n JsonExplorer.prototype.appendChildren = function (animated) {\n var _this = this;\n if (animated === void 0) { animated = false; }\n var children = this.element.querySelector(\"div.\" + Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('children'));\n if (!children || this.isEmpty) {\n return;\n }\n if (animated) {\n var index_1 = 0;\n var addAChild_1 = function () {\n var key = _this.keys[index_1];\n var formatter = new JsonExplorer(_this.json[key], _this.open - 1, _this.config, key);\n children.appendChild(formatter.render());\n index_1 += 1;\n if (index_1 < _this.keys.length) {\n if (index_1 > MAX_ANIMATED_TOGGLE_ITEMS) {\n addAChild_1();\n }\n else {\n requestAnimationFrame(addAChild_1);\n }\n }\n };\n requestAnimationFrame(addAChild_1);\n }\n else {\n this.keys.forEach(function (key) {\n var formatter = new JsonExplorer(_this.json[key], _this.open - 1, _this.config, key);\n children.appendChild(formatter.render());\n });\n }\n };\n /**\n * Removes all the children from children element\n * Animated option is used when user triggers this via a click\n */\n JsonExplorer.prototype.removeChildren = function (animated) {\n if (animated === void 0) { animated = false; }\n var childrenElement = this.element.querySelector(\"div.\" + Object(__WEBPACK_IMPORTED_MODULE_0__helpers__[\"b\" /* cssClass */])('children'));\n if (animated) {\n var childrenRemoved_1 = 0;\n var removeAChild_1 = function () {\n if (childrenElement && childrenElement.children.length) {\n childrenElement.removeChild(childrenElement.children[0]);\n childrenRemoved_1 += 1;\n if (childrenRemoved_1 > MAX_ANIMATED_TOGGLE_ITEMS) {\n removeAChild_1();\n }\n else {\n requestAnimationFrame(removeAChild_1);\n }\n }\n };\n requestAnimationFrame(removeAChild_1);\n }\n else {\n if (childrenElement) {\n childrenElement.innerHTML = '';\n }\n }\n };\n return JsonExplorer;\n}());\n\n\n\n/***/ }),\n/* 509 */,\n/* 510 */,\n/* 511 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColorPickerPopover; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_tinycolor2__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_tinycolor2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_tinycolor2__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ColorPalette__ = __webpack_require__(1197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__SpectrumPicker__ = __webpack_require__(1198);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar DEFAULT_COLOR = '#000000';\nvar ColorPickerPopover = /** @class */ (function (_super) {\n __extends(ColorPickerPopover, _super);\n function ColorPickerPopover(props) {\n var _this = _super.call(this, props) || this;\n _this.state = {\n tab: 'palette',\n color: _this.props.color || DEFAULT_COLOR,\n colorString: _this.props.color || DEFAULT_COLOR\n };\n return _this;\n }\n ColorPickerPopover.prototype.setPickerNavElem = function (elem) {\n this.pickerNavElem = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(elem);\n };\n ColorPickerPopover.prototype.setColor = function (color) {\n var newColor = __WEBPACK_IMPORTED_MODULE_2_tinycolor2___default()(color);\n if (newColor.isValid()) {\n this.setState({\n color: newColor.toString(),\n colorString: newColor.toString()\n });\n this.props.onColorSelect(color);\n }\n };\n ColorPickerPopover.prototype.sampleColorSelected = function (color) {\n this.setColor(color);\n };\n ColorPickerPopover.prototype.spectrumColorSelected = function (color) {\n var rgbColor = color.toRgbString();\n this.setColor(rgbColor);\n };\n ColorPickerPopover.prototype.onColorStringChange = function (e) {\n var colorString = e.target.value;\n this.setState({\n colorString: colorString\n });\n var newColor = __WEBPACK_IMPORTED_MODULE_2_tinycolor2___default()(colorString);\n if (newColor.isValid()) {\n // Update only color state\n var newColorString = newColor.toString();\n this.setState({\n color: newColorString,\n });\n this.props.onColorSelect(newColorString);\n }\n };\n ColorPickerPopover.prototype.onColorStringBlur = function (e) {\n var colorString = e.target.value;\n this.setColor(colorString);\n };\n ColorPickerPopover.prototype.componentDidMount = function () {\n var _this = this;\n this.pickerNavElem.find('li:first').addClass('active');\n this.pickerNavElem.on('show', function (e) {\n // use href attr (#name => name)\n var tab = e.target.hash.slice(1);\n _this.setState({\n tab: tab\n });\n });\n };\n ColorPickerPopover.prototype.render = function () {\n var paletteTab = (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { id: \"palette\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__ColorPalette__[\"a\" /* ColorPalette */], { color: this.state.color, onColorSelect: this.sampleColorSelected.bind(this) })));\n var spectrumTab = (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { id: \"spectrum\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__SpectrumPicker__[\"a\" /* SpectrumPicker */], { color: this.state.color, onColorSelect: this.spectrumColorSelected.bind(this), options: {} })));\n var currentTab = this.state.tab === 'palette' ? paletteTab : spectrumTab;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-color-picker\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"ul\", { className: \"nav nav-tabs\", id: \"colorpickernav\", ref: this.setPickerNavElem.bind(this) },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"li\", { className: \"gf-tabs-item-colorpicker\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"a\", { href: \"#palette\", \"data-toggle\": \"tab\" }, \"Colors\")),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"li\", { className: \"gf-tabs-item-colorpicker\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"a\", { href: \"#spectrum\", \"data-toggle\": \"tab\" }, \"Custom\"))),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-color-picker__body\" }, currentTab),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", null,\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"input\", { className: \"gf-form-input gf-form-input--small\", value: this.state.colorString, onChange: this.onColorStringChange.bind(this), onBlur: this.onColorStringBlur.bind(this) }))));\n };\n return ColorPickerPopover;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component));\n\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Profiler */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return profiler; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_angular__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_angular__);\n\n\nvar Profiler = /** @class */ (function () {\n function Profiler() {\n }\n Profiler.prototype.init = function (config, $rootScope) {\n var _this = this;\n // this.enabled = config.buildInfo.env === 'development';\n this.enabled = false;\n this.timings = {};\n this.timings.appStart = { loadStart: new Date().getTime() };\n this.$rootScope = $rootScope;\n this.window = window;\n if (!this.enabled) {\n return;\n }\n $rootScope.$watch(function () {\n _this.digestCounter++;\n return false;\n }, function () { });\n $rootScope.onAppEvent('refresh', this.refresh.bind(this), $rootScope);\n $rootScope.onAppEvent('dashboard-fetch-end', this.dashboardFetched.bind(this), $rootScope);\n $rootScope.onAppEvent('dashboard-initialized', this.dashboardInitialized.bind(this), $rootScope);\n $rootScope.onAppEvent('panel-initialized', this.panelInitialized.bind(this), $rootScope);\n };\n Profiler.prototype.refresh = function () {\n var _this = this;\n this.timings.query = 0;\n this.timings.render = 0;\n setTimeout(function () {\n console.log('panel count: ' + _this.panelsInitCount);\n console.log('total query: ' + _this.timings.query);\n console.log('total render: ' + _this.timings.render);\n console.log('avg render: ' + _this.timings.render / _this.panelsInitCount);\n }, 5000);\n };\n Profiler.prototype.dashboardFetched = function () {\n this.timings.dashboardLoadStart = new Date().getTime();\n this.panelsInitCount = 0;\n this.digestCounter = 0;\n this.panelsInitCount = 0;\n this.panelsRendered = 0;\n this.timings.query = 0;\n this.timings.render = 0;\n };\n Profiler.prototype.dashboardInitialized = function () {\n var _this = this;\n setTimeout(function () {\n console.log('Dashboard::Performance Total Digests: ' + _this.digestCounter);\n console.log('Dashboard::Performance Total Watchers: ' + _this.getTotalWatcherCount());\n console.log('Dashboard::Performance Total ScopeCount: ' + _this.scopeCount);\n var timeTaken = _this.timings.lastPanelInitializedAt - _this.timings.dashboardLoadStart;\n console.log('Dashboard::Performance All panels initialized in ' + timeTaken + ' ms');\n // measure digest performance\n var rootDigestStart = window.performance.now();\n for (var i = 0; i < 30; i++) {\n _this.$rootScope.$apply();\n }\n console.log('Dashboard::Performance Root Digest ' + (window.performance.now() - rootDigestStart) / 30);\n }, 3000);\n };\n Profiler.prototype.getTotalWatcherCount = function () {\n var count = 0;\n var scopes = 0;\n var root = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(document.getElementsByTagName('body'));\n var f = function (element) {\n if (element.data().hasOwnProperty('$scope')) {\n scopes++;\n __WEBPACK_IMPORTED_MODULE_1_angular___default.a.forEach(element.data().$scope.$$watchers, function () {\n count++;\n });\n }\n __WEBPACK_IMPORTED_MODULE_1_angular___default.a.forEach(element.children(), function (childElement) {\n f(__WEBPACK_IMPORTED_MODULE_0_jquery___default()(childElement));\n });\n };\n f(root);\n this.scopeCount = scopes;\n return count;\n };\n Profiler.prototype.renderingCompleted = function (panelId, panelTimings) {\n // add render counter to root scope\n // used by phantomjs render.js to know when panel has rendered\n this.panelsRendered = (this.panelsRendered || 0) + 1;\n // this window variable is used by backend rendering tools to know\n // all panels have completed rendering\n this.window.panelsRendered = this.panelsRendered;\n if (this.enabled) {\n panelTimings.renderEnd = new Date().getTime();\n this.timings.query += panelTimings.queryEnd - panelTimings.queryStart;\n this.timings.render += panelTimings.renderEnd - panelTimings.renderStart;\n }\n };\n Profiler.prototype.panelInitialized = function () {\n if (!this.enabled) {\n return;\n }\n this.panelsInitCount++;\n this.timings.lastPanelInitializedAt = new Date().getTime();\n };\n return Profiler;\n}());\n\nvar profiler = new Profiler();\n\n\n\n/***/ }),\n/* 513 */,\n/* 514 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = setStateFields;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_features_alerting_alert_def__ = __webpack_require__(698);\n\n\nfunction setStateFields(rule, state) {\n var stateModel = __WEBPACK_IMPORTED_MODULE_1_app_features_alerting_alert_def__[\"a\" /* default */].getStateDisplayModel(state);\n rule.state = state;\n rule.stateText = stateModel.text;\n rule.stateIcon = stateModel.iconClass;\n rule.stateClass = stateModel.stateClass;\n rule.stateAge = __WEBPACK_IMPORTED_MODULE_0_moment___default()(rule.newStateDate)\n .fromNow()\n .replace(' ago', '');\n}\n\n\n/***/ }),\n/* 515 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map\n\n/***/ }),\n/* 516 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// typeof any so that it we don't have to cast when comparing a result to the error object\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map\n\n/***/ }),\n/* 517 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) { throw err; },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n\n/***/ }),\n/* 518 */,\n/* 519 */,\n/* 520 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TagBadge; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_utils_tags__ = __webpack_require__(237);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar TagBadge = /** @class */ (function (_super) {\n __extends(TagBadge, _super);\n function TagBadge(props) {\n var _this = _super.call(this, props) || this;\n _this.onClick = _this.onClick.bind(_this);\n return _this;\n }\n TagBadge.prototype.onClick = function (event) {\n this.props.onClick(event);\n };\n TagBadge.prototype.render = function () {\n var _a = this.props, label = _a.label, removeIcon = _a.removeIcon, count = _a.count;\n var _b = __WEBPACK_IMPORTED_MODULE_1_app_core_utils_tags__[\"a\" /* default */].getTagColorsFromName(label), color = _b.color, borderColor = _b.borderColor;\n var tagStyle = {\n backgroundColor: color,\n borderColor: borderColor,\n };\n var countLabel = count !== 0 && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"span\", { className: \"tag-count-label\" }, \"(\" + count + \")\");\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"span\", { className: \"label label-tag\", onClick: this.onClick, style: tagStyle },\n removeIcon && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"i\", { className: \"fa fa-remove\" }),\n label,\n \" \",\n countLabel));\n };\n return TagBadge;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component));\n\n\n\n/***/ }),\n/* 521 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_select__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__PickerOption__ = __webpack_require__(522);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__withPicker__ = __webpack_require__(523);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_lodash__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar UserPicker = /** @class */ (function (_super) {\n __extends(UserPicker, _super);\n function UserPicker(props) {\n var _this = _super.call(this, props) || this;\n _this.state = {};\n _this.search = _this.search.bind(_this);\n _this.debouncedSearch = Object(__WEBPACK_IMPORTED_MODULE_4_lodash__[\"debounce\"])(_this.search, 300, {\n leading: true,\n trailing: true,\n });\n return _this;\n }\n UserPicker.prototype.search = function (query) {\n var _a = this.props, toggleLoading = _a.toggleLoading, backendSrv = _a.backendSrv;\n toggleLoading(true);\n return backendSrv.get(\"/api/org/users?query=\" + query + \"&limit=10\").then(function (result) {\n var users = result.map(function (user) {\n return {\n id: user.userId,\n label: user.login + \" - \" + user.email,\n avatarUrl: user.avatarUrl,\n login: user.login,\n };\n });\n toggleLoading(false);\n return { options: users };\n });\n };\n UserPicker.prototype.render = function () {\n var AsyncComponent = this.state.creatable ? __WEBPACK_IMPORTED_MODULE_1_react_select__[\"default\"].AsyncCreatable : __WEBPACK_IMPORTED_MODULE_1_react_select__[\"default\"].Async;\n var _a = this.props, isLoading = _a.isLoading, handlePicked = _a.handlePicked, value = _a.value, className = _a.className;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"user-picker\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(AsyncComponent, { valueKey: \"id\", multi: false, labelKey: \"label\", cache: false, isLoading: isLoading, loadOptions: this.debouncedSearch, loadingPlaceholder: \"Loading...\", noResultsText: \"No users found\", onChange: handlePicked, className: \"gf-form-input gf-form-input--form-dropdown \" + (className || ''), optionComponent: __WEBPACK_IMPORTED_MODULE_2__PickerOption__[\"a\" /* default */], placeholder: \"Choose\", value: value, autosize: true })));\n };\n return UserPicker;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3__withPicker__[\"a\" /* default */])(UserPicker));\n\n\n/***/ }),\n/* 522 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar UserPickerOption = /** @class */ (function (_super) {\n __extends(UserPickerOption, _super);\n function UserPickerOption(props) {\n var _this = _super.call(this, props) || this;\n _this.handleMouseDown = _this.handleMouseDown.bind(_this);\n _this.handleMouseEnter = _this.handleMouseEnter.bind(_this);\n _this.handleMouseMove = _this.handleMouseMove.bind(_this);\n return _this;\n }\n UserPickerOption.prototype.handleMouseDown = function (event) {\n event.preventDefault();\n event.stopPropagation();\n this.props.onSelect(this.props.option, event);\n };\n UserPickerOption.prototype.handleMouseEnter = function (event) {\n this.props.onFocus(this.props.option, event);\n };\n UserPickerOption.prototype.handleMouseMove = function (event) {\n if (this.props.isFocused) {\n return;\n }\n this.props.onFocus(this.props.option, event);\n };\n UserPickerOption.prototype.render = function () {\n var _a = this.props, option = _a.option, children = _a.children, className = _a.className;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"button\", { onMouseDown: this.handleMouseDown, onMouseEnter: this.handleMouseEnter, onMouseMove: this.handleMouseMove, title: option.title, className: \"user-picker-option__button btn btn-link \" + className },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"img\", { src: option.avatarUrl, alt: option.label, className: \"user-picker-option__avatar\" }),\n children));\n };\n return UserPickerOption;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (UserPickerOption);\n\n\n/***/ }),\n/* 523 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = withPicker;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\nfunction withPicker(WrappedComponent) {\n return /** @class */ (function (_super) {\n __extends(WithPicker, _super);\n function WithPicker(props) {\n var _this = _super.call(this, props) || this;\n _this.toggleLoading = _this.toggleLoading.bind(_this);\n _this.state = {\n isLoading: false,\n };\n return _this;\n }\n WithPicker.prototype.toggleLoading = function (isLoading) {\n this.setState(function (prevState) {\n return __assign({}, prevState, { isLoading: isLoading });\n });\n };\n WithPicker.prototype.render = function () {\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent, __assign({ toggleLoading: this.toggleLoading, isLoading: this.state.isLoading }, this.props));\n };\n return WithPicker;\n }(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n}\n\n\n/***/ }),\n/* 524 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__PermissionsList__ = __webpack_require__(1290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_mobx_react__ = __webpack_require__(39);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\nvar Permissions = /** @class */ (function (_super) {\n __extends(Permissions, _super);\n function Permissions(props) {\n var _this = _super.call(this, props) || this;\n var _a = _this.props, dashboardId = _a.dashboardId, isFolder = _a.isFolder, folderInfo = _a.folderInfo;\n _this.permissionChanged = _this.permissionChanged.bind(_this);\n _this.typeChanged = _this.typeChanged.bind(_this);\n _this.removeItem = _this.removeItem.bind(_this);\n _this.loadStore(dashboardId, isFolder, folderInfo && folderInfo.id === 0);\n return _this;\n }\n Permissions.prototype.loadStore = function (dashboardId, isFolder, isInRoot) {\n if (isInRoot === void 0) { isInRoot = false; }\n return this.props.permissions.load(dashboardId, isFolder, isInRoot);\n };\n Permissions.prototype.permissionChanged = function (index, permission, permissionName) {\n var permissions = this.props.permissions;\n permissions.updatePermissionOnIndex(index, permission, permissionName);\n };\n Permissions.prototype.removeItem = function (index) {\n var permissions = this.props.permissions;\n permissions.removeStoreItem(index);\n };\n Permissions.prototype.resetNewType = function () {\n var permissions = this.props.permissions;\n permissions.resetNewType();\n };\n Permissions.prototype.typeChanged = function (evt) {\n var value = evt.target.value;\n var _a = this.props, permissions = _a.permissions, dashboardId = _a.dashboardId;\n if (value === 'Viewer' || value === 'Editor') {\n permissions.addStoreItem({ permission: 1, role: value, dashboardId: dashboardId }, dashboardId);\n this.resetNewType();\n return;\n }\n permissions.setNewType(value);\n };\n Permissions.prototype.render = function () {\n var _a = this.props, permissions = _a.permissions, folderInfo = _a.folderInfo;\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form-group\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__PermissionsList__[\"a\" /* default */], { permissions: permissions.items, removeItem: this.removeItem, permissionChanged: this.permissionChanged, fetching: permissions.fetching, folderInfo: folderInfo })));\n };\n Permissions = __decorate([\n __WEBPACK_IMPORTED_MODULE_2_mobx_react__[\"observer\"]\n ], Permissions);\n return Permissions;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (Permissions);\n\n\n/***/ }),\n/* 525 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__withTooltip__ = __webpack_require__(1294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_popper__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_popper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_popper__);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\n\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip(props) {\n var _this = _super.call(this, props) || this;\n _this.showTooltip = _this.showTooltip.bind(_this);\n _this.hideTooltip = _this.hideTooltip.bind(_this);\n return _this;\n }\n Tooltip.prototype.showTooltip = function () {\n var tooltipSetState = this.props.tooltipSetState;\n tooltipSetState(function (prevState) {\n return __assign({}, prevState, { show: true });\n });\n };\n Tooltip.prototype.hideTooltip = function () {\n var tooltipSetState = this.props.tooltipSetState;\n tooltipSetState(function (prevState) {\n return __assign({}, prevState, { show: false });\n });\n };\n Tooltip.prototype.render = function () {\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_popper__[\"Target\"], { className: \"popper__target\", onMouseOver: this.showTooltip, onMouseOut: this.hideTooltip }, this.props.children));\n };\n return Tooltip;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component));\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__withTooltip__[\"a\" /* default */])(Tooltip));\n\n\n/***/ }),\n/* 526 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function () {\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"h5\", null, \"What are Permissions?\"),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"p\", null, \"An Access Control List (ACL) model is used to limit access to Dashboard Folders. A user or a Team can be assigned permissions for a folder or for a single dashboard.\")));\n});\n\n\n/***/ }),\n/* 527 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mobx_react__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_app_stores_PermissionsStore_PermissionsStore__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_components_Picker_UserPicker__ = __webpack_require__(521);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_app_core_components_Picker_TeamPicker__ = __webpack_require__(1300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_app_core_components_Picker_DescriptionPicker__ = __webpack_require__(240);\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nvar AddPermissions = /** @class */ (function (_super) {\n __extends(AddPermissions, _super);\n function AddPermissions(props) {\n var _this = _super.call(this, props) || this;\n _this.userPicked = _this.userPicked.bind(_this);\n _this.teamPicked = _this.teamPicked.bind(_this);\n _this.permissionPicked = _this.permissionPicked.bind(_this);\n _this.typeChanged = _this.typeChanged.bind(_this);\n _this.handleSubmit = _this.handleSubmit.bind(_this);\n return _this;\n }\n AddPermissions.prototype.componentWillMount = function () {\n var permissions = this.props.permissions;\n permissions.resetNewType();\n };\n AddPermissions.prototype.typeChanged = function (evt) {\n var value = evt.target.value;\n var permissions = this.props.permissions;\n permissions.setNewType(value);\n };\n AddPermissions.prototype.userPicked = function (user) {\n var permissions = this.props.permissions;\n if (!user) {\n permissions.newItem.setUser(null, null);\n return;\n }\n return permissions.newItem.setUser(user.id, user.login, user.avatarUrl);\n };\n AddPermissions.prototype.teamPicked = function (team) {\n var permissions = this.props.permissions;\n if (!team) {\n permissions.newItem.setTeam(null, null);\n return;\n }\n return permissions.newItem.setTeam(team.id, team.name, team.avatarUrl);\n };\n AddPermissions.prototype.permissionPicked = function (permission) {\n var permissions = this.props.permissions;\n return permissions.newItem.setPermission(permission.value);\n };\n AddPermissions.prototype.resetNewType = function () {\n var permissions = this.props.permissions;\n return permissions.resetNewType();\n };\n AddPermissions.prototype.handleSubmit = function (evt) {\n evt.preventDefault();\n var permissions = this.props.permissions;\n permissions.addStoreItem();\n };\n AddPermissions.prototype.render = function () {\n var _a = this.props, permissions = _a.permissions, backendSrv = _a.backendSrv;\n var newItem = permissions.newItem;\n var pickerClassName = 'width-20';\n var isValid = newItem.isValid();\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form-inline cta-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"button\", { className: \"cta-form__close btn btn-transparent\", onClick: permissions.hideAddPermissions },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"i\", { className: \"fa fa-close\" })),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"form\", { name: \"addPermission\", onSubmit: this.handleSubmit },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"h6\", null, \"Add Permission For\"),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form-inline\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form-select-wrapper\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"select\", { className: \"gf-form-input gf-size-auto\", value: newItem.type, onChange: this.typeChanged }, __WEBPACK_IMPORTED_MODULE_2_app_stores_PermissionsStore_PermissionsStore__[\"b\" /* aclTypes */].map(function (option, idx) {\n return (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"option\", { key: idx, value: option.value }, option.text));\n })))),\n newItem.type === 'User' ? (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_app_core_components_Picker_UserPicker__[\"a\" /* default */], { backendSrv: backendSrv, handlePicked: this.userPicked, value: newItem.userId, className: pickerClassName }))) : null,\n newItem.type === 'Group' ? (__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_app_core_components_Picker_TeamPicker__[\"a\" /* default */], { backendSrv: backendSrv, handlePicked: this.teamPicked, value: newItem.teamId, className: pickerClassName }))) : null,\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_app_core_components_Picker_DescriptionPicker__[\"a\" /* default */], { optionsWithDesc: __WEBPACK_IMPORTED_MODULE_2_app_stores_PermissionsStore_PermissionsStore__[\"c\" /* permissionOptions */], handlePicked: this.permissionPicked, value: newItem.permission, disabled: false, className: 'gf-form-input--form-dropdown-right' })),\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"gf-form\" },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"button\", { \"data-save-permission\": true, className: \"btn btn-success\", type: \"submit\", disabled: !isValid }, \"Save\"))))));\n };\n AddPermissions = __decorate([\n __WEBPACK_IMPORTED_MODULE_1_mobx_react__[\"observer\"]\n ], AddPermissions);\n return AddPermissions;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]));\n/* harmony default export */ __webpack_exports__[\"a\"] = (AddPermissions);\n\n\n/***/ }),\n/* 528 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_transition_group_Transition__ = __webpack_require__(242);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_transition_group_Transition___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_transition_group_Transition__);\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\n\nvar defaultMaxHeight = '200px'; // When animating using max-height we need to use a static value.\n// If this is not enough, pass in \n */\nvar Observable = (function () {\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to a {@link create} static factory, but most of the time it is\n * a library implementation, which defines what and when will be emitted by an Observable. This means that calling\n * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will\n * be left uncaught.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent\n * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer,\n * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown.\n *\n * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}.\n *\n * @example Subscribe with an Observer\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() { // We actually could just remove this method,\n * }, // since we do not really care about errors right now.\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Subscribe with functions\n * let sum = 0;\n *\n * Rx.Observable.of(1, 2, 3)\n * .subscribe(\n * function(value) {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * function() {\n * console.log('Sum equals: ' + sum);\n * }\n * );\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Cancel a subscription\n * const subscription = Rx.Observable.interval(1000).subscribe(\n * num => console.log(num),\n * undefined,\n * () => console.log('completed!') // Will not be called, even\n * ); // when cancelling subscription\n *\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // \"unsubscribed!\" after 2.5s\n *\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {ISubscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n operator.call(sink, this.source);\n }\n else {\n sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n sink.error(err);\n }\n };\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n Observable.prototype.forEach = function (next, PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n // Must be declared in a separate statement to avoid a RefernceError when\n // accessing subscription below in the closure due to Temporal Dead Zone.\n var subscription;\n subscription = _this.subscribe(function (value) {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n }\n else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n };\n /** @deprecated internal use only */ Observable.prototype._subscribe = function (subscriber) {\n return this.source.subscribe(subscriber);\n };\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n /* tslint:enable:max-line-length */\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * @example\n *\n * import { map, filter, scan } from 'rxjs/operators';\n *\n * Rx.Observable.interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x))\n */\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i - 0] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n /* tslint:enable:max-line-length */\n Observable.prototype.toPromise = function (PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map\n\n/***/ }),\n/* 691 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"parse\"] = parse;\n/* harmony export (immutable) */ __webpack_exports__[\"isValid\"] = isValid;\n/* harmony export (immutable) */ __webpack_exports__[\"parseDateMath\"] = parseDateMath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n\n\nvar units = ['y', 'M', 'w', 'd', 'h', 'm', 's'];\nfunction parse(text, roundUp, timezone) {\n if (!text) {\n return undefined;\n }\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(text)) {\n return text;\n }\n if (__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.isDate(text)) {\n return __WEBPACK_IMPORTED_MODULE_1_moment___default()(text);\n }\n var time;\n var mathString = '';\n var index;\n var parseString;\n if (text.substring(0, 3) === 'now') {\n if (timezone === 'utc') {\n time = __WEBPACK_IMPORTED_MODULE_1_moment___default.a.utc();\n }\n else {\n time = __WEBPACK_IMPORTED_MODULE_1_moment___default()();\n }\n mathString = text.substring('now'.length);\n }\n else {\n index = text.indexOf('||');\n if (index === -1) {\n parseString = text;\n mathString = ''; // nothing else\n }\n else {\n parseString = text.substring(0, index);\n mathString = text.substring(index + 2);\n }\n // We're going to just require ISO8601 timestamps, k?\n time = __WEBPACK_IMPORTED_MODULE_1_moment___default()(parseString, __WEBPACK_IMPORTED_MODULE_1_moment___default.a.ISO_8601);\n }\n if (!mathString.length) {\n return time;\n }\n return parseDateMath(mathString, time, roundUp);\n}\nfunction isValid(text) {\n var date = parse(text);\n if (!date) {\n return false;\n }\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(date)) {\n return date.isValid();\n }\n return false;\n}\nfunction parseDateMath(mathString, time, roundUp) {\n var dateTime = time;\n var i = 0;\n var len = mathString.length;\n while (i < len) {\n var c = mathString.charAt(i++);\n var type;\n var num;\n var unit;\n if (c === '/') {\n type = 0;\n }\n else if (c === '+') {\n type = 1;\n }\n else if (c === '-') {\n type = 2;\n }\n else {\n return undefined;\n }\n if (isNaN(mathString.charAt(i))) {\n num = 1;\n }\n else if (mathString.length === 2) {\n num = mathString.charAt(i);\n }\n else {\n var numFrom = i;\n while (!isNaN(mathString.charAt(i))) {\n i++;\n if (i > 10) {\n return undefined;\n }\n }\n num = parseInt(mathString.substring(numFrom, i), 10);\n }\n if (type === 0) {\n // rounding is only allowed on whole, single, units (eg M or 1M, not 0.5M or 2M)\n if (num !== 1) {\n return undefined;\n }\n }\n unit = mathString.charAt(i++);\n if (!__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.includes(units, unit)) {\n return undefined;\n }\n else {\n if (type === 0) {\n if (roundUp) {\n dateTime.endOf(unit);\n }\n else {\n dateTime.startOf(unit);\n }\n }\n else if (type === 1) {\n dateTime.add(num, unit);\n }\n else if (type === 2) {\n dateTime.subtract(num, unit);\n }\n }\n }\n return dateTime;\n}\n\n\n/***/ }),\n/* 692 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavModel; });\n/* unused harmony export NavModelSrv */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_config__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_lodash__);\n\n\n\nvar NavModel = /** @class */ (function () {\n function NavModel() {\n this.breadcrumbs = [];\n }\n return NavModel;\n}());\n\nvar NavModelSrv = /** @class */ (function () {\n /** @ngInject */\n function NavModelSrv() {\n this.navItems = __WEBPACK_IMPORTED_MODULE_1_app_core_config__[\"a\" /* default */].bootData.navTree;\n }\n NavModelSrv.prototype.getCfgNode = function () {\n return __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.find(this.navItems, { id: 'cfg' });\n };\n NavModelSrv.prototype.getNav = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var children = this.navItems;\n var nav = new NavModel();\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var id = args_1[_a];\n // if its a number then it's the index to use for main\n if (__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.isNumber(id)) {\n nav.main = nav.breadcrumbs[id];\n break;\n }\n var node = __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.find(children, { id: id });\n nav.breadcrumbs.push(node);\n nav.node = node;\n nav.main = node;\n children = node.children;\n }\n if (nav.main.children) {\n for (var _b = 0, _c = nav.main.children; _b < _c.length; _b++) {\n var item = _c[_b];\n item.active = false;\n if (item.url === nav.node.url) {\n item.active = true;\n }\n }\n }\n return nav;\n };\n NavModelSrv.prototype.getNotFoundNav = function () {\n var node = {\n text: 'Page not found',\n icon: 'fa fa-fw fa-warning',\n subTitle: '404 Error',\n };\n return {\n breadcrumbs: [node],\n node: node,\n main: node,\n };\n };\n return NavModelSrv;\n}());\n\n__WEBPACK_IMPORTED_MODULE_0_app_core_core_module__[\"a\" /* default */].service('navModelSrv', NavModelSrv);\n\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = __webpack_require__(515);\nvar Subscription_1 = __webpack_require__(700);\nvar Observer_1 = __webpack_require__(517);\nvar rxSubscriber_1 = __webpack_require__(318);\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n function Subscriber(destinationOrNext, error, complete) {\n _super.call(this);\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n // HACK(benlesh): To resolve an issue where Node users may have multiple\n // copies of rxjs in their node_modules directory.\n if (isTrustedSubscriber(destinationOrNext)) {\n var trustedSubscriber = destinationOrNext[rxSubscriber_1.rxSubscriber]();\n this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable;\n this.destination = trustedSubscriber;\n trustedSubscriber.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; };\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n /** @deprecated internal use only */ Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n return this;\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n _super.call(this);\n this._parentSubscriber = _parentSubscriber;\n var next;\n var context = this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n if (isFunction_1.isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._error) {\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n }\n else {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n throw err;\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n };\n /** @deprecated internal use only */ SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nfunction isTrustedSubscriber(obj) {\n return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriber_1.rxSubscriber]);\n}\n//# sourceMappingURL=Subscriber.js.map\n\n/***/ }),\n/* 694 */,\n/* 695 */,\n/* 696 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"tickStep\"] = tickStep;\n/* harmony export (immutable) */ __webpack_exports__[\"getScaledDecimals\"] = getScaledDecimals;\n/* harmony export (immutable) */ __webpack_exports__[\"getFlotTickSize\"] = getFlotTickSize;\n/* harmony export (immutable) */ __webpack_exports__[\"getFlotRange\"] = getFlotRange;\n/* harmony export (immutable) */ __webpack_exports__[\"getFlotTickDecimals\"] = getFlotTickDecimals;\n/* harmony export (immutable) */ __webpack_exports__[\"grafanaTimeFormat\"] = grafanaTimeFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"logp\"] = logp;\n/* harmony export (immutable) */ __webpack_exports__[\"getPrecision\"] = getPrecision;\n/* harmony export (immutable) */ __webpack_exports__[\"getStringPrecision\"] = getStringPrecision;\n/**\n * Calculate tick step.\n * Implementation from d3-array (ticks.js)\n * https://github.com/d3/d3-array/blob/master/src/ticks.js\n * @param start Start value\n * @param stop End value\n * @param count Ticks count\n */\nfunction tickStep(start, stop, count) {\n var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);\n var step0 = Math.abs(stop - start) / Math.max(0, count), step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), error = step0 / step1;\n if (error >= e10) {\n step1 *= 10;\n }\n else if (error >= e5) {\n step1 *= 5;\n }\n else if (error >= e2) {\n step1 *= 2;\n }\n return stop < start ? -step1 : step1;\n}\nfunction getScaledDecimals(decimals, tick_size) {\n return decimals - Math.floor(Math.log(tick_size) / Math.LN10);\n}\n/**\n * Calculate tick size based on min and max values, number of ticks and precision.\n * Implementation from Flot.\n * @param min Axis minimum\n * @param max Axis maximum\n * @param noTicks Number of ticks\n * @param tickDecimals Tick decimal precision\n */\nfunction getFlotTickSize(min, max, noTicks, tickDecimals) {\n var delta = (max - min) / noTicks, dec = -Math.floor(Math.log(delta) / Math.LN10), maxDec = tickDecimals;\n var magn = Math.pow(10, -dec), norm = delta / magn, // norm is between 1.0 and 10.0\n size;\n if (norm < 1.5) {\n size = 1;\n }\n else if (norm < 3) {\n size = 2;\n // special case for 2.5, requires an extra decimal\n if (norm > 2.25 && (maxDec == null || dec + 1 <= maxDec)) {\n size = 2.5;\n ++dec;\n }\n }\n else if (norm < 7.5) {\n size = 5;\n }\n else {\n size = 10;\n }\n size *= magn;\n return size;\n}\n/**\n * Calculate axis range (min and max).\n * Implementation from Flot.\n */\nfunction getFlotRange(panelMin, panelMax, datamin, datamax) {\n var autoscaleMargin = 0.02;\n var min = +(panelMin != null ? panelMin : datamin);\n var max = +(panelMax != null ? panelMax : datamax);\n var delta = max - min;\n if (delta === 0.0) {\n // Grafana fix: wide Y min and max using increased wideFactor\n // when all series values are the same\n var wideFactor = 0.25;\n var widen = Math.abs(max === 0 ? 1 : max * wideFactor);\n if (panelMin === null) {\n min -= widen;\n }\n // always widen max if we couldn't widen min to ensure we\n // don't fall into min == max which doesn't work\n if (panelMax == null || panelMin != null) {\n max += widen;\n }\n }\n else {\n // consider autoscaling\n var margin = autoscaleMargin;\n if (margin != null) {\n if (panelMin == null) {\n min -= delta * margin;\n // make sure we don't go below zero if all values\n // are positive\n if (min < 0 && datamin != null && datamin >= 0) {\n min = 0;\n }\n }\n if (panelMax == null) {\n max += delta * margin;\n if (max > 0 && datamax != null && datamax <= 0) {\n max = 0;\n }\n }\n }\n }\n return { min: min, max: max };\n}\n/**\n * Calculate tick decimals.\n * Implementation from Flot.\n */\nfunction getFlotTickDecimals(datamin, datamax, axis, height) {\n var _a = getFlotRange(axis.min, axis.max, datamin, datamax), min = _a.min, max = _a.max;\n var noTicks = 0.3 * Math.sqrt(height);\n var delta = (max - min) / noTicks;\n var dec = -Math.floor(Math.log(delta) / Math.LN10);\n var magn = Math.pow(10, -dec);\n // norm is between 1.0 and 10.0\n var norm = delta / magn;\n var size;\n if (norm < 1.5) {\n size = 1;\n }\n else if (norm < 3) {\n size = 2;\n // special case for 2.5, requires an extra decimal\n if (norm > 2.25) {\n size = 2.5;\n }\n }\n else if (norm < 7.5) {\n size = 5;\n }\n else {\n size = 10;\n }\n size *= magn;\n var tickDecimals = Math.max(0, -Math.floor(Math.log(delta) / Math.LN10) + 1);\n // grafana addition\n var scaledDecimals = tickDecimals - Math.floor(Math.log(size) / Math.LN10);\n return { tickDecimals: tickDecimals, scaledDecimals: scaledDecimals };\n}\n/**\n * Format timestamp similar to Grafana graph panel.\n * @param ticks Number of ticks\n * @param min Time from (in milliseconds)\n * @param max Time to (in milliseconds)\n */\nfunction grafanaTimeFormat(ticks, min, max) {\n if (min && max && ticks) {\n var range = max - min;\n var secPerTick = range / ticks / 1000;\n var oneDay = 86400000;\n var oneYear = 31536000000;\n if (secPerTick <= 45) {\n return '%H:%M:%S';\n }\n if (secPerTick <= 7200 || range <= oneDay) {\n return '%H:%M';\n }\n if (secPerTick <= 80000) {\n return '%m/%d %H:%M';\n }\n if (secPerTick <= 2419200 || range <= oneYear) {\n return '%m/%d';\n }\n return '%Y-%m';\n }\n return '%H:%M';\n}\n/**\n * Logarithm of value for arbitrary base.\n */\nfunction logp(value, base) {\n return Math.log(value) / Math.log(base);\n}\n/**\n * Get decimal precision of number (3.14 => 2)\n */\nfunction getPrecision(num) {\n var str = num.toString();\n return getStringPrecision(str);\n}\n/**\n * Get decimal precision of number stored as a string (\"3.14\" => 2)\n */\nfunction getStringPrecision(num) {\n var dot_index = num.indexOf('.');\n if (dot_index === -1) {\n return 0;\n }\n else {\n return num.length - dot_index - 1;\n }\n}\n\n\n/***/ }),\n/* 697 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getRelativeTimesList;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = describeTextRange;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = describeTimeRange;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__datemath__ = __webpack_require__(691);\n\n\n\nvar spans = {\n s: { display: 'second' },\n m: { display: 'minute' },\n h: { display: 'hour' },\n d: { display: 'day' },\n w: { display: 'week' },\n M: { display: 'month' },\n y: { display: 'year' },\n};\nvar rangeOptions = [\n { from: 'now/d', to: 'now/d', display: 'Today', section: 2 },\n { from: 'now/d', to: 'now', display: 'Today so far', section: 2 },\n { from: 'now/w', to: 'now/w', display: 'This week', section: 2 },\n { from: 'now/w', to: 'now', display: 'This week so far', section: 2 },\n { from: 'now/M', to: 'now/M', display: 'This month', section: 2 },\n { from: 'now/M', to: 'now', display: 'This month so far', section: 2 },\n { from: 'now/y', to: 'now/y', display: 'This year', section: 2 },\n { from: 'now/y', to: 'now', display: 'This year so far', section: 2 },\n { from: 'now-1d/d', to: 'now-1d/d', display: 'Yesterday', section: 1 },\n {\n from: 'now-2d/d',\n to: 'now-2d/d',\n display: 'Day before yesterday',\n section: 1,\n },\n {\n from: 'now-7d/d',\n to: 'now-7d/d',\n display: 'This day last week',\n section: 1,\n },\n { from: 'now-1w/w', to: 'now-1w/w', display: 'Previous week', section: 1 },\n { from: 'now-1M/M', to: 'now-1M/M', display: 'Previous month', section: 1 },\n { from: 'now-1y/y', to: 'now-1y/y', display: 'Previous year', section: 1 },\n { from: 'now-5m', to: 'now', display: 'Last 5 minutes', section: 3 },\n { from: 'now-15m', to: 'now', display: 'Last 15 minutes', section: 3 },\n { from: 'now-30m', to: 'now', display: 'Last 30 minutes', section: 3 },\n { from: 'now-1h', to: 'now', display: 'Last 1 hour', section: 3 },\n { from: 'now-3h', to: 'now', display: 'Last 3 hours', section: 3 },\n { from: 'now-6h', to: 'now', display: 'Last 6 hours', section: 3 },\n { from: 'now-12h', to: 'now', display: 'Last 12 hours', section: 3 },\n { from: 'now-24h', to: 'now', display: 'Last 24 hours', section: 3 },\n { from: 'now-2d', to: 'now', display: 'Last 2 days', section: 0 },\n { from: 'now-7d', to: 'now', display: 'Last 7 days', section: 0 },\n { from: 'now-30d', to: 'now', display: 'Last 30 days', section: 0 },\n { from: 'now-90d', to: 'now', display: 'Last 90 days', section: 0 },\n { from: 'now-6M', to: 'now', display: 'Last 6 months', section: 0 },\n { from: 'now-1y', to: 'now', display: 'Last 1 year', section: 0 },\n { from: 'now-2y', to: 'now', display: 'Last 2 years', section: 0 },\n { from: 'now-5y', to: 'now', display: 'Last 5 years', section: 0 },\n];\nvar absoluteFormat = 'MMM D, YYYY HH:mm:ss';\nvar rangeIndex = {};\n__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(rangeOptions, function (frame) {\n rangeIndex[frame.from + ' to ' + frame.to] = frame;\n});\nfunction getRelativeTimesList(timepickerSettings, currentDisplay) {\n var groups = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.groupBy(rangeOptions, function (option) {\n option.active = option.display === currentDisplay;\n return option.section;\n });\n // _.each(timepickerSettings.time_options, (duration: string) => {\n // let info = describeTextRange(duration);\n // if (info.section) {\n // groups[info.section].push(info);\n // }\n // });\n return groups;\n}\nfunction formatDate(date) {\n return date.format(absoluteFormat);\n}\n// handles expressions like\n// 5m\n// 5m to now/d\n// now/d to now\n// now/d\n// if no to then to now is assumed\nfunction describeTextRange(expr) {\n var isLast = expr.indexOf('+') !== 0;\n if (expr.indexOf('now') === -1) {\n expr = (isLast ? 'now-' : 'now') + expr;\n }\n var opt = rangeIndex[expr + ' to now'];\n if (opt) {\n return opt;\n }\n if (isLast) {\n opt = { from: expr, to: 'now' };\n }\n else {\n opt = { from: 'now', to: expr };\n }\n var parts = /^now([-+])(\\d+)(\\w)/.exec(expr);\n if (parts) {\n var unit = parts[3];\n var amount = parseInt(parts[2]);\n var span = spans[unit];\n if (span) {\n opt.display = isLast ? 'Last ' : 'Next ';\n opt.display += amount + ' ' + span.display;\n opt.section = span.section;\n if (amount > 1) {\n opt.display += 's';\n }\n }\n }\n else {\n opt.display = opt.from + ' to ' + opt.to;\n opt.invalid = true;\n }\n return opt;\n}\nfunction describeTimeRange(range) {\n var option = rangeIndex[range.from.toString() + ' to ' + range.to.toString()];\n if (option) {\n return option.display;\n }\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(range.from) && __WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(range.to)) {\n return formatDate(range.from) + ' to ' + formatDate(range.to);\n }\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(range.from)) {\n var toMoment = __WEBPACK_IMPORTED_MODULE_2__datemath__[\"parse\"](range.to, true);\n return formatDate(range.from) + ' to ' + toMoment.fromNow();\n }\n if (__WEBPACK_IMPORTED_MODULE_1_moment___default.a.isMoment(range.to)) {\n var from = __WEBPACK_IMPORTED_MODULE_2__datemath__[\"parse\"](range.from, false);\n return from.fromNow() + ' to ' + formatDate(range.to);\n }\n if (range.to.toString() === 'now') {\n var res = describeTextRange(range.from);\n return res.display;\n }\n return range.from.toString() + ' to ' + range.to.toString();\n}\n\n\n/***/ }),\n/* 698 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_components_query_part_query_part__ = __webpack_require__(699);\n\n\nvar alertQueryDef = new __WEBPACK_IMPORTED_MODULE_1_app_core_components_query_part_query_part__[\"b\" /* QueryPartDef */]({\n type: 'query',\n params: [\n { name: 'queryRefId', type: 'string', dynamicLookup: true },\n {\n name: 'from',\n type: 'string',\n options: ['1s', '10s', '1m', '5m', '10m', '15m', '1h', '24h', '48h'],\n },\n { name: 'to', type: 'string', options: ['now'] },\n ],\n defaultParams: ['#A', '15m', 'now', 'avg'],\n});\nvar conditionTypes = [{ text: 'Query', value: 'query' }];\nvar alertStateSortScore = {\n alerting: 1,\n no_data: 2,\n pending: 3,\n ok: 4,\n paused: 5,\n};\nvar evalFunctions = [\n { text: 'IS ABOVE', value: 'gt' },\n { text: 'IS BELOW', value: 'lt' },\n { text: 'IS OUTSIDE RANGE', value: 'outside_range' },\n { text: 'IS WITHIN RANGE', value: 'within_range' },\n { text: 'HAS NO VALUE', value: 'no_value' },\n];\nvar evalOperators = [{ text: 'OR', value: 'or' }, { text: 'AND', value: 'and' }];\nvar reducerTypes = [\n { text: 'avg()', value: 'avg' },\n { text: 'min()', value: 'min' },\n { text: 'max()', value: 'max' },\n { text: 'sum()', value: 'sum' },\n { text: 'count()', value: 'count' },\n { text: 'last()', value: 'last' },\n { text: 'median()', value: 'median' },\n { text: 'diff()', value: 'diff' },\n { text: 'percent_diff()', value: 'percent_diff' },\n { text: 'count_non_null()', value: 'count_non_null' },\n];\nvar noDataModes = [\n { text: 'Alerting', value: 'alerting' },\n { text: 'No Data', value: 'no_data' },\n { text: 'Keep Last State', value: 'keep_state' },\n { text: 'Ok', value: 'ok' },\n];\nvar executionErrorModes = [{ text: 'Alerting', value: 'alerting' }, { text: 'Keep Last State', value: 'keep_state' }];\nfunction createReducerPart(model) {\n var def = new __WEBPACK_IMPORTED_MODULE_1_app_core_components_query_part_query_part__[\"b\" /* QueryPartDef */]({ type: model.type, defaultParams: [] });\n return new __WEBPACK_IMPORTED_MODULE_1_app_core_components_query_part_query_part__[\"a\" /* QueryPart */](model, def);\n}\nfunction getStateDisplayModel(state) {\n switch (state) {\n case 'ok': {\n return {\n text: 'OK',\n iconClass: 'icon-gf icon-gf-online',\n stateClass: 'alert-state-ok',\n };\n }\n case 'alerting': {\n return {\n text: 'ALERTING',\n iconClass: 'icon-gf icon-gf-critical',\n stateClass: 'alert-state-critical',\n };\n }\n case 'no_data': {\n return {\n text: 'NO DATA',\n iconClass: 'fa fa-question',\n stateClass: 'alert-state-warning',\n };\n }\n case 'paused': {\n return {\n text: 'PAUSED',\n iconClass: 'fa fa-pause',\n stateClass: 'alert-state-paused',\n };\n }\n case 'pending': {\n return {\n text: 'PENDING',\n iconClass: 'fa fa-exclamation',\n stateClass: 'alert-state-warning',\n };\n }\n }\n throw { message: 'Unknown alert state' };\n}\nfunction joinEvalMatches(matches, separator) {\n return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.reduce(matches, function (res, ev) {\n if (ev.metric !== undefined && ev.value !== undefined) {\n res.push(ev.metric + '=' + ev.value);\n }\n // For backwards compatibility . Should be be able to remove this after ~2017-06-01\n if (ev.Metric !== undefined && ev.Value !== undefined) {\n res.push(ev.Metric + '=' + ev.Value);\n }\n return res;\n }, []).join(separator);\n}\nfunction getAlertAnnotationInfo(ah) {\n // backward compatibility, can be removed in grafana 5.x\n // old way stored evalMatches in data property directly,\n // new way stores it in evalMatches property on new data object\n if (__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.isArray(ah.data)) {\n return joinEvalMatches(ah.data, ', ');\n }\n else if (__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.isArray(ah.data.evalMatches)) {\n return joinEvalMatches(ah.data.evalMatches, ', ');\n }\n if (ah.data.error) {\n return 'Error: ' + ah.data.error;\n }\n return '';\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n alertQueryDef: alertQueryDef,\n getStateDisplayModel: getStateDisplayModel,\n conditionTypes: conditionTypes,\n evalFunctions: evalFunctions,\n evalOperators: evalOperators,\n noDataModes: noDataModes,\n executionErrorModes: executionErrorModes,\n reducerTypes: reducerTypes,\n createReducerPart: createReducerPart,\n getAlertAnnotationInfo: getAlertAnnotationInfo,\n alertStateSortScore: alertStateSortScore,\n});\n\n\n/***/ }),\n/* 699 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return QueryPartDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QueryPart; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = functionRenderer;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = suffixRenderer;\n/* unused harmony export identityRenderer */\n/* unused harmony export quotedIdentityRenderer */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n\nvar QueryPartDef = /** @class */ (function () {\n function QueryPartDef(options) {\n this.type = options.type;\n this.params = options.params;\n this.defaultParams = options.defaultParams;\n this.renderer = options.renderer;\n this.category = options.category;\n this.addStrategy = options.addStrategy;\n }\n return QueryPartDef;\n}());\n\nvar QueryPart = /** @class */ (function () {\n function QueryPart(part, def) {\n this.part = part;\n this.def = def;\n if (!this.def) {\n throw { message: 'Could not find query part ' + part.type };\n }\n part.params = part.params || __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.clone(this.def.defaultParams);\n this.params = part.params;\n this.updateText();\n }\n QueryPart.prototype.render = function (innerExpr) {\n return this.def.renderer(this, innerExpr);\n };\n QueryPart.prototype.hasMultipleParamsInString = function (strValue, index) {\n if (strValue.indexOf(',') === -1) {\n return false;\n }\n return this.def.params[index + 1] && this.def.params[index + 1].optional;\n };\n QueryPart.prototype.updateParam = function (strValue, index) {\n var _this = this;\n // handle optional parameters\n // if string contains ',' and next param is optional, split and update both\n if (this.hasMultipleParamsInString(strValue, index)) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(strValue.split(','), function (partVal, idx) {\n _this.updateParam(partVal.trim(), idx);\n });\n return;\n }\n if (strValue === '' && this.def.params[index].optional) {\n this.params.splice(index, 1);\n }\n else {\n this.params[index] = strValue;\n }\n this.part.params = this.params;\n this.updateText();\n };\n QueryPart.prototype.updateText = function () {\n if (this.params.length === 0) {\n this.text = this.def.type + '()';\n return;\n }\n var text = this.def.type + '(';\n text += this.params.join(', ');\n text += ')';\n this.text = text;\n };\n return QueryPart;\n}());\n\nfunction functionRenderer(part, innerExpr) {\n var str = part.def.type + '(';\n var parameters = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(part.params, function (value, index) {\n var paramType = part.def.params[index];\n if (paramType.type === 'time') {\n if (value === 'auto') {\n value = '$__interval';\n }\n }\n if (paramType.quote === 'single') {\n return \"'\" + value + \"'\";\n }\n else if (paramType.quote === 'double') {\n return '\"' + value + '\"';\n }\n return value;\n });\n if (innerExpr) {\n parameters.unshift(innerExpr);\n }\n return str + parameters.join(', ') + ')';\n}\nfunction suffixRenderer(part, innerExpr) {\n return innerExpr + ' ' + part.params[0];\n}\nfunction identityRenderer(part, innerExpr) {\n return part.params[0];\n}\nfunction quotedIdentityRenderer(part, innerExpr) {\n return '\"' + part.params[0] + '\"';\n}\n\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isArray_1 = __webpack_require__(701);\nvar isObject_1 = __webpack_require__(707);\nvar isFunction_1 = __webpack_require__(515);\nvar tryCatch_1 = __webpack_require__(1228);\nvar errorObject_1 = __webpack_require__(516);\nvar UnsubscriptionError_1 = __webpack_require__(1229);\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = (function () {\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n function Subscription(unsubscribe) {\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n this.closed = false;\n this._parent = null;\n this._parents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n Subscription.prototype.unsubscribe = function () {\n var hasErrors = false;\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parent = null;\n this._parents = null;\n // null out _subscriptions first so any child subscriptions that attempt\n // to remove themselves from this subscription will noop\n this._subscriptions = null;\n var index = -1;\n var len = _parents ? _parents.length : 0;\n // if this._parent is null, then so is this._parents, and we\n // don't have to remove ourselves from any parent subscriptions.\n while (_parent) {\n _parent.remove(this);\n // if this._parents is null or index >= len,\n // then _parent is set to null, and the loop exits\n _parent = ++index < len && _parents[index] || null;\n }\n if (isFunction_1.isFunction(_unsubscribe)) {\n var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]);\n }\n }\n if (isArray_1.isArray(_subscriptions)) {\n index = -1;\n len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject_1.isObject(sub)) {\n var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || [];\n var err = errorObject_1.errorObject.e;\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n }\n if (hasErrors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n Subscription.prototype.add = function (teardown) {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n if (teardown === this) {\n return this;\n }\n var subscription = teardown;\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (typeof subscription._addParent !== 'function' /* quack quack */) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n var subscriptions = this._subscriptions || (this._subscriptions = []);\n subscriptions.push(subscription);\n subscription._addParent(this);\n return subscription;\n };\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.prototype._addParent = function (parent) {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n if (!_parent || _parent === parent) {\n // If we don't have a parent, or the new parent is the same as the\n // current parent, then set this._parent to the new parent.\n this._parent = parent;\n }\n else if (!_parents) {\n // If there's already one parent, but not multiple, allocate an Array to\n // store the rest of the parent Subscriptions.\n this._parents = [parent];\n }\n else if (_parents.indexOf(parent) === -1) {\n // Only add the new parent to the _parents list if it's not already there.\n _parents.push(parent);\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexports.Subscription = Subscription;\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar root_1 = __webpack_require__(199);\nfunction getSymbolObservable(context) {\n var $$observable;\n var Symbol = context.Symbol;\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n $$observable = Symbol.observable;\n }\n else {\n $$observable = Symbol('observable');\n Symbol.observable = $$observable;\n }\n }\n else {\n $$observable = '@@observable';\n }\n return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.observable = getSymbolObservable(root_1.root);\n/**\n * @deprecated use observable instead\n */\nexports.$$observable = exports.observable;\n//# sourceMappingURL=observable.js.map\n\n/***/ }),\n/* 703 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DashboardModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_app_core_constants__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_utils_colors__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_app_core_utils_emitter__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_app_core_services_context_srv__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_app_core_utils_sort_by_keys__ = __webpack_require__(1255);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__panel_model__ = __webpack_require__(319);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__dashboard_migration__ = __webpack_require__(1256);\n\n\n\n\n\n\n\n\n\nvar DashboardModel = /** @class */ (function () {\n function DashboardModel(data, meta) {\n if (!data) {\n data = {};\n }\n this.events = new __WEBPACK_IMPORTED_MODULE_4_app_core_utils_emitter__[\"a\" /* Emitter */]();\n this.id = data.id || null;\n this.uid = data.uid || null;\n this.revision = data.revision;\n this.title = data.title || 'No Title';\n this.autoUpdate = data.autoUpdate;\n this.description = data.description;\n this.tags = data.tags || [];\n this.style = data.style || 'dark';\n this.timezone = data.timezone || '';\n this.editable = data.editable !== false;\n this.graphTooltip = data.graphTooltip || 0;\n this.time = data.time || { from: '1970-01-01T00:00:00.000Z', to: '1970-01-01T00:00:05.000Z' };\n this.timepicker = data.timepicker || {};\n this.templating = this.ensureListExist(data.templating);\n this.annotations = this.ensureListExist(data.annotations);\n this.refresh = data.refresh;\n this.snapshot = data.snapshot;\n this.schemaVersion = data.schemaVersion || 0;\n this.version = data.version || 0;\n this.links = data.links || [];\n this.gnetId = data.gnetId || null;\n this.panels = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(data.panels || [], function (panelData) { return new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](panelData); });\n this.resetOriginalVariables();\n this.resetOriginalTime();\n this.initMeta(meta);\n this.updateSchema(data);\n this.addBuiltInAnnotationQuery();\n this.sortPanelsByGridPos();\n }\n DashboardModel.prototype.addBuiltInAnnotationQuery = function () {\n var found = false;\n for (var _i = 0, _a = this.annotations.list; _i < _a.length; _i++) {\n var item = _a[_i];\n if (item.builtIn === 1) {\n found = true;\n break;\n }\n }\n if (found) {\n return;\n }\n this.annotations.list.unshift({\n datasource: '-- Grafana --',\n name: 'Annotations & Alerts',\n type: 'dashboard',\n iconColor: __WEBPACK_IMPORTED_MODULE_3_app_core_utils_colors__[\"b\" /* DEFAULT_ANNOTATION_COLOR */],\n enable: true,\n hide: true,\n builtIn: 1,\n });\n };\n DashboardModel.prototype.initMeta = function (meta) {\n meta = meta || {};\n meta.canShare = meta.canShare !== false;\n meta.canSave = meta.canSave !== false;\n meta.canStar = meta.canStar !== false;\n meta.canEdit = meta.canEdit !== false;\n meta.showSettings = meta.canEdit;\n meta.canMakeEditable = meta.canSave && !this.editable;\n if (!this.editable) {\n meta.canEdit = false;\n meta.canDelete = false;\n meta.canSave = false;\n }\n this.meta = meta;\n };\n // cleans meta data and other non persistent state\n DashboardModel.prototype.getSaveModelClone = function (options) {\n var defaults = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.defaults(options || {}, {\n saveVariables: true,\n saveTimerange: true,\n });\n // make clone\n var copy = {};\n for (var property in this) {\n if (DashboardModel.nonPersistedProperties[property] || !this.hasOwnProperty(property)) {\n continue;\n }\n copy[property] = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(this[property]);\n }\n // get variable save models\n copy.templating = {\n list: __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(this.templating.list, function (variable) { return (variable.getSaveModel ? variable.getSaveModel() : variable); }),\n };\n if (!defaults.saveVariables) {\n for (var i = 0; i < copy.templating.list.length; i++) {\n var current = copy.templating.list[i];\n var original = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.find(this.originalTemplating, { name: current.name, type: current.type });\n if (!original) {\n continue;\n }\n if (current.type === 'adhoc') {\n copy.templating.list[i].filters = original.filters;\n }\n else {\n copy.templating.list[i].current = original.current;\n }\n }\n }\n if (!defaults.saveTimerange) {\n copy.time = this.originalTime;\n }\n // get panel save models\n copy.panels = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.chain(this.panels)\n .filter(function (panel) { return panel.type !== 'add-panel'; })\n .map(function (panel) { return panel.getSaveModel(); })\n .value();\n // sort by keys\n copy = Object(__WEBPACK_IMPORTED_MODULE_6_app_core_utils_sort_by_keys__[\"a\" /* default */])(copy);\n return copy;\n };\n DashboardModel.prototype.setViewMode = function (panel, fullscreen, isEditing) {\n this.meta.fullscreen = fullscreen;\n this.meta.isEditing = isEditing && this.meta.canEdit;\n panel.setViewMode(fullscreen, this.meta.isEditing);\n this.events.emit('view-mode-changed', panel);\n };\n DashboardModel.prototype.ensureListExist = function (data) {\n if (!data) {\n data = {};\n }\n if (!data.list) {\n data.list = [];\n }\n return data;\n };\n DashboardModel.prototype.getNextPanelId = function () {\n var max = 0;\n for (var _i = 0, _a = this.panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n if (panel.id > max) {\n max = panel.id;\n }\n if (panel.collapsed) {\n for (var _b = 0, _c = panel.panels; _b < _c.length; _b++) {\n var rowPanel = _c[_b];\n if (rowPanel.id > max) {\n max = rowPanel.id;\n }\n }\n }\n }\n return max + 1;\n };\n DashboardModel.prototype.forEachPanel = function (callback) {\n for (var i = 0; i < this.panels.length; i++) {\n callback(this.panels[i], i);\n }\n };\n DashboardModel.prototype.getPanelById = function (id) {\n for (var _i = 0, _a = this.panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n if (panel.id === id) {\n return panel;\n }\n }\n return null;\n };\n DashboardModel.prototype.addSensorPanel = function (sensorKey, experimentId) {\n this.addPanel({\n type: 'sensor',\n xaxis: { tzero: true },\n sensorTargets: [{ sensorShortName: sensorKey, experimentId: experimentId }],\n gridPos: { x: 0, y: 0, w: 12, h: 9 },\n });\n };\n DashboardModel.prototype.addExperimentMetaPanel = function () {\n this.addPanel({\n type: 'experimentdetails',\n gridPos: { x: 0, y: 0, w: 12, h: 9 },\n title: 'Experiment details',\n });\n };\n DashboardModel.prototype.addVideoPanel = function () {\n this.addPanel({\n type: 'experimentvideo',\n gridPos: { x: 0, y: 0, w: 12, h: 9 },\n title: 'Video',\n });\n };\n DashboardModel.prototype.addPanel = function (panelData) {\n panelData.id = this.getNextPanelId();\n var panel = new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](panelData);\n this.panels.unshift(panel);\n this.sortPanelsByGridPos();\n this.events.emit('panel-added', panel);\n };\n DashboardModel.prototype.sortPanelsByGridPos = function () {\n this.panels.sort(function (panelA, panelB) {\n if (panelA.gridPos.y === panelB.gridPos.y) {\n return panelA.gridPos.x - panelB.gridPos.x;\n }\n else {\n return panelA.gridPos.y - panelB.gridPos.y;\n }\n });\n };\n DashboardModel.prototype.cleanUpRepeats = function () {\n if (this.snapshot || this.templating.list.length === 0) {\n return;\n }\n this.iteration = (this.iteration || new Date().getTime()) + 1;\n var panelsToRemove = [];\n // cleanup scopedVars\n for (var _i = 0, _a = this.panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n delete panel.scopedVars;\n }\n for (var i = 0; i < this.panels.length; i++) {\n var panel = this.panels[i];\n if ((!panel.repeat || panel.repeatedByRow) && panel.repeatPanelId && panel.repeatIteration !== this.iteration) {\n panelsToRemove.push(panel);\n }\n }\n // remove panels\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.pull.apply(__WEBPACK_IMPORTED_MODULE_1_lodash___default.a, [this.panels].concat(panelsToRemove));\n this.sortPanelsByGridPos();\n this.events.emit('repeats-processed');\n };\n DashboardModel.prototype.processRepeats = function () {\n if (this.snapshot || this.templating.list.length === 0) {\n return;\n }\n this.cleanUpRepeats();\n this.iteration = (this.iteration || new Date().getTime()) + 1;\n for (var i = 0; i < this.panels.length; i++) {\n var panel = this.panels[i];\n if (panel.repeat) {\n this.repeatPanel(panel, i);\n }\n }\n this.sortPanelsByGridPos();\n this.events.emit('repeats-processed');\n };\n DashboardModel.prototype.cleanUpRowRepeats = function (rowPanels) {\n var panelsToRemove = [];\n for (var i = 0; i < rowPanels.length; i++) {\n var panel = rowPanels[i];\n if (!panel.repeat && panel.repeatPanelId) {\n panelsToRemove.push(panel);\n }\n }\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.pull.apply(__WEBPACK_IMPORTED_MODULE_1_lodash___default.a, [rowPanels].concat(panelsToRemove));\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.pull.apply(__WEBPACK_IMPORTED_MODULE_1_lodash___default.a, [this.panels].concat(panelsToRemove));\n };\n DashboardModel.prototype.processRowRepeats = function (row) {\n if (this.snapshot || this.templating.list.length === 0) {\n return;\n }\n var rowPanels = row.panels;\n if (!row.collapsed) {\n var rowPanelIndex = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.findIndex(this.panels, function (p) { return p.id === row.id; });\n rowPanels = this.getRowPanels(rowPanelIndex);\n }\n this.cleanUpRowRepeats(rowPanels);\n var _loop_1 = function (i) {\n var panel = rowPanels[i];\n if (panel.repeat) {\n var panelIndex = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.findIndex(this_1.panels, function (p) { return p.id === panel.id; });\n this_1.repeatPanel(panel, panelIndex);\n }\n };\n var this_1 = this;\n for (var i = 0; i < rowPanels.length; i++) {\n _loop_1(i);\n }\n };\n DashboardModel.prototype.getPanelRepeatClone = function (sourcePanel, valueIndex, sourcePanelIndex) {\n // if first clone return source\n if (valueIndex === 0) {\n return sourcePanel;\n }\n var clone = new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](sourcePanel.getSaveModel());\n clone.id = this.getNextPanelId();\n // insert after source panel + value index\n this.panels.splice(sourcePanelIndex + valueIndex, 0, clone);\n clone.repeatIteration = this.iteration;\n clone.repeatPanelId = sourcePanel.id;\n clone.repeat = null;\n return clone;\n };\n DashboardModel.prototype.getRowRepeatClone = function (sourceRowPanel, valueIndex, sourcePanelIndex) {\n // if first clone return source\n if (valueIndex === 0) {\n if (!sourceRowPanel.collapsed) {\n var rowPanels_1 = this.getRowPanels(sourcePanelIndex);\n sourceRowPanel.panels = rowPanels_1;\n }\n return sourceRowPanel;\n }\n var clone = new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](sourceRowPanel.getSaveModel());\n // for row clones we need to figure out panels under row to clone and where to insert clone\n var rowPanels, insertPos;\n if (sourceRowPanel.collapsed) {\n rowPanels = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(sourceRowPanel.panels);\n clone.panels = rowPanels;\n // insert copied row after preceding row\n insertPos = sourcePanelIndex + valueIndex;\n }\n else {\n rowPanels = this.getRowPanels(sourcePanelIndex);\n clone.panels = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(rowPanels, function (panel) { return panel.getSaveModel(); });\n // insert copied row after preceding row's panels\n insertPos = sourcePanelIndex + (rowPanels.length + 1) * valueIndex;\n }\n this.panels.splice(insertPos, 0, clone);\n this.updateRepeatedPanelIds(clone);\n return clone;\n };\n DashboardModel.prototype.repeatPanel = function (panel, panelIndex) {\n var variable = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.find(this.templating.list, { name: panel.repeat });\n if (!variable) {\n return;\n }\n if (panel.type === 'row') {\n this.repeatRow(panel, panelIndex, variable);\n return;\n }\n var selectedOptions = this.getSelectedVariableOptions(variable);\n var minWidth = panel.minSpan || 6;\n var xPos = 0;\n var yPos = panel.gridPos.y;\n for (var index = 0; index < selectedOptions.length; index++) {\n var option = selectedOptions[index];\n var copy = void 0;\n copy = this.getPanelRepeatClone(panel, index, panelIndex);\n copy.scopedVars = copy.scopedVars || {};\n copy.scopedVars[variable.name] = option;\n if (panel.repeatDirection === __WEBPACK_IMPORTED_MODULE_2_app_core_constants__[\"h\" /* REPEAT_DIR_VERTICAL */]) {\n if (index > 0) {\n yPos += copy.gridPos.h;\n }\n copy.gridPos.y = yPos;\n }\n else {\n // set width based on how many are selected\n // assumed the repeated panels should take up full row width\n copy.gridPos.w = Math.max(__WEBPACK_IMPORTED_MODULE_2_app_core_constants__[\"e\" /* GRID_COLUMN_COUNT */] / selectedOptions.length, minWidth);\n copy.gridPos.x = xPos;\n copy.gridPos.y = yPos;\n xPos += copy.gridPos.w;\n // handle overflow by pushing down one row\n if (xPos + copy.gridPos.w > __WEBPACK_IMPORTED_MODULE_2_app_core_constants__[\"e\" /* GRID_COLUMN_COUNT */]) {\n xPos = 0;\n yPos += copy.gridPos.h;\n }\n }\n }\n // Update gridPos for panels below\n var yOffset = yPos - panel.gridPos.y;\n if (yOffset > 0) {\n var panelBelowIndex = panelIndex + selectedOptions.length;\n for (var i = panelBelowIndex; i < this.panels.length; i++) {\n this.panels[i].gridPos.y += yOffset;\n }\n }\n };\n DashboardModel.prototype.repeatRow = function (panel, panelIndex, variable) {\n var _this = this;\n var selectedOptions = this.getSelectedVariableOptions(variable);\n var yPos = panel.gridPos.y;\n function setScopedVars(panel, variableOption) {\n panel.scopedVars = panel.scopedVars || {};\n panel.scopedVars[variable.name] = variableOption;\n }\n var _loop_2 = function (optionIndex) {\n var option = selectedOptions[optionIndex];\n var rowCopy = this_2.getRowRepeatClone(panel, optionIndex, panelIndex);\n setScopedVars(rowCopy, option);\n var rowHeight = this_2.getRowHeight(rowCopy);\n var rowPanels = rowCopy.panels || [];\n var panelBelowIndex = void 0;\n if (panel.collapsed) {\n // For collapsed row just copy its panels and set scoped vars and proper IDs\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.each(rowPanels, function (rowPanel, i) {\n setScopedVars(rowPanel, option);\n if (optionIndex > 0) {\n _this.updateRepeatedPanelIds(rowPanel, true);\n }\n });\n rowCopy.gridPos.y += optionIndex;\n yPos += optionIndex;\n panelBelowIndex = panelIndex + optionIndex + 1;\n }\n else {\n // insert after 'row' panel\n var insertPos_1 = panelIndex + (rowPanels.length + 1) * optionIndex + 1;\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.each(rowPanels, function (rowPanel, i) {\n setScopedVars(rowPanel, option);\n if (optionIndex > 0) {\n var cloneRowPanel = new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](rowPanel);\n _this.updateRepeatedPanelIds(cloneRowPanel, true);\n // For exposed row additionally set proper Y grid position and add it to dashboard panels\n cloneRowPanel.gridPos.y += rowHeight * optionIndex;\n _this.panels.splice(insertPos_1 + i, 0, cloneRowPanel);\n }\n });\n rowCopy.panels = [];\n rowCopy.gridPos.y += rowHeight * optionIndex;\n yPos += rowHeight;\n panelBelowIndex = insertPos_1 + rowPanels.length;\n }\n // Update gridPos for panels below\n for (var i = panelBelowIndex; i < this_2.panels.length; i++) {\n this_2.panels[i].gridPos.y += yPos;\n }\n };\n var this_2 = this;\n for (var optionIndex = 0; optionIndex < selectedOptions.length; optionIndex++) {\n _loop_2(optionIndex);\n }\n };\n DashboardModel.prototype.updateRepeatedPanelIds = function (panel, repeatedByRow) {\n panel.repeatPanelId = panel.id;\n panel.id = this.getNextPanelId();\n panel.repeatIteration = this.iteration;\n if (repeatedByRow) {\n panel.repeatedByRow = true;\n }\n else {\n panel.repeat = null;\n }\n return panel;\n };\n DashboardModel.prototype.getSelectedVariableOptions = function (variable) {\n var selectedOptions;\n if (variable.current.text === 'All') {\n selectedOptions = variable.options.slice(1, variable.options.length);\n }\n else {\n selectedOptions = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.filter(variable.options, { selected: true });\n }\n return selectedOptions;\n };\n DashboardModel.prototype.getRowHeight = function (rowPanel) {\n if (!rowPanel.panels || rowPanel.panels.length === 0) {\n return 0;\n }\n var rowYPos = rowPanel.gridPos.y;\n var positions = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(rowPanel.panels, 'gridPos');\n var maxPos = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.maxBy(positions, function (pos) {\n return pos.y + pos.h;\n });\n return maxPos.y + maxPos.h - rowYPos;\n };\n DashboardModel.prototype.removePanel = function (panel) {\n var index = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.indexOf(this.panels, panel);\n this.panels.splice(index, 1);\n this.events.emit('panel-removed', panel);\n };\n DashboardModel.prototype.removeRow = function (row, removePanels) {\n var needToogle = (!removePanels && row.collapsed) || (removePanels && !row.collapsed);\n if (needToogle) {\n this.toggleRow(row);\n }\n this.removePanel(row);\n };\n DashboardModel.prototype.expandRows = function () {\n for (var i = 0; i < this.panels.length; i++) {\n var panel = this.panels[i];\n if (panel.type !== 'row') {\n continue;\n }\n if (panel.collapsed) {\n this.toggleRow(panel);\n }\n }\n };\n DashboardModel.prototype.collapseRows = function () {\n for (var i = 0; i < this.panels.length; i++) {\n var panel = this.panels[i];\n if (panel.type !== 'row') {\n continue;\n }\n if (!panel.collapsed) {\n this.toggleRow(panel);\n }\n }\n };\n DashboardModel.prototype.setPanelFocus = function (id) {\n this.meta.focusPanelId = id;\n };\n DashboardModel.prototype.updateSubmenuVisibility = function () {\n var _this = this;\n this.meta.submenuEnabled = (function () {\n if (_this.links.length > 0) {\n return true;\n }\n var visibleVars = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.filter(_this.templating.list, function (variable) { return variable.hide !== 2; });\n if (visibleVars.length > 0) {\n return true;\n }\n var visibleAnnotations = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.filter(_this.annotations.list, function (annotation) { return annotation.hide !== true; });\n if (visibleAnnotations.length > 0) {\n return true;\n }\n return false;\n })();\n };\n DashboardModel.prototype.getPanelInfoById = function (panelId) {\n for (var i = 0; i < this.panels.length; i++) {\n if (this.panels[i].id === panelId) {\n return {\n panel: this.panels[i],\n index: i,\n };\n }\n }\n return null;\n };\n DashboardModel.prototype.duplicatePanel = function (panel) {\n var newPanel = panel.getSaveModel();\n newPanel.id = this.getNextPanelId();\n delete newPanel.repeat;\n delete newPanel.repeatIteration;\n delete newPanel.repeatPanelId;\n delete newPanel.scopedVars;\n if (newPanel.alert) {\n delete newPanel.thresholds;\n }\n delete newPanel.alert;\n // does it fit to the right?\n if (panel.gridPos.x + panel.gridPos.w * 2 <= __WEBPACK_IMPORTED_MODULE_2_app_core_constants__[\"e\" /* GRID_COLUMN_COUNT */]) {\n newPanel.gridPos.x += panel.gridPos.w;\n }\n else {\n // add below\n newPanel.gridPos.y += panel.gridPos.h;\n }\n this.addPanel(newPanel);\n return newPanel;\n };\n DashboardModel.prototype.formatDate = function (date, format) {\n date = __WEBPACK_IMPORTED_MODULE_0_moment___default.a.isMoment(date) ? date : __WEBPACK_IMPORTED_MODULE_0_moment___default()(date);\n format = format || 'YYYY-MM-DD HH:mm:ss.SSS';\n var timezone = this.getTimezone();\n return timezone === 'browser' ? __WEBPACK_IMPORTED_MODULE_0_moment___default()(date).format(format) : __WEBPACK_IMPORTED_MODULE_0_moment___default.a.utc(date).format(format);\n };\n DashboardModel.prototype.destroy = function () {\n this.events.removeAllListeners();\n for (var _i = 0, _a = this.panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n panel.destroy();\n }\n };\n DashboardModel.prototype.toggleRow = function (row) {\n var rowIndex = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.indexOf(this.panels, row);\n if (row.collapsed) {\n row.collapsed = false;\n var hasRepeat = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.some(row.panels, function (p) { return p.repeat; });\n if (row.panels.length > 0) {\n // Use first panel to figure out if it was moved or pushed\n var firstPanel = row.panels[0];\n var yDiff = firstPanel.gridPos.y - (row.gridPos.y + row.gridPos.h);\n // start inserting after row\n var insertPos = rowIndex + 1;\n // y max will represent the bottom y pos after all panels have been added\n // needed to know home much panels below should be pushed down\n var yMax = row.gridPos.y;\n for (var _i = 0, _a = row.panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n // make sure y is adjusted (in case row moved while collapsed)\n // console.log('yDiff', yDiff);\n panel.gridPos.y -= yDiff;\n // insert after row\n this.panels.splice(insertPos, 0, new __WEBPACK_IMPORTED_MODULE_7__panel_model__[\"a\" /* PanelModel */](panel));\n // update insert post and y max\n insertPos += 1;\n yMax = Math.max(yMax, panel.gridPos.y + panel.gridPos.h);\n }\n var pushDownAmount = yMax - row.gridPos.y - 1;\n // push panels below down\n for (var panelIndex = insertPos; panelIndex < this.panels.length; panelIndex++) {\n this.panels[panelIndex].gridPos.y += pushDownAmount;\n }\n row.panels = [];\n if (hasRepeat) {\n this.processRowRepeats(row);\n }\n }\n // sort panels\n this.sortPanelsByGridPos();\n // emit change event\n this.events.emit('row-expanded');\n return;\n }\n var rowPanels = this.getRowPanels(rowIndex);\n // remove panels\n __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.pull.apply(__WEBPACK_IMPORTED_MODULE_1_lodash___default.a, [this.panels].concat(rowPanels));\n // save panel models inside row panel\n row.panels = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(rowPanels, function (panel) { return panel.getSaveModel(); });\n row.collapsed = true;\n // emit change event\n this.events.emit('row-collapsed');\n };\n /**\n * Will return all panels after rowIndex until it encounters another row\n */\n DashboardModel.prototype.getRowPanels = function (rowIndex) {\n var rowPanels = [];\n for (var index = rowIndex + 1; index < this.panels.length; index++) {\n var panel = this.panels[index];\n // break when encountering another row\n if (panel.type === 'row') {\n break;\n }\n // this panel must belong to row\n rowPanels.push(panel);\n }\n return rowPanels;\n };\n DashboardModel.prototype.on = function (eventName, callback) {\n this.events.on(eventName, callback);\n };\n DashboardModel.prototype.off = function (eventName, callback) {\n this.events.off(eventName, callback);\n };\n DashboardModel.prototype.cycleGraphTooltip = function () {\n this.graphTooltip = (this.graphTooltip + 1) % 3;\n };\n DashboardModel.prototype.sharedTooltipModeEnabled = function () {\n return this.graphTooltip > 0;\n };\n DashboardModel.prototype.sharedCrosshairModeOnly = function () {\n return this.graphTooltip === 1;\n };\n DashboardModel.prototype.getRelativeTime = function (date) {\n date = __WEBPACK_IMPORTED_MODULE_0_moment___default.a.isMoment(date) ? date : __WEBPACK_IMPORTED_MODULE_0_moment___default()(date);\n return this.timezone === 'browser' ? __WEBPACK_IMPORTED_MODULE_0_moment___default()(date).fromNow() : __WEBPACK_IMPORTED_MODULE_0_moment___default.a.utc(date).fromNow();\n };\n DashboardModel.prototype.getNextQueryLetter = function (panel) {\n var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n return __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.find(letters, function (refId) {\n return __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.every(panel.targets, function (other) {\n return other.refId !== refId;\n });\n });\n };\n DashboardModel.prototype.isTimezoneUtc = function () {\n return this.getTimezone() === 'utc';\n };\n DashboardModel.prototype.getTimezone = function () {\n return this.timezone ? this.timezone : __WEBPACK_IMPORTED_MODULE_5_app_core_services_context_srv__[\"a\" /* contextSrv */].user.timezone;\n };\n DashboardModel.prototype.updateSchema = function (old) {\n var migrator = new __WEBPACK_IMPORTED_MODULE_8__dashboard_migration__[\"a\" /* DashboardMigrator */](this);\n migrator.updateSchema(old);\n };\n DashboardModel.prototype.resetOriginalTime = function () {\n this.originalTime = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(this.time);\n };\n DashboardModel.prototype.hasTimeChanged = function () {\n return !__WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isEqual(this.time, this.originalTime);\n };\n DashboardModel.prototype.resetOriginalVariables = function () {\n this.originalTemplating = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(this.templating.list, function (variable) {\n return {\n name: variable.name,\n type: variable.type,\n current: __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(variable.current),\n filters: __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(variable.filters),\n };\n });\n };\n DashboardModel.prototype.hasVariableValuesChanged = function () {\n if (this.templating.list.length !== this.originalTemplating.length) {\n return false;\n }\n var updated = __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.map(this.templating.list, function (variable) {\n return {\n name: variable.name,\n type: variable.type,\n current: __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(variable.current),\n filters: __WEBPACK_IMPORTED_MODULE_1_lodash___default.a.cloneDeep(variable.filters),\n };\n });\n return !__WEBPACK_IMPORTED_MODULE_1_lodash___default.a.isEqual(updated, this.originalTemplating);\n };\n DashboardModel.nonPersistedProperties = {\n events: true,\n meta: true,\n panels: true,\n templating: true,\n originalTime: true,\n originalTemplating: true,\n };\n return DashboardModel;\n}());\n\n\n\n/***/ }),\n/* 704 */,\n/* 705 */,\n/* 706 */,\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction isObject(x) {\n return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map\n\n/***/ }),\n/* 708 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assignModelProperties;\nfunction assignModelProperties(target, source, defaults, removeDefaults) {\n for (var key in defaults) {\n if (!defaults.hasOwnProperty(key)) {\n continue;\n }\n target[key] = source[key] === undefined ? defaults[key] : source[key];\n }\n}\n\n\n/***/ }),\n/* 709 */,\n/* 710 */,\n/* 711 */,\n/* 712 */,\n/* 713 */,\n/* 714 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__app__ = __webpack_require__(715);\n\n__WEBPACK_IMPORTED_MODULE_0__app__[\"a\" /* default */].init();\n\n\n/***/ }),\n/* 715 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export GrafanaApp */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_polyfill__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_polyfill___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_polyfill__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_file_saver__ = __webpack_require__(314);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_file_saver___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_file_saver__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_angular__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_angular_route__ = __webpack_require__(357);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_angular_route___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_angular_route__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_angular_sanitize__ = __webpack_require__(358);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_angular_sanitize___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_angular_sanitize__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_angular_native_dragdrop__ = __webpack_require__(359);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_angular_native_dragdrop___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_angular_native_dragdrop__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_angular_bindonce__ = __webpack_require__(360);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_angular_bindonce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_angular_bindonce__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_dom__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_vendor_bootstrap_bootstrap__ = __webpack_require__(931);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_vendor_bootstrap_bootstrap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_vendor_bootstrap_bootstrap__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_vendor_angular_ui_ui_bootstrap_tpls__ = __webpack_require__(932);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_vendor_angular_ui_ui_bootstrap_tpls___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_vendor_angular_ui_ui_bootstrap_tpls__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_vendor_angular_other_angular_strap__ = __webpack_require__(933);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_vendor_angular_other_angular_strap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_vendor_angular_other_angular_strap__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_app_core_config__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_moment__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__sentry_browser__ = __webpack_require__(486);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__core_core__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__routes_routes__ = __webpack_require__(1310);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nif (true) {\n __WEBPACK_IMPORTED_MODULE_16__sentry_browser__[\"init\"]({\n dsn: 'https://2fb5df6c368f4081a1438ceb5ee425e3@sentry.io/1316931',\n environment: undefined ? 'jenkins' : \"production\",\n release: \"819eeb\",\n });\n}\n// add move to lodash for backward compatabiltiy\n__WEBPACK_IMPORTED_MODULE_2_lodash___default.a.move = function (array, fromIndex, toIndex) {\n array.splice(toIndex, 0, array.splice(fromIndex, 1)[0]);\n return array;\n};\n\n\nvar GrafanaApp = /** @class */ (function () {\n function GrafanaApp() {\n this.preBootModules = [];\n this.registerFunctions = {};\n this.ngModuleDependencies = [];\n }\n GrafanaApp.prototype.useModule = function (module) {\n if (this.preBootModules) {\n this.preBootModules.push(module);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.extend(module, this.registerFunctions);\n }\n this.ngModuleDependencies.push(module.name);\n return module;\n };\n GrafanaApp.prototype.init = function () {\n var _this = this;\n var app = __WEBPACK_IMPORTED_MODULE_4_angular___default.a.module('grafana', []);\n // Custom error handler for better formating with sentry\n app.config([\"$provide\", function ($provide) {\n $provide.decorator('$exceptionHandler', [\"$delegate\", function ($delegate) {\n return function (exception, cause) {\n // The delegate throws the error again\n // $delegate(exception, cause);\n console.log('[UH-OH!]', exception);\n if (exception !== null && typeof exception === 'object' && 'message' in exception) {\n __WEBPACK_IMPORTED_MODULE_16__sentry_browser__[\"captureException\"](new Error(exception.message));\n }\n else {\n __WEBPACK_IMPORTED_MODULE_16__sentry_browser__[\"captureException\"](exception);\n }\n };\n }]);\n }]);\n __WEBPACK_IMPORTED_MODULE_15_moment___default.a.locale(__WEBPACK_IMPORTED_MODULE_14_app_core_config__[\"a\" /* default */].bootData.user.locale);\n app.config([\"$locationProvider\", \"$controllerProvider\", \"$compileProvider\", \"$filterProvider\", \"$httpProvider\", \"$provide\", function ($locationProvider, $controllerProvider, $compileProvider, $filterProvider, $httpProvider, $provide) {\n // pre assing bindings before constructor calls\n $compileProvider.preAssignBindingsEnabled(true);\n if (__WEBPACK_IMPORTED_MODULE_14_app_core_config__[\"a\" /* default */].buildInfo.env === 'development' || \"production\" === 'development' || undefined) {\n console.log('Angular debug data is enabled.');\n }\n else {\n $compileProvider.debugInfoEnabled(false);\n console.log('Angular debug data disabled.');\n }\n $httpProvider.useApplyAsync(true);\n _this.registerFunctions.controller = $controllerProvider.register;\n _this.registerFunctions.directive = $compileProvider.directive;\n _this.registerFunctions.factory = $provide.factory;\n _this.registerFunctions.service = $provide.service;\n _this.registerFunctions.filter = $filterProvider.register;\n $provide.decorator('$http', [\n '$delegate',\n '$templateCache',\n function ($delegate, $templateCache) {\n var get = $delegate.get;\n $delegate.get = function (url, config) {\n if (url.match(/\\.html$/)) {\n // some template's already exist in the cache\n if (!$templateCache.get(url)) {\n url += '?v=' + new Date().getTime();\n }\n }\n return get(url, config);\n };\n return $delegate;\n },\n ]);\n }]);\n this.ngModuleDependencies = [\n 'grafana.core',\n 'ngRoute',\n 'ngSanitize',\n '$strap.directives',\n 'ang-drag-drop',\n 'grafana',\n 'pasvaz.bindonce',\n 'ui.bootstrap',\n 'ui.bootstrap.tpls',\n 'react',\n ];\n var module_types = ['controllers', 'directives', 'factories', 'services', 'filters', 'routes'];\n __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.each(module_types, function (type) {\n var moduleName = 'grafana.' + type;\n _this.useModule(__WEBPACK_IMPORTED_MODULE_4_angular___default.a.module(moduleName, []));\n });\n // makes it possible to add dynamic stuff\n this.useModule(__WEBPACK_IMPORTED_MODULE_17__core_core__[\"d\" /* coreModule */]);\n // register react angular wrappers\n __WEBPACK_IMPORTED_MODULE_17__core_core__[\"d\" /* coreModule */].config(__WEBPACK_IMPORTED_MODULE_18__routes_routes__[\"a\" /* setupAngularRoutes */]);\n Object(__WEBPACK_IMPORTED_MODULE_17__core_core__[\"f\" /* registerAngularDirectives */])();\n var preBootRequires = [__webpack_require__.e/* import() */(0).then(__webpack_require__.bind(null, 1982))];\n Promise.all(preBootRequires)\n .then(function () {\n // disable tool tip animation\n __WEBPACK_IMPORTED_MODULE_3_jquery___default.a.fn.tooltip.defaults.animation = false;\n // bootstrap the app\n __WEBPACK_IMPORTED_MODULE_4_angular___default.a.bootstrap(document, _this.ngModuleDependencies).invoke(function () {\n __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.each(_this.preBootModules, function (module) {\n __WEBPACK_IMPORTED_MODULE_2_lodash___default.a.extend(module, _this.registerFunctions);\n });\n _this.preBootModules = null;\n });\n })\n .catch(function (err) {\n console.log('Application boot failed:', err);\n });\n if (__WEBPACK_IMPORTED_MODULE_14_app_core_config__[\"a\" /* default */].bootData.user.isSignedIn) {\n __WEBPACK_IMPORTED_MODULE_16__sentry_browser__[\"setUser\"]({\n email: __WEBPACK_IMPORTED_MODULE_14_app_core_config__[\"a\" /* default */].bootData.user.email,\n id: __WEBPACK_IMPORTED_MODULE_14_app_core_config__[\"a\" /* default */].bootData.user.id,\n });\n // let INTERNAL_ORGS = [2, 1402];\n // let isInternal = INTERNAL_ORGS.indexOf(config.bootData.user.orgId) !== -1;\n // let PROD_HOST = 'getcurve.io';\n //\n // if (window.location.hostname === PROD_HOST && isInternal) {\n // if (\n // confirm(\n // 'VAST organziations have migrated to an internal server. \\n' +\n // 'This server is deprecated. Redirect to curve.vastspace.com?'\n // )\n // ) {\n // window.location.href = 'http://curve.vastspace.com/login';\n // }\n // }\n }\n };\n return GrafanaApp;\n}());\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new GrafanaApp());\n\n\n/***/ }),\n/* 716 */,\n/* 717 */,\n/* 718 */,\n/* 719 */,\n/* 720 */,\n/* 721 */,\n/* 722 */,\n/* 723 */,\n/* 724 */,\n/* 725 */,\n/* 726 */,\n/* 727 */,\n/* 728 */,\n/* 729 */,\n/* 730 */,\n/* 731 */,\n/* 732 */,\n/* 733 */,\n/* 734 */,\n/* 735 */,\n/* 736 */,\n/* 737 */,\n/* 738 */,\n/* 739 */,\n/* 740 */,\n/* 741 */,\n/* 742 */,\n/* 743 */,\n/* 744 */,\n/* 745 */,\n/* 746 */,\n/* 747 */,\n/* 748 */,\n/* 749 */,\n/* 750 */,\n/* 751 */,\n/* 752 */,\n/* 753 */,\n/* 754 */,\n/* 755 */,\n/* 756 */,\n/* 757 */,\n/* 758 */,\n/* 759 */,\n/* 760 */,\n/* 761 */,\n/* 762 */,\n/* 763 */,\n/* 764 */,\n/* 765 */,\n/* 766 */,\n/* 767 */,\n/* 768 */,\n/* 769 */,\n/* 770 */,\n/* 771 */,\n/* 772 */,\n/* 773 */,\n/* 774 */,\n/* 775 */,\n/* 776 */,\n/* 777 */,\n/* 778 */,\n/* 779 */,\n/* 780 */,\n/* 781 */,\n/* 782 */,\n/* 783 */,\n/* 784 */,\n/* 785 */,\n/* 786 */,\n/* 787 */,\n/* 788 */,\n/* 789 */,\n/* 790 */,\n/* 791 */,\n/* 792 */,\n/* 793 */,\n/* 794 */,\n/* 795 */,\n/* 796 */,\n/* 797 */,\n/* 798 */,\n/* 799 */,\n/* 800 */,\n/* 801 */,\n/* 802 */,\n/* 803 */,\n/* 804 */,\n/* 805 */,\n/* 806 */,\n/* 807 */,\n/* 808 */,\n/* 809 */,\n/* 810 */,\n/* 811 */,\n/* 812 */,\n/* 813 */,\n/* 814 */,\n/* 815 */,\n/* 816 */,\n/* 817 */,\n/* 818 */,\n/* 819 */,\n/* 820 */,\n/* 821 */,\n/* 822 */,\n/* 823 */,\n/* 824 */,\n/* 825 */,\n/* 826 */,\n/* 827 */,\n/* 828 */,\n/* 829 */,\n/* 830 */,\n/* 831 */,\n/* 832 */,\n/* 833 */,\n/* 834 */,\n/* 835 */,\n/* 836 */,\n/* 837 */,\n/* 838 */,\n/* 839 */,\n/* 840 */,\n/* 841 */,\n/* 842 */,\n/* 843 */,\n/* 844 */,\n/* 845 */,\n/* 846 */,\n/* 847 */,\n/* 848 */,\n/* 849 */,\n/* 850 */,\n/* 851 */,\n/* 852 */,\n/* 853 */,\n/* 854 */,\n/* 855 */,\n/* 856 */,\n/* 857 */,\n/* 858 */,\n/* 859 */,\n/* 860 */,\n/* 861 */,\n/* 862 */,\n/* 863 */,\n/* 864 */,\n/* 865 */,\n/* 866 */,\n/* 867 */,\n/* 868 */,\n/* 869 */,\n/* 870 */,\n/* 871 */,\n/* 872 */,\n/* 873 */,\n/* 874 */,\n/* 875 */,\n/* 876 */,\n/* 877 */,\n/* 878 */,\n/* 879 */,\n/* 880 */,\n/* 881 */,\n/* 882 */,\n/* 883 */,\n/* 884 */,\n/* 885 */,\n/* 886 */,\n/* 887 */,\n/* 888 */,\n/* 889 */,\n/* 890 */,\n/* 891 */,\n/* 892 */,\n/* 893 */,\n/* 894 */,\n/* 895 */,\n/* 896 */,\n/* 897 */,\n/* 898 */,\n/* 899 */,\n/* 900 */,\n/* 901 */,\n/* 902 */,\n/* 903 */,\n/* 904 */,\n/* 905 */,\n/* 906 */,\n/* 907 */,\n/* 908 */,\n/* 909 */,\n/* 910 */,\n/* 911 */,\n/* 912 */,\n/* 913 */,\n/* 914 */,\n/* 915 */,\n/* 916 */,\n/* 917 */,\n/* 918 */,\n/* 919 */,\n/* 920 */,\n/* 921 */,\n/* 922 */,\n/* 923 */,\n/* 924 */,\n/* 925 */,\n/* 926 */,\n/* 927 */,\n/* 928 */,\n/* 929 */,\n/* 930 */,\n/* 931 */\n/***/ (function(module, exports) {\n\n/* ===================================================\n * bootstrap-transition.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#transitions\n * ===================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n\n /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)\n * ======================================================= */\n\n $(function () {\n\n $.support.transition = (function () {\n\n var transitionEnd = (function () {\n\n var el = document.createElement('bootstrap')\n , transEndEventNames = {\n 'WebkitTransition' : 'webkitTransitionEnd'\n , 'MozTransition' : 'transitionend'\n , 'OTransition' : 'oTransitionEnd otransitionend'\n , 'transition' : 'transitionend'\n }\n , name\n\n for (name in transEndEventNames){\n if (el.style[name] !== undefined) {\n return transEndEventNames[name]\n }\n }\n\n }())\n\n return transitionEnd && {\n end: transitionEnd\n }\n\n })()\n\n })\n\n}(window.jQuery);/* ==========================================================\n * bootstrap-alert.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#alerts\n * ==========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n/* ============================================================\n * bootstrap-dropdown.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#dropdowns\n * ============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n /* DROPDOWN CLASS DEFINITION\n * ========================= */\n\n var toggle = '[data-toggle=dropdown]'\n , Dropdown = function (element) {\n var $el = $(element).on('click.dropdown.data-api', this.toggle)\n $('html').on('click.dropdown.data-api', function () {\n $el.parent().removeClass('open')\n })\n }\n\n Dropdown.prototype = {\n\n constructor: Dropdown\n\n , toggle: function (e) {\n var $this = $(this)\n , $parent\n , isActive\n\n if ($this.is('.disabled, :disabled')) return\n\n $parent = getParent($this)\n\n isActive = $parent.hasClass('open')\n\n clearMenus()\n\n if (!isActive) {\n if ('ontouchstart' in document.documentElement) {\n // if mobile we we use a backdrop because click events don't delegate\n $('
').insertBefore($(this)).on('click', clearMenus)\n }\n $parent.toggleClass('open')\n }\n\n $this.focus()\n\n return false\n }\n\n , keydown: function (e) {\n var $this\n , $items\n , $active\n , $parent\n , isActive\n , index\n\n if (!/(38|40|27)/.test(e.keyCode)) return\n\n $this = $(this)\n\n e.preventDefault()\n e.stopPropagation()\n\n if ($this.is('.disabled, :disabled')) return\n\n $parent = getParent($this)\n\n isActive = $parent.hasClass('open')\n\n if (!isActive || (isActive && e.keyCode == 27)) {\n if (e.which == 27) $parent.find(toggle).focus()\n return $this.click()\n }\n\n $items = $('[role=menu] li:not(.divider):visible a', $parent)\n\n if (!$items.length) return\n\n index = $items.index($items.filter(':focus'))\n\n if (e.keyCode == 38 && index > 0) index-- // up\n if (e.keyCode == 40 && index < $items.length - 1) index++ // down\n if (!~index) index = 0\n\n $items\n .eq(index)\n .focus()\n }\n\n }\n\n function clearMenus() {\n $('.dropdown-backdrop').remove()\n $(toggle).each(function () {\n getParent($(this)).removeClass('open')\n })\n }\n\n function getParent($this) {\n var selector = $this.attr('data-target')\n , $parent\n\n if (!selector) {\n selector = $this.attr('href')\n // grafana backport fix from bootstrap 3\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n }\n\n $parent = selector && $(selector)\n\n if (!$parent || !$parent.length) $parent = $this.parent()\n\n return $parent\n }\n\n\n /* DROPDOWN PLUGIN DEFINITION\n * ========================== */\n\n var old = $.fn.dropdown\n\n $.fn.dropdown = function (option) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('dropdown')\n if (!data) $this.data('dropdown', (data = new Dropdown(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n $.fn.dropdown.Constructor = Dropdown\n\n\n /* DROPDOWN NO CONFLICT\n * ==================== */\n\n $.fn.dropdown.noConflict = function () {\n $.fn.dropdown = old\n return this\n }\n\n\n /* APPLY TO STANDARD DROPDOWN ELEMENTS\n * =================================== */\n\n $(document)\n .on('click.dropdown.data-api', clearMenus)\n .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)\n .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)\n\n}(window.jQuery);\n/* =========================================================\n * bootstrap-modal.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#modals\n * =========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n\n /* MODAL CLASS DEFINITION\n * ====================== */\n\n var Modal = function (element, options) {\n this.options = options\n this.$element = $(element)\n .delegate('[data-dismiss=\"modal\"]', 'click.dismiss.modal', $.proxy(this.hide, this))\n this.options.remote && this.$element.find('.modal-body').load(this.options.remote)\n }\n\n Modal.prototype = {\n\n constructor: Modal\n\n , toggle: function () {\n return this[!this.isShown ? 'show' : 'hide']()\n }\n\n , show: function () {\n var that = this\n , e = $.Event('show')\n\n this.$element.trigger(e)\n\n if (this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = true\n\n this.escape()\n\n this.backdrop(function () {\n var transition = $.support.transition && that.$element.hasClass('fade')\n\n if (!that.$element.parent().length) {\n that.$element.appendTo(document.body) //don't move modals dom position\n }\n\n that.$element.show()\n\n if (transition) {\n that.$element[0].offsetWidth // force reflow\n }\n\n that.$element\n .addClass('in')\n .attr('aria-hidden', false)\n\n that.enforceFocus()\n\n transition ?\n that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :\n that.$element.focus().trigger('shown')\n\n })\n }\n\n , hide: function (e) {\n e && e.preventDefault()\n\n var that = this\n\n e = $.Event('hide')\n\n this.$element.trigger(e)\n\n if (!this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = false\n\n this.escape()\n\n $(document).off('focusin.modal')\n\n this.$element\n .removeClass('in')\n .attr('aria-hidden', true)\n\n $.support.transition && this.$element.hasClass('fade') ?\n this.hideWithTransition() :\n this.hideModal()\n }\n\n , enforceFocus: function () {\n var that = this\n $(document).on('focusin.modal', function (e) {\n if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {\n that.$element.focus()\n }\n })\n }\n\n , escape: function () {\n var that = this\n if (this.isShown && this.options.keyboard) {\n this.$element.on('keyup.dismiss.modal', function ( e ) {\n e.which == 27 && that.hide()\n })\n } else if (!this.isShown) {\n this.$element.off('keyup.dismiss.modal')\n }\n }\n\n , hideWithTransition: function () {\n var that = this\n , timeout = setTimeout(function () {\n that.$element.off($.support.transition.end)\n that.hideModal()\n }, 500)\n\n this.$element.one($.support.transition.end, function () {\n clearTimeout(timeout)\n that.hideModal()\n })\n }\n\n , hideModal: function () {\n var that = this\n this.$element.hide()\n this.backdrop(function () {\n that.removeBackdrop()\n that.$element.trigger('hidden')\n })\n }\n\n , removeBackdrop: function () {\n this.$backdrop && this.$backdrop.remove()\n this.$backdrop = null\n }\n\n , backdrop: function (callback) {\n var that = this\n , animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n if (this.isShown && this.options.backdrop) {\n var doAnimate = $.support.transition && animate\n\n this.$backdrop = $('
')\n .appendTo(document.body)\n\n this.$backdrop.click(\n this.options.backdrop == 'static' ?\n $.proxy(this.$element[0].focus, this.$element[0])\n : $.proxy(this.hide, this)\n )\n\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n this.$backdrop.addClass('in')\n\n if (!callback) return\n\n doAnimate ?\n this.$backdrop.one($.support.transition.end, callback) :\n callback()\n\n } else if (!this.isShown && this.$backdrop) {\n this.$backdrop.removeClass('in')\n\n $.support.transition && this.$element.hasClass('fade')?\n this.$backdrop.one($.support.transition.end, callback) :\n callback()\n\n } else if (callback) {\n callback()\n }\n }\n }\n\n\n /* MODAL PLUGIN DEFINITION\n * ======================= */\n\n var old = $.fn.modal\n\n $.fn.modal = function (option) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('modal')\n , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)\n if (!data) $this.data('modal', (data = new Modal(this, options)))\n if (typeof option == 'string') data[option]()\n else if (options.show) data.show()\n })\n }\n\n $.fn.modal.defaults = {\n backdrop: true\n , keyboard: true\n , show: true\n }\n\n $.fn.modal.Constructor = Modal\n\n\n /* MODAL NO CONFLICT\n * ================= */\n\n $.fn.modal.noConflict = function () {\n $.fn.modal = old\n return this\n }\n\n\n /* MODAL DATA-API\n * ============== */\n\n $(document).on('click.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n var $this = $(this)\n , href = $this.attr('href')\n , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) //strip for ie7\n , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())\n\n e.preventDefault()\n\n $target\n .modal(option)\n .one('hide', function () {\n $this.focus()\n })\n })\n\n}(window.jQuery);\n/* ===========================================================\n * bootstrap-tooltip.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#tooltips\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ===========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n\n /* TOOLTIP PUBLIC CLASS DEFINITION\n * =============================== */\n\n var Tooltip = function (element, options) {\n this.init('tooltip', element, options)\n }\n\n Tooltip.prototype = {\n\n constructor: Tooltip\n\n , init: function (type, element, options) {\n var eventIn\n , eventOut\n , triggers\n , trigger\n , i\n\n this.type = type\n this.$element = $(element)\n this.options = this.getOptions(options)\n this.enabled = true\n\n triggers = this.options.trigger.split(' ')\n\n for (i = triggers.length; i--;) {\n trigger = triggers[i]\n if (trigger == 'click') {\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n } else if (trigger != 'manual') {\n eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'\n eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n }\n }\n\n this.options.selector ?\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n this.fixTitle()\n }\n\n , getOptions: function (options) {\n options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)\n\n if (options.delay && typeof options.delay == 'number') {\n options.delay = {\n show: options.delay\n , hide: options.delay\n }\n }\n\n return options\n }\n\n , enter: function (e) {\n var defaults = $.fn[this.type].defaults\n , options = {}\n , self\n\n this._options && $.each(this._options, function (key, value) {\n if (defaults[key] != value) options[key] = value\n }, this)\n\n self = $(e.currentTarget)[this.type](options).data(this.type)\n\n if (!self.options.delay || !self.options.delay.show) return self.show()\n\n clearTimeout(this.timeout)\n self.hoverState = 'in'\n this.timeout = setTimeout(function() {\n if (self.hoverState == 'in') self.show()\n }, self.options.delay.show)\n }\n\n , leave: function (e) {\n var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n if (this.timeout) clearTimeout(this.timeout)\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n self.hoverState = 'out'\n this.timeout = setTimeout(function() {\n if (self.hoverState == 'out') self.hide()\n }, self.options.delay.hide)\n }\n\n , show: function () {\n var $tip\n , pos\n , actualWidth\n , actualHeight\n , placement\n , tp\n , e = $.Event('show')\n\n if (this.hasContent() && this.enabled) {\n this.$element.trigger(e)\n if (e.isDefaultPrevented()) return\n $tip = this.tip()\n this.setContent()\n\n if (this.options.animation) {\n $tip.addClass('fade')\n }\n\n placement = typeof this.options.placement == 'function' ?\n this.options.placement.call(this, $tip[0], this.$element[0]) :\n this.options.placement\n\n $tip\n .detach()\n .css({ top: 0, left: 0, display: 'block' })\n\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n\n pos = this.getPosition()\n\n actualWidth = $tip[0].offsetWidth\n actualHeight = $tip[0].offsetHeight\n\n switch (placement) {\n case 'bottom':\n tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}\n break\n case 'top':\n tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}\n break\n case 'left':\n tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}\n break\n case 'right':\n tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}\n break\n\n // extend placements (top)\n case 'topLeft':\n tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - (actualWidth * .10)};\n break;\n case 'topRight':\n tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - (actualWidth * .90)};\n break;\n\n // extend placements (right)\n case 'rightTop':\n tp = {top: pos.top + pos.height / 2 - (actualHeight *.10), left: pos.left + pos.width};\n break;\n case 'rightBottom':\n tp = {top: pos.top + pos.height / 2 - (actualHeight * .90), left: pos.left + pos.width};\n break;\n\n // extend placements (bottom)\n case 'bottomLeft':\n tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - (actualWidth * .10)};\n break;\n case 'bottomRight':\n tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - (actualWidth * .90)};\n break;\n\n // extend placements (left)\n case 'leftTop':\n tp = {top: pos.top + pos.height / 2 - (actualHeight *.10), left: pos.left - actualWidth};\n break;\n case 'leftBottom':\n tp = {top: pos.top + pos.height / 2 - (actualHeight * .90), left: pos.left - actualWidth};\n break;\n\n\n }\n\n this.applyPlacement(tp, placement)\n this.$element.trigger('shown')\n }\n }\n\n , applyPlacement: function(offset, placement){\n var $tip = this.tip()\n , width = $tip[0].offsetWidth\n , height = $tip[0].offsetHeight\n , actualWidth\n , actualHeight\n , delta\n , replace\n\n $tip\n .offset(offset)\n .addClass(placement)\n .addClass('in')\n\n actualWidth = $tip[0].offsetWidth\n actualHeight = $tip[0].offsetHeight\n\n if (placement == 'top' && actualHeight != height) {\n offset.top = offset.top + height - actualHeight\n replace = true\n }\n\n if (placement == 'bottom' || placement == 'top') {\n delta = 0\n\n if (offset.left < 0){\n delta = offset.left * -2\n offset.left = 0\n $tip.offset(offset)\n actualWidth = $tip[0].offsetWidth\n actualHeight = $tip[0].offsetHeight\n }\n\n this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')\n } else {\n this.replaceArrow(actualHeight - height, actualHeight, 'top')\n }\n\n if (replace) $tip.offset(offset)\n }\n\n , replaceArrow: function(delta, dimension, position){\n this\n .arrow()\n .css(position, delta ? (50 * (1 - delta / dimension) + \"%\") : '')\n }\n\n , setContent: function () {\n var $tip = this.tip()\n , title = this.getTitle()\n\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n $tip.removeClass('fade in top bottom left right')\n }\n\n , hide: function () {\n var that = this\n , $tip = this.tip()\n , e = $.Event('hide')\n\n this.$element.trigger(e)\n if (e.isDefaultPrevented()) return\n\n $tip.removeClass('in')\n\n function removeWithAnimation() {\n var timeout = setTimeout(function () {\n $tip.off($.support.transition.end).detach()\n }, 500)\n\n $tip.one($.support.transition.end, function () {\n clearTimeout(timeout)\n $tip.detach()\n })\n }\n\n $.support.transition && this.$tip.hasClass('fade') ?\n removeWithAnimation() :\n $tip.detach()\n\n this.$element.trigger('hidden')\n\n return this\n }\n\n , fixTitle: function () {\n var $e = this.$element\n if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n }\n }\n\n , hasContent: function () {\n return this.getTitle()\n }\n\n , getPosition: function () {\n var el = this.$element[0]\n return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {\n width: el.offsetWidth\n , height: el.offsetHeight\n }, this.$element.offset())\n }\n\n , getTitle: function () {\n var title\n , $e = this.$element\n , o = this.options\n\n title = $e.attr('data-original-title')\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\n\n return title\n }\n\n , tip: function () {\n return this.$tip = this.$tip || $(this.options.template)\n }\n\n , arrow: function(){\n return this.$arrow = this.$arrow || this.tip().find(\".tooltip-arrow\")\n }\n\n , validate: function () {\n if (!this.$element[0].parentNode) {\n this.hide()\n this.$element = null\n this.options = null\n }\n }\n\n , enable: function () {\n this.enabled = true\n }\n\n , disable: function () {\n this.enabled = false\n }\n\n , toggleEnabled: function () {\n this.enabled = !this.enabled\n }\n\n , toggle: function (e) {\n var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this\n self.tip().hasClass('in') ? self.hide() : self.show()\n }\n\n , destroy: function () {\n this.hide().$element.off('.' + this.type).removeData(this.type)\n }\n\n }\n\n\n /* TOOLTIP PLUGIN DEFINITION\n * ========================= */\n\n var old = $.fn.tooltip\n\n $.fn.tooltip = function ( option ) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('tooltip')\n , options = typeof option == 'object' && option\n if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.tooltip.Constructor = Tooltip\n\n $.fn.tooltip.defaults = {\n animation: true\n , placement: 'top'\n , selector: false\n , template: '
'\n , trigger: 'hover focus'\n , title: ''\n , delay: 0\n , html: false\n , container: false\n }\n\n\n /* TOOLTIP NO CONFLICT\n * =================== */\n\n $.fn.tooltip.noConflict = function () {\n $.fn.tooltip = old\n return this\n }\n\n}(window.jQuery);\n\n/* ========================================================\n * bootstrap-tab.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#tabs\n * ========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================== */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n\n /* TAB CLASS DEFINITION\n * ==================== */\n\n var Tab = function (element) {\n this.element = $(element)\n }\n\n Tab.prototype = {\n\n constructor: Tab\n\n , show: function () {\n var $this = this.element\n , $ul = $this.closest('ul:not(.dropdown-menu)')\n , selector = $this.attr('data-target')\n , previous\n , $target\n , e\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n }\n\n if ( $this.parent('li').hasClass('active') ) return\n\n previous = $ul.find('.active:last a')[0]\n\n e = $.Event('show', {\n relatedTarget: previous\n })\n\n $this.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n $target = $(selector)\n\n this.activate($this.parent('li'), $ul)\n this.activate($target, $target.parent(), function () {\n $this.trigger({\n type: 'shown'\n , relatedTarget: previous\n })\n })\n }\n\n , activate: function ( element, container, callback) {\n var $active = container.find('> .active')\n , transition = callback\n && $.support.transition\n && $active.hasClass('fade')\n\n function next() {\n $active\n .removeClass('active')\n .find('> .dropdown-menu > .active')\n .removeClass('active')\n\n element.addClass('active')\n\n if (transition) {\n element[0].offsetWidth // reflow for transition\n element.addClass('in')\n } else {\n element.removeClass('fade')\n }\n\n if ( element.parent('.dropdown-menu') ) {\n element.closest('li.dropdown').addClass('active')\n }\n\n callback && callback()\n }\n\n transition ?\n $active.one($.support.transition.end, next) :\n next()\n\n $active.removeClass('in')\n }\n }\n\n\n /* TAB PLUGIN DEFINITION\n * ===================== */\n\n var old = $.fn.tab\n\n $.fn.tab = function ( option ) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('tab')\n if (!data) $this.data('tab', (data = new Tab(this)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.tab.Constructor = Tab\n\n\n /* TAB NO CONFLICT\n * =============== */\n\n $.fn.tab.noConflict = function () {\n $.fn.tab = old\n return this\n }\n\n\n /* TAB DATA-API\n * ============ */\n\n $(document).on('click.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n e.preventDefault()\n $(this).tab('show')\n })\n\n}(window.jQuery);/* =============================================================\n * bootstrap-typeahead.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#typeahead\n * =============================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function($){\n\n \"use strict\"; // jshint ;_;\n\n\n /* TYPEAHEAD PUBLIC CLASS DEFINITION\n * ================================= */\n\n var Typeahead = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, $.fn.typeahead.defaults, options)\n this.matcher = this.options.matcher || this.matcher\n this.sorter = this.options.sorter || this.sorter\n this.highlighter = this.options.highlighter || this.highlighter\n this.updater = this.options.updater || this.updater\n this.source = this.options.source\n this.$menu = $(this.options.menu)\n this.shown = false\n this.listen()\n }\n\n Typeahead.prototype = {\n\n constructor: Typeahead\n\n , select: function () {\n // CHANGE (rashidkpc) If nothing is selected, use existing value\n var val = this.$menu.find('.active').attr('data-value') || this.$element.val();\n this.$element\n .val(this.updater(val))\n .change()\n return this.hide()\n }\n\n , updater: function (item) {\n return item\n }\n\n , show: function () {\n var pos = $.extend({}, this.$element.position(), {\n height: this.$element[0].offsetHeight\n })\n\n this.$menu\n .insertAfter(this.$element)\n .css({\n top: pos.top + pos.height\n , left: pos.left\n })\n .show()\n\n this.shown = true\n return this\n }\n\n , hide: function () {\n this.$menu.hide()\n this.shown = false\n return this\n }\n\n , lookup: function (event) {\n var items\n\n this.query = this.$element.val()\n\n if (!this.query || this.query.length < this.options.minLength) {\n return this.shown ? this.hide() : this\n }\n\n items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source\n\n return items ? this.process(items) : this\n }\n\n , process: function (items) {\n var that = this\n\n items = $.grep(items, function (item) {\n return that.matcher(item)\n })\n\n items = this.sorter(items)\n\n if (!items.length) {\n return this.shown ? this.hide() : this\n }\n\n return this.render(items.slice(0, this.options.items)).show()\n }\n\n , matcher: function (item) {\n return ~item.toLowerCase().indexOf(this.query.toLowerCase())\n }\n\n , sorter: function (items) {\n var beginswith = []\n , caseSensitive = []\n , caseInsensitive = []\n , item\n\n while (item = items.shift()) {\n if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)\n else if (~item.indexOf(this.query)) caseSensitive.push(item)\n else caseInsensitive.push(item)\n }\n\n return beginswith.concat(caseSensitive, caseInsensitive)\n }\n\n , highlighter: function (item) {\n var query = this.query.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&')\n if (!query) {\n return item;\n }\n return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {\n return '' + match + ''\n });\n }\n\n , render: function (items) {\n var that = this\n\n items = $(items).map(function (i, item) {\n i = $(that.options.item).attr('data-value', item)\n i.find('a').html(that.highlighter(item))\n return i[0]\n })\n\n // CHANGE (rashidpc) Do not select first element by default\n // items.first().addClass('active')\n this.$menu.html(items)\n return this\n }\n\n , next: function (event) {\n var active = this.$menu.find('.active').removeClass('active')\n , next = active.next()\n\n if (!next.length) {\n next = $(this.$menu.find('li')[0])\n }\n\n next.addClass('active')\n }\n\n , prev: function (event) {\n var active = this.$menu.find('.active').removeClass('active')\n , prev = active.prev()\n\n if (!prev.length) {\n prev = this.$menu.find('li').last()\n }\n\n prev.addClass('active')\n }\n\n , listen: function () {\n this.$element\n .on('focus', $.proxy(this.focus, this))\n .on('blur', $.proxy(this.blur, this))\n .on('keypress', $.proxy(this.keypress, this))\n .on('keyup', $.proxy(this.keyup, this))\n\n if (this.eventSupported('keydown')) {\n this.$element.on('keydown', $.proxy(this.keydown, this))\n }\n\n this.$menu\n .on('click', $.proxy(this.click, this))\n .on('mouseenter', 'li', $.proxy(this.mouseenter, this))\n .on('mouseleave', 'li', $.proxy(this.mouseleave, this))\n },\n\n destroy: function () {\n this.$element.off().removeData('typeahead');\n this.$menu.off();\n }\n\n , eventSupported: function(eventName) {\n var isSupported = eventName in this.$element\n if (!isSupported) {\n this.$element.setAttribute(eventName, 'return;')\n isSupported = typeof this.$element[eventName] === 'function'\n }\n return isSupported\n }\n\n , move: function (e) {\n if (!this.shown) return\n\n // grafana change, shift+left parenthesis\n if (e.shiftKey && e.keyCode === 40) {\n return;\n }\n\n switch(e.keyCode) {\n case 9: // tab\n case 13: // enter\n case 27: // escape\n e.preventDefault()\n break\n\n case 38: // up arrow\n e.preventDefault()\n this.prev()\n break\n\n case 40: // down arrow\n e.preventDefault()\n this.next()\n break\n }\n\n e.stopPropagation()\n }\n\n , keydown: function (e) {\n this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27,57])\n this.move(e)\n }\n\n , keypress: function (e) {\n if (this.suppressKeyPressRepeat) return\n this.move(e)\n }\n\n , keyup: function (e) {\n switch(e.keyCode) {\n case 40: // down arrow\n case 38: // up arrow\n case 16: // shift\n case 17: // ctrl\n case 18: // alt\n break\n\n case 9: // tab\n case 13: // enter\n if (!this.shown) return\n this.select()\n break\n\n case 27: // escape\n if (!this.shown) return\n this.hide()\n break\n\n default:\n this.lookup();\n }\n\n if(e.keyCode === 13 && typeof this.$menu.find('.active').attr('data-value') === 'undefined') {\n // CHANGE (rashidkpc). Enter was hit, nothing was selected from typeahead, submit form\n this.$element.submit();\n } else {\n e.stopPropagation()\n e.preventDefault()\n }\n\n }\n\n , focus: function (e) {\n this.focused = true\n }\n\n , blur: function (e) {\n this.focused = false\n if (!this.mousedover && this.shown) this.hide()\n }\n\n , click: function (e) {\n e.stopPropagation()\n e.preventDefault()\n this.select()\n this.$element.focus()\n }\n\n , mouseenter: function (e) {\n this.mousedover = true\n this.$menu.find('.active').removeClass('active')\n $(e.currentTarget).addClass('active')\n }\n\n , mouseleave: function (e) {\n this.mousedover = false\n if (!this.focused && this.shown) this.hide()\n }\n\n }\n\n\n /* TYPEAHEAD PLUGIN DEFINITION\n * =========================== */\n\n var old = $.fn.typeahead\n\n $.fn.typeahead = function (option) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('typeahead')\n , options = typeof option == 'object' && option\n if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.typeahead.defaults = {\n source: []\n , items: 8\n , menu: '
    '\n , item: '
  • '\n , minLength: 1\n }\n\n $.fn.typeahead.Constructor = Typeahead\n\n\n /* TYPEAHEAD NO CONFLICT\n * =================== */\n\n $.fn.typeahead.noConflict = function () {\n $.fn.typeahead = old\n return this\n }\n\n\n /* TYPEAHEAD DATA-API\n * ================== */\n\n $(document).on('focus.typeahead.data-api', '[data-provide=\"typeahead\"]', function (e) {\n var $this = $(this)\n if ($this.data('typeahead')) return\n $this.typeahead($this.data())\n })\n\n}(window.jQuery);\n/* ==========================================================\n * bootstrap-affix.js v2.3.2\n * http://getbootstrap.com/2.3.2/javascript.html#affix\n * ==========================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function ($) {\n\n \"use strict\"; // jshint ;_;\n\n\n /* AFFIX CLASS DEFINITION\n * ====================== */\n\n var Affix = function (element, options) {\n this.options = $.extend({}, $.fn.affix.defaults, options)\n this.$window = $(window)\n .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))\n .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))\n this.$element = $(element)\n this.checkPosition()\n }\n\n Affix.prototype.checkPosition = function () {\n if (!this.$element.is(':visible')) return\n\n var scrollHeight = $(document).height()\n , scrollTop = this.$window.scrollTop()\n , position = this.$element.offset()\n , offset = this.options.offset\n , offsetBottom = offset.bottom\n , offsetTop = offset.top\n , reset = 'affix affix-top affix-bottom'\n , affix\n\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\n if (typeof offsetTop == 'function') offsetTop = offset.top()\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()\n\n affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?\n false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?\n 'bottom' : offsetTop != null && scrollTop <= offsetTop ?\n 'top' : false\n\n if (this.affixed === affix) return\n\n this.affixed = affix\n this.unpin = affix == 'bottom' ? position.top - scrollTop : null\n\n this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))\n }\n\n\n /* AFFIX PLUGIN DEFINITION\n * ======================= */\n\n var old = $.fn.affix\n\n $.fn.affix = function (option) {\n return this.each(function () {\n var $this = $(this)\n , data = $this.data('affix')\n , options = typeof option == 'object' && option\n if (!data) $this.data('affix', (data = new Affix(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.affix.Constructor = Affix\n\n $.fn.affix.defaults = {\n offset: 0\n }\n\n\n /* AFFIX NO CONFLICT\n * ================= */\n\n $.fn.affix.noConflict = function () {\n $.fn.affix = old\n return this\n }\n\n\n /* AFFIX DATA-API\n * ============== */\n\n $(window).on('load', function () {\n $('[data-spy=\"affix\"]').each(function () {\n var $spy = $(this)\n , data = $spy.data()\n\n data.offset = data.offset || {}\n\n data.offsetBottom && (data.offset.bottom = data.offsetBottom)\n data.offsetTop && (data.offset.top = data.offsetTop)\n\n $spy.affix(data)\n })\n })\n\n\n}(window.jQuery);\n\n\n/***/ }),\n/* 932 */\n/***/ (function(module, exports) {\n\n/*\n * angular-ui-bootstrap\n * http://angular-ui.github.io/bootstrap/\n\n * Version: 0.13.4 - 2015-09-03\n * License: MIT\n */\nangular.module(\"ui.bootstrap\", [\"ui.bootstrap.tpls\",\"ui.bootstrap.position\",\"ui.bootstrap.dateparser\",\"ui.bootstrap.datepicker\"]);\nangular.module(\"ui.bootstrap.tpls\", [\"template/datepicker/datepicker.html\",\"template/datepicker/day.html\",\"template/datepicker/month.html\",\"template/datepicker/popup.html\",\"template/datepicker/year.html\"]);\nangular.module('ui.bootstrap.position', [])\n\n/**\n * A set of utility methods that can be use to retrieve position of DOM elements.\n * It is meant to be used where we need to absolute-position DOM elements in\n * relation to other, existing elements (this is the case for tooltips, popovers,\n * typeahead suggestions etc.).\n */\n .factory('$position', ['$document', '$window', function($document, $window) {\n function getStyle(el, cssprop) {\n if (el.currentStyle) { //IE\n return el.currentStyle[cssprop];\n } else if ($window.getComputedStyle) {\n return $window.getComputedStyle(el)[cssprop];\n }\n // finally try and get inline style\n return el.style[cssprop];\n }\n\n /**\n * Checks if a given element is statically positioned\n * @param element - raw DOM element\n */\n function isStaticPositioned(element) {\n return (getStyle(element, 'position') || 'static' ) === 'static';\n }\n\n /**\n * returns the closest, non-statically positioned parentOffset of a given element\n * @param element\n */\n var parentOffsetEl = function(element) {\n var docDomEl = $document[0];\n var offsetParent = element.offsetParent || docDomEl;\n while (offsetParent && offsetParent !== docDomEl && isStaticPositioned(offsetParent) ) {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || docDomEl;\n };\n\n return {\n /**\n * Provides read-only equivalent of jQuery's position function:\n * http://api.jquery.com/position/\n */\n position: function(element) {\n var elBCR = this.offset(element);\n var offsetParentBCR = { top: 0, left: 0 };\n var offsetParentEl = parentOffsetEl(element[0]);\n if (offsetParentEl != $document[0]) {\n offsetParentBCR = this.offset(angular.element(offsetParentEl));\n offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;\n offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;\n }\n\n var boundingClientRect = element[0].getBoundingClientRect();\n return {\n width: boundingClientRect.width || element.prop('offsetWidth'),\n height: boundingClientRect.height || element.prop('offsetHeight'),\n top: elBCR.top - offsetParentBCR.top,\n left: elBCR.left - offsetParentBCR.left\n };\n },\n\n /**\n * Provides read-only equivalent of jQuery's offset function:\n * http://api.jquery.com/offset/\n */\n offset: function(element) {\n var boundingClientRect = element[0].getBoundingClientRect();\n return {\n width: boundingClientRect.width || element.prop('offsetWidth'),\n height: boundingClientRect.height || element.prop('offsetHeight'),\n top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),\n left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)\n };\n },\n\n /**\n * Provides coordinates for the targetEl in relation to hostEl\n */\n positionElements: function(hostEl, targetEl, positionStr, appendToBody) {\n var positionStrParts = positionStr.split('-');\n var pos0 = positionStrParts[0], pos1 = positionStrParts[1] || 'center';\n\n var hostElPos,\n targetElWidth,\n targetElHeight,\n targetElPos;\n\n hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);\n\n targetElWidth = targetEl.prop('offsetWidth');\n targetElHeight = targetEl.prop('offsetHeight');\n\n var shiftWidth = {\n center: function() {\n return hostElPos.left + hostElPos.width / 2 - targetElWidth / 2;\n },\n left: function() {\n return hostElPos.left;\n },\n right: function() {\n return hostElPos.left + hostElPos.width;\n }\n };\n\n var shiftHeight = {\n center: function() {\n return hostElPos.top + hostElPos.height / 2 - targetElHeight / 2;\n },\n top: function() {\n return hostElPos.top;\n },\n bottom: function() {\n return hostElPos.top + hostElPos.height;\n }\n };\n\n switch (pos0) {\n case 'right':\n targetElPos = {\n top: shiftHeight[pos1](),\n left: shiftWidth[pos0]()\n };\n break;\n case 'left':\n targetElPos = {\n top: shiftHeight[pos1](),\n left: hostElPos.left - targetElWidth\n };\n break;\n case 'bottom':\n targetElPos = {\n top: shiftHeight[pos0](),\n left: shiftWidth[pos1]()\n };\n break;\n default:\n targetElPos = {\n top: hostElPos.top - targetElHeight,\n left: shiftWidth[pos1]()\n };\n break;\n }\n\n return targetElPos;\n }\n };\n }]);\n\nangular.module('ui.bootstrap.dateparser', [])\n\n.service('dateParser', ['$log', '$locale', 'orderByFilter', function($log, $locale, orderByFilter) {\n // Pulled from https://github.com/mbostock/d3/blob/master/src/format/requote.js\n var SPECIAL_CHARACTERS_REGEXP = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n\n this.parsers = {};\n\n var formatCodeToRegex = {\n 'yyyy': {\n regex: '\\\\d{4}',\n apply: function(value) { this.year = +value; }\n },\n 'yy': {\n regex: '\\\\d{2}',\n apply: function(value) { this.year = +value + 2000; }\n },\n 'y': {\n regex: '\\\\d{1,4}',\n apply: function(value) { this.year = +value; }\n },\n 'MMMM': {\n regex: $locale.DATETIME_FORMATS.MONTH.join('|'),\n apply: function(value) { this.month = $locale.DATETIME_FORMATS.MONTH.indexOf(value); }\n },\n 'MMM': {\n regex: $locale.DATETIME_FORMATS.SHORTMONTH.join('|'),\n apply: function(value) { this.month = $locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value); }\n },\n 'MM': {\n regex: '0[1-9]|1[0-2]',\n apply: function(value) { this.month = value - 1; }\n },\n 'M': {\n regex: '[1-9]|1[0-2]',\n apply: function(value) { this.month = value - 1; }\n },\n 'dd': {\n regex: '[0-2][0-9]{1}|3[0-1]{1}',\n apply: function(value) { this.date = +value; }\n },\n 'd': {\n regex: '[1-2]?[0-9]{1}|3[0-1]{1}',\n apply: function(value) { this.date = +value; }\n },\n 'EEEE': {\n regex: $locale.DATETIME_FORMATS.DAY.join('|')\n },\n 'EEE': {\n regex: $locale.DATETIME_FORMATS.SHORTDAY.join('|')\n },\n 'HH': {\n regex: '(?:0|1)[0-9]|2[0-3]',\n apply: function(value) { this.hours = +value; }\n },\n 'hh': {\n regex: '0[0-9]|1[0-2]',\n apply: function(value) { this.hours = +value; }\n },\n 'H': {\n regex: '1?[0-9]|2[0-3]',\n apply: function(value) { this.hours = +value; }\n },\n 'h': {\n regex: '[0-9]|1[0-2]',\n apply: function(value) { this.hours = +value; }\n },\n 'mm': {\n regex: '[0-5][0-9]',\n apply: function(value) { this.minutes = +value; }\n },\n 'm': {\n regex: '[0-9]|[1-5][0-9]',\n apply: function(value) { this.minutes = +value; }\n },\n 'sss': {\n regex: '[0-9][0-9][0-9]',\n apply: function(value) { this.milliseconds = +value; }\n },\n 'ss': {\n regex: '[0-5][0-9]',\n apply: function(value) { this.seconds = +value; }\n },\n 's': {\n regex: '[0-9]|[1-5][0-9]',\n apply: function(value) { this.seconds = +value; }\n },\n 'a': {\n regex: $locale.DATETIME_FORMATS.AMPMS.join('|'),\n apply: function(value) {\n if (this.hours === 12) {\n this.hours = 0;\n }\n\n if (value === 'PM') {\n this.hours += 12;\n }\n }\n }\n };\n\n function createParser(format) {\n var map = [], regex = format.split('');\n\n angular.forEach(formatCodeToRegex, function(data, code) {\n var index = format.indexOf(code);\n\n if (index > -1) {\n format = format.split('');\n\n regex[index] = '(' + data.regex + ')';\n format[index] = '$'; // Custom symbol to define consumed part of format\n for (var i = index + 1, n = index + code.length; i < n; i++) {\n regex[i] = '';\n format[i] = '$';\n }\n format = format.join('');\n\n map.push({ index: index, apply: data.apply });\n }\n });\n\n return {\n regex: new RegExp('^' + regex.join('') + '$'),\n map: orderByFilter(map, 'index')\n };\n }\n\n this.parse = function(input, format, baseDate) {\n if (!angular.isString(input) || !format) {\n return input;\n }\n\n format = $locale.DATETIME_FORMATS[format] || format;\n format = format.replace(SPECIAL_CHARACTERS_REGEXP, '\\\\$&');\n\n if (!this.parsers[format]) {\n this.parsers[format] = createParser(format);\n }\n\n var parser = this.parsers[format],\n regex = parser.regex,\n map = parser.map,\n results = input.match(regex);\n\n if (results && results.length) {\n var fields, dt;\n if (angular.isDate(baseDate) && !isNaN(baseDate.getTime())) {\n fields = {\n year: baseDate.getFullYear(),\n month: baseDate.getMonth(),\n date: baseDate.getDate(),\n hours: baseDate.getHours(),\n minutes: baseDate.getMinutes(),\n seconds: baseDate.getSeconds(),\n milliseconds: baseDate.getMilliseconds()\n };\n } else {\n if (baseDate) {\n $log.warn('dateparser:', 'baseDate is not a valid date');\n }\n fields = { year: 1900, month: 0, date: 1, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 };\n }\n\n for (var i = 1, n = results.length; i < n; i++) {\n var mapper = map[i-1];\n if (mapper.apply) {\n mapper.apply.call(fields, results[i]);\n }\n }\n\n if (isValid(fields.year, fields.month, fields.date)) {\n dt = new Date(fields.year, fields.month, fields.date,\n fields.hours, fields.minutes, fields.seconds,\n fields.milliseconds || 0);\n }\n\n return dt;\n }\n };\n\n // Check if date is valid for specific month (and year for February).\n // Month: 0 = Jan, 1 = Feb, etc\n function isValid(year, month, date) {\n if (date < 1) {\n return false;\n }\n\n if (month === 1 && date > 28) {\n return date === 29 && ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);\n }\n\n if (month === 3 || month === 5 || month === 8 || month === 10) {\n return date < 31;\n }\n\n return true;\n }\n}]);\n\nangular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootstrap.position'])\n\n.value('$datepickerSuppressError', false)\n\n.constant('datepickerConfig', {\n formatDay: 'dd',\n formatMonth: 'MMMM',\n formatYear: 'yyyy',\n formatDayHeader: 'EEE',\n formatDayTitle: 'MMMM yyyy',\n formatMonthTitle: 'yyyy',\n datepickerMode: 'day',\n minMode: 'day',\n maxMode: 'year',\n showWeeks: true,\n startingDay: 0,\n yearRange: 20,\n minDate: null,\n maxDate: null,\n shortcutPropagation: false\n})\n\n.controller('DatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$log', 'dateFilter', 'datepickerConfig', '$datepickerSuppressError', function($scope, $attrs, $parse, $interpolate, $log, dateFilter, datepickerConfig, $datepickerSuppressError) {\n var self = this,\n ngModelCtrl = { $setViewValue: angular.noop }; // nullModelCtrl;\n\n // Modes chain\n this.modes = ['day', 'month', 'year'];\n\n // Configuration attributes\n angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle',\n 'showWeeks', 'startingDay', 'yearRange', 'shortcutPropagation'], function(key, index) {\n self[key] = angular.isDefined($attrs[key]) ? (index < 6 ? $interpolate($attrs[key])($scope.$parent) : $scope.$parent.$eval($attrs[key])) : datepickerConfig[key];\n });\n\n // Watchable date attributes\n angular.forEach(['minDate', 'maxDate'], function(key) {\n if ($attrs[key]) {\n $scope.$parent.$watch($parse($attrs[key]), function(value) {\n self[key] = value ? new Date(value) : null;\n self.refreshView();\n });\n } else {\n self[key] = datepickerConfig[key] ? new Date(datepickerConfig[key]) : null;\n }\n });\n\n angular.forEach(['minMode', 'maxMode'], function(key) {\n if ($attrs[key]) {\n $scope.$parent.$watch($parse($attrs[key]), function(value) {\n self[key] = angular.isDefined(value) ? value : $attrs[key];\n $scope[key] = self[key];\n if ((key == 'minMode' && self.modes.indexOf($scope.datepickerMode) < self.modes.indexOf(self[key])) || (key == 'maxMode' && self.modes.indexOf($scope.datepickerMode) > self.modes.indexOf(self[key]))) {\n $scope.datepickerMode = self[key];\n }\n });\n } else {\n self[key] = datepickerConfig[key] || null;\n $scope[key] = self[key];\n }\n });\n\n $scope.datepickerMode = $scope.datepickerMode || datepickerConfig.datepickerMode;\n $scope.uniqueId = 'datepicker-' + $scope.$id + '-' + Math.floor(Math.random() * 10000);\n\n if (angular.isDefined($attrs.initDate)) {\n this.activeDate = $scope.$parent.$eval($attrs.initDate) || new Date();\n $scope.$parent.$watch($attrs.initDate, function(initDate) {\n if (initDate && (ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue) || ngModelCtrl.$invalid)) {\n self.activeDate = initDate;\n self.refreshView();\n }\n });\n } else {\n this.activeDate = new Date();\n }\n\n $scope.isActive = function(dateObject) {\n if (self.compare(dateObject.date, self.activeDate) === 0) {\n $scope.activeDateId = dateObject.uid;\n return true;\n }\n return false;\n };\n\n this.init = function(ngModelCtrl_) {\n ngModelCtrl = ngModelCtrl_;\n\n ngModelCtrl.$render = function() {\n self.render();\n };\n };\n\n this.render = function() {\n if (ngModelCtrl.$viewValue) {\n var date = new Date(ngModelCtrl.$viewValue),\n isValid = !isNaN(date);\n\n if (isValid) {\n this.activeDate = date;\n } else if (!$datepickerSuppressError) {\n $log.error('Datepicker directive: \"ng-model\" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');\n }\n }\n this.refreshView();\n };\n\n this.refreshView = function() {\n if (this.element) {\n this._refreshView();\n\n var date = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;\n ngModelCtrl.$setValidity('dateDisabled', !date || (this.element && !this.isDisabled(date)));\n }\n };\n\n this.createDateObject = function(date, format) {\n var model = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : null;\n return {\n date: date,\n label: dateFilter(date, format),\n selected: model && this.compare(date, model) === 0,\n disabled: this.isDisabled(date),\n current: this.compare(date, new Date()) === 0,\n customClass: this.customClass(date)\n };\n };\n\n this.isDisabled = function(date) {\n return ((this.minDate && this.compare(date, this.minDate) < 0) || (this.maxDate && this.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled && $scope.dateDisabled({date: date, mode: $scope.datepickerMode})));\n };\n\n this.customClass = function(date) {\n return $scope.customClass({date: date, mode: $scope.datepickerMode});\n };\n\n // Split array into smaller arrays\n this.split = function(arr, size) {\n var arrays = [];\n while (arr.length > 0) {\n arrays.push(arr.splice(0, size));\n }\n return arrays;\n };\n\n // Fix a hard-reprodusible bug with timezones\n // The bug depends on OS, browser, current timezone and current date\n // i.e.\n // var date = new Date(2014, 0, 1);\n // console.log(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours());\n // can result in \"2013 11 31 23\" because of the bug.\n this.fixTimeZone = function(date) {\n var hours = date.getHours();\n date.setHours(hours === 23 ? hours + 2 : 0);\n };\n\n $scope.select = function(date) {\n if ($scope.datepickerMode === self.minMode) {\n var dt = ngModelCtrl.$viewValue ? new Date(ngModelCtrl.$viewValue) : new Date(0, 0, 0, 0, 0, 0, 0);\n dt.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n ngModelCtrl.$setViewValue(dt);\n ngModelCtrl.$render();\n } else {\n self.activeDate = date;\n $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) - 1];\n }\n };\n\n $scope.move = function(direction) {\n var year = self.activeDate.getFullYear() + direction * (self.step.years || 0),\n month = self.activeDate.getMonth() + direction * (self.step.months || 0);\n self.activeDate.setFullYear(year, month, 1);\n self.refreshView();\n };\n\n $scope.toggleMode = function(direction) {\n direction = direction || 1;\n\n if (($scope.datepickerMode === self.maxMode && direction === 1) || ($scope.datepickerMode === self.minMode && direction === -1)) {\n return;\n }\n\n $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) + direction];\n };\n\n // Key event mapper\n $scope.keys = { 13: 'enter', 32: 'space', 33: 'pageup', 34: 'pagedown', 35: 'end', 36: 'home', 37: 'left', 38: 'up', 39: 'right', 40: 'down' };\n\n var focusElement = function() {\n self.element[0].focus();\n };\n\n // Listen for focus requests from popup directive\n $scope.$on('datepicker.focus', focusElement);\n\n $scope.keydown = function(evt) {\n var key = $scope.keys[evt.which];\n\n if (!key || evt.shiftKey || evt.altKey) {\n return;\n }\n\n evt.preventDefault();\n if (!self.shortcutPropagation) {\n evt.stopPropagation();\n }\n\n if (key === 'enter' || key === 'space') {\n if (self.isDisabled(self.activeDate)) {\n return; // do nothing\n }\n $scope.select(self.activeDate);\n focusElement();\n } else if (evt.ctrlKey && (key === 'up' || key === 'down')) {\n $scope.toggleMode(key === 'up' ? 1 : -1);\n focusElement();\n } else {\n self.handleKeyDown(key, evt);\n self.refreshView();\n }\n };\n}])\n\n.directive('datepicker', function() {\n return {\n restrict: 'EA',\n replace: true,\n templateUrl: function(element, attrs) {\n return attrs.templateUrl || 'template/datepicker/datepicker.html';\n },\n scope: {\n datepickerMode: '=?',\n dateDisabled: '&',\n customClass: '&',\n shortcutPropagation: '&?'\n },\n require: ['datepicker', '^ngModel'],\n controller: 'DatepickerController',\n controllerAs: 'datepicker',\n link: function(scope, element, attrs, ctrls) {\n var datepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];\n\n datepickerCtrl.init(ngModelCtrl);\n }\n };\n})\n\n.directive('daypicker', ['dateFilter', function(dateFilter) {\n return {\n restrict: 'EA',\n replace: true,\n templateUrl: 'template/datepicker/day.html',\n require: '^datepicker',\n link: function(scope, element, attrs, ctrl) {\n scope.showWeeks = ctrl.showWeeks;\n\n ctrl.step = { months: 1 };\n ctrl.element = element;\n\n var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n function getDaysInMonth(year, month) {\n return ((month === 1) && (year % 4 === 0) && ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];\n }\n\n function getDates(startDate, n) {\n var dates = new Array(n), current = new Date(startDate), i = 0, date;\n while (i < n) {\n date = new Date(current);\n ctrl.fixTimeZone(date);\n dates[i++] = date;\n current.setDate(current.getDate() + 1);\n }\n return dates;\n }\n\n ctrl._refreshView = function() {\n var year = ctrl.activeDate.getFullYear(),\n month = ctrl.activeDate.getMonth(),\n firstDayOfMonth = new Date(year, month, 1),\n difference = ctrl.startingDay - firstDayOfMonth.getDay(),\n numDisplayedFromPreviousMonth = (difference > 0) ? 7 - difference : - difference,\n firstDate = new Date(firstDayOfMonth);\n\n if (numDisplayedFromPreviousMonth > 0) {\n firstDate.setDate(-numDisplayedFromPreviousMonth + 1);\n }\n\n // 42 is the number of days on a six-month calendar\n var days = getDates(firstDate, 42);\n for (var i = 0; i < 42; i ++) {\n days[i] = angular.extend(ctrl.createDateObject(days[i], ctrl.formatDay), {\n secondary: days[i].getMonth() !== month,\n uid: scope.uniqueId + '-' + i\n });\n }\n\n scope.labels = new Array(7);\n for (var j = 0; j < 7; j++) {\n scope.labels[j] = {\n abbr: dateFilter(days[j].date, ctrl.formatDayHeader),\n full: dateFilter(days[j].date, 'EEEE')\n };\n }\n\n scope.title = dateFilter(ctrl.activeDate, ctrl.formatDayTitle);\n scope.rows = ctrl.split(days, 7);\n\n if (scope.showWeeks) {\n scope.weekNumbers = [];\n var thursdayIndex = (4 + 7 - ctrl.startingDay) % 7,\n numWeeks = scope.rows.length;\n for (var curWeek = 0; curWeek < numWeeks; curWeek++) {\n scope.weekNumbers.push(\n getISO8601WeekNumber(scope.rows[curWeek][thursdayIndex].date));\n }\n }\n };\n\n ctrl.compare = function(date1, date2) {\n return (new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()));\n };\n\n function getISO8601WeekNumber(date) {\n var checkDate = new Date(date);\n checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); // Thursday\n var time = checkDate.getTime();\n checkDate.setMonth(0); // Compare with Jan 1\n checkDate.setDate(1);\n return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;\n }\n\n ctrl.handleKeyDown = function(key, evt) {\n var date = ctrl.activeDate.getDate();\n\n if (key === 'left') {\n date = date - 1; // up\n } else if (key === 'up') {\n date = date - 7; // down\n } else if (key === 'right') {\n date = date + 1; // down\n } else if (key === 'down') {\n date = date + 7;\n } else if (key === 'pageup' || key === 'pagedown') {\n var month = ctrl.activeDate.getMonth() + (key === 'pageup' ? - 1 : 1);\n ctrl.activeDate.setMonth(month, 1);\n date = Math.min(getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth()), date);\n } else if (key === 'home') {\n date = 1;\n } else if (key === 'end') {\n date = getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth());\n }\n ctrl.activeDate.setDate(date);\n };\n\n ctrl.refreshView();\n }\n };\n}])\n\n.directive('monthpicker', ['dateFilter', function(dateFilter) {\n return {\n restrict: 'EA',\n replace: true,\n templateUrl: 'template/datepicker/month.html',\n require: '^datepicker',\n link: function(scope, element, attrs, ctrl) {\n ctrl.step = { years: 1 };\n ctrl.element = element;\n\n ctrl._refreshView = function() {\n var months = new Array(12),\n year = ctrl.activeDate.getFullYear(),\n date;\n\n for (var i = 0; i < 12; i++) {\n date = new Date(year, i, 1);\n ctrl.fixTimeZone(date);\n months[i] = angular.extend(ctrl.createDateObject(date, ctrl.formatMonth), {\n uid: scope.uniqueId + '-' + i\n });\n }\n\n scope.title = dateFilter(ctrl.activeDate, ctrl.formatMonthTitle);\n scope.rows = ctrl.split(months, 3);\n };\n\n ctrl.compare = function(date1, date2) {\n return new Date(date1.getFullYear(), date1.getMonth()) - new Date(date2.getFullYear(), date2.getMonth());\n };\n\n ctrl.handleKeyDown = function(key, evt) {\n var date = ctrl.activeDate.getMonth();\n\n if (key === 'left') {\n date = date - 1; // up\n } else if (key === 'up') {\n date = date - 3; // down\n } else if (key === 'right') {\n date = date + 1; // down\n } else if (key === 'down') {\n date = date + 3;\n } else if (key === 'pageup' || key === 'pagedown') {\n var year = ctrl.activeDate.getFullYear() + (key === 'pageup' ? - 1 : 1);\n ctrl.activeDate.setFullYear(year);\n } else if (key === 'home') {\n date = 0;\n } else if (key === 'end') {\n date = 11;\n }\n ctrl.activeDate.setMonth(date);\n };\n\n ctrl.refreshView();\n }\n };\n}])\n\n.directive('yearpicker', ['dateFilter', function(dateFilter) {\n return {\n restrict: 'EA',\n replace: true,\n templateUrl: 'template/datepicker/year.html',\n require: '^datepicker',\n link: function(scope, element, attrs, ctrl) {\n var range = ctrl.yearRange;\n\n ctrl.step = { years: range };\n ctrl.element = element;\n\n function getStartingYear( year ) {\n return parseInt((year - 1) / range, 10) * range + 1;\n }\n\n ctrl._refreshView = function() {\n var years = new Array(range), date;\n\n for (var i = 0, start = getStartingYear(ctrl.activeDate.getFullYear()); i < range; i++) {\n date = new Date(start + i, 0, 1);\n ctrl.fixTimeZone(date);\n years[i] = angular.extend(ctrl.createDateObject(date, ctrl.formatYear), {\n uid: scope.uniqueId + '-' + i\n });\n }\n\n scope.title = [years[0].label, years[range - 1].label].join(' - ');\n scope.rows = ctrl.split(years, 5);\n };\n\n ctrl.compare = function(date1, date2) {\n return date1.getFullYear() - date2.getFullYear();\n };\n\n ctrl.handleKeyDown = function(key, evt) {\n var date = ctrl.activeDate.getFullYear();\n\n if (key === 'left') {\n date = date - 1; // up\n } else if (key === 'up') {\n date = date - 5; // down\n } else if (key === 'right') {\n date = date + 1; // down\n } else if (key === 'down') {\n date = date + 5;\n } else if (key === 'pageup' || key === 'pagedown') {\n date += (key === 'pageup' ? - 1 : 1) * ctrl.step.years;\n } else if (key === 'home') {\n date = getStartingYear(ctrl.activeDate.getFullYear());\n } else if (key === 'end') {\n date = getStartingYear(ctrl.activeDate.getFullYear()) + range - 1;\n }\n ctrl.activeDate.setFullYear(date);\n };\n\n ctrl.refreshView();\n }\n };\n}])\n\n.constant('datepickerPopupConfig', {\n datepickerPopup: 'yyyy-MM-dd',\n datepickerPopupTemplateUrl: 'template/datepicker/popup.html',\n datepickerTemplateUrl: 'template/datepicker/datepicker.html',\n html5Types: {\n date: 'yyyy-MM-dd',\n 'datetime-local': 'yyyy-MM-ddTHH:mm:ss.sss',\n 'month': 'yyyy-MM'\n },\n currentText: 'Today',\n clearText: 'Clear',\n closeText: 'Done',\n closeOnDateSelection: true,\n appendToBody: false,\n showButtonBar: true,\n onOpenFocus: true\n})\n\n.directive('datepickerPopup', ['$compile', '$parse', '$document', '$rootScope', '$position', 'dateFilter', 'dateParser', 'datepickerPopupConfig', '$timeout',\nfunction($compile, $parse, $document, $rootScope, $position, dateFilter, dateParser, datepickerPopupConfig, $timeout) {\n return {\n restrict: 'EA',\n require: 'ngModel',\n scope: {\n isOpen: '=?',\n currentText: '@',\n clearText: '@',\n closeText: '@',\n dateDisabled: '&',\n customClass: '&'\n },\n link: function(scope, element, attrs, ngModel) {\n var dateFormat,\n closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection,\n appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody,\n onOpenFocus = angular.isDefined(attrs.onOpenFocus) ? scope.$parent.$eval(attrs.onOpenFocus) : datepickerPopupConfig.onOpenFocus,\n datepickerPopupTemplateUrl = angular.isDefined(attrs.datepickerPopupTemplateUrl) ? attrs.datepickerPopupTemplateUrl : datepickerPopupConfig.datepickerPopupTemplateUrl,\n datepickerTemplateUrl = angular.isDefined(attrs.datepickerTemplateUrl) ? attrs.datepickerTemplateUrl : datepickerPopupConfig.datepickerTemplateUrl,\n cache = {};\n\n scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar;\n\n scope.getText = function(key) {\n return scope[key + 'Text'] || datepickerPopupConfig[key + 'Text'];\n };\n\n scope.isDisabled = function(date) {\n if (date === 'today') {\n date = new Date();\n }\n\n return ((scope.watchData.minDate && scope.compare(date, cache.minDate) < 0) ||\n (scope.watchData.maxDate && scope.compare(date, cache.maxDate) > 0));\n };\n\n scope.compare = function(date1, date2) {\n return (new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()));\n };\n\n var isHtml5DateInput = false;\n if (datepickerPopupConfig.html5Types[attrs.type]) {\n dateFormat = datepickerPopupConfig.html5Types[attrs.type];\n isHtml5DateInput = true;\n } else {\n dateFormat = attrs.datepickerPopup || datepickerPopupConfig.datepickerPopup;\n attrs.$observe('datepickerPopup', function(value, oldValue) {\n var newDateFormat = value || datepickerPopupConfig.datepickerPopup;\n // Invalidate the $modelValue to ensure that formatters re-run\n // FIXME: Refactor when PR is merged: https://github.com/angular/angular.js/pull/10764\n if (newDateFormat !== dateFormat) {\n dateFormat = newDateFormat;\n ngModel.$modelValue = null;\n\n if (!dateFormat) {\n throw new Error('datepickerPopup must have a date format specified.');\n }\n }\n });\n }\n\n if (!dateFormat) {\n throw new Error('datepickerPopup must have a date format specified.');\n }\n\n if (isHtml5DateInput && attrs.datepickerPopup) {\n throw new Error('HTML5 date input types do not support custom formats.');\n }\n\n // popup element used to display calendar\n var popupEl = angular.element('
    ');\n popupEl.attr({\n 'ng-model': 'date',\n 'ng-change': 'dateSelection(date)',\n 'template-url': datepickerPopupTemplateUrl\n });\n\n function cameltoDash(string) {\n return string.replace(/([A-Z])/g, function($1) { return '-' + $1.toLowerCase(); });\n }\n\n // datepicker element\n var datepickerEl = angular.element(popupEl.children()[0]);\n datepickerEl.attr('template-url', datepickerTemplateUrl);\n\n if (isHtml5DateInput) {\n if (attrs.type === 'month') {\n datepickerEl.attr('datepicker-mode', '\"month\"');\n datepickerEl.attr('min-mode', 'month');\n }\n }\n\n if (attrs.datepickerOptions) {\n var options = scope.$parent.$eval(attrs.datepickerOptions);\n if (options && options.initDate) {\n scope.initDate = options.initDate;\n datepickerEl.attr('init-date', 'initDate');\n delete options.initDate;\n }\n angular.forEach(options, function(value, option) {\n datepickerEl.attr( cameltoDash(option), value );\n });\n }\n\n scope.watchData = {};\n angular.forEach(['minMode', 'maxMode', 'minDate', 'maxDate', 'datepickerMode', 'initDate', 'shortcutPropagation'], function(key) {\n if (attrs[key]) {\n var getAttribute = $parse(attrs[key]);\n scope.$parent.$watch(getAttribute, function(value) {\n scope.watchData[key] = value;\n if (key === 'minDate' || key === 'maxDate') {\n cache[key] = new Date(value);\n }\n });\n datepickerEl.attr(cameltoDash(key), 'watchData.' + key);\n\n // Propagate changes from datepicker to outside\n if (key === 'datepickerMode') {\n var setAttribute = getAttribute.assign;\n scope.$watch('watchData.' + key, function(value, oldvalue) {\n if (angular.isFunction(setAttribute) && value !== oldvalue) {\n setAttribute(scope.$parent, value);\n }\n });\n }\n }\n });\n if (attrs.dateDisabled) {\n datepickerEl.attr('date-disabled', 'dateDisabled({ date: date, mode: mode })');\n }\n\n if (attrs.showWeeks) {\n datepickerEl.attr('show-weeks', attrs.showWeeks);\n }\n\n if (attrs.customClass) {\n datepickerEl.attr('custom-class', 'customClass({ date: date, mode: mode })');\n }\n\n function parseDate(viewValue) {\n if (angular.isNumber(viewValue)) {\n // presumably timestamp to date object\n viewValue = new Date(viewValue);\n }\n\n if (!viewValue) {\n return null;\n } else if (angular.isDate(viewValue) && !isNaN(viewValue)) {\n return viewValue;\n } else if (angular.isString(viewValue)) {\n var date = dateParser.parse(viewValue, dateFormat, scope.date);\n if (isNaN(date)) {\n return undefined;\n } else {\n return date;\n }\n } else {\n return undefined;\n }\n }\n\n function validator(modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!attrs.ngRequired && !value) {\n return true;\n }\n\n if (angular.isNumber(value)) {\n value = new Date(value);\n }\n if (!value) {\n return true;\n } else if (angular.isDate(value) && !isNaN(value)) {\n return true;\n } else if (angular.isString(value)) {\n var date = dateParser.parse(value, dateFormat);\n return !isNaN(date);\n } else {\n return false;\n }\n }\n\n if (!isHtml5DateInput) {\n // Internal API to maintain the correct ng-invalid-[key] class\n ngModel.$$parserName = 'date';\n ngModel.$validators.date = validator;\n ngModel.$parsers.unshift(parseDate);\n ngModel.$formatters.push(function(value) {\n scope.date = value;\n return ngModel.$isEmpty(value) ? value : dateFilter(value, dateFormat);\n });\n } else {\n ngModel.$formatters.push(function(value) {\n scope.date = value;\n return value;\n });\n }\n\n // Inner change\n scope.dateSelection = function(dt) {\n if (angular.isDefined(dt)) {\n scope.date = dt;\n }\n var date = scope.date ? dateFilter(scope.date, dateFormat) : null; // Setting to NULL is necessary for form validators to function\n element.val(date);\n ngModel.$setViewValue(date);\n\n if (closeOnDateSelection) {\n scope.isOpen = false;\n element[0].focus();\n }\n };\n\n // Detect changes in the view from the text box\n ngModel.$viewChangeListeners.push(function() {\n scope.date = dateParser.parse(ngModel.$viewValue, dateFormat, scope.date);\n });\n\n var documentClickBind = function(event) {\n if (scope.isOpen && !(element[0].contains(event.target) || popupEl[0].contains(event.target))) {\n scope.$apply(function() {\n scope.isOpen = false;\n });\n }\n };\n\n var inputKeydownBind = function(evt) {\n if (evt.which === 27 && scope.isOpen) {\n evt.preventDefault();\n evt.stopPropagation();\n scope.$apply(function() {\n scope.isOpen = false;\n });\n element[0].focus();\n } else if (evt.which === 40 && !scope.isOpen) {\n evt.preventDefault();\n evt.stopPropagation();\n scope.$apply(function() {\n scope.isOpen = true;\n });\n }\n };\n element.bind('keydown', inputKeydownBind);\n\n scope.keydown = function(evt) {\n if (evt.which === 27) {\n scope.isOpen = false;\n element[0].focus();\n }\n };\n\n scope.$watch('isOpen', function(value) {\n if (value) {\n scope.position = appendToBody ? $position.offset(element) : $position.position(element);\n scope.position.top = scope.position.top + element.prop('offsetHeight');\n\n $timeout(function() {\n if (onOpenFocus) {\n scope.$broadcast('datepicker.focus');\n }\n $document.bind('click', documentClickBind);\n }, 0, false);\n } else {\n $document.unbind('click', documentClickBind);\n }\n });\n\n scope.select = function(date) {\n if (date === 'today') {\n var today = new Date();\n if (angular.isDate(scope.date)) {\n date = new Date(scope.date);\n date.setFullYear(today.getFullYear(), today.getMonth(), today.getDate());\n } else {\n date = new Date(today.setHours(0, 0, 0, 0));\n }\n }\n scope.dateSelection(date);\n };\n\n scope.close = function() {\n scope.isOpen = false;\n element[0].focus();\n };\n\n var $popup = $compile(popupEl)(scope);\n // Prevent jQuery cache memory leak (template is now redundant after linking)\n popupEl.remove();\n\n if (appendToBody) {\n $document.find('body').append($popup);\n } else {\n element.after($popup);\n }\n\n scope.$on('$destroy', function() {\n if (scope.isOpen === true) {\n if (!$rootScope.$$phase) {\n scope.$apply(function() {\n scope.isOpen = false;\n });\n }\n }\n\n $popup.remove();\n element.unbind('keydown', inputKeydownBind);\n $document.unbind('click', documentClickBind);\n });\n }\n };\n}])\n\n.directive('datepickerPopupWrap', function() {\n return {\n restrict:'EA',\n replace: true,\n transclude: true,\n templateUrl: function(element, attrs) {\n return attrs.templateUrl || 'template/datepicker/popup.html';\n }\n };\n});\n\n\nangular.module(\"template/datepicker/datepicker.html\", []).run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"template/datepicker/datepicker.html\",\n \"
    \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \"
    \");\n}]);\n\nangular.module(\"template/datepicker/day.html\", []).run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"template/datepicker/day.html\",\n \"\\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \"
    {{::label.abbr}}
    {{ weekNumbers[$index] }}\\n\" +\n \" \\n\" +\n \"
    \\n\" +\n \"\");\n}]);\n\nangular.module(\"template/datepicker/month.html\", []).run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"template/datepicker/month.html\",\n \"\\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \"
    \\n\" +\n \" \\n\" +\n \"
    \\n\" +\n \"\");\n}]);\n\nangular.module(\"template/datepicker/popup.html\", []).run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"template/datepicker/popup.html\",\n \"
      \\n\" +\n \"\t
    • \\n\" +\n \"\t
    • \\n\" +\n \"\t\t\\n\" +\n \"\t\t\t\\n\" +\n \"\t\t\t\\n\" +\n \"\t\t\\n\" +\n \"\t\t\\n\" +\n \"\t
    • \\n\" +\n \"
    \\n\" +\n \"\");\n}]);\n\nangular.module(\"template/datepicker/year.html\", []).run([\"$templateCache\", function($templateCache) {\n $templateCache.put(\"template/datepicker/year.html\",\n \"\\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \" \\n\" +\n \"
    \\n\" +\n \" \\n\" +\n \"
    \\n\" +\n \"\");\n}]);\n\n\n\n/***/ }),\n/* 933 */\n/***/ (function(module, exports) {\n\n/**\n * AngularStrap - Twitter Bootstrap directives for AngularJS\n * @version v0.7.5 - 2013-07-21\n * @link http://mgcrea.github.com/angular-strap\n * @author Olivier Louvignes \n * @license MIT License, http://www.opensource.org/licenses/MIT\n */\nangular.module('$strap.config', []).value('$strapConfig', {});\nangular.module('$strap.filters', ['$strap.config']);\nangular.module('$strap.directives', ['$strap.config']);\nangular.module('$strap', [\n '$strap.filters',\n '$strap.directives',\n '$strap.config'\n]);\n'use strict';\nangular.module('$strap.directives').factory('$modal', [\n '$rootScope',\n '$compile',\n '$http',\n '$timeout',\n '$q',\n '$templateCache',\n '$strapConfig',\n function ($rootScope, $compile, $http, $timeout, $q, $templateCache, $strapConfig) {\n var ModalFactory = function ModalFactory(config) {\n function Modal(config) {\n var options = angular.extend({ show: true }, $strapConfig.modal, config);\n var scope = options.scope ? options.scope : $rootScope.$new()\n var templateUrl = options.template;\n return $q.when(options.templateHtml || $templateCache.get(templateUrl) || $http.get(templateUrl, { cache: true }).then(function (res) {\n return res.data;\n })).then(function onSuccess(template) {\n var id = scope.$id;\n if (templateUrl) {\n id += templateUrl.replace('.html', '').replace(/[\\/|\\.|:]/g, '-');\n }\n // grafana change, removed fade\n var $modal = $('
    ').attr('id', id).html(template);\n if (options.modalClass)\n $modal.addClass(options.modalClass);\n $('body').append($modal);\n $timeout(function () {\n $compile($modal)(scope);\n });\n scope.$modal = function (name) {\n $modal.modal(name);\n };\n angular.forEach([\n 'show',\n 'hide'\n ], function (name) {\n scope[name] = function () {\n $modal.modal(name);\n };\n });\n scope.dismiss = scope.hide;\n angular.forEach([\n 'show',\n 'shown',\n 'hide',\n 'hidden'\n ], function (name) {\n $modal.on(name, function (ev) {\n scope.$emit('modal-' + name, ev);\n });\n });\n $modal.on('shown', function (ev) {\n $('input[autofocus], textarea[autofocus]', $modal).first().trigger('focus');\n });\n $modal.on('hidden', function (ev) {\n if (!options.persist)\n scope.$destroy();\n });\n scope.$on('$destroy', function () {\n $modal.remove();\n });\n $modal.modal(options);\n return $modal;\n });\n }\n return new Modal(config);\n };\n return ModalFactory;\n }\n])\n\n'use strict';\nangular.module('$strap.directives').directive('bsTooltip', [\n '$parse',\n '$compile',\n function ($parse, $compile) {\n return {\n restrict: 'A',\n scope: true,\n link: function postLink(scope, element, attrs, ctrl) {\n var getter = $parse(attrs.bsTooltip), setter = getter.assign, value = getter(scope);\n scope.$watch(attrs.bsTooltip, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n value = newValue;\n }\n });\n // Grafana change, always hide other tooltips\n if (true) {\n element.on('show', function (ev) {\n $('.tooltip.in').each(function () {\n var $this = $(this), tooltip = $this.data('tooltip');\n if (tooltip && !tooltip.$element.is(element)) {\n $this.tooltip('hide');\n }\n });\n });\n }\n element.tooltip({\n title: function () {\n return angular.isFunction(value) ? value.apply(null, arguments) : value;\n },\n html: true,\n container: 'body', // Grafana change\n });\n var tooltip = element.data('tooltip');\n tooltip.show = function () {\n var r = $.fn.tooltip.Constructor.prototype.show.apply(this, arguments);\n this.tip().data('tooltip', this);\n return r;\n };\n scope._tooltip = function (event) {\n element.tooltip(event);\n };\n scope.hide = function () {\n element.tooltip('hide');\n };\n scope.show = function () {\n element.tooltip('show');\n };\n scope.dismiss = scope.hide;\n }\n };\n }\n]);\n\n'use strict';\nangular.module('$strap.directives').directive('bsTypeahead', [\n '$parse',\n function ($parse) {\n return {\n restrict: 'A',\n require: '?ngModel',\n link: function postLink(scope, element, attrs, controller) {\n var getter = $parse(attrs.bsTypeahead), setter = getter.assign, value = getter(scope);\n scope.$watch(attrs.bsTypeahead, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n value = newValue;\n }\n });\n element.attr('data-provide', 'typeahead');\n element.typeahead({\n source: function (query) {\n return angular.isFunction(value) ? value.apply(null, arguments) : value;\n },\n minLength: attrs.minLength || 1,\n items: attrs.items,\n updater: function (value) {\n if (controller) {\n scope.$apply(function () {\n controller.$setViewValue(value);\n });\n }\n scope.$emit('typeahead-updated', value);\n return value;\n }\n });\n var typeahead = element.data('typeahead');\n typeahead.lookup = function (ev) {\n var items;\n this.query = this.$element.val() || '';\n if (this.query.length < this.options.minLength) {\n return this.shown ? this.hide() : this;\n }\n items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source;\n return items ? this.process(items) : this;\n };\n if (!!attrs.matchAll) {\n typeahead.matcher = function (item) {\n return true;\n };\n }\n if (attrs.minLength === '0') {\n setTimeout(function () {\n element.on('focus', function () {\n element.val().length === 0 && setTimeout(element.typeahead.bind(element, 'lookup'), 200);\n });\n });\n }\n }\n };\n }\n]);\n\n\n/***/ }),\n/* 934 */,\n/* 935 */,\n/* 936 */,\n/* 937 */,\n/* 938 */,\n/* 939 */,\n/* 940 */,\n/* 941 */,\n/* 942 */,\n/* 943 */,\n/* 944 */,\n/* 945 */,\n/* 946 */,\n/* 947 */,\n/* 948 */,\n/* 949 */,\n/* 950 */,\n/* 951 */,\n/* 952 */,\n/* 953 */,\n/* 954 */,\n/* 955 */,\n/* 956 */,\n/* 957 */,\n/* 958 */,\n/* 959 */,\n/* 960 */,\n/* 961 */,\n/* 962 */,\n/* 963 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export dashClass */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_module__ = __webpack_require__(2);\n\n\n/** @ngInject */\nfunction dashClass() {\n return {\n link: function ($scope, elem) {\n $scope.onAppEvent('panel-fullscreen-enter', function () {\n elem.toggleClass('panel-in-fullscreen', true);\n });\n $scope.onAppEvent('panel-fullscreen-exit', function () {\n elem.toggleClass('panel-in-fullscreen', false);\n });\n $scope.$watch('ctrl.dashboardViewState.state.editview', function (newValue) {\n if (newValue) {\n elem.toggleClass('dashboard-page--settings-opening', __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.isString(newValue));\n setTimeout(function () {\n elem.toggleClass('dashboard-page--settings-open', __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.isString(newValue));\n }, 10);\n }\n else {\n elem.removeClass('dashboard-page--settings-opening');\n elem.removeClass('dashboard-page--settings-open');\n }\n });\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_1__core_module__[\"a\" /* default */].directive('dashClass', dashClass);\n\n\n/***/ }),\n/* 964 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export dropdownTypeahead */\n/* unused harmony export dropdownTypeahead2 */\n/* harmony import */ \ndropdownTypeahead.$inject = [\"$compile\"];\ndropdownTypeahead2.$inject = [\"$compile\"];var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_module__ = __webpack_require__(2);\n\n\n\n/** @ngInject */\nfunction dropdownTypeahead($compile) {\n var inputTemplate = '';\n var buttonTemplate = '';\n return {\n scope: {\n menuItems: '=dropdownTypeahead',\n dropdownTypeaheadOnSelect: '&dropdownTypeaheadOnSelect',\n model: '=ngModel',\n },\n link: function ($scope, elem, attrs) {\n var $input = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(inputTemplate);\n var $button = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(buttonTemplate);\n $input.appendTo(elem);\n $button.appendTo(elem);\n if (attrs.linkText) {\n $button.html(attrs.linkText);\n }\n if (attrs.ngModel) {\n $scope.$watch('model', function (newValue) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each($scope.menuItems, function (item) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(item.submenu, function (subItem) {\n if (subItem.value === newValue) {\n $button.html(subItem.text);\n }\n });\n });\n });\n }\n var typeaheadValues = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.reduce($scope.menuItems, function (memo, value, index) {\n if (!value.submenu) {\n value.click = 'menuItemSelected(' + index + ')';\n memo.push(value.text);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(value.submenu, function (item, subIndex) {\n item.click = 'menuItemSelected(' + index + ',' + subIndex + ')';\n memo.push(value.text + ' ' + item.text);\n });\n }\n return memo;\n }, []);\n $scope.menuItemSelected = function (index, subIndex) {\n var menuItem = $scope.menuItems[index];\n var payload = { $item: menuItem };\n if (menuItem.submenu && subIndex !== void 0) {\n payload.$subItem = menuItem.submenu[subIndex];\n }\n $scope.dropdownTypeaheadOnSelect(payload);\n };\n $input.attr('data-provide', 'typeahead');\n $input.typeahead({\n source: typeaheadValues,\n minLength: 1,\n items: 10,\n updater: function (value) {\n var result = {};\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each($scope.menuItems, function (menuItem) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(menuItem.submenu, function (submenuItem) {\n if (value === menuItem.text + ' ' + submenuItem.text) {\n result.$subItem = submenuItem;\n result.$item = menuItem;\n }\n });\n });\n if (result.$item) {\n $scope.$apply(function () {\n $scope.dropdownTypeaheadOnSelect(result);\n });\n }\n $input.trigger('blur');\n return '';\n },\n });\n $button.click(function () {\n $button.hide();\n $input.show();\n $input.focus();\n });\n $input.keyup(function () {\n elem.toggleClass('open', $input.val() === '');\n });\n $input.blur(function () {\n $input.hide();\n $input.val('');\n $button.show();\n $button.focus();\n // clicking the function dropdown menu won't\n // work if you remove class at once\n setTimeout(function () {\n elem.removeClass('open');\n }, 200);\n });\n $compile(elem.contents())($scope);\n },\n };\n}\n/** @ngInject */\nfunction dropdownTypeahead2($compile) {\n var inputTemplate = '';\n var buttonTemplate = '';\n return {\n scope: {\n menuItems: '=dropdownTypeahead2',\n dropdownTypeaheadOnSelect: '&dropdownTypeaheadOnSelect',\n model: '=ngModel',\n },\n link: function ($scope, elem, attrs) {\n var $input = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(inputTemplate);\n var $button = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(buttonTemplate);\n $input.appendTo(elem);\n $button.appendTo(elem);\n if (attrs.linkText) {\n $button.html(attrs.linkText);\n }\n if (attrs.ngModel) {\n $scope.$watch('model', function (newValue) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each($scope.menuItems, function (item) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(item.submenu, function (subItem) {\n if (subItem.value === newValue) {\n $button.html(subItem.text);\n }\n });\n });\n });\n }\n var typeaheadValues = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.reduce($scope.menuItems, function (memo, value, index) {\n if (!value.submenu) {\n value.click = 'menuItemSelected(' + index + ')';\n memo.push(value.text);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(value.submenu, function (item, subIndex) {\n item.click = 'menuItemSelected(' + index + ',' + subIndex + ')';\n memo.push(value.text + ' ' + item.text);\n });\n }\n return memo;\n }, []);\n $scope.menuItemSelected = function (index, subIndex) {\n var menuItem = $scope.menuItems[index];\n var payload = { $item: menuItem };\n if (menuItem.submenu && subIndex !== void 0) {\n payload.$subItem = menuItem.submenu[subIndex];\n }\n $scope.dropdownTypeaheadOnSelect(payload);\n };\n $input.attr('data-provide', 'typeahead');\n $input.typeahead({\n source: typeaheadValues,\n minLength: 1,\n items: 10,\n updater: function (value) {\n var result = {};\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each($scope.menuItems, function (menuItem) {\n __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(menuItem.submenu, function (submenuItem) {\n if (value === menuItem.text + ' ' + submenuItem.text) {\n result.$subItem = submenuItem;\n result.$item = menuItem;\n }\n });\n });\n if (result.$item) {\n $scope.$apply(function () {\n $scope.dropdownTypeaheadOnSelect(result);\n });\n }\n $input.trigger('blur');\n return '';\n },\n });\n $button.click(function () {\n $button.hide();\n $input.show();\n $input.focus();\n });\n $input.keyup(function () {\n elem.toggleClass('open', $input.val() === '');\n });\n $input.blur(function () {\n $input.hide();\n $input.val('');\n $button.show();\n $button.focus();\n // clicking the function dropdown menu won't\n // work if you remove class at once\n setTimeout(function () {\n elem.removeClass('open');\n }, 200);\n });\n $compile(elem.contents())($scope);\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('dropdownTypeahead', dropdownTypeahead);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('dropdownTypeahead2', dropdownTypeahead2);\n\n\n/***/ }),\n/* 965 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export metricSegment */\n/* unused harmony export metricSegmentModel */\n/* harmony import */ \nmetricSegment.$inject = [\"$compile\", \"$sce\"];\nmetricSegmentModel.$inject = [\"uiSegmentSrv\", \"$q\"];var __WEBPACK_IMPORTED_MODULE_0_lodash__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_module__ = __webpack_require__(2);\n\n\n\n/** @ngInject */\nfunction metricSegment($compile, $sce) {\n var inputTemplate = '';\n var linkTemplate = '';\n var selectTemplate = '';\n return {\n scope: {\n segment: '=',\n getOptions: '&',\n onChange: '&',\n debounce: '@',\n },\n link: function ($scope, elem) {\n var $input = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(inputTemplate);\n var segment = $scope.segment;\n var $button = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(segment.selectMode ? selectTemplate : linkTemplate);\n var options = null;\n var cancelBlur = null;\n var linkMode = true;\n var debounceLookup = $scope.debounce;\n $input.appendTo(elem);\n $button.appendTo(elem);\n $scope.updateVariableValue = function (value) {\n if (value === '' || segment.value === value) {\n return;\n }\n value = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.unescape(value);\n $scope.$apply(function () {\n var selected = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.find($scope.altSegments, { value: value });\n if (selected) {\n segment.value = selected.value;\n segment.html = selected.html || selected.value;\n segment.fake = false;\n segment.expandable = selected.expandable;\n if (selected.type) {\n segment.type = selected.type;\n }\n }\n else if (segment.custom !== 'false') {\n segment.value = value;\n segment.html = $sce.trustAsHtml(value);\n segment.expandable = true;\n segment.fake = false;\n }\n $scope.onChange();\n });\n };\n $scope.switchToLink = function (fromClick) {\n if (linkMode && !fromClick) {\n return;\n }\n clearTimeout(cancelBlur);\n cancelBlur = null;\n linkMode = true;\n $input.hide();\n $button.show();\n $scope.updateVariableValue($input.val());\n };\n $scope.inputBlur = function () {\n // happens long before the click event on the typeahead options\n // need to have long delay because the blur\n cancelBlur = setTimeout($scope.switchToLink, 200);\n };\n $scope.source = function (query, callback) {\n $scope.$apply(function () {\n $scope.getOptions({ $query: query }).then(function (altSegments) {\n $scope.altSegments = altSegments;\n options = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map($scope.altSegments, function (alt) {\n return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.escape(alt.value);\n });\n // add custom values\n if (segment.custom !== 'false') {\n if (!segment.fake && __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.indexOf(options, segment.value) === -1) {\n options.unshift(segment.value);\n }\n }\n callback(options);\n });\n });\n };\n $scope.updater = function (value) {\n if (value === segment.value) {\n clearTimeout(cancelBlur);\n $input.focus();\n return value;\n }\n $input.val(value);\n $scope.switchToLink(true);\n return value;\n };\n $scope.matcher = function (item) {\n var str = this.query;\n if (str[0] === '/') {\n str = str.substring(1);\n }\n if (str[str.length - 1] === '/') {\n str = str.substring(0, str.length - 1);\n }\n try {\n return item.toLowerCase().match(str.toLowerCase());\n }\n catch (e) {\n return false;\n }\n };\n $input.attr('data-provide', 'typeahead');\n $input.typeahead({\n source: $scope.source,\n minLength: 0,\n items: 10000,\n updater: $scope.updater,\n matcher: $scope.matcher,\n });\n var typeahead = $input.data('typeahead');\n typeahead.lookup = function () {\n this.query = this.$element.val() || '';\n var items = this.source(this.query, __WEBPACK_IMPORTED_MODULE_1_jquery___default.a.proxy(this.process, this));\n return items ? this.process(items) : items;\n };\n if (debounceLookup) {\n typeahead.lookup = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.debounce(typeahead.lookup, 500, { leading: true });\n }\n $button.keydown(function (evt) {\n // trigger typeahead on down arrow or enter key\n if (evt.keyCode === 40 || evt.keyCode === 13) {\n $button.click();\n }\n });\n $button.click(function () {\n options = null;\n $input.css('width', Math.max($button.width(), 80) + 16 + 'px');\n $button.hide();\n $input.show();\n $input.focus();\n linkMode = false;\n var typeahead = $input.data('typeahead');\n if (typeahead) {\n $input.val('');\n typeahead.lookup();\n }\n });\n $input.blur($scope.inputBlur);\n $compile(elem.contents())($scope);\n },\n };\n}\n/** @ngInject */\nfunction metricSegmentModel(uiSegmentSrv, $q) {\n return {\n template: '',\n restrict: 'E',\n scope: {\n property: '=',\n options: '=',\n getOptions: '&',\n onChange: '&',\n },\n link: {\n pre: function postLink($scope, elem, attrs) {\n var cachedOptions;\n $scope.valueToSegment = function (value) {\n var option = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.find($scope.options, { value: value });\n var segment = {\n cssClass: attrs.cssClass,\n custom: attrs.custom,\n value: option ? option.text : value,\n selectMode: attrs.selectMode,\n };\n return uiSegmentSrv.newSegment(segment);\n };\n $scope.getOptionsInternal = function () {\n if ($scope.options) {\n cachedOptions = $scope.options;\n return $q.when(__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map($scope.options, function (option) {\n return { value: option.text };\n }));\n }\n else {\n return $scope.getOptions().then(function (options) {\n cachedOptions = options;\n return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(options, function (option) {\n if (option.html) {\n return option;\n }\n return { value: option.text };\n });\n });\n }\n };\n $scope.onSegmentChange = function () {\n if (cachedOptions) {\n var option = __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.find(cachedOptions, { text: $scope.segment.value });\n if (option && option.value !== $scope.property) {\n $scope.property = option.value;\n }\n else if (attrs.custom !== 'false') {\n $scope.property = $scope.segment.value;\n }\n }\n else {\n $scope.property = $scope.segment.value;\n }\n // needs to call this after digest so\n // property is synced with outerscope\n $scope.$$postDigest(function () {\n $scope.$apply(function () {\n $scope.onChange();\n });\n });\n };\n $scope.segment = $scope.valueToSegment($scope.property);\n },\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('metricSegment', metricSegment);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('metricSegmentModel', metricSegmentModel);\n\n\n/***/ }),\n/* 966 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ \ntip.$inject = [\"$compile\"];\ncompile.$inject = [\"$compile\"];\neditorOptBool.$inject = [\"$compile\"];\neditorCheckbox.$inject = [\"$compile\", \"$interpolate\"];\ngfDropdown.$inject = [\"$parse\", \"$compile\", \"$timeout\"];var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_clipboard__ = __webpack_require__(501);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_clipboard___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_clipboard__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_utils_kbn__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_app_core_core__ = __webpack_require__(197);\n\n\n\n\n\n/** @ngInject */\nfunction tip($compile) {\n return {\n restrict: 'E',\n link: function (scope, elem, attrs) {\n var _t = '';\n _t = _t.replace(/{/g, '\\\\{').replace(/}/g, '\\\\}');\n elem.replaceWith($compile(__WEBPACK_IMPORTED_MODULE_0_angular___default.a.element(_t))(scope));\n },\n };\n}\nfunction clipboardButton() {\n return {\n scope: {\n getText: '&clipboardButton',\n },\n link: function (scope, elem) {\n scope.clipboard = new __WEBPACK_IMPORTED_MODULE_1_clipboard___default.a(elem[0], {\n text: function () {\n return scope.getText();\n },\n });\n scope.clipboard.on('success', function () {\n __WEBPACK_IMPORTED_MODULE_4_app_core_core__[\"b\" /* appEvents */].emit('alert-success', ['Content copied to clipboard']);\n });\n scope.$on('$destroy', function () {\n if (scope.clipboard) {\n scope.clipboard.destroy();\n }\n });\n },\n };\n}\n/** @ngInject */\nfunction compile($compile) {\n return {\n restrict: 'A',\n link: function (scope, element, attrs) {\n scope.$watch(function (scope) {\n return scope.$eval(attrs.compile);\n }, function (value) {\n element.html(value);\n $compile(element.contents())(scope);\n });\n },\n };\n}\nfunction watchChange() {\n return {\n scope: { onchange: '&watchChange' },\n link: function (scope, element) {\n element.on('input', function () {\n scope.$apply(function () {\n scope.onchange({ inputValue: element.val() });\n });\n });\n },\n };\n}\n/** @ngInject */\nfunction editorOptBool($compile) {\n return {\n restrict: 'E',\n link: function (scope, elem, attrs) {\n var ngchange = attrs.change ? ' ng-change=\"' + attrs.change + '\"' : '';\n var tip = attrs.tip ? ' ' + attrs.tip + '' : '';\n var showIf = attrs.showIf ? ' ng-show=\"' + attrs.showIf + '\" ' : '';\n var template = '
    ' +\n ' ' +\n '' +\n ' ';\n elem.replaceWith($compile(__WEBPACK_IMPORTED_MODULE_0_angular___default.a.element(template))(scope));\n },\n };\n}\n/** @ngInject */\nfunction editorCheckbox($compile, $interpolate) {\n return {\n restrict: 'E',\n link: function (scope, elem, attrs) {\n var text = $interpolate(attrs.text)(scope);\n var model = $interpolate(attrs.model)(scope);\n var ngchange = attrs.change ? ' ng-change=\"' + attrs.change + '\"' : '';\n var tip = attrs.tip ? ' ' + attrs.tip + '' : '';\n var label = '';\n var template = '' +\n ' ';\n template = template + label;\n elem.addClass('gf-form-checkbox');\n elem.html($compile(__WEBPACK_IMPORTED_MODULE_0_angular___default.a.element(template))(scope));\n },\n };\n}\n/** @ngInject */\nfunction gfDropdown($parse, $compile, $timeout) {\n function buildTemplate(items, placement) {\n var upclass = placement === 'top' ? 'dropup' : '';\n var ul = ['
      ', '
    '];\n for (var index = 0; index < items.length; index++) {\n var item = items[index];\n if (item.divider) {\n ul.splice(index + 1, 0, '
  • ');\n continue;\n }\n var li = '' +\n '' +\n (item.text || '') +\n '';\n if (item.submenu && item.submenu.length) {\n li += buildTemplate(item.submenu).join('\\n');\n }\n li += '';\n ul.splice(index + 1, 0, li);\n }\n return ul;\n }\n return {\n restrict: 'EA',\n scope: true,\n link: function postLink(scope, iElement, iAttrs) {\n var getter = $parse(iAttrs.gfDropdown), items = getter(scope);\n $timeout(function () {\n var placement = iElement.data('placement');\n var dropdown = __WEBPACK_IMPORTED_MODULE_0_angular___default.a.element(buildTemplate(items, placement).join(''));\n dropdown.insertAfter(iElement);\n $compile(iElement.next('ul.dropdown-menu'))(scope);\n });\n iElement.addClass('dropdown-toggle').attr('data-toggle', 'dropdown');\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('tip', tip);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('clipboardButton', clipboardButton);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('compile', compile);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('watchChange', watchChange);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('editorOptBool', editorOptBool);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('editorCheckbox', editorCheckbox);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('gfDropdown', gfDropdown);\n\n\n/***/ }),\n/* 967 */,\n/* 968 */,\n/* 969 */,\n/* 970 */,\n/* 971 */,\n/* 972 */,\n/* 973 */,\n/* 974 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_utils_rangeutil__ = __webpack_require__(697);\n\n\nfunction ngModelOnBlur() {\n return {\n restrict: 'A',\n priority: 1,\n require: 'ngModel',\n link: function (scope, elm, attr, ngModelCtrl) {\n if (attr.type === 'radio' || attr.type === 'checkbox') {\n return;\n }\n elm.off('input keydown change');\n elm.bind('blur', function () {\n scope.$apply(function () {\n ngModelCtrl.$setViewValue(elm.val());\n });\n });\n },\n };\n}\nfunction emptyToNull() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function (scope, elm, attrs, ctrl) {\n ctrl.$parsers.push(function (viewValue) {\n if (viewValue === '') {\n return null;\n }\n return viewValue;\n });\n },\n };\n}\nfunction validTimeSpan() {\n return {\n require: 'ngModel',\n link: function (scope, elm, attrs, ctrl) {\n ctrl.$validators.integer = function (modelValue, viewValue) {\n if (ctrl.$isEmpty(modelValue)) {\n return true;\n }\n if (viewValue.indexOf('$') === 0 || viewValue.indexOf('+$') === 0) {\n return true; // allow template variable\n }\n var info = __WEBPACK_IMPORTED_MODULE_1_app_core_utils_rangeutil__[\"a\" /* describeTextRange */](viewValue);\n return info.invalid !== true;\n };\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_0__core_module__[\"a\" /* default */].directive('ngModelOnblur', ngModelOnBlur);\n__WEBPACK_IMPORTED_MODULE_0__core_module__[\"a\" /* default */].directive('emptyToNull', emptyToNull);\n__WEBPACK_IMPORTED_MODULE_0__core_module__[\"a\" /* default */].directive('validTimeSpan', validTimeSpan);\n\n\n/***/ }),\n/* 975 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_angular__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_app_core_utils_tags__ = __webpack_require__(237);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_tagsinput_bootstrap_tagsinput_js__ = __webpack_require__(976);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_tagsinput_bootstrap_tagsinput_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vendor_tagsinput_bootstrap_tagsinput_js__);\n\n\n\n\n\nfunction setColor(name, element) {\n var _a = __WEBPACK_IMPORTED_MODULE_3_app_core_utils_tags__[\"a\" /* default */].getTagColorsFromName(name), color = _a.color, borderColor = _a.borderColor;\n element.css('background-color', color);\n element.css('border-color', borderColor);\n}\nfunction tagColorFromName() {\n return {\n scope: { tagColorFromName: '=' },\n link: function (scope, element) {\n setColor(scope.tagColorFromName, element);\n },\n };\n}\nfunction bootstrapTagsinput() {\n function getItemProperty(scope, property) {\n if (!property) {\n return undefined;\n }\n if (__WEBPACK_IMPORTED_MODULE_0_angular___default.a.isFunction(scope.$parent[property])) {\n return scope.$parent[property];\n }\n return function (item) {\n return item[property];\n };\n }\n return {\n restrict: 'EA',\n scope: {\n model: '=ngModel',\n onTagsUpdated: '&',\n },\n template: '',\n replace: false,\n link: function (scope, element, attrs) {\n if (!__WEBPACK_IMPORTED_MODULE_0_angular___default.a.isArray(scope.model)) {\n scope.model = [];\n }\n var select = __WEBPACK_IMPORTED_MODULE_1_jquery___default()('select', element);\n if (attrs.placeholder) {\n select.attr('placeholder', attrs.placeholder);\n }\n select.tagsinput({\n typeahead: {\n source: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.isFunction(scope.$parent[attrs.typeaheadSource])\n ? scope.$parent[attrs.typeaheadSource]\n : null,\n },\n widthClass: attrs.widthClass,\n itemValue: getItemProperty(scope, attrs.itemvalue),\n itemText: getItemProperty(scope, attrs.itemtext),\n tagClass: __WEBPACK_IMPORTED_MODULE_0_angular___default.a.isFunction(scope.$parent[attrs.tagclass])\n ? scope.$parent[attrs.tagclass]\n : function () {\n return attrs.tagclass;\n },\n });\n select.on('itemAdded', function (event) {\n if (scope.model.indexOf(event.item) === -1) {\n scope.model.push(event.item);\n if (scope.onTagsUpdated) {\n scope.onTagsUpdated();\n }\n }\n var tagElement = select\n .next()\n .children('span')\n .filter(function () {\n return __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this).text() === event.item;\n });\n setColor(event.item, tagElement);\n });\n select.on('itemRemoved', function (event) {\n var idx = scope.model.indexOf(event.item);\n if (idx !== -1) {\n scope.model.splice(idx, 1);\n if (scope.onTagsUpdated) {\n scope.onTagsUpdated();\n }\n }\n });\n scope.$watch('model', function () {\n if (!__WEBPACK_IMPORTED_MODULE_0_angular___default.a.isArray(scope.model)) {\n scope.model = [];\n }\n select.tagsinput('removeAll');\n for (var i = 0; i < scope.model.length; i++) {\n select.tagsinput('add', scope.model[i]);\n }\n }, true);\n },\n };\n}\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('tagColorFromName', tagColorFromName);\n__WEBPACK_IMPORTED_MODULE_2__core_module__[\"a\" /* default */].directive('bootstrapTagsinput', bootstrapTagsinput);\n\n\n/***/ }),\n/* 976 */\n/***/ (function(module, exports) {\n\n(function ($) {\n \"use strict\";\n\n var defaultOptions = {\n tagClass: function(item) {\n return 'label label-info';\n },\n itemValue: function(item) {\n return item ? item.toString() : item;\n },\n itemText: function(item) {\n return this.itemValue(item);\n },\n freeInput: true,\n maxTags: undefined,\n confirmKeys: [13],\n onTagExists: function(item, $tag) {\n $tag.hide().fadeIn();\n }\n };\n\n /**\n * Constructor function\n */\n function TagsInput(element, options) {\n this.itemsArray = [];\n\n this.$element = $(element);\n this.$element.hide();\n\n this.widthClass = options.widthClass || 'width-9';\n this.isSelect = (element.tagName === 'SELECT');\n this.multiple = (this.isSelect && element.hasAttribute('multiple'));\n this.objectItems = options && options.itemValue;\n this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : '';\n\n this.$container = $('
    ');\n this.$input = $('').appendTo(this.$container);\n\n this.$element.after(this.$container);\n\n this.build(options);\n }\n\n TagsInput.prototype = {\n constructor: TagsInput,\n\n /**\n * Adds the given item as a new tag. Pass true to dontPushVal to prevent\n * updating the elements val()\n */\n add: function(item, dontPushVal) {\n var self = this;\n\n if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags)\n return;\n\n // Ignore falsey values, except false\n if (item !== false && !item)\n return;\n\n // Throw an error when trying to add an object while the itemValue option was not set\n if (typeof item === \"object\" && !self.objectItems)\n throw(\"Can't add objects when itemValue option is not set\");\n\n // Ignore strings only containg whitespace\n if (item.toString().match(/^\\s*$/))\n return;\n\n // If SELECT but not multiple, remove current tag\n if (self.isSelect && !self.multiple && self.itemsArray.length > 0)\n self.remove(self.itemsArray[0]);\n\n if (typeof item === \"string\" && this.$element[0].tagName === 'INPUT') {\n var items = item.split(',');\n if (items.length > 1) {\n for (var i = 0; i < items.length; i++) {\n this.add(items[i], true);\n }\n\n if (!dontPushVal)\n self.pushVal();\n return;\n }\n }\n\n var itemValue = self.options.itemValue(item),\n itemText = self.options.itemText(item),\n tagClass = self.options.tagClass(item);\n\n // Ignore items allready added\n var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0];\n if (existing) {\n // Invoke onTagExists\n if (self.options.onTagExists) {\n var $existingTag = $(\".tag\", self.$container).filter(function() { return $(this).data(\"item\") === existing; });\n self.options.onTagExists(item, $existingTag);\n }\n return;\n }\n\n // register item in internal array and map\n self.itemsArray.push(item);\n\n // add a tag element\n var $tag = $('' + htmlEncode(itemText) + '');\n $tag.data('item', item);\n self.findInputWrapper().before($tag);\n $tag.after(' ');\n\n // add
    \\n\\n
    \\n
    \\n
    0\\\">\\n \\n
    0\\\">\\n \\n \\n  {{tagName}}\\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n No dashboards matching your query were found.\\n \\n
    \\n\\n\\t
    \\n \\n No dashboards found.\\n \\n
    \\n\\n
    0\\\">\\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n\\n
    \\n ',\\n proTipLink: 'dashboards',\\n proTipLinkTitle: 'Manage dashboards',\\n proTipTarget: ''\\n }\\\"/>\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1023 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/core/components/navbar/navbar.html';\nvar html = \"\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1024 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/core/components/search/search.html';\nvar html = \"\\n
    \\n\\n
    \\n\\n\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\n\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n
    \\n
    \\n
    \\n
    No dashboards matching your query were found.
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n Filter by:\\n \\n Clear\\n \\n
    \\n\\n \\n \\n
    \\n\\n \\n
    \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1025 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/core/components/search/search_results.html';\nvar html = \"
    \\n
    \\n
    \\n \\n \\n
    \\n \\n {{::section.title}}\\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n\\n \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1026 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/core/components/sidemenu/sidemenu.html';\nvar html = \"\\n\\n\\n \\n \\n  Close\\n\\n\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1027 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/core/components/sidepane/sidepane.html';\nvar html = \"
    \\n\\n \\n\\n
    \\n \\n \\\"curve\\n \\n
    \\n\\n
    \\n\\n
    \\n \\n\\n
    \\n\\n
    \\n
    \\n
    \\n\\n
    \\n\\n \\n \\n\\n
    \\n No sensors found.
    \\n Add sensors using the\\n button below,
    \\n and then drag them onto your dashboards
    \\n to create graphs.\\n
    \\n\\n \\n\\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1028 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/admin_home.html';\nvar html = \"\\n\\n
    \\n\\n
    \\n Grafana is a multi-tenant system where most can be configured per organization. These\\n admin pages are for server admins where you can manage orgs, & all users across all orgs.\\n
    \\n\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1029 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/edit_org.html';\nvar html = \"\\n\\n
    \\n\\t

    Edit Organization

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t

    Organization Users

    \\n\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    UsernameEmailRole
    {{orgUser.login}}{{orgUser.email}}\\n
    \\n \\n \\n \\n
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1030 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/edit_user.html';\nvar html = \"\\n\\n
    \\n\\n\\t
    \\n\\t\\t

    Edit User

    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tName\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tEmail\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tUsername\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t
    \\n\\n\\t

    Change password

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\tNew password\\n\\t\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t

    Permissions

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t

    Organizations

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tAdd\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n \\tRole\\n \\t\\n \\t\\n \\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    NameRole
    \\n\\t\\t\\t\\t{{org.name}} Current\\n\\t\\t\\t\\n
    \\n \\n \\n \\n
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1031 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/experiments.html';\nvar html = \"\\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    IdOrgTitleCreatedUser Email
    \\n \\n \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1032 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/new_user.html';\nvar html = \"\\n\\n
    \\n\\t
    \\n\\t\\t

    Add new user

    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tEmail\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tUsername\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1033 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/orgs.html';\nvar html = \"\\n\\n
    \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    IdNameCreated
    \\n \\n \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1034 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/settings.html';\nvar html = \"\\n\\n
    \\n\\n\\t
    \\n\\t\\tThese system settings are defined in grafana.ini or custom.ini (or overridden in ENV variables).\\n\\t\\tTo change these you currently need to restart grafana.\\n\\t
    \\n\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    {{secName}}
    {{keyName}}{{keyValue}}
    \\n
    \\n\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1035 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/stats.html';\nvar html = \"\\n\\n
    \\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    NameValue
    Total dashboards{{ctrl.stats.dashboards}}
    Total users{{ctrl.stats.users}}
    Active users (seen last 14 days){{ctrl.stats.activeUsers}}
    Total organizations{{ctrl.stats.orgs}}
    Total datasources{{ctrl.stats.datasources}}
    Total playlists{{ctrl.stats.playlists}}
    Total snapshots{{ctrl.stats.snapshots}}
    Total dashboard tags{{ctrl.stats.tags}}
    Total starred dashboards{{ctrl.stats.stars}}
    Total alerts{{ctrl.stats.alerts}}
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1036 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/admin/partials/users.html';\nvar html = \"\\n\\n
    \\n\\t
    \\n \\n
    \\n \\n \\n Add new user\\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
    EmailExp #Upl #Incomplete #\\n Seen\\n Time since user was seen using Grafana\\n Created
    \\n \\n \\n \\n \\n \\n \\n \\n  \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n
      \\n
    1. \\n \\n
    2. \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1037 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/alerting/partials/alert_howto.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1038 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/alerting/partials/alert_tab.html';\nvar html = \"
    \\n\\t\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t {{ctrl.error}}\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    Alert Config
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tName\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tEvaluate every\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    Conditions
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tWHEN\\n\\t\\t\\t\\t\\t
    \\n \\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n \\t\\t\\tOF\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n \\t\\t\\t\\n \\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n \\t\\t\\tIf no data or all values are null\\n \\t\\t\\tSET STATE TO\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n \\t\\t\\tIf execution error or timeout\\n \\t\\t\\tSET STATE TO\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\tEvaluating rule \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Notifications
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tSend to\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t {{nc.name}} \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tMessage\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n \\t\\t
    \\n\\t\\t\\t\\tState history (last 50 state changes)\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\tNo state changes recorded\\n\\t\\t\\t
    \\n\\n
      \\n
    1. \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{al.stateModel.text}}\\n
      \\n
      \\n {{al.info}}\\n
      \\n
      \\n {{al.time}}\\n
      \\n
    2. \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1039 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/alerting/partials/notification_edit.html';\nvar html = \"\\n\\n
    \\n\\n

    Edit Notification Channel

    \\n

    New Notification Channel

    \\n\\n
    \\n
    \\n
    \\n Name\\n \\n
    \\n
    \\n Type\\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n\\n
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tBack\\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1040 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/alerting/partials/notifications_list.html';\nvar html = \"\\n\\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n\\n \\n \\n New Channel\\n \\n
    \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n Name\\n Type
    \\n \\n default\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1041 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/annotations/partials/editor.html';\nvar html = \"\\n
    \\n\\t

    \\n\\t\\tAnnotations\\n\\t\\t> New\\n\\t\\t> Edit\\n\\t

    \\n\\n\\t
    \\n\\t\\t
    1\\\">\\n\\t\\t\\t
    \\n\\t\\t\\t New\\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    Query nameData source
    \\n\\t\\t\\t\\t\\t\\t  \\n\\t\\t\\t\\t\\t\\t{{annotation.name}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t  \\n\\t\\t\\t\\t\\t\\t{{annotation.name}} (Built-in)\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t{{annotation.datasource || 'Default'}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    There are no custom annotation queries added yet
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tAdd Annotation Query\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    What are Annotations?
    \\n\\t\\t\\t\\t\\t

    \\n\\t\\t\\t\\t\\tAnnotations provide a way to integrate event data into your graphs. They are visualized as vertical lines and icons\\n\\t\\t\\t\\t\\ton all graph panels. When you hover over an annotation icon you can get event text & tags for the event. You can add annotation events\\n\\t\\t\\t\\t\\tdirectly from grafana by holding CTRL or CMD + click on graph (or drag region). These will be stored in Grafana's annotation database.\\n\\t\\t\\t\\t\\t

    \\n\\t\\t\\t\\t\\tCheckout the Annotations documentation for more information.\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    General
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tName\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tData source\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    Query
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1042 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/annotations/partials/event_editor.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tAdd Annotation\\n\\t\\t\\tEdit Annotation\\n\\t\\t
    \\n\\n
    {{ctrl.timeFormated}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tDescription\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\tTags\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\tCancel\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1043 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/dashnav/dashnav.html';\nvar html = \"\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1044 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/export/export_modal.html';\nvar html = \"\\n\\n\\n\\n\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1045 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/export_data/export_data_modal.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1046 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/export_experiment/export_experiment_modal.html';\nvar html = \"\\n\\n\\n\\n\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1047 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/folder_picker/folder_picker.html';\nvar html = \"
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1048 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/history/history.html';\nvar html = \"

    \\n Versions\\n \\n > Comparing {{ctrl.baseInfo.version}}\\n \\n {{ctrl.newInfo.version}}\\n (Latest)\\n \\n

    \\n\\n
    \\n
    \\n \\n Fetching history list…\\n
    \\n\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    VersionDateUpdated ByNotes
    \\n \\n \\n {{revision.version}}{{revision.createdDateString}}{{revision.createdBy}}{{revision.message}}\\n \\n   Restore\\n \\n \\n   Latest\\n \\n
    \\n\\n
    \\n \\n Fetching more entries…\\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n Fetching changes…\\n
    \\n\\n
    \\n \\n
    \\n

    \\n Version {{ctrl.newInfo.version}} updated by\\n {{ctrl.newInfo.createdBy}} \\n {{ctrl.newInfo.ageString}}\\n - {{ctrl.newInfo.message}}\\n

    \\n

    \\n Version {{ctrl.baseInfo.version}} updated by\\n {{ctrl.baseInfo.createdBy}} \\n {{ctrl.baseInfo.ageString}}\\n - {{ctrl.baseInfo.message}}\\n

    \\n
    \\n\\n
    \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1049 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/move_to_folder_modal/move_to_folder.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1050 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/create_folder.html';\nvar html = \"\\n\\n
    \\n\\n\\t

    New Dashboard Folder

    \\n\\n
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1051 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/dashboard_import.html';\nvar html = \"\\n\\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n\\n
    Grafana.com Dashboard
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    Or paste JSON
    \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n \\n {{ctrl.parseError}}\\n \\n
    \\n
    \\n\\n
    \\n
    \\n

    \\n Importing Dashboard from\\n Grafana.com\\n

    \\n\\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n

    \\n Options\\n

    \\n\\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n Unique identifier (uid)\\n \\n The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple Grafana installs.\\n The uid allows having consistent URL’s for accessing dashboards so changing the title of a dashboard will not break any\\n bookmarked links to that dashboard.\\n \\n \\n \\n change\\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n Cancel\\n
    \\n\\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1052 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/dashboard_list.html';\nvar html = \"\\n\\n
    \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1053 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/folder_dashboards.html';\nvar html = \"\\n\\n
    \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1054 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/folder_permissions.html';\nvar html = \"\\n\\n
    \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1055 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/folder_settings.html';\nvar html = \"\\n\\n
    \\n\\t

    Folder Settings

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1056 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/inspector.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1057 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/row_options.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1058 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/partials/shareModal.html';\nvar html = \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1059 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/settings/settings.html';\nvar html = \"\\n\\n
    \\n\\t

    \\n\\t\\tGeneral\\n\\t

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    Panel Options
    \\n\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n
    \\n\\n
    \\n
    \\n\\n
    \\n\\t\\n
    \\n\\n
    \\n\\t\\n
    \\n\\n
    \\n\\t

    JSON Model

    \\n
    \\n The JSON Model below is data structure that defines the dashboard. Including settings, panel settings & layout,\\n queries etc.\\n
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    You have changed folder, please save to view permissions.
    \\n
    \\n
    \\n\\n
    \\n

    Settings view not found

    \\n\\n
    \\n
    The settings page could not be found or you do not have permission to access it
    \\n
    \\n
    \\n\\n
    \\n

    Make Editable

    \\n\\n \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1060 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/submenu/submenu.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1061 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/timepicker/settings.html';\nvar html = \"
    \\n\\t
    Time Options
    \\n\\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tAuto-refresh\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tNow delay now-\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1062 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashboard/timepicker/timepicker.html';\nvar html = \"
    \\n\\t\\n\\n\\t\\n\\n\\t\\n
    \\n\\n\\n\\n
    \\n
    \\n

    Custom range

    \\n\\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n\\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n

    Quick ranges

    \\n
      \\n
    • \\n \\n
    • \\n
    \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1063 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/dashlinks/editor.html';\nvar html = \"

    \\n Dashboard Links\\n > New\\n > Edit\\n

    \\n\\n
    \\n
    \\n
    \\n
    \\n There are no dashboard links added yet\\n
    \\n \\n \\n Add Dashboard Link\\n \\n
    \\n
    What are Dashboard Links?
    \\n

    \\n\\t\\t\\t\\t\\tDashboard Links allow you to place links to other dashboards and web sites directly in below the dashboard header.\\n

    \\n
    \\n
    \\n
    \\n\\n
    0\\\">\\n
    \\n
    \\n \\n New\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    TypeInfo
    \\n \\n {{link.type}}\\n \\n
    \\n {{link.title}}\\n
    \\n
    \\n {{link.url}}\\n
    \\n \\n {{tag}}\\n \\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n Type\\n
    \\n \\n
    \\n
    \\n\\n
    \\n With tags\\n \\n
    \\n\\n \\n
    \\n Title\\n \\n
    \\n
    \\n
    \\n
  • Url
  • \\n \\n
    \\n\\n
    \\n Title\\n \\n
    \\n\\n
    \\n Tooltip\\n \\n
    \\n\\n
    \\n Icon\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    Include
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1064 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/experiments/partials/edit_experiment.html';\nvar html = \"\\n\\n
    \\n\\n

    {{ ctrl.navModel.main.subTitle }}

    \\n\\n
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1065 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/experiments/partials/edit_folder.html';\nvar html = \"\\n\\n
    \\n\\n\\t

    New Experiment Folder

    \\n\\n
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1066 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/apikeyModal.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1067 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/change_password.html';\nvar html = \"\\n\\n
    \\n\\t

    \\n\\t\\tChange your password\\n\\t

    \\n\\n\\t
    \\n\\t\\tYou cannot change password when ldap or auth proxy authentication is enabled.\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tOld Password\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tNew Password\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tConfirm Password\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\tCancel\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1068 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/create_team.html';\nvar html = \"\\n\\n
    \\n\\t

    New Team

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\tEmail\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tThis is optional and is primarily used for allowing custom team avatars.\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1069 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/invite.html';\nvar html = \"\\n\\n
    \\n\\n\\t

    Invite User

    \\n\\n\\t
    \\n\\t\\tSend invite or add existing Grafana user to the organization\\n\\t\\t{{contextSrv.user.orgName}}\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tEmail or Username\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tName\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n Role\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\tBack\\n\\t\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1070 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/newOrg.html';\nvar html = \"\\n\\n
    \\n\\t

    \\n\\t\\tNew Organization\\n\\t

    \\n\\n\\t

    Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, multiple organization are most frequently used in multi-tenant deployments.

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tOrg. name\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1071 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/orgApiKeys.html';\nvar html = \"\\n\\n
    \\n\\n\\t

    Add new

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tKey name\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tRole\\n \\n \\n \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t

    Existing Keys

    \\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    NameKeyRole
    {{t.name}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t{{t.key}}\\n\\t\\t\\t\\t{{t.role}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n
    \\n\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1072 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/orgDetails.html';\nvar html = \"\\n\\n
    \\n

    Organization profile

    \\n\\n
    \\n
    \\n
    \\n Organization name\\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1073 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/orgUsers.html';\nvar html = \"\\n\\n
    \\n
    \\n \\n\\n
    \\n\\n \\n\\n \\n \\n Invite\\n \\n\\n \\n \\n {{ctrl.externalUserMngLinkName}}\\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    LoginEmail\\n Seen\\n Time since user was seen using Grafana\\n Role
    \\n \\n {{user.login}}{{user.email}}{{user.lastSeenAtAge}}\\n
    \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    EmailName
    {{invite.email}}{{invite.name}}\\n \\n  \\n \\n \\n
    \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1074 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/profile.html';\nvar html = \"\\n\\n
    \\n

    User Profile

    \\n\\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tEmail\\n\\t\\t\\t\\n \\n
    \\n\\t\\t
    \\n\\t\\t\\tUsername\\n \\n \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t

    Organizations

    \\n
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    NameRole
    {{org.name}}{{org.role}}\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\tCurrent\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\tSelect\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1075 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/select_org.html';\nvar html = \"\\n\\n
    \\n\\n\\t\\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1076 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/team_details.html';\nvar html = \"\\n\\n
    \\n\\t

    Team Details

    \\n\\n
    \\n
    \\n Name\\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\tEmail\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tThis is optional and is primarily used for allowing custom team avatars.\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n\\n

    Team Members

    \\n\\t\\t
    \\n
    \\n Add member\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n
    \\n
    \\n\\n 0\\\">\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    UsernameEmail
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t{{member.login}}{{member.email}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t 0\\\">\\n\\t\\t\\t\\tThis team has no members yet.\\n\\t\\t\\t\\n\\t\\t
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1077 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/org/partials/teams.html';\nvar html = \"\\n\\n
    \\n\\t
    \\n \\n
    \\n\\n \\n \\n\\t\\t\\tAdd Team\\n \\n
    \\n\\n
    \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    NameEmailMembers
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n
      \\n
    1. \\n \\n
    2. \\n
    \\n
    \\n\\n 0\\\">\\n No Teams found.\\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1078 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/panel/partials/metrics_tab.html';\nvar html = \"
    \\n
    \\n
    \\n\\t\\t\\t\\n \\n\\n \\n \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\\n\\t\\t\\t\\t\\tfor example 1m if your data is written every minute. Access auto interval via variable $__interval for time range\\n\\t\\t\\t\\t\\tstring and $__interval_ms for numeric variable that can be used in math expressions.\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tIf your time series store has a query cache this option can override the default\\n\\t\\t\\t\\t\\tcache timeout. Specify a numeric value in seconds.\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tThe maximum data points the query should return. For graphs this\\n\\t\\t\\t\\t\\tis automatically set to one data point per pixel.\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1079 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/panel/partials/panelTime.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\n\\t\\tOverride relative time\\n\\t\\tLast\\n\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\tAdd time shift\\n\\t\\tAmount\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1080 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/panel/partials/query_editor_row.html';\nvar html = \"\\n
    \\n\\t\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n \\n\\t\\t\\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1081 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/panel/partials/soloPanel.html';\nvar html = \"
    \\n\\t\\n\\t\\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1082 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/panellinks/module.html';\nvar html = \"
    \\n\\t
    \\n\\t\\tDrilldown / detail linkThese links appear in the dropdown menu in the panel menu.
    \\n\\t\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tType\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\tDashboard\\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\tUrl\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    Title
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tUrl params\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1083 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/playlist/partials/playlist.html';\nvar html = \"\\n\\n
    \\n\\n

    Edit Playlist

    \\n

    New Playlist

    \\n\\n\\t

    A playlist rotates through a pre-selected list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tInterval\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t

    Dashboards

    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    Available
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    0\\\">\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t  {{playlistItem.title}}\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    0;\\\">\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t{{tag.term}}  ({{tag.count}})\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Selected
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t  {{playlistItem.title}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t{{playlistItem.title}}\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\n\\t
    \\n\\t\\tCreate new playlist\\n\\t\\tSave\\n\\t\\tCancel\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1084 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/playlist/partials/playlist_search.html';\nvar html = \"
    \\n \\n \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\tstarred\\n\\t\\t\\t |\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\ttags\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t|\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t{{tagName}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1085 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/playlist/partials/playlists.html';\nvar html = \"\\n\\n
    \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    NameStart url
    \\n\\t\\t\\t\\t{{playlist.name}}\\n \\n\\t\\t\\t\\tplaylists/play/{{playlist.id}}\\n \\n \\n \\n Play\\n \\n \\n \\n \\n Edit\\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1086 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/import_list/import_list.html';\nvar html = \"
    \\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t{{dash.title}}\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t{{dash.title}}\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1087 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/ds_dashboards.html';\nvar html = \"\\n\\n
    \\n\\n\\t\\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1088 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/ds_edit.html';\nvar html = \"\\n\\n
    \\n\\n
    \\n
    \\n Disclaimer. This datasource was added by config and cannot be modified using the UI. Please contact your server admin to update this datasource.\\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n Name\\n \\n \\n The name is used when you select the data source in panels.\\n The Default data source is preselected in new\\n panels.\\n \\n
    \\n \\n
    \\n\\n
    \\n Type\\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n This plugin is marked as being in alpha state, which means it is in early development phase and\\n updates will include breaking changes.\\n
    \\n\\n \\n \\n \\n \\n\\n
    \\n

    Bundled Plugin Dashboards

    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    Testing....
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    {{ctrl.testing.message}}
    \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n Back\\n
    \\n\\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1089 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/ds_http_settings.html';\nvar html = \"
    \\n

    HTTP

    \\n
    \\n
    \\n
    \\n URL\\n \\n \\n

    Specify a complete HTTP URL (for example http://your_server:8080)

    \\n \\n Your access method is Browser, this means the URL\\n needs to be accessible from the browser.\\n \\n \\n Your access method is Server, this means the URL\\n needs to be accessible from the grafana backend/server.\\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n Access\\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n

    \\n Access mode controls how requests to the data source will be handled.\\n Server should be the preferred way if nothing else stated.\\n

    \\n
    Server access mode (Default):
    \\n

    \\n All requests will be made from the browser to Grafana backend/server which in turn will forward the requests to the data source\\n and by that circumvent possible Cross-Origin Resource Sharing (CORS) requirements.\\n The URL needs to be accessible from the grafana backend/server if you select this access mode.\\n

    \\n
    Browser access mode:
    \\n

    \\n All requests will be made from the browser directly to the data source and may be subject to\\n Cross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the browser if you select this\\n access mode.\\n

    \\n
    \\n
    \\n
    \\n\\n

    Auth

    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    Basic Auth Details
    \\n
    \\n \\n User\\n \\n \\n
    \\n\\n
    \\n \\n Password\\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n
    TLS Auth Details
    \\n TLS Certs are encrypted and stored in the Grafana database.\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n reset\\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n reset\\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n reset\\n
    \\n
    \\n
    \\n
    \\n\\n

    Advanced HTTP Settings

    \\n
    \\n
    \\n
    \\n Whitelisted Cookies\\n \\n \\n \\n Grafana Proxy deletes forwarded cookies by default. Specify cookies by name that should be forwarded to the data source.\\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1090 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/ds_list.html';\nvar html = \"\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1091 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/plugin_edit.html';\nvar html = \"
    \\n \\n\\n
    \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1092 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/plugin_list.html';\nvar html = \"\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1093 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/plugin_page.html';\nvar html = \"
    \\n \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1094 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/plugins/partials/update_instructions.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1095 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/sensors/partials/bind_sensor.html';\nvar html = \"\\n\\n
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t
    \\n \\t\\n\\t\\t\\t\\n\\t\\t\\tCreate Sensor\\n\\t\\t\\n\\t
    \\n\\n
    \\n\\t\\t
    \\n\\n\\t\\t\\t\\n\\t\\t\\t\\tNo sensors matching the query « {{ ctrl.query }} » were found.\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\tNo sensors matching your query were found.\\n\\t\\t\\t\\n\\n\\t\\t
    \\n
    \\n\\n\\t
    0\\\">\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    {{::item.title}}
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\t\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1096 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/sensors/partials/edit_sensor.html';\nvar html = \"\\n\\n
    \\n\\n

    {{ ctrl.navModel.main.subTitle }}

    \\n\\n
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1097 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/snapshot/partials/snapshots.html';\nvar html = \"\\n\\n
    \\n \\n \\n \\n \\n \\n \\n\\t\\t\\n\\t\\t\\n \\n \\n \\n \\n \\n
    NameSnapshot url
    \\n\\t\\t\\t\\t{{snapshot.name}}\\n \\n dashboard/snapshot/{{snapshot.key}}\\n \\n \\n \\n View\\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1098 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/styleguide/styleguide.html';\nvar html = \"\\n\\n
    \\n\\n\\t

    Buttons

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t

    Forms

    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1099 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/templating/partials/editor.html';\nvar html = \"
    \\n\\n\\t

    \\n\\t\\tVariables\\n\\t\\t> New\\n\\t\\t> Edit\\n\\t

    \\n\\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    There are no variables added yet
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tAdd variable\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    What do variables do?
    \\n\\t\\t\\t\\t\\t

    Variables enable more interactive and dynamic dashboards. Instead of hard-coding things like server or sensor names\\n\\t\\t\\t\\t\\tin your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of\\n\\t\\t\\t\\t\\tthe dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.\\n\\n\\t\\t\\t\\t\\tCheck out the\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tTemplating documentation\\n\\t\\t\\t\\t\\t for more information.\\n\\t\\t\\t\\t

    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t New\\n\\t\\t\\t
    \\n\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    VariableDefinition
    \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t${{variable.name}}\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t{{variable.query}}\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tDuplicate\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    General
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tName\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tType\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t{{variableTypes[current.type].description}}\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\tTemplate names cannot begin with '__', that's reserved for Grafana's global variables\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tLabel\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tHide\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Interval Options
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\tValues\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tStep count How many times should the current time range be divided to calculate the value\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tMin interval The calculated value will not go below this threshold\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Custom Options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tValues separated by comma\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Constant options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tValue\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Query Options
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\tData source\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tRefresh\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\tWhen to update the values of this variable.\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tQuery\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tRegex\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tOptional, if you want to extract part of a series name or metric node segment.\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\tSort\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tHow to sort the values of this variable.\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Data source options
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tData source\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Selection Options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tCustom all value\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Value groups/tags (Experimental feature)
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\tTags query\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
  • Tag values query
  • \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Preview of values
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n {{option.text}}\\n
    \\n
    optionsLimit\\\">\\n Show more\\n
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t{{infoText}}\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1100 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/features/upload/partials/upload.html';\nvar html = \"
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n \\n
    \\n Drag and drop anywhere to upload\\n
    \\n
    \\n Currently supported formats are CSV\\n (sample)\\n or National Instrument's TDMS format.\\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n We're adding support for more native DAQ formats... If you have any requests\\n for hardware that you would like to work with, \\n shoot us an email!\\n
    \\n\\n
    \\n
    \\n
    \\n
    {{ ctrl.uploadProgressText }}
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    {{ ctrl.importProgressText }}
    \\n
    \\n
    \\n\\n
    \\n Uh-oh! an error occured: {{ ctrl.uploadError }}\\n\\n

    \\n \\n
    \\n\\n
    \\n\\n

    Experiment Details

    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n \\n
    \\n \\n \\n
    \\n \\n
    \\n

    Sensor Short Names

    \\n\\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n {{ ctrl.message }}\\n
    \\n\\n
    \\n\\n
    \\n\\n
    \\n

    \\n Data PreviewPreview the first 10 lines of your uploaded data.\\n

    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    #{{ elem }}
    0{{ $index + 1 }}\\n {{ elem }}\\n
    \\n
    \\n
    \\n\\n

    Import Details

    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n
    {{ ctrl.message }}
    \\n
    \\n\\n
    \\n \\n
    \\n\\n\\n
    \\n\\n
    \\n\\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1101 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/confirm_modal.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1102 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/dashboard.html';\nvar html = \"\\n
    \\n\\t\\n\\n\\t
    \\n \\n \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1103 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/edit_json.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t

    \\n\\t\\t\\tJSON\\n\\t\\t

    \\n\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1104 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/error.html';\nvar html = \"\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n

    100%

    \\n

    80%

    \\n

    60%

    \\n

    40%

    \\n

    20%

    \\n

    0%

    \\n
    \\n
    \\n \\n
    \\n

    Then

    \\n

    Now

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n

    current

    \\n
    \\n
    \\n \\n
    \\n
    \\n

    Chances you are on the page you are looking for.

    \\n

    0%

    \\n
    \\n
    \\n

    Sorry for the inconvenience

    \\n

    Please go back to your\\n home dashboard and try again.

    \\n

    If the error persists, seek help on the\\n community site.

    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1105 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/home.html';\nvar html = \"\\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n Upload a file\\n
    \\n

    \\n If your data is already available in comma-separated values (.csv)\\n or National Instruments' TDMS (.tdms) format, \\n head over to the upload section to upload an experiment.\\n

    \\n

    \\n CURVE currently supports time-series data only.\\n

    \\n

    \\n

    \\n
    \\n
    \\n

    \\n

    \\n \\n \\n  Upload\\n \\n

    \\n
    \\n\\n
    \\n
    \\n \\n Use the MATLAB Plugin\\n
    \\n

    \\n Download the plugin below if you already use MATLAB to manage your \\n experiment data. \\n

    \\n

    \\n

    \\n
    \\n
    \\n

    \\n \\n

    \\n NOTE: Requires MATLAB 2017b or later. If you don't have MATLAB already, \\n you can \\n \\n download it here.\\n \\n

    \\n\\n

    \\n \\n \\n  MATLAB Plugin\\n \\n

    \\n
    \\n\\n\\n
    \\n\\n
    \\n\\n\\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n Upload an experiment\\n
    \\n

    \\n Head over to the upload section to upload your time-series data \\n and create an experiment.\\n

    \\n

    \\n \\n \\n  Upload\\n \\n

    \\n Supported formats:\\n
      \\n
    • \\n CSV (Comma-separated values) \\n see sample.\\n
    • \\n
    • \\n TDMS (National Instruments)\\n
    • \\n
    \\n
    \\n\\n \\n\\n
    \\n
    \\n \\n Tips\\n
    \\n
      \\n
    • Ctrl/cmd + click on a graph to add an annotation.
    • \\n
    • \\n Hit ctrl/cmd + O when hovering over a panel to enable \\n shared tooltip mode. The tooltip then appears on all panels \\n simultaenously. Hit it again to cycle through the 3 tooltip modes.\\n
    • \\n
    \\n
    \\n\\n\\n
    \\n
    \\n \\n What's new?\\n
    \\n\\n \\n\\n
    \\n

    \\n Release #35\\n

    \\n
      \\n
    • Experiment video + video sync (beta!)
    • \\n
    • Ability to edit experiment start & end times
    • \\n
    \\n
    \\n\\n
    \\n

    \\n Release #34\\n

    \\n
      \\n
    • Ability to alias a sensor on a panel.
    • \\n
    \\n
    \\n\\n
    \\n

    \\n Release #33\\n

    \\n
      \\n
    • Added support for uploading National Instruments TDMS files.
    • \\n
    • Enabled automatic zoom up to 1GHz sampling rate.
    • \\n
    • Added CSV Upload + Howto Video.
    • \\n
    \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n Using the MATLAB Plugin\\n
    \\n
    \\n
    \\n
    \\n

    \\n Quick introduction to the MATLAB Plugin.\\n

    \\n
    \\n\\n
    \\n
    \\n \\n Uploading CSV files\\n
    \\n
    \\n
    \\n
    \\n

    \\n How to get started uploading CSV files and creating dashboards.\\n

    \\n
    \\n\\n
    \\n
    \\n \\n Contact\\n
    \\n

    Problems, questions, concerns ? Email us at support@getcurve.io.

    \\n
    \\n\\n\\n
    \\n\\n\\n
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1106 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/login.html';\nvar html = \"
    \\n \\n\\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1107 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/modal.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1108 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/panelgeneral.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Info
    \\n\\t\\t
    \\n\\t\\t\\tTitle\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tDescription\\n\\t\\t\\t\\n\\t\\t
    \\n \\n\\t
    \\n\\n\\t\\n\\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1109 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/reset_password.html';\nvar html = \"\\n\\n
    \\n\\t\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1110 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/signup_invited.html';\nvar html = \"\\n\\n
    \\n\\t

    Hello {{greeting}}.

    \\n\\n\\t
    \\n\\t\\t{{invitedBy}} has invited you to join Grafana and the organization {{contextSrv.user.orgName}}
    Please complete the following to accept your invitation and continue:\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tEmail\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tUsername\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1111 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/signup_step2.html';\nvar html = \"\\n\\n\\n\\n
    \\n\\n

    Create your account

    \\n
    \\n\\n \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1112 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/partials/valueSelectDropdown.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1113 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/app/testdata/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t\\t\\n \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1114 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html';\nvar html = \"\\n\\n
    \\n\\t
    \\n\\t\\t
    Prefix matching
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\tAction\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tAlarm Name\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1115 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/cloudwatch/partials/config.html';\nvar html = \"

    CloudWatch details

    \\n\\n
    \\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n Credentials profile name, as specified in ~/.aws/credentials, leave blank for default\\n \\n
    \\n\\n
    \\n \\n \\n Reset\\n \\n
    \\n\\n
    \\n \\n \\n Reset\\n \\n
    \\n\\n
    \\n \\n \\n \\n ARN of Assume Role\\n \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n Namespaces of Custom Metrics\\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1116 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/cloudwatch/partials/query.editor.html';\nvar html = \"\\n\\t\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1117 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/cloudwatch/partials/query.parameter.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tAlias replacement variables:\\n\\t\\t\\t
      \\n\\t\\t\\t\\t
    • {{metric}}
    • \\n\\t\\t\\t\\t
    • {{stat}}
    • \\n\\t\\t\\t\\t
    • {{namespace}}
    • \\n\\t\\t\\t\\t
    • {{region}}
    • \\n\\t\\t\\t\\t
    • {{period}}
    • \\n\\t\\t\\t\\t
    • {{YOUR_DIMENSION_NAME}}
    • \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1118 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\tIndex name\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    Field mappings
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tTime\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tText\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle (deprecated)\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1119 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1120 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/elasticsearch/partials/config.html';\nvar html = \"\\n\\n\\n

    Elasticsearch details

    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tIndex name\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n Pattern\\n \\n \\n \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\tTime field name\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n Version\\n \\n \\n \\n\\t
    \\n
    =56\\\">\\n Max concurrent Shard Requests\\n \\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMin time interval\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\\n\\t\\t\\t\\tfor example 1m if your data is written every minute.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1121 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/elasticsearch/partials/metric_agg.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n
    \\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n\\n
    \\n \\n \\n
    \\n\\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n\\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1122 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/elasticsearch/partials/query.editor.html';\nvar html = \"\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1123 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/grafana-live/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1124 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/grafana/partials/annotations.editor.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\tFilter by\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
      \\n\\t\\t\\t\\t\\t\\t
    • Dashboard: This will fetch annotation and alert state changes for whole dashboard and show them only on the event's originating panel.
    • \\n\\t\\t\\t\\t\\t\\t
    • All: This will fetch any annotation events that match the tags filter.
    • \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tMax limit\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1125 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/grafana/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1126 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/graphite/partials/annotations.editor.html';\nvar html = \"
    \\n
    \\n Graphite query\\n \\n
    \\n\\n\\t
    Or
    \\n\\n
    \\n Graphite events tags\\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1127 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/graphite/partials/config.html';\nvar html = \"\\n\\n\\n

    Graphite details

    \\n\\n
    \\n\\t
    \\n\\t\\t\\n Version\\n \\n This option controls what functions are available in the Graphite query editor.\\n \\n \\n \\n \\n \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1128 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/graphite/partials/query.editor.html';\nvar html = \"\\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n
    \\n\\n \\n\\n \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1129 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/influxdb/partials/annotations.editor.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n
    \\n\\n
    Field mappings If your influxdb query returns more than one field you need to specify the column names below. An annotation event is composed of a title, tags, and an additional text field.
    \\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tText\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle (deprecated)\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1130 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/influxdb/partials/config.html';\nvar html = \"\\n\\n\\n

    InfluxDB Details

    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tDatabase\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n
    \\n\\t
    \\n\\t\\t
    Database Access
    \\n\\t\\t

    \\n\\t\\t\\tSetting the database for this datasource does not deny access to other databases. The InfluxDB query syntax allows\\n\\t\\t\\tswitching the database in the query. For example:\\n\\t\\t\\tSHOW MEASUREMENTS ON _internal or SELECT * FROM \\\"_internal\\\"..\\\"database\\\" LIMIT 10\\n\\t\\t\\t

    \\n\\t\\t\\tTo support data isolation and security, make sure appropriate permissions are configured in InfluxDB.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMin time interval\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\\n\\t\\t\\t\\tfor example 1m if your data is written every minute.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1131 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/influxdb/partials/query.editor.html';\nvar html = \"\\n\\n\\t
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1132 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mssql/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text.\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'.\\n\\n\\nMacros:\\n- $__time(column) -> column AS time\\n- $__timeEpoch(column) -> DATEDIFF(second, '1970-01-01', column) AS time\\n- $__timeFilter(column) -> column >= DATEADD(s, 18446744066914186738, '1970-01-01') AND column <= DATEADD(s, 18446744066914187038, '1970-01-01')\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__timeTo() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1133 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mssql/partials/config.html';\nvar html = \"\\n

    MSSQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t\\treset\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike USE otherdb; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific MSSQL user with restricted permissions.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1134 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mssql/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\\n- optional: return column named metric to represent the series names.\\n- any other columns returned will be the time point values.\\n- if multiple value columns are present and a metric column is provided. the series name will be the combination of \\\"MetricName - ValueColumnName\\\".\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> column AS time\\n- $__timeEpoch(column) -> DATEDIFF(second, '1970-01-01', column) AS time\\n- $__timeFilter(column) -> column >= DATEADD(s, 18446744066914186738, '1970-01-01') AND column <= DATEADD(s, 18446744066914187038, '1970-01-01')\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n- $__timeGroup(column, '5m'[, fillvalue]) -> CAST(ROUND(DATEDIFF(second, '1970-01-01', column)/300.0, 0) as bigint)*300. Providing a fillValue of NULL or floating value will automatically fill empty series in timerange with that value.\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(date_time_col, '1h') AS time,\\n  sum(value) as value\\nFROM yourtable\\nGROUP BY $__timeGroup(date_time_col, '1h')\\nORDER BY 1\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__timeTo() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1135 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mysql/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time or time_sec column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time or time_sec for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\\n\\n\\nMacros:\\n- $__time(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\\n- $__timeFilter(column) -> UNIX_TIMESTAMP(time_date_time) > 1492750877 AND UNIX_TIMESTAMP(time_date_time) < 1492750877\\n- $__unixEpochFilter(column) -> time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> FROM_UNIXTIME(1492750877)\\n- $__timeTo() -> FROM_UNIXTIME(1492750877)\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1136 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mysql/partials/config.html';\nvar html = \"\\n

    MySQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike USE otherdb; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific MySQL user with restricted permissions.\\n\\n\\t\\t\\tCheckout the MySQL Data Source Docs for more information.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1137 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/mysql/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time or time_sec (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\\n- return column(s) with numeric datatype as values\\n- (Optional: return column named metric to represent the series name. If no column named metric is found the column name of the value column is used as series name)\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> UNIX_TIMESTAMP(column) as time_sec\\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec\\n- $__timeFilter(column) ->  UNIX_TIMESTAMP(time_date_time) ≥ 1492750877 AND UNIX_TIMESTAMP(time_date_time) ≤ 1492750877\\n- $__unixEpochFilter(column) ->  time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\\n- $__timeGroup(column,'5m') -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(timestamp_col, '1h') AS time,\\n  sum(value_double) as value\\nFROM yourtable\\nGROUP BY 1\\nORDER BY 1\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() ->  FROM_UNIXTIME(1492750877)\\n- $__timeTo() ->  FROM_UNIXTIME(1492750877)\\n- $__unixEpochFrom() ->  1492750877\\n- $__unixEpochTo() ->  1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1138 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/opentsdb/partials/annotations.editor.html';\nvar html = \"
    \\n
    \\n OpenTSDB metrics query\\n \\n
    \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1139 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/opentsdb/partials/config.html';\nvar html = \"\\n\\n
    OpenTSDB settings
    \\n
    \\n \\n Version\\n \\n \\n \\n \\n
    \\n
    \\n \\n Resolution\\n \\n \\n \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1140 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/opentsdb/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tblank for auto, or for example 1m\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    = 2\\\">\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t\\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    = 2\\\">\\n\\t\\t
    \\n\\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t{{fil.tagk}} = {{fil.type}}({{fil.filter}}) , groupBy = {{fil.groupBy}}\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\n \\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n \\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    2\\\">\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1141 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/postgres/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\\n\\n\\nMacros:\\n- $__time(column) -> column as \\\"time\\\"\\n- $__timeEpoch -> extract(epoch from column) as \\\"time\\\"\\n- $__timeFilter(column) -> column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> '2017-04-21T05:01:17Z'\\n- $__timeTo() -> '2017-04-21T05:01:17Z'\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1142 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/postgres/partials/config.html';\nvar html = \"\\n

    PostgreSQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n
    \\n
    \\n Password\\n \\n reset\\n
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tThis option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike DELETE FROM user; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific PostgreSQL user with restricted permissions.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1143 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/postgres/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time (UTC in seconds or timestamp)\\n- return column(s) with numeric datatype as values\\n- (Optional: return column named metric to represent the series name. If no column named metric is found the column name of the value column is used as series name)\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> column as \\\"time\\\"\\n- $__timeEpoch -> extract(epoch from column) as \\\"time\\\"\\n- $__timeFilter(column) -> column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\\n- $__unixEpochFilter(column) ->  column >= 1492750877 AND column <= 1492750877\\n- $__timeGroup(column,'5m') -> (extract(epoch from column)/300)::bigint*300 AS time\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(date_time_col, '1h'),\\n  sum(value) as value\\nFROM yourtable\\nGROUP BY time\\nORDER BY time\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() ->  '2017-04-21T05:01:17Z'\\n- $__timeTo() ->  '2017-04-21T05:01:17Z'\\n- $__unixEpochFrom() ->  1492750877\\n- $__unixEpochTo() ->  1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1144 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/prometheus/partials/annotations.editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\tSearch expression\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\tstep\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    Field formats\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tText\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1145 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/prometheus/partials/config.html';\nvar html = \"\\n\\n\\n
    \\n
    \\n
    \\n Scrape interval\\n \\n \\n Set this to your global scrape interval defined in your Prometheus config file. This will be used as a lower limit for the\\n Prometheus step query parameter.\\n \\n
    \\n
    \\n\\n
    \\n
    \\n Query timeout\\n \\n \\n Set the Prometheus query timeout.\\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n Specify the HTTP Method to query Prometheus. (POST is only available in Prometheus >= v2.1.0)\\n \\n
    \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1146 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/datasource/prometheus/partials/query.editor.html';\nvar html = \"\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n \\n Controls the name of the time series, using name or pattern. For example\\n {{hostname}} will be replaced with label value for the label hostname.\\n \\n
    \\n\\n
    \\n \\n \\n \\n Leave blank for auto handling based on time range and panel width. Note that the actual dates used in the query will be adjusted\\n to a multiple of the interval step.\\n \\n
    \\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1147 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/alertlist/editor.html';\nvar html = \"
    \\n
    \\n
    Options
    \\n
    \\n Show\\n
    \\n \\n
    \\n
    \\n
    \\n Max items\\n \\n
    \\n
    \\n Sort order\\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    Filter
    \\n
    \\n Alert name\\n \\n
    \\n
    \\n Dashboard title\\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n Dashboard tags\\n \\n \\n
    \\n
    \\n
    \\n
    State filter
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1148 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/alertlist/module.html';\nvar html = \"
    \\n
    \\n {{ctrl.noAlertsMessage}}\\n
    \\n\\n
    \\n
      \\n
    1. \\n
      \\n \\n
      \\n
      \\n
      \\n

      \\n \\n {{alert.name}}\\n \\n

      \\n
      \\n {{alert.stateModel.text}}\\n for {{alert.newStateDateAgo}}\\n
      \\n
      \\n
      \\n
    2. \\n
    \\n
    \\n\\n
    \\n
      \\n
    1. \\n
      \\n \\n
      \\n
      \\n
      \\n

      {{al.alertName}}

      \\n
      \\n {{al.stateModel.text}}\\n
      \\n
      \\n {{al.info}}\\n
      \\n
      \\n {{al.time}}\\n
      \\n
    2. \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1149 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/dashlist/editor.html';\nvar html = \"
    \\n
    \\n
    Options
    \\n\\n \\n \\n \\n\\n \\n\\n
    \\n Max items\\n \\n
    \\n
    \\n\\n
    \\n
    Search
    \\n\\n
    \\n Query\\n \\n
    \\n\\n
    \\n \\n\\t\\t\\t\\n
    \\n\\n
    \\n Tags\\n \\n \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1150 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/dashlist/module.html';\nvar html = \"
    \\n
    \\n
    \\n
    \\n {{group.header}}\\n
    \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1151 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/experimentdetails/module.html';\nvar html = \"\\n\\n\\n
    \\n \\n
    \\n

    {{ ctrl.experiment.title }}

    \\n\\n
    Created: {{ ctrl.experiment.created }}\\n
    Duration: {{ ctrl.experiment.duration.toFixed(1) }}s\\n
    Notes: \\n {{ ctrl.experiment.notes }}\\n\\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1152 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/experimentvideo/module.html';\nvar html = \"\\n\\n\\n\\n
    \\n Processing video, please wait...\\n

    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n SYNC\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n No video was found for this experiment.\\n

    \\n \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1153 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/gettingstarted/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tSearch options\\n\\t\\t\\tQuery\\n\\n\\t\\t\\t\\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tLimit number to\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1154 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/gettingstarted/module.html';\nvar html = \"
    \\n
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1155 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/graph/axes_editor.html';\nvar html = \"
    \\n\\t
    \\n\\n\\t\\t
    Left Y
    \\n\\t\\t
    Right Y
    \\n\\n\\t\\t\\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    X-Axis
    \\n\\t\\t\\n\\n\\t\\t \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    Y-Axes
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1156 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/graph/tab_display.html';\nvar html = \"
    \\n\\t\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Draw Modes
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Mode Options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Hover tooltip
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Stacking & Null value
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Series specific overrides Regex match example: /server[0-3]/i
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1157 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/graph/tab_legend.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Options
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Values
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1158 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/heatmap/module.html';\nvar html = \"
    \\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t{{ctrl.dataWarning.title}}\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1159 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/heatmap/partials/axes_editor.html';\nvar html = \"
    \\n
    \\n
    Y Axis
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Buckets
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Data format
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1160 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/heatmap/partials/display_editor.html';\nvar html = \"
    \\n
    \\n
    Colors
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    Color scale
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Legend
    \\n \\n \\n
    \\n\\n
    \\n
    Buckets
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Tooltip
    \\n \\n \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1161 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/pluginlist/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tSearch options\\n\\t\\t\\tQuery\\n\\n\\t\\t\\t\\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tLimit number to\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1162 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/pluginlist/module.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1163 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/sensor/partials/tab.html';\nvar html = \"
    \\n\\n
    \\n
    {{ sensorTarget.sensorShortName }}
    \\n\\t\\t
    \\n\\t\\t\\tAlias\\n \\n \\n
    \\n
    \\n
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1164 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/singlestat/editor.html';\nvar html = \"
    \\n
    \\n
    Value
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Coloring
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n Invert\\n \\n \\n
    \\n
    \\n\\n
    \\n
    Spark lines
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Gauge
    \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1165 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/singlestat/mappings.html';\nvar html = \"
    \\n
    \\n
    \\n \\n Type\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Set value mappings
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    Set range mappings
    \\n
    \\n
    \\n \\n \\n \\n From\\n \\n To\\n \\n Text\\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1166 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/singlestat/module.html';\nvar html = \"
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1167 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/table/column_options.html';\nvar html = \"
    \\n \\n\\n
    \\n\\n
    \\n
    Options
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n \\n
    \\n\\n
    \\n
    Type
    \\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Value Mappings
    \\n
    \\n
    \\n
    \\n \\n Type\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n From\\n \\n To\\n \\n Text\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    Thresholds
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n Invert\\n
    \\n
    \\n
    \\n\\n
    \\n
    Link
    \\n
    \\n \\n \\n \\n

    Specify an URL (relative or absolute)

    \\n \\n Use special variables to specify cell values:\\n
    \\n ${__cell} refers to current cell value\\n
    \\n ${__cell_n} refers to Nth column value in current row. Column indexes are started from 0. For instance,\\n ${__cell_1} refers to second column's value.\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n

    Specify text for link tooltip.

    \\n \\n This title appears when user hovers pointer over the cell with link. Use the same variables as for URL.\\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n\\n \\n
    \\n
    \\n\\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1168 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/table/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Data
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Paging
    \\n
    \\n \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1169 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/table/module.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t{{col.title}}\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t
    \\n
    \\n
    \\n\\t\\n\\t\\tNo data to show Nothing returned by data query\\n\\t\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1170 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/text/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n

    Content

    \\n\\n\\n\\t(This area uses Markdown. HTML is not supported)\\n\\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1171 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/text/module.html';\nvar html = \"

    \\n

    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1172 */\n/***/ (function(module, exports) {\n\nvar path = 'public/app/plugins/panel/unknown/module.html';\nvar html = \"
    \\n\\tUnknown panel type: {{ctrl.panel.type}}\\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n/***/ }),\n/* 1173 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__json_explorer_json_explorer__ = __webpack_require__(508);\n\n\n__WEBPACK_IMPORTED_MODULE_0_app_core_core_module__[\"a\" /* default */].directive('jsonTree', [\n function jsonTreeDirective() {\n return {\n restrict: 'E',\n scope: {\n object: '=',\n startExpanded: '@',\n rootName: '@',\n },\n link: function (scope, elem) {\n var jsonExp = new __WEBPACK_IMPORTED_MODULE_1__json_explorer_json_explorer__[\"a\" /* JsonExplorer */](scope.object, 3, {\n animateOpen: true,\n });\n var html = jsonExp.render(true);\n elem.html(html);\n },\n };\n },\n]);\n\n\n/***/ }),\n/* 1174 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = isObject;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getObjectName;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = getType;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = getValuePreview;\n/* unused harmony export getPreview */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = cssClass;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createElement;\n// Based on work https://github.com/mohsen1/json-formatter-js\n// Licence MIT, Copyright (c) 2015 Mohsen Azimi\n/*\n * Escapes `\"` characters from string\n*/\nfunction escapeString(str) {\n return str.replace('\"', '\"');\n}\n/*\n * Determines if a value is an object\n*/\nfunction isObject(value) {\n var type = typeof value;\n return !!value && type === 'object';\n}\n/*\n * Gets constructor name of an object.\n * From http://stackoverflow.com/a/332429\n *\n*/\nfunction getObjectName(object) {\n if (object === undefined) {\n return '';\n }\n if (object === null) {\n return 'Object';\n }\n if (typeof object === 'object' && !object.constructor) {\n return 'Object';\n }\n var funcNameRegex = /function ([^(]*)/;\n var results = funcNameRegex.exec(object.constructor.toString());\n if (results && results.length > 1) {\n return results[1];\n }\n else {\n return '';\n }\n}\n/*\n * Gets type of an object. Returns \"null\" for null objects\n*/\nfunction getType(object) {\n if (object === null) {\n return 'null';\n }\n return typeof object;\n}\n/*\n * Generates inline preview for a JavaScript object based on a value\n*/\nfunction getValuePreview(object, value) {\n var type = getType(object);\n if (type === 'null' || type === 'undefined') {\n return type;\n }\n if (type === 'string') {\n value = '\"' + escapeString(value) + '\"';\n }\n if (type === 'function') {\n // Remove content of the function\n return (object\n .toString()\n .replace(/[\\r\\n]/g, '')\n .replace(/\\{.*\\}/, '') + '{…}');\n }\n return value;\n}\n/*\n * Generates inline preview for a JavaScript object\n*/\nfunction getPreview(object) {\n var value = '';\n if (isObject(object)) {\n value = getObjectName(object);\n if (Array.isArray(object)) {\n value += '[' + object.length + ']';\n }\n }\n else {\n value = getValuePreview(object, object);\n }\n return value;\n}\n/*\n * Generates a prefixed CSS class name\n*/\nfunction cssClass(className) {\n return \"json-formatter-\" + className;\n}\n/*\n * Creates a new DOM element with given type and class\n * TODO: move me to helpers\n*/\nfunction createElement(type, className, content) {\n var el = document.createElement(type);\n if (className) {\n el.classList.add(cssClass(className));\n }\n if (content !== undefined) {\n if (content instanceof Node) {\n el.appendChild(content);\n }\n else {\n el.appendChild(document.createTextNode(String(content)));\n }\n }\n return el;\n}\n\n\n/***/ }),\n/* 1175 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export codeEditorDirective */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_app_core_core_module__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_app_core_config__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_brace__ = __webpack_require__(509);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_brace___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_brace__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__theme_grafana_dark__ = __webpack_require__(1177);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__theme_grafana_dark___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__theme_grafana_dark__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_brace_ext_language_tools__ = __webpack_require__(1178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_brace_ext_language_tools___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_brace_ext_language_tools__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_brace_theme_textmate__ = __webpack_require__(1179);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_brace_theme_textmate___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_brace_theme_textmate__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_brace_mode_text__ = __webpack_require__(1180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_brace_mode_text___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_brace_mode_text__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_brace_snippets_text__ = __webpack_require__(1181);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_brace_snippets_text___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_brace_snippets_text__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_brace_mode_sql__ = __webpack_require__(1182);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_brace_mode_sql___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_brace_mode_sql__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_brace_snippets_sql__ = __webpack_require__(1183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_brace_snippets_sql___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_brace_snippets_sql__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_brace_mode_sqlserver__ = __webpack_require__(1184);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_brace_mode_sqlserver___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_brace_mode_sqlserver__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_brace_snippets_sqlserver__ = __webpack_require__(1185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_brace_snippets_sqlserver___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_brace_snippets_sqlserver__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_brace_mode_markdown__ = __webpack_require__(1186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_brace_mode_markdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_brace_mode_markdown__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_brace_snippets_markdown__ = __webpack_require__(1191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_brace_snippets_markdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_brace_snippets_markdown__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_brace_mode_json__ = __webpack_require__(1192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_brace_mode_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_brace_mode_json__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_brace_snippets_json__ = __webpack_require__(1194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_brace_snippets_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_brace_snippets_json__);\n/**\n * codeEditor directive based on Ace code editor\n * https://github.com/ajaxorg/ace\n *\n * Basic usage:\n * \n * \n *\n * Params:\n * content: Editor content.\n * onChange: Function called on content change (invoked on editor blur, ctrl+enter, not on every change).\n * getCompleter: Function returned external completer. Completer is an object implemented getCompletions() method,\n * see Prometheus Data Source implementation for details.\n *\n * Some Ace editor options available via data-* attributes:\n * data-mode - Language mode (text, sql, javascript, etc.). Default is 'text'.\n * data-theme - Editor theme (eg 'solarized_dark').\n * data-max-lines - Max editor height in lines. Editor grows automatically from 1 to maxLines.\n * data-show-gutter - Show gutter (contains line numbers and additional info).\n * data-tab-size - Tab size, default is 2.\n * data-behaviours-enabled - Specifies whether to use behaviors or not. \"Behaviors\" in this case is the auto-pairing of\n * special characters, like quotation marks, parenthesis, or brackets.\n * data-snippets-enabled - Specifies whether to use snippets or not. \"Snippets\" are small pieces of code that can be\n * inserted via the completion box.\n *\n * Keybindings:\n * Ctrl-Enter (Command-Enter): run onChange() function\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DEFAULT_THEME_DARK = 'ace/theme/grafana-dark';\nvar DEFAULT_THEME_LIGHT = 'ace/theme/textmate';\nvar DEFAULT_MODE = 'text';\nvar DEFAULT_MAX_LINES = 10;\nvar DEFAULT_TAB_SIZE = 2;\nvar DEFAULT_BEHAVIOURS = true;\nvar DEFAULT_SNIPPETS = true;\nvar editorTemplate = \"
    \";\nfunction link(scope, elem, attrs) {\n // Options\n var langMode = attrs.mode || DEFAULT_MODE;\n var maxLines = attrs.maxLines || DEFAULT_MAX_LINES;\n var showGutter = attrs.showGutter !== undefined;\n var tabSize = attrs.tabSize || DEFAULT_TAB_SIZE;\n var behavioursEnabled = attrs.behavioursEnabled ? attrs.behavioursEnabled === 'true' : DEFAULT_BEHAVIOURS;\n var snippetsEnabled = attrs.snippetsEnabled ? attrs.snippetsEnabled === 'true' : DEFAULT_SNIPPETS;\n // Initialize editor\n var aceElem = elem.get(0);\n var codeEditor = __WEBPACK_IMPORTED_MODULE_2_brace___default.a.edit(aceElem);\n var editorSession = codeEditor.getSession();\n var editorOptions = {\n maxLines: maxLines,\n showGutter: showGutter,\n tabSize: tabSize,\n behavioursEnabled: behavioursEnabled,\n highlightActiveLine: false,\n showPrintMargin: false,\n autoScrollEditorIntoView: true,\n };\n // Set options\n codeEditor.setOptions(editorOptions);\n // disable depreacation warning\n codeEditor.$blockScrolling = Infinity;\n // Padding hacks\n codeEditor.renderer.setScrollMargin(15, 15);\n codeEditor.renderer.setPadding(10);\n setThemeMode();\n setLangMode(langMode);\n setEditorContent(scope.content);\n // Add classes\n elem.addClass('gf-code-editor');\n var textarea = elem.find('textarea');\n textarea.addClass('gf-form-input');\n if (scope.codeEditorFocus) {\n setTimeout(function () {\n textarea.focus();\n var domEl = textarea[0];\n if (domEl.setSelectionRange) {\n var pos = textarea.val().length * 2;\n domEl.setSelectionRange(pos, pos);\n }\n }, 100);\n }\n // Event handlers\n editorSession.on('change', function (e) {\n scope.$apply(function () {\n var newValue = codeEditor.getValue();\n scope.content = newValue;\n });\n });\n // Sync with outer scope - update editor content if model has been changed from outside of directive.\n scope.$watch('content', function (newValue, oldValue) {\n var editorValue = codeEditor.getValue();\n if (newValue !== editorValue && newValue !== oldValue) {\n scope.$$postDigest(function () {\n setEditorContent(newValue);\n });\n }\n });\n codeEditor.on('blur', function () {\n scope.onChange();\n });\n scope.$on('$destroy', function () {\n codeEditor.destroy();\n });\n // Keybindings\n codeEditor.commands.addCommand({\n name: 'executeQuery',\n bindKey: { win: 'Ctrl-Enter', mac: 'Command-Enter' },\n exec: function () {\n scope.onChange();\n },\n });\n function setLangMode(lang) {\n __WEBPACK_IMPORTED_MODULE_2_brace___default.a.acequire('ace/ext/language_tools');\n codeEditor.setOptions({\n enableBasicAutocompletion: true,\n enableLiveAutocompletion: true,\n enableSnippets: snippetsEnabled,\n });\n if (scope.getCompleter()) {\n // make copy of array as ace seems to share completers array between instances\n var anyEditor = codeEditor;\n anyEditor.completers = anyEditor.completers.slice();\n anyEditor.completers.push(scope.getCompleter());\n }\n var aceModeName = \"ace/mode/\" + lang;\n editorSession.setMode(aceModeName);\n }\n function setThemeMode() {\n var theme = DEFAULT_THEME_DARK;\n if (__WEBPACK_IMPORTED_MODULE_1_app_core_config__[\"a\" /* default */].bootData.user.lightTheme) {\n theme = DEFAULT_THEME_LIGHT;\n }\n codeEditor.setTheme(theme);\n }\n function setEditorContent(value) {\n codeEditor.setValue(value);\n codeEditor.clearSelection();\n }\n}\nfunction codeEditorDirective() {\n return {\n restrict: 'E',\n template: editorTemplate,\n scope: {\n content: '=',\n datasource: '=',\n codeEditorFocus: '<',\n onChange: '&',\n getCompleter: '&',\n },\n link: link,\n };\n}\n__WEBPACK_IMPORTED_MODULE_0_app_core_core_module__[\"a\" /* default */].directive('codeEditor', codeEditorDirective);\n\n\n/***/ }),\n/* 1176 */,\n/* 1177 */\n/***/ (function(module, exports) {\n\n/* jshint ignore:start */\n\nace.define(\"ace/theme/grafana-dark\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n \"use strict\";\n\n exports.isDark = true;\n exports.cssClass = \"gf-code-dark\";\n exports.cssText = \".gf-code-dark .ace_gutter {\\\n background: #2f3129;\\\n color: #8f908a\\\n }\\\n .gf-code-dark .ace_print-margin {\\\n width: 1px;\\\n background: #555651\\\n }\\\n .gf-code-dark {\\\n background-color: #111;\\\n color: #e0e0e0\\\n }\\\n .gf-code-dark .ace_cursor {\\\n color: #f8f8f0\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_selection {\\\n background: #49483e\\\n }\\\n .gf-code-dark.ace_multiselect .ace_selection.ace_start {\\\n box-shadow: 0 0 3px 0px #272822;\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_step {\\\n background: rgb(102, 82, 0)\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_bracket {\\\n margin: -1px 0 0 -1px;\\\n border: 1px solid #49483e\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_active-line {\\\n background: #202020\\\n }\\\n .gf-code-dark .ace_gutter-active-line {\\\n background-color: #272727\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_selected-word {\\\n border: 1px solid #49483e\\\n }\\\n .gf-code-dark .ace_invisible {\\\n color: #52524d\\\n }\\\n .gf-code-dark .ace_entity.ace_name.ace_tag,\\\n .gf-code-dark .ace_keyword,\\\n .gf-code-dark .ace_meta.ace_tag,\\\n .gf-code-dark .ace_storage {\\\n color: #66d9ef\\\n }\\\n .gf-code-dark .ace_punctuation,\\\n .gf-code-dark .ace_punctuation.ace_tag {\\\n color: #fff\\\n }\\\n .gf-code-dark .ace_constant.ace_character,\\\n .gf-code-dark .ace_constant.ace_language,\\\n .gf-code-dark .ace_constant.ace_numeric,\\\n .gf-code-dark .ace_constant.ace_other {\\\n color: #fe85fc\\\n }\\\n .gf-code-dark .ace_invalid {\\\n color: #f8f8f0;\\\n background-color: #f92672\\\n }\\\n .gf-code-dark .ace_invalid.ace_deprecated {\\\n color: #f8f8f0;\\\n background-color: #ae81ff\\\n }\\\n .gf-code-dark .ace_support.ace_constant,\\\n .gf-code-dark .ace_support.ace_function {\\\n color: #59e6e3\\\n }\\\n .gf-code-dark .ace_fold {\\\n background-color: #a6e22e;\\\n border-color: #f8f8f2\\\n }\\\n .gf-code-dark .ace_storage.ace_type,\\\n .gf-code-dark .ace_support.ace_class,\\\n .gf-code-dark .ace_support.ace_type {\\\n font-style: italic;\\\n color: #66d9ef\\\n }\\\n .gf-code-dark .ace_entity.ace_name.ace_function,\\\n .gf-code-dark .ace_entity.ace_other,\\\n .gf-code-dark .ace_entity.ace_other.ace_attribute-name,\\\n .gf-code-dark .ace_variable {\\\n color: #a6e22e\\\n }\\\n .gf-code-dark .ace_variable.ace_parameter {\\\n font-style: italic;\\\n color: #fd971f\\\n }\\\n .gf-code-dark .ace_string {\\\n color: #74e680\\\n }\\\n .gf-code-dark .ace_paren {\\\n color: #f0a842\\\n }\\\n .gf-code-dark .ace_operator {\\\n color: #FFF\\\n }\\\n .gf-code-dark .ace_comment {\\\n color: #75715e\\\n }\\\n .gf-code-dark .ace_indent-guide {\\\n background: url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaaccayaaaczgbynaaaaekleqvqimwpq0fd0zxbzd/wpaajvaoxesgneaaaaaelftksuqmcc) right repeat-y\\\n }\";\n\n var dom = acequire(\"../lib/dom\");\n dom.importCssString(exports.cssText, exports.cssClass);\n});\n\n/* jshint ignore:end */\n\n\n/***/ }),\n/* 1178 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/snippets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\",\"ace/lib/lang\",\"ace/range\",\"ace/anchor\",\"ace/keyboard/hash_handler\",\"ace/tokenizer\",\"ace/lib/dom\",\"ace/editor\"], function(acequire, exports, module) {\n\"use strict\";\nvar oop = acequire(\"./lib/oop\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar lang = acequire(\"./lib/lang\");\nvar Range = acequire(\"./range\").Range;\nvar Anchor = acequire(\"./anchor\").Anchor;\nvar HashHandler = acequire(\"./keyboard/hash_handler\").HashHandler;\nvar Tokenizer = acequire(\"./tokenizer\").Tokenizer;\nvar comparePoints = Range.comparePoints;\n\nvar SnippetManager = function() {\n this.snippetMap = {};\n this.snippetNameMap = {};\n};\n\n(function() {\n oop.implement(this, EventEmitter);\n \n this.getTokenizer = function() {\n function TabstopToken(str, _, stack) {\n str = str.substr(1);\n if (/^\\d+$/.test(str) && !stack.inFormatString)\n return [{tabstopId: parseInt(str, 10)}];\n return [{text: str}];\n }\n function escape(ch) {\n return \"(?:[^\\\\\\\\\" + ch + \"]|\\\\\\\\.)\";\n }\n SnippetManager.$tokenizer = new Tokenizer({\n start: [\n {regex: /:/, onMatch: function(val, state, stack) {\n if (stack.length && stack[0].expectIf) {\n stack[0].expectIf = false;\n stack[0].elseBranch = stack[0];\n return [stack[0]];\n }\n return \":\";\n }},\n {regex: /\\\\./, onMatch: function(val, state, stack) {\n var ch = val[1];\n if (ch == \"}\" && stack.length) {\n val = ch;\n }else if (\"`$\\\\\".indexOf(ch) != -1) {\n val = ch;\n } else if (stack.inFormatString) {\n if (ch == \"n\")\n val = \"\\n\";\n else if (ch == \"t\")\n val = \"\\n\";\n else if (\"ulULE\".indexOf(ch) != -1) {\n val = {changeCase: ch, local: ch > \"a\"};\n }\n }\n\n return [val];\n }},\n {regex: /}/, onMatch: function(val, state, stack) {\n return [stack.length ? stack.shift() : val];\n }},\n {regex: /\\$(?:\\d+|\\w+)/, onMatch: TabstopToken},\n {regex: /\\$\\{[\\dA-Z_a-z]+/, onMatch: function(str, state, stack) {\n var t = TabstopToken(str.substr(1), state, stack);\n stack.unshift(t[0]);\n return t;\n }, next: \"snippetVar\"},\n {regex: /\\n/, token: \"newline\", merge: false}\n ],\n snippetVar: [\n {regex: \"\\\\|\" + escape(\"\\\\|\") + \"*\\\\|\", onMatch: function(val, state, stack) {\n stack[0].choices = val.slice(1, -1).split(\",\");\n }, next: \"start\"},\n {regex: \"/(\" + escape(\"/\") + \"+)/(?:(\" + escape(\"/\") + \"*)/)(\\\\w*):?\",\n onMatch: function(val, state, stack) {\n var ts = stack[0];\n ts.fmtString = val;\n\n val = this.splitRegex.exec(val);\n ts.guard = val[1];\n ts.fmt = val[2];\n ts.flag = val[3];\n return \"\";\n }, next: \"start\"},\n {regex: \"`\" + escape(\"`\") + \"*`\", onMatch: function(val, state, stack) {\n stack[0].code = val.splice(1, -1);\n return \"\";\n }, next: \"start\"},\n {regex: \"\\\\?\", onMatch: function(val, state, stack) {\n if (stack[0])\n stack[0].expectIf = true;\n }, next: \"start\"},\n {regex: \"([^:}\\\\\\\\]|\\\\\\\\.)*:?\", token: \"\", next: \"start\"}\n ],\n formatString: [\n {regex: \"/(\" + escape(\"/\") + \"+)/\", token: \"regex\"},\n {regex: \"\", onMatch: function(val, state, stack) {\n stack.inFormatString = true;\n }, next: \"start\"}\n ]\n });\n SnippetManager.prototype.getTokenizer = function() {\n return SnippetManager.$tokenizer;\n };\n return SnippetManager.$tokenizer;\n };\n\n this.tokenizeTmSnippet = function(str, startState) {\n return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {\n return x.value || x;\n });\n };\n\n this.$getDefaultValue = function(editor, name) {\n if (/^[A-Z]\\d+$/.test(name)) {\n var i = name.substr(1);\n return (this.variables[name[0] + \"__\"] || {})[i];\n }\n if (/^\\d+$/.test(name)) {\n return (this.variables.__ || {})[name];\n }\n name = name.replace(/^TM_/, \"\");\n\n if (!editor)\n return;\n var s = editor.session;\n switch(name) {\n case \"CURRENT_WORD\":\n var r = s.getWordRange();\n case \"SELECTION\":\n case \"SELECTED_TEXT\":\n return s.getTextRange(r);\n case \"CURRENT_LINE\":\n return s.getLine(editor.getCursorPosition().row);\n case \"PREV_LINE\": // not possible in textmate\n return s.getLine(editor.getCursorPosition().row - 1);\n case \"LINE_INDEX\":\n return editor.getCursorPosition().column;\n case \"LINE_NUMBER\":\n return editor.getCursorPosition().row + 1;\n case \"SOFT_TABS\":\n return s.getUseSoftTabs() ? \"YES\" : \"NO\";\n case \"TAB_SIZE\":\n return s.getTabSize();\n case \"FILENAME\":\n case \"FILEPATH\":\n return \"\";\n case \"FULLNAME\":\n return \"Ace\";\n }\n };\n this.variables = {};\n this.getVariableValue = function(editor, varName) {\n if (this.variables.hasOwnProperty(varName))\n return this.variables[varName](editor, varName) || \"\";\n return this.$getDefaultValue(editor, varName) || \"\";\n };\n this.tmStrFormat = function(str, ch, editor) {\n var flag = ch.flag || \"\";\n var re = ch.guard;\n re = new RegExp(re, flag.replace(/[^gi]/, \"\"));\n var fmtTokens = this.tokenizeTmSnippet(ch.fmt, \"formatString\");\n var _self = this;\n var formatted = str.replace(re, function() {\n _self.variables.__ = arguments;\n var fmtParts = _self.resolveVariables(fmtTokens, editor);\n var gChangeCase = \"E\";\n for (var i = 0; i < fmtParts.length; i++) {\n var ch = fmtParts[i];\n if (typeof ch == \"object\") {\n fmtParts[i] = \"\";\n if (ch.changeCase && ch.local) {\n var next = fmtParts[i + 1];\n if (next && typeof next == \"string\") {\n if (ch.changeCase == \"u\")\n fmtParts[i] = next[0].toUpperCase();\n else\n fmtParts[i] = next[0].toLowerCase();\n fmtParts[i + 1] = next.substr(1);\n }\n } else if (ch.changeCase) {\n gChangeCase = ch.changeCase;\n }\n } else if (gChangeCase == \"U\") {\n fmtParts[i] = ch.toUpperCase();\n } else if (gChangeCase == \"L\") {\n fmtParts[i] = ch.toLowerCase();\n }\n }\n return fmtParts.join(\"\");\n });\n this.variables.__ = null;\n return formatted;\n };\n\n this.resolveVariables = function(snippet, editor) {\n var result = [];\n for (var i = 0; i < snippet.length; i++) {\n var ch = snippet[i];\n if (typeof ch == \"string\") {\n result.push(ch);\n } else if (typeof ch != \"object\") {\n continue;\n } else if (ch.skip) {\n gotoNext(ch);\n } else if (ch.processed < i) {\n continue;\n } else if (ch.text) {\n var value = this.getVariableValue(editor, ch.text);\n if (value && ch.fmtString)\n value = this.tmStrFormat(value, ch);\n ch.processed = i;\n if (ch.expectIf == null) {\n if (value) {\n result.push(value);\n gotoNext(ch);\n }\n } else {\n if (value) {\n ch.skip = ch.elseBranch;\n } else\n gotoNext(ch);\n }\n } else if (ch.tabstopId != null) {\n result.push(ch);\n } else if (ch.changeCase != null) {\n result.push(ch);\n }\n }\n function gotoNext(ch) {\n var i1 = snippet.indexOf(ch, i + 1);\n if (i1 != -1)\n i = i1;\n }\n return result;\n };\n\n this.insertSnippetForSelection = function(editor, snippetText) {\n var cursor = editor.getCursorPosition();\n var line = editor.session.getLine(cursor.row);\n var tabString = editor.session.getTabString();\n var indentString = line.match(/^\\s*/)[0];\n \n if (cursor.column < indentString.length)\n indentString = indentString.slice(0, cursor.column);\n\n snippetText = snippetText.replace(/\\r/g, \"\");\n var tokens = this.tokenizeTmSnippet(snippetText);\n tokens = this.resolveVariables(tokens, editor);\n tokens = tokens.map(function(x) {\n if (x == \"\\n\")\n return x + indentString;\n if (typeof x == \"string\")\n return x.replace(/\\t/g, tabString);\n return x;\n });\n var tabstops = [];\n tokens.forEach(function(p, i) {\n if (typeof p != \"object\")\n return;\n var id = p.tabstopId;\n var ts = tabstops[id];\n if (!ts) {\n ts = tabstops[id] = [];\n ts.index = id;\n ts.value = \"\";\n }\n if (ts.indexOf(p) !== -1)\n return;\n ts.push(p);\n var i1 = tokens.indexOf(p, i + 1);\n if (i1 === -1)\n return;\n\n var value = tokens.slice(i + 1, i1);\n var isNested = value.some(function(t) {return typeof t === \"object\"}); \n if (isNested && !ts.value) {\n ts.value = value;\n } else if (value.length && (!ts.value || typeof ts.value !== \"string\")) {\n ts.value = value.join(\"\");\n }\n });\n tabstops.forEach(function(ts) {ts.length = 0});\n var expanding = {};\n function copyValue(val) {\n var copy = [];\n for (var i = 0; i < val.length; i++) {\n var p = val[i];\n if (typeof p == \"object\") {\n if (expanding[p.tabstopId])\n continue;\n var j = val.lastIndexOf(p, i - 1);\n p = copy[j] || {tabstopId: p.tabstopId};\n }\n copy[i] = p;\n }\n return copy;\n }\n for (var i = 0; i < tokens.length; i++) {\n var p = tokens[i];\n if (typeof p != \"object\")\n continue;\n var id = p.tabstopId;\n var i1 = tokens.indexOf(p, i + 1);\n if (expanding[id]) {\n if (expanding[id] === p)\n expanding[id] = null;\n continue;\n }\n \n var ts = tabstops[id];\n var arg = typeof ts.value == \"string\" ? [ts.value] : copyValue(ts.value);\n arg.unshift(i + 1, Math.max(0, i1 - i));\n arg.push(p);\n expanding[id] = p;\n tokens.splice.apply(tokens, arg);\n\n if (ts.indexOf(p) === -1)\n ts.push(p);\n }\n var row = 0, column = 0;\n var text = \"\";\n tokens.forEach(function(t) {\n if (typeof t === \"string\") {\n var lines = t.split(\"\\n\");\n if (lines.length > 1){\n column = lines[lines.length - 1].length;\n row += lines.length - 1;\n } else\n column += t.length;\n text += t;\n } else {\n if (!t.start)\n t.start = {row: row, column: column};\n else\n t.end = {row: row, column: column};\n }\n });\n var range = editor.getSelectionRange();\n var end = editor.session.replace(range, text);\n\n var tabstopManager = new TabstopManager(editor);\n var selectionId = editor.inVirtualSelectionMode && editor.selection.index;\n tabstopManager.addTabstops(tabstops, range.start, end, selectionId);\n };\n \n this.insertSnippet = function(editor, snippetText) {\n var self = this;\n if (editor.inVirtualSelectionMode)\n return self.insertSnippetForSelection(editor, snippetText);\n \n editor.forEachSelection(function() {\n self.insertSnippetForSelection(editor, snippetText);\n }, null, {keepOrder: true});\n \n if (editor.tabstopManager)\n editor.tabstopManager.tabNext();\n };\n\n this.$getScope = function(editor) {\n var scope = editor.session.$mode.$id || \"\";\n scope = scope.split(\"/\").pop();\n if (scope === \"html\" || scope === \"php\") {\n if (scope === \"php\" && !editor.session.$mode.inlinePhp) \n scope = \"html\";\n var c = editor.getCursorPosition();\n var state = editor.session.getState(c.row);\n if (typeof state === \"object\") {\n state = state[0];\n }\n if (state.substring) {\n if (state.substring(0, 3) == \"js-\")\n scope = \"javascript\";\n else if (state.substring(0, 4) == \"css-\")\n scope = \"css\";\n else if (state.substring(0, 4) == \"php-\")\n scope = \"php\";\n }\n }\n \n return scope;\n };\n\n this.getActiveScopes = function(editor) {\n var scope = this.$getScope(editor);\n var scopes = [scope];\n var snippetMap = this.snippetMap;\n if (snippetMap[scope] && snippetMap[scope].includeScopes) {\n scopes.push.apply(scopes, snippetMap[scope].includeScopes);\n }\n scopes.push(\"_\");\n return scopes;\n };\n\n this.expandWithTab = function(editor, options) {\n var self = this;\n var result = editor.forEachSelection(function() {\n return self.expandSnippetForSelection(editor, options);\n }, null, {keepOrder: true});\n if (result && editor.tabstopManager)\n editor.tabstopManager.tabNext();\n return result;\n };\n \n this.expandSnippetForSelection = function(editor, options) {\n var cursor = editor.getCursorPosition();\n var line = editor.session.getLine(cursor.row);\n var before = line.substring(0, cursor.column);\n var after = line.substr(cursor.column);\n\n var snippetMap = this.snippetMap;\n var snippet;\n this.getActiveScopes(editor).some(function(scope) {\n var snippets = snippetMap[scope];\n if (snippets)\n snippet = this.findMatchingSnippet(snippets, before, after);\n return !!snippet;\n }, this);\n if (!snippet)\n return false;\n if (options && options.dryRun)\n return true;\n editor.session.doc.removeInLine(cursor.row,\n cursor.column - snippet.replaceBefore.length,\n cursor.column + snippet.replaceAfter.length\n );\n\n this.variables.M__ = snippet.matchBefore;\n this.variables.T__ = snippet.matchAfter;\n this.insertSnippetForSelection(editor, snippet.content);\n\n this.variables.M__ = this.variables.T__ = null;\n return true;\n };\n\n this.findMatchingSnippet = function(snippetList, before, after) {\n for (var i = snippetList.length; i--;) {\n var s = snippetList[i];\n if (s.startRe && !s.startRe.test(before))\n continue;\n if (s.endRe && !s.endRe.test(after))\n continue;\n if (!s.startRe && !s.endRe)\n continue;\n\n s.matchBefore = s.startRe ? s.startRe.exec(before) : [\"\"];\n s.matchAfter = s.endRe ? s.endRe.exec(after) : [\"\"];\n s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : \"\";\n s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : \"\";\n return s;\n }\n };\n\n this.snippetMap = {};\n this.snippetNameMap = {};\n this.register = function(snippets, scope) {\n var snippetMap = this.snippetMap;\n var snippetNameMap = this.snippetNameMap;\n var self = this;\n \n if (!snippets) \n snippets = [];\n \n function wrapRegexp(src) {\n if (src && !/^\\^?\\(.*\\)\\$?$|^\\\\b$/.test(src))\n src = \"(?:\" + src + \")\";\n\n return src || \"\";\n }\n function guardedRegexp(re, guard, opening) {\n re = wrapRegexp(re);\n guard = wrapRegexp(guard);\n if (opening) {\n re = guard + re;\n if (re && re[re.length - 1] != \"$\")\n re = re + \"$\";\n } else {\n re = re + guard;\n if (re && re[0] != \"^\")\n re = \"^\" + re;\n }\n return new RegExp(re);\n }\n\n function addSnippet(s) {\n if (!s.scope)\n s.scope = scope || \"_\";\n scope = s.scope;\n if (!snippetMap[scope]) {\n snippetMap[scope] = [];\n snippetNameMap[scope] = {};\n }\n\n var map = snippetNameMap[scope];\n if (s.name) {\n var old = map[s.name];\n if (old)\n self.unregister(old);\n map[s.name] = s;\n }\n snippetMap[scope].push(s);\n\n if (s.tabTrigger && !s.trigger) {\n if (!s.guard && /^\\w/.test(s.tabTrigger))\n s.guard = \"\\\\b\";\n s.trigger = lang.escapeRegExp(s.tabTrigger);\n }\n \n if (!s.trigger && !s.guard && !s.endTrigger && !s.endGuard)\n return;\n \n s.startRe = guardedRegexp(s.trigger, s.guard, true);\n s.triggerRe = new RegExp(s.trigger, \"\", true);\n\n s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);\n s.endTriggerRe = new RegExp(s.endTrigger, \"\", true);\n }\n\n if (snippets && snippets.content)\n addSnippet(snippets);\n else if (Array.isArray(snippets))\n snippets.forEach(addSnippet);\n \n this._signal(\"registerSnippets\", {scope: scope});\n };\n this.unregister = function(snippets, scope) {\n var snippetMap = this.snippetMap;\n var snippetNameMap = this.snippetNameMap;\n\n function removeSnippet(s) {\n var nameMap = snippetNameMap[s.scope||scope];\n if (nameMap && nameMap[s.name]) {\n delete nameMap[s.name];\n var map = snippetMap[s.scope||scope];\n var i = map && map.indexOf(s);\n if (i >= 0)\n map.splice(i, 1);\n }\n }\n if (snippets.content)\n removeSnippet(snippets);\n else if (Array.isArray(snippets))\n snippets.forEach(removeSnippet);\n };\n this.parseSnippetFile = function(str) {\n str = str.replace(/\\r/g, \"\");\n var list = [], snippet = {};\n var re = /^#.*|^({[\\s\\S]*})\\s*$|^(\\S+) (.*)$|^((?:\\n*\\t.*)+)/gm;\n var m;\n while (m = re.exec(str)) {\n if (m[1]) {\n try {\n snippet = JSON.parse(m[1]);\n list.push(snippet);\n } catch (e) {}\n } if (m[4]) {\n snippet.content = m[4].replace(/^\\t/gm, \"\");\n list.push(snippet);\n snippet = {};\n } else {\n var key = m[2], val = m[3];\n if (key == \"regex\") {\n var guardRe = /\\/((?:[^\\/\\\\]|\\\\.)*)|$/g;\n snippet.guard = guardRe.exec(val)[1];\n snippet.trigger = guardRe.exec(val)[1];\n snippet.endTrigger = guardRe.exec(val)[1];\n snippet.endGuard = guardRe.exec(val)[1];\n } else if (key == \"snippet\") {\n snippet.tabTrigger = val.match(/^\\S*/)[0];\n if (!snippet.name)\n snippet.name = val;\n } else {\n snippet[key] = val;\n }\n }\n }\n return list;\n };\n this.getSnippetByName = function(name, editor) {\n var snippetMap = this.snippetNameMap;\n var snippet;\n this.getActiveScopes(editor).some(function(scope) {\n var snippets = snippetMap[scope];\n if (snippets)\n snippet = snippets[name];\n return !!snippet;\n }, this);\n return snippet;\n };\n\n}).call(SnippetManager.prototype);\n\n\nvar TabstopManager = function(editor) {\n if (editor.tabstopManager)\n return editor.tabstopManager;\n editor.tabstopManager = this;\n this.$onChange = this.onChange.bind(this);\n this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;\n this.$onChangeSession = this.onChangeSession.bind(this);\n this.$onAfterExec = this.onAfterExec.bind(this);\n this.attach(editor);\n};\n(function() {\n this.attach = function(editor) {\n this.index = 0;\n this.ranges = [];\n this.tabstops = [];\n this.$openTabstops = null;\n this.selectedTabstop = null;\n\n this.editor = editor;\n this.editor.on(\"change\", this.$onChange);\n this.editor.on(\"changeSelection\", this.$onChangeSelection);\n this.editor.on(\"changeSession\", this.$onChangeSession);\n this.editor.commands.on(\"afterExec\", this.$onAfterExec);\n this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n };\n this.detach = function() {\n this.tabstops.forEach(this.removeTabstopMarkers, this);\n this.ranges = null;\n this.tabstops = null;\n this.selectedTabstop = null;\n this.editor.removeListener(\"change\", this.$onChange);\n this.editor.removeListener(\"changeSelection\", this.$onChangeSelection);\n this.editor.removeListener(\"changeSession\", this.$onChangeSession);\n this.editor.commands.removeListener(\"afterExec\", this.$onAfterExec);\n this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);\n this.editor.tabstopManager = null;\n this.editor = null;\n };\n\n this.onChange = function(delta) {\n var changeRange = delta;\n var isRemove = delta.action[0] == \"r\";\n var start = delta.start;\n var end = delta.end;\n var startRow = start.row;\n var endRow = end.row;\n var lineDif = endRow - startRow;\n var colDiff = end.column - start.column;\n\n if (isRemove) {\n lineDif = -lineDif;\n colDiff = -colDiff;\n }\n if (!this.$inChange && isRemove) {\n var ts = this.selectedTabstop;\n var changedOutside = ts && !ts.some(function(r) {\n return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;\n });\n if (changedOutside)\n return this.detach();\n }\n var ranges = this.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var r = ranges[i];\n if (r.end.row < start.row)\n continue;\n\n if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {\n this.removeRange(r);\n i--;\n continue;\n }\n\n if (r.start.row == startRow && r.start.column > start.column)\n r.start.column += colDiff;\n if (r.end.row == startRow && r.end.column >= start.column)\n r.end.column += colDiff;\n if (r.start.row >= startRow)\n r.start.row += lineDif;\n if (r.end.row >= startRow)\n r.end.row += lineDif;\n\n if (comparePoints(r.start, r.end) > 0)\n this.removeRange(r);\n }\n if (!ranges.length)\n this.detach();\n };\n this.updateLinkedFields = function() {\n var ts = this.selectedTabstop;\n if (!ts || !ts.hasLinkedRanges)\n return;\n this.$inChange = true;\n var session = this.editor.session;\n var text = session.getTextRange(ts.firstNonLinked);\n for (var i = ts.length; i--;) {\n var range = ts[i];\n if (!range.linked)\n continue;\n var fmt = exports.snippetManager.tmStrFormat(text, range.original);\n session.replace(range, fmt);\n }\n this.$inChange = false;\n };\n this.onAfterExec = function(e) {\n if (e.command && !e.command.readOnly)\n this.updateLinkedFields();\n };\n this.onChangeSelection = function() {\n if (!this.editor)\n return;\n var lead = this.editor.selection.lead;\n var anchor = this.editor.selection.anchor;\n var isEmpty = this.editor.selection.isEmpty();\n for (var i = this.ranges.length; i--;) {\n if (this.ranges[i].linked)\n continue;\n var containsLead = this.ranges[i].contains(lead.row, lead.column);\n var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);\n if (containsLead && containsAnchor)\n return;\n }\n this.detach();\n };\n this.onChangeSession = function() {\n this.detach();\n };\n this.tabNext = function(dir) {\n var max = this.tabstops.length;\n var index = this.index + (dir || 1);\n index = Math.min(Math.max(index, 1), max);\n if (index == max)\n index = 0;\n this.selectTabstop(index);\n if (index === 0)\n this.detach();\n };\n this.selectTabstop = function(index) {\n this.$openTabstops = null;\n var ts = this.tabstops[this.index];\n if (ts)\n this.addTabstopMarkers(ts);\n this.index = index;\n ts = this.tabstops[this.index];\n if (!ts || !ts.length)\n return;\n \n this.selectedTabstop = ts;\n if (!this.editor.inVirtualSelectionMode) { \n var sel = this.editor.multiSelect;\n sel.toSingleRange(ts.firstNonLinked.clone());\n for (var i = ts.length; i--;) {\n if (ts.hasLinkedRanges && ts[i].linked)\n continue;\n sel.addRange(ts[i].clone(), true);\n }\n if (sel.ranges[0])\n sel.addRange(sel.ranges[0].clone());\n } else {\n this.editor.selection.setRange(ts.firstNonLinked);\n }\n \n this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n };\n this.addTabstops = function(tabstops, start, end) {\n if (!this.$openTabstops)\n this.$openTabstops = [];\n if (!tabstops[0]) {\n var p = Range.fromPoints(end, end);\n moveRelative(p.start, start);\n moveRelative(p.end, start);\n tabstops[0] = [p];\n tabstops[0].index = 0;\n }\n\n var i = this.index;\n var arg = [i + 1, 0];\n var ranges = this.ranges;\n tabstops.forEach(function(ts, index) {\n var dest = this.$openTabstops[index] || ts;\n \n for (var i = ts.length; i--;) {\n var p = ts[i];\n var range = Range.fromPoints(p.start, p.end || p.start);\n movePoint(range.start, start);\n movePoint(range.end, start);\n range.original = p;\n range.tabstop = dest;\n ranges.push(range);\n if (dest != ts)\n dest.unshift(range);\n else\n dest[i] = range;\n if (p.fmtString) {\n range.linked = true;\n dest.hasLinkedRanges = true;\n } else if (!dest.firstNonLinked)\n dest.firstNonLinked = range;\n }\n if (!dest.firstNonLinked)\n dest.hasLinkedRanges = false;\n if (dest === ts) {\n arg.push(dest);\n this.$openTabstops[index] = dest;\n }\n this.addTabstopMarkers(dest);\n }, this);\n \n if (arg.length > 2) {\n if (this.tabstops.length)\n arg.push(arg.splice(2, 1)[0]);\n this.tabstops.splice.apply(this.tabstops, arg);\n }\n };\n\n this.addTabstopMarkers = function(ts) {\n var session = this.editor.session;\n ts.forEach(function(range) {\n if (!range.markerId)\n range.markerId = session.addMarker(range, \"ace_snippet-marker\", \"text\");\n });\n };\n this.removeTabstopMarkers = function(ts) {\n var session = this.editor.session;\n ts.forEach(function(range) {\n session.removeMarker(range.markerId);\n range.markerId = null;\n });\n };\n this.removeRange = function(range) {\n var i = range.tabstop.indexOf(range);\n range.tabstop.splice(i, 1);\n i = this.ranges.indexOf(range);\n this.ranges.splice(i, 1);\n this.editor.session.removeMarker(range.markerId);\n if (!range.tabstop.length) {\n i = this.tabstops.indexOf(range.tabstop);\n if (i != -1)\n this.tabstops.splice(i, 1);\n if (!this.tabstops.length)\n this.detach();\n }\n };\n\n this.keyboardHandler = new HashHandler();\n this.keyboardHandler.bindKeys({\n \"Tab\": function(ed) {\n if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {\n return;\n }\n\n ed.tabstopManager.tabNext(1);\n },\n \"Shift-Tab\": function(ed) {\n ed.tabstopManager.tabNext(-1);\n },\n \"Esc\": function(ed) {\n ed.tabstopManager.detach();\n },\n \"Return\": function(ed) {\n return false;\n }\n });\n}).call(TabstopManager.prototype);\n\n\n\nvar changeTracker = {};\nchangeTracker.onChange = Anchor.prototype.onChange;\nchangeTracker.setPosition = function(row, column) {\n this.pos.row = row;\n this.pos.column = column;\n};\nchangeTracker.update = function(pos, delta, $insertRight) {\n this.$insertRight = $insertRight;\n this.pos = pos; \n this.onChange(delta);\n};\n\nvar movePoint = function(point, diff) {\n if (point.row == 0)\n point.column += diff.column;\n point.row += diff.row;\n};\n\nvar moveRelative = function(point, start) {\n if (point.row == start.row)\n point.column -= start.column;\n point.row -= start.row;\n};\n\n\nacequire(\"./lib/dom\").importCssString(\"\\\n.ace_snippet-marker {\\\n -moz-box-sizing: border-box;\\\n box-sizing: border-box;\\\n background: rgba(194, 193, 208, 0.09);\\\n border: 1px dotted rgba(211, 208, 235, 0.62);\\\n position: absolute;\\\n}\");\n\nexports.snippetManager = new SnippetManager();\n\n\nvar Editor = acequire(\"./editor\").Editor;\n(function() {\n this.insertSnippet = function(content, options) {\n return exports.snippetManager.insertSnippet(this, content, options);\n };\n this.expandSnippet = function(options) {\n return exports.snippetManager.expandWithTab(this, options);\n };\n}).call(Editor.prototype);\n\n});\n\nace.define(\"ace/autocomplete/popup\",[\"require\",\"exports\",\"module\",\"ace/virtual_renderer\",\"ace/editor\",\"ace/range\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Renderer = acequire(\"../virtual_renderer\").VirtualRenderer;\nvar Editor = acequire(\"../editor\").Editor;\nvar Range = acequire(\"../range\").Range;\nvar event = acequire(\"../lib/event\");\nvar lang = acequire(\"../lib/lang\");\nvar dom = acequire(\"../lib/dom\");\n\nvar $singleLineEditor = function(el) {\n var renderer = new Renderer(el);\n\n renderer.$maxLines = 4;\n\n var editor = new Editor(renderer);\n\n editor.setHighlightActiveLine(false);\n editor.setShowPrintMargin(false);\n editor.renderer.setShowGutter(false);\n editor.renderer.setHighlightGutterLine(false);\n\n editor.$mouseHandler.$focusWaitTimout = 0;\n editor.$highlightTagPending = true;\n\n return editor;\n};\n\nvar AcePopup = function(parentNode) {\n var el = dom.createElement(\"div\");\n var popup = new $singleLineEditor(el);\n\n if (parentNode)\n parentNode.appendChild(el);\n el.style.display = \"none\";\n popup.renderer.content.style.cursor = \"default\";\n popup.renderer.setStyle(\"ace_autocomplete\");\n\n popup.setOption(\"displayIndentGuides\", false);\n popup.setOption(\"dragDelay\", 150);\n\n var noop = function(){};\n\n popup.focus = noop;\n popup.$isFocused = true;\n\n popup.renderer.$cursorLayer.restartTimer = noop;\n popup.renderer.$cursorLayer.element.style.opacity = 0;\n\n popup.renderer.$maxLines = 8;\n popup.renderer.$keepTextAreaAtCursor = false;\n\n popup.setHighlightActiveLine(false);\n popup.session.highlight(\"\");\n popup.session.$searchHighlight.clazz = \"ace_highlight-marker\";\n\n popup.on(\"mousedown\", function(e) {\n var pos = e.getDocumentPosition();\n popup.selection.moveToPosition(pos);\n selectionMarker.start.row = selectionMarker.end.row = pos.row;\n e.stop();\n });\n\n var lastMouseEvent;\n var hoverMarker = new Range(-1,0,-1,Infinity);\n var selectionMarker = new Range(-1,0,-1,Infinity);\n selectionMarker.id = popup.session.addMarker(selectionMarker, \"ace_active-line\", \"fullLine\");\n popup.setSelectOnHover = function(val) {\n if (!val) {\n hoverMarker.id = popup.session.addMarker(hoverMarker, \"ace_line-hover\", \"fullLine\");\n } else if (hoverMarker.id) {\n popup.session.removeMarker(hoverMarker.id);\n hoverMarker.id = null;\n }\n };\n popup.setSelectOnHover(false);\n popup.on(\"mousemove\", function(e) {\n if (!lastMouseEvent) {\n lastMouseEvent = e;\n return;\n }\n if (lastMouseEvent.x == e.x && lastMouseEvent.y == e.y) {\n return;\n }\n lastMouseEvent = e;\n lastMouseEvent.scrollTop = popup.renderer.scrollTop;\n var row = lastMouseEvent.getDocumentPosition().row;\n if (hoverMarker.start.row != row) {\n if (!hoverMarker.id)\n popup.setRow(row);\n setHoverMarker(row);\n }\n });\n popup.renderer.on(\"beforeRender\", function() {\n if (lastMouseEvent && hoverMarker.start.row != -1) {\n lastMouseEvent.$pos = null;\n var row = lastMouseEvent.getDocumentPosition().row;\n if (!hoverMarker.id)\n popup.setRow(row);\n setHoverMarker(row, true);\n }\n });\n popup.renderer.on(\"afterRender\", function() {\n var row = popup.getRow();\n var t = popup.renderer.$textLayer;\n var selected = t.element.childNodes[row - t.config.firstRow];\n if (selected == t.selectedNode)\n return;\n if (t.selectedNode)\n dom.removeCssClass(t.selectedNode, \"ace_selected\");\n t.selectedNode = selected;\n if (selected)\n dom.addCssClass(selected, \"ace_selected\");\n });\n var hideHoverMarker = function() { setHoverMarker(-1) };\n var setHoverMarker = function(row, suppressRedraw) {\n if (row !== hoverMarker.start.row) {\n hoverMarker.start.row = hoverMarker.end.row = row;\n if (!suppressRedraw)\n popup.session._emit(\"changeBackMarker\");\n popup._emit(\"changeHoverMarker\");\n }\n };\n popup.getHoveredRow = function() {\n return hoverMarker.start.row;\n };\n\n event.addListener(popup.container, \"mouseout\", hideHoverMarker);\n popup.on(\"hide\", hideHoverMarker);\n popup.on(\"changeSelection\", hideHoverMarker);\n\n popup.session.doc.getLength = function() {\n return popup.data.length;\n };\n popup.session.doc.getLine = function(i) {\n var data = popup.data[i];\n if (typeof data == \"string\")\n return data;\n return (data && data.value) || \"\";\n };\n\n var bgTokenizer = popup.session.bgTokenizer;\n bgTokenizer.$tokenizeRow = function(row) {\n var data = popup.data[row];\n var tokens = [];\n if (!data)\n return tokens;\n if (typeof data == \"string\")\n data = {value: data};\n if (!data.caption)\n data.caption = data.value || data.name;\n\n var last = -1;\n var flag, c;\n for (var i = 0; i < data.caption.length; i++) {\n c = data.caption[i];\n flag = data.matchMask & (1 << i) ? 1 : 0;\n if (last !== flag) {\n tokens.push({type: data.className || \"\" + ( flag ? \"completion-highlight\" : \"\"), value: c});\n last = flag;\n } else {\n tokens[tokens.length - 1].value += c;\n }\n }\n\n if (data.meta) {\n var maxW = popup.renderer.$size.scrollerWidth / popup.renderer.layerConfig.characterWidth;\n var metaData = data.meta;\n if (metaData.length + data.caption.length > maxW - 2) {\n metaData = metaData.substr(0, maxW - data.caption.length - 3) + \"\\u2026\"\n }\n tokens.push({type: \"rightAlignedText\", value: metaData});\n }\n return tokens;\n };\n bgTokenizer.$updateOnChange = noop;\n bgTokenizer.start = noop;\n\n popup.session.$computeWidth = function() {\n return this.screenWidth = 0;\n };\n\n popup.$blockScrolling = Infinity;\n popup.isOpen = false;\n popup.isTopdown = false;\n\n popup.data = [];\n popup.setData = function(list) {\n popup.setValue(lang.stringRepeat(\"\\n\", list.length), -1);\n popup.data = list || [];\n popup.setRow(0);\n };\n popup.getData = function(row) {\n return popup.data[row];\n };\n\n popup.getRow = function() {\n return selectionMarker.start.row;\n };\n popup.setRow = function(line) {\n line = Math.max(0, Math.min(this.data.length, line));\n if (selectionMarker.start.row != line) {\n popup.selection.clearSelection();\n selectionMarker.start.row = selectionMarker.end.row = line || 0;\n popup.session._emit(\"changeBackMarker\");\n popup.moveCursorTo(line || 0, 0);\n if (popup.isOpen)\n popup._signal(\"select\");\n }\n };\n\n popup.on(\"changeSelection\", function() {\n if (popup.isOpen)\n popup.setRow(popup.selection.lead.row);\n popup.renderer.scrollCursorIntoView();\n });\n\n popup.hide = function() {\n this.container.style.display = \"none\";\n this._signal(\"hide\");\n popup.isOpen = false;\n };\n popup.show = function(pos, lineHeight, topdownOnly) {\n var el = this.container;\n var screenHeight = window.innerHeight;\n var screenWidth = window.innerWidth;\n var renderer = this.renderer;\n var maxH = renderer.$maxLines * lineHeight * 1.4;\n var top = pos.top + this.$borderSize;\n var allowTopdown = top > screenHeight / 2 && !topdownOnly;\n if (allowTopdown && top + lineHeight + maxH > screenHeight) {\n renderer.$maxPixelHeight = top - 2 * this.$borderSize;\n el.style.top = \"\";\n el.style.bottom = screenHeight - top + \"px\";\n popup.isTopdown = false;\n } else {\n top += lineHeight;\n renderer.$maxPixelHeight = screenHeight - top - 0.2 * lineHeight;\n el.style.top = top + \"px\";\n el.style.bottom = \"\";\n popup.isTopdown = true;\n }\n\n el.style.display = \"\";\n this.renderer.$textLayer.checkForSizeChanges();\n\n var left = pos.left;\n if (left + el.offsetWidth > screenWidth)\n left = screenWidth - el.offsetWidth;\n\n el.style.left = left + \"px\";\n\n this._signal(\"show\");\n lastMouseEvent = null;\n popup.isOpen = true;\n };\n\n popup.getTextLeftOffset = function() {\n return this.$borderSize + this.renderer.$padding + this.$imageSize;\n };\n\n popup.$imageSize = 0;\n popup.$borderSize = 1;\n\n return popup;\n};\n\ndom.importCssString(\"\\\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\\\n background-color: #CAD6FA;\\\n z-index: 1;\\\n}\\\n.ace_editor.ace_autocomplete .ace_line-hover {\\\n border: 1px solid #abbffe;\\\n margin-top: -1px;\\\n background: rgba(233,233,253,0.4);\\\n}\\\n.ace_editor.ace_autocomplete .ace_line-hover {\\\n position: absolute;\\\n z-index: 2;\\\n}\\\n.ace_editor.ace_autocomplete .ace_scroller {\\\n background: none;\\\n border: none;\\\n box-shadow: none;\\\n}\\\n.ace_rightAlignedText {\\\n color: gray;\\\n display: inline-block;\\\n position: absolute;\\\n right: 4px;\\\n text-align: right;\\\n z-index: -1;\\\n}\\\n.ace_editor.ace_autocomplete .ace_completion-highlight{\\\n color: #000;\\\n text-shadow: 0 0 0.01em;\\\n}\\\n.ace_editor.ace_autocomplete {\\\n width: 280px;\\\n z-index: 200000;\\\n background: #fbfbfb;\\\n color: #444;\\\n border: 1px lightgray solid;\\\n position: fixed;\\\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\\\n line-height: 1.4;\\\n}\");\n\nexports.AcePopup = AcePopup;\n\n});\n\nace.define(\"ace/autocomplete/util\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.parForEach = function(array, fn, callback) {\n var completed = 0;\n var arLength = array.length;\n if (arLength === 0)\n callback();\n for (var i = 0; i < arLength; i++) {\n fn(array[i], function(result, err) {\n completed++;\n if (completed === arLength)\n callback(result, err);\n });\n }\n};\n\nvar ID_REGEX = /[a-zA-Z_0-9\\$\\-\\u00A2-\\uFFFF]/;\n\nexports.retrievePrecedingIdentifier = function(text, pos, regex) {\n regex = regex || ID_REGEX;\n var buf = [];\n for (var i = pos-1; i >= 0; i--) {\n if (regex.test(text[i]))\n buf.push(text[i]);\n else\n break;\n }\n return buf.reverse().join(\"\");\n};\n\nexports.retrieveFollowingIdentifier = function(text, pos, regex) {\n regex = regex || ID_REGEX;\n var buf = [];\n for (var i = pos; i < text.length; i++) {\n if (regex.test(text[i]))\n buf.push(text[i]);\n else\n break;\n }\n return buf;\n};\n\nexports.getCompletionPrefix = function (editor) {\n var pos = editor.getCursorPosition();\n var line = editor.session.getLine(pos.row);\n var prefix;\n editor.completers.forEach(function(completer) {\n if (completer.identifierRegexps) {\n completer.identifierRegexps.forEach(function(identifierRegex) {\n if (!prefix && identifierRegex)\n prefix = this.retrievePrecedingIdentifier(line, pos.column, identifierRegex);\n }.bind(this));\n }\n }.bind(this));\n return prefix || this.retrievePrecedingIdentifier(line, pos.column);\n};\n\n});\n\nace.define(\"ace/autocomplete\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\",\"ace/autocomplete/popup\",\"ace/autocomplete/util\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/lib/dom\",\"ace/snippets\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar HashHandler = acequire(\"./keyboard/hash_handler\").HashHandler;\nvar AcePopup = acequire(\"./autocomplete/popup\").AcePopup;\nvar util = acequire(\"./autocomplete/util\");\nvar event = acequire(\"./lib/event\");\nvar lang = acequire(\"./lib/lang\");\nvar dom = acequire(\"./lib/dom\");\nvar snippetManager = acequire(\"./snippets\").snippetManager;\n\nvar Autocomplete = function() {\n this.autoInsert = false;\n this.autoSelect = true;\n this.exactMatch = false;\n this.gatherCompletionsId = 0;\n this.keyboardHandler = new HashHandler();\n this.keyboardHandler.bindKeys(this.commands);\n\n this.blurListener = this.blurListener.bind(this);\n this.changeListener = this.changeListener.bind(this);\n this.mousedownListener = this.mousedownListener.bind(this);\n this.mousewheelListener = this.mousewheelListener.bind(this);\n\n this.changeTimer = lang.delayedCall(function() {\n this.updateCompletions(true);\n }.bind(this));\n\n this.tooltipTimer = lang.delayedCall(this.updateDocTooltip.bind(this), 50);\n};\n\n(function() {\n\n this.$init = function() {\n this.popup = new AcePopup(document.body || document.documentElement);\n this.popup.on(\"click\", function(e) {\n this.insertMatch();\n e.stop();\n }.bind(this));\n this.popup.focus = this.editor.focus.bind(this.editor);\n this.popup.on(\"show\", this.tooltipTimer.bind(null, null));\n this.popup.on(\"select\", this.tooltipTimer.bind(null, null));\n this.popup.on(\"changeHoverMarker\", this.tooltipTimer.bind(null, null));\n return this.popup;\n };\n\n this.getPopup = function() {\n return this.popup || this.$init();\n };\n\n this.openPopup = function(editor, prefix, keepPopupPosition) {\n if (!this.popup)\n this.$init();\n\n this.popup.setData(this.completions.filtered);\n\n editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n \n var renderer = editor.renderer;\n this.popup.setRow(this.autoSelect ? 0 : -1);\n if (!keepPopupPosition) {\n this.popup.setTheme(editor.getTheme());\n this.popup.setFontSize(editor.getFontSize());\n\n var lineHeight = renderer.layerConfig.lineHeight;\n\n var pos = renderer.$cursorLayer.getPixelPosition(this.base, true);\n pos.left -= this.popup.getTextLeftOffset();\n\n var rect = editor.container.getBoundingClientRect();\n pos.top += rect.top - renderer.layerConfig.offset;\n pos.left += rect.left - editor.renderer.scrollLeft;\n pos.left += renderer.gutterWidth;\n\n this.popup.show(pos, lineHeight);\n } else if (keepPopupPosition && !prefix) {\n this.detach();\n }\n };\n\n this.detach = function() {\n this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);\n this.editor.off(\"changeSelection\", this.changeListener);\n this.editor.off(\"blur\", this.blurListener);\n this.editor.off(\"mousedown\", this.mousedownListener);\n this.editor.off(\"mousewheel\", this.mousewheelListener);\n this.changeTimer.cancel();\n this.hideDocTooltip();\n\n this.gatherCompletionsId += 1;\n if (this.popup && this.popup.isOpen)\n this.popup.hide();\n\n if (this.base)\n this.base.detach();\n this.activated = false;\n this.completions = this.base = null;\n };\n\n this.changeListener = function(e) {\n var cursor = this.editor.selection.lead;\n if (cursor.row != this.base.row || cursor.column < this.base.column) {\n this.detach();\n }\n if (this.activated)\n this.changeTimer.schedule();\n else\n this.detach();\n };\n\n this.blurListener = function(e) {\n if (e.relatedTarget && e.relatedTarget.nodeName == \"A\" && e.relatedTarget.href) {\n window.open(e.relatedTarget.href, \"_blank\");\n }\n var el = document.activeElement;\n var text = this.editor.textInput.getElement();\n var fromTooltip = e.relatedTarget && e.relatedTarget == this.tooltipNode;\n var container = this.popup && this.popup.container;\n if (el != text && el.parentNode != container && !fromTooltip\n && el != this.tooltipNode && e.relatedTarget != text\n ) {\n this.detach();\n }\n };\n\n this.mousedownListener = function(e) {\n this.detach();\n };\n\n this.mousewheelListener = function(e) {\n this.detach();\n };\n\n this.goTo = function(where) {\n var row = this.popup.getRow();\n var max = this.popup.session.getLength() - 1;\n\n switch(where) {\n case \"up\": row = row <= 0 ? max : row - 1; break;\n case \"down\": row = row >= max ? -1 : row + 1; break;\n case \"start\": row = 0; break;\n case \"end\": row = max; break;\n }\n\n this.popup.setRow(row);\n };\n\n this.insertMatch = function(data, options) {\n if (!data)\n data = this.popup.getData(this.popup.getRow());\n if (!data)\n return false;\n\n if (data.completer && data.completer.insertMatch) {\n data.completer.insertMatch(this.editor, data);\n } else {\n if (this.completions.filterText) {\n var ranges = this.editor.selection.getAllRanges();\n for (var i = 0, range; range = ranges[i]; i++) {\n range.start.column -= this.completions.filterText.length;\n this.editor.session.remove(range);\n }\n }\n if (data.snippet)\n snippetManager.insertSnippet(this.editor, data.snippet);\n else\n this.editor.execCommand(\"insertstring\", data.value || data);\n }\n this.detach();\n };\n\n\n this.commands = {\n \"Up\": function(editor) { editor.completer.goTo(\"up\"); },\n \"Down\": function(editor) { editor.completer.goTo(\"down\"); },\n \"Ctrl-Up|Ctrl-Home\": function(editor) { editor.completer.goTo(\"start\"); },\n \"Ctrl-Down|Ctrl-End\": function(editor) { editor.completer.goTo(\"end\"); },\n\n \"Esc\": function(editor) { editor.completer.detach(); },\n \"Return\": function(editor) { return editor.completer.insertMatch(); },\n \"Shift-Return\": function(editor) { editor.completer.insertMatch(null, {deleteSuffix: true}); },\n \"Tab\": function(editor) {\n var result = editor.completer.insertMatch();\n if (!result && !editor.tabstopManager)\n editor.completer.goTo(\"down\");\n else\n return result;\n },\n\n \"PageUp\": function(editor) { editor.completer.popup.gotoPageUp(); },\n \"PageDown\": function(editor) { editor.completer.popup.gotoPageDown(); }\n };\n\n this.gatherCompletions = function(editor, callback) {\n var session = editor.getSession();\n var pos = editor.getCursorPosition();\n\n var line = session.getLine(pos.row);\n var prefix = util.getCompletionPrefix(editor);\n\n this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);\n this.base.$insertRight = true;\n\n var matches = [];\n var total = editor.completers.length;\n editor.completers.forEach(function(completer, i) {\n completer.getCompletions(editor, session, pos, prefix, function(err, results) {\n if (!err && results)\n matches = matches.concat(results);\n var pos = editor.getCursorPosition();\n var line = session.getLine(pos.row);\n callback(null, {\n prefix: prefix,\n matches: matches,\n finished: (--total === 0)\n });\n });\n });\n return true;\n };\n\n this.showPopup = function(editor) {\n if (this.editor)\n this.detach();\n\n this.activated = true;\n\n this.editor = editor;\n if (editor.completer != this) {\n if (editor.completer)\n editor.completer.detach();\n editor.completer = this;\n }\n\n editor.on(\"changeSelection\", this.changeListener);\n editor.on(\"blur\", this.blurListener);\n editor.on(\"mousedown\", this.mousedownListener);\n editor.on(\"mousewheel\", this.mousewheelListener);\n\n this.updateCompletions();\n };\n\n this.updateCompletions = function(keepPopupPosition) {\n if (keepPopupPosition && this.base && this.completions) {\n var pos = this.editor.getCursorPosition();\n var prefix = this.editor.session.getTextRange({start: this.base, end: pos});\n if (prefix == this.completions.filterText)\n return;\n this.completions.setFilter(prefix);\n if (!this.completions.filtered.length)\n return this.detach();\n if (this.completions.filtered.length == 1\n && this.completions.filtered[0].value == prefix\n && !this.completions.filtered[0].snippet)\n return this.detach();\n this.openPopup(this.editor, prefix, keepPopupPosition);\n return;\n }\n var _id = this.gatherCompletionsId;\n this.gatherCompletions(this.editor, function(err, results) {\n var detachIfFinished = function() {\n if (!results.finished) return;\n return this.detach();\n }.bind(this);\n\n var prefix = results.prefix;\n var matches = results && results.matches;\n\n if (!matches || !matches.length)\n return detachIfFinished();\n if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)\n return;\n\n this.completions = new FilteredList(matches);\n\n if (this.exactMatch)\n this.completions.exactMatch = true;\n\n this.completions.setFilter(prefix);\n var filtered = this.completions.filtered;\n if (!filtered.length)\n return detachIfFinished();\n if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)\n return detachIfFinished();\n if (this.autoInsert && filtered.length == 1 && results.finished)\n return this.insertMatch(filtered[0]);\n\n this.openPopup(this.editor, prefix, keepPopupPosition);\n }.bind(this));\n };\n\n this.cancelContextMenu = function() {\n this.editor.$mouseHandler.cancelContextMenu();\n };\n\n this.updateDocTooltip = function() {\n var popup = this.popup;\n var all = popup.data;\n var selected = all && (all[popup.getHoveredRow()] || all[popup.getRow()]);\n var doc = null;\n if (!selected || !this.editor || !this.popup.isOpen)\n return this.hideDocTooltip();\n this.editor.completers.some(function(completer) {\n if (completer.getDocTooltip)\n doc = completer.getDocTooltip(selected);\n return doc;\n });\n if (!doc)\n doc = selected;\n\n if (typeof doc == \"string\")\n doc = {docText: doc};\n if (!doc || !(doc.docHTML || doc.docText))\n return this.hideDocTooltip();\n this.showDocTooltip(doc);\n };\n\n this.showDocTooltip = function(item) {\n if (!this.tooltipNode) {\n this.tooltipNode = dom.createElement(\"div\");\n this.tooltipNode.className = \"ace_tooltip ace_doc-tooltip\";\n this.tooltipNode.style.margin = 0;\n this.tooltipNode.style.pointerEvents = \"auto\";\n this.tooltipNode.tabIndex = -1;\n this.tooltipNode.onblur = this.blurListener.bind(this);\n }\n\n var tooltipNode = this.tooltipNode;\n if (item.docHTML) {\n tooltipNode.innerHTML = item.docHTML;\n } else if (item.docText) {\n tooltipNode.textContent = item.docText;\n }\n\n if (!tooltipNode.parentNode)\n document.body.appendChild(tooltipNode);\n var popup = this.popup;\n var rect = popup.container.getBoundingClientRect();\n tooltipNode.style.top = popup.container.style.top;\n tooltipNode.style.bottom = popup.container.style.bottom;\n\n if (window.innerWidth - rect.right < 320) {\n tooltipNode.style.right = window.innerWidth - rect.left + \"px\";\n tooltipNode.style.left = \"\";\n } else {\n tooltipNode.style.left = (rect.right + 1) + \"px\";\n tooltipNode.style.right = \"\";\n }\n tooltipNode.style.display = \"block\";\n };\n\n this.hideDocTooltip = function() {\n this.tooltipTimer.cancel();\n if (!this.tooltipNode) return;\n var el = this.tooltipNode;\n if (!this.editor.isFocused() && document.activeElement == el)\n this.editor.focus();\n this.tooltipNode = null;\n if (el.parentNode)\n el.parentNode.removeChild(el);\n };\n\n}).call(Autocomplete.prototype);\n\nAutocomplete.startCommand = {\n name: \"startAutocomplete\",\n exec: function(editor) {\n if (!editor.completer)\n editor.completer = new Autocomplete();\n editor.completer.autoInsert = false;\n editor.completer.autoSelect = true;\n editor.completer.showPopup(editor);\n editor.completer.cancelContextMenu();\n },\n bindKey: \"Ctrl-Space|Ctrl-Shift-Space|Alt-Space\"\n};\n\nvar FilteredList = function(array, filterText) {\n this.all = array;\n this.filtered = array;\n this.filterText = filterText || \"\";\n this.exactMatch = false;\n};\n(function(){\n this.setFilter = function(str) {\n if (str.length > this.filterText && str.lastIndexOf(this.filterText, 0) === 0)\n var matches = this.filtered;\n else\n var matches = this.all;\n\n this.filterText = str;\n matches = this.filterCompletions(matches, this.filterText);\n matches = matches.sort(function(a, b) {\n return b.exactMatch - a.exactMatch || b.score - a.score;\n });\n var prev = null;\n matches = matches.filter(function(item){\n var caption = item.snippet || item.caption || item.value;\n if (caption === prev) return false;\n prev = caption;\n return true;\n });\n\n this.filtered = matches;\n };\n this.filterCompletions = function(items, needle) {\n var results = [];\n var upper = needle.toUpperCase();\n var lower = needle.toLowerCase();\n loop: for (var i = 0, item; item = items[i]; i++) {\n var caption = item.value || item.caption || item.snippet;\n if (!caption) continue;\n var lastIndex = -1;\n var matchMask = 0;\n var penalty = 0;\n var index, distance;\n\n if (this.exactMatch) {\n if (needle !== caption.substr(0, needle.length))\n continue loop;\n }else{\n for (var j = 0; j < needle.length; j++) {\n var i1 = caption.indexOf(lower[j], lastIndex + 1);\n var i2 = caption.indexOf(upper[j], lastIndex + 1);\n index = (i1 >= 0) ? ((i2 < 0 || i1 < i2) ? i1 : i2) : i2;\n if (index < 0)\n continue loop;\n distance = index - lastIndex - 1;\n if (distance > 0) {\n if (lastIndex === -1)\n penalty += 10;\n penalty += distance;\n }\n matchMask = matchMask | (1 << index);\n lastIndex = index;\n }\n }\n item.matchMask = matchMask;\n item.exactMatch = penalty ? 0 : 1;\n item.score = (item.score || 0) - penalty;\n results.push(item);\n }\n return results;\n };\n}).call(FilteredList.prototype);\n\nexports.Autocomplete = Autocomplete;\nexports.FilteredList = FilteredList;\n\n});\n\nace.define(\"ace/autocomplete/text_completer\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n var Range = acequire(\"../range\").Range;\n \n var splitRegex = /[^a-zA-Z_0-9\\$\\-\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\w]+/;\n\n function getWordIndex(doc, pos) {\n var textBefore = doc.getTextRange(Range.fromPoints({row: 0, column:0}, pos));\n return textBefore.split(splitRegex).length - 1;\n }\n function wordDistance(doc, pos) {\n var prefixPos = getWordIndex(doc, pos);\n var words = doc.getValue().split(splitRegex);\n var wordScores = Object.create(null);\n \n var currentWord = words[prefixPos];\n\n words.forEach(function(word, idx) {\n if (!word || word === currentWord) return;\n\n var distance = Math.abs(prefixPos - idx);\n var score = words.length - distance;\n if (wordScores[word]) {\n wordScores[word] = Math.max(score, wordScores[word]);\n } else {\n wordScores[word] = score;\n }\n });\n return wordScores;\n }\n\n exports.getCompletions = function(editor, session, pos, prefix, callback) {\n var wordScore = wordDistance(session, pos, prefix);\n var wordList = Object.keys(wordScore);\n callback(null, wordList.map(function(word) {\n return {\n caption: word,\n value: word,\n score: wordScore[word],\n meta: \"local\"\n };\n }));\n };\n});\n\nace.define(\"ace/ext/language_tools\",[\"require\",\"exports\",\"module\",\"ace/snippets\",\"ace/autocomplete\",\"ace/config\",\"ace/lib/lang\",\"ace/autocomplete/util\",\"ace/autocomplete/text_completer\",\"ace/editor\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar snippetManager = acequire(\"../snippets\").snippetManager;\nvar Autocomplete = acequire(\"../autocomplete\").Autocomplete;\nvar config = acequire(\"../config\");\nvar lang = acequire(\"../lib/lang\");\nvar util = acequire(\"../autocomplete/util\");\n\nvar textCompleter = acequire(\"../autocomplete/text_completer\");\nvar keyWordCompleter = {\n getCompletions: function(editor, session, pos, prefix, callback) {\n if (session.$mode.completer) {\n return session.$mode.completer.getCompletions(editor, session, pos, prefix, callback);\n }\n var state = editor.session.getState(pos.row);\n var completions = session.$mode.getCompletions(state, session, pos, prefix);\n callback(null, completions);\n }\n};\n\nvar snippetCompleter = {\n getCompletions: function(editor, session, pos, prefix, callback) {\n var snippetMap = snippetManager.snippetMap;\n var completions = [];\n snippetManager.getActiveScopes(editor).forEach(function(scope) {\n var snippets = snippetMap[scope] || [];\n for (var i = snippets.length; i--;) {\n var s = snippets[i];\n var caption = s.name || s.tabTrigger;\n if (!caption)\n continue;\n completions.push({\n caption: caption,\n snippet: s.content,\n meta: s.tabTrigger && !s.name ? s.tabTrigger + \"\\u21E5 \" : \"snippet\",\n type: \"snippet\"\n });\n }\n }, this);\n callback(null, completions);\n },\n getDocTooltip: function(item) {\n if (item.type == \"snippet\" && !item.docHTML) {\n item.docHTML = [\n \"\", lang.escapeHTML(item.caption), \"\", \"
    \",\n lang.escapeHTML(item.snippet)\n ].join(\"\");\n }\n }\n};\n\nvar completers = [snippetCompleter, textCompleter, keyWordCompleter];\nexports.setCompleters = function(val) {\n completers.length = 0;\n if (val) completers.push.apply(completers, val);\n};\nexports.addCompleter = function(completer) {\n completers.push(completer);\n};\nexports.textCompleter = textCompleter;\nexports.keyWordCompleter = keyWordCompleter;\nexports.snippetCompleter = snippetCompleter;\n\nvar expandSnippet = {\n name: \"expandSnippet\",\n exec: function(editor) {\n return snippetManager.expandWithTab(editor);\n },\n bindKey: \"Tab\"\n};\n\nvar onChangeMode = function(e, editor) {\n loadSnippetsForMode(editor.session.$mode);\n};\n\nvar loadSnippetsForMode = function(mode) {\n var id = mode.$id;\n if (!snippetManager.files)\n snippetManager.files = {};\n loadSnippetFile(id);\n if (mode.modes)\n mode.modes.forEach(loadSnippetsForMode);\n};\n\nvar loadSnippetFile = function(id) {\n if (!id || snippetManager.files[id])\n return;\n var snippetFilePath = id.replace(\"mode\", \"snippets\");\n snippetManager.files[id] = {};\n config.loadModule(snippetFilePath, function(m) {\n if (m) {\n snippetManager.files[id] = m;\n if (!m.snippets && m.snippetText)\n m.snippets = snippetManager.parseSnippetFile(m.snippetText);\n snippetManager.register(m.snippets || [], m.scope);\n if (m.includeScopes) {\n snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes;\n m.includeScopes.forEach(function(x) {\n loadSnippetFile(\"ace/mode/\" + x);\n });\n }\n }\n });\n};\n\nvar doLiveAutocomplete = function(e) {\n var editor = e.editor;\n var hasCompleter = editor.completer && editor.completer.activated;\n if (e.command.name === \"backspace\") {\n if (hasCompleter && !util.getCompletionPrefix(editor))\n editor.completer.detach();\n }\n else if (e.command.name === \"insertstring\") {\n var prefix = util.getCompletionPrefix(editor);\n if (prefix && !hasCompleter) {\n if (!editor.completer) {\n editor.completer = new Autocomplete();\n }\n editor.completer.autoInsert = false;\n editor.completer.showPopup(editor);\n }\n }\n};\n\nvar Editor = acequire(\"../editor\").Editor;\nacequire(\"../config\").defineOptions(Editor.prototype, \"editor\", {\n enableBasicAutocompletion: {\n set: function(val) {\n if (val) {\n if (!this.completers)\n this.completers = Array.isArray(val)? val: completers;\n this.commands.addCommand(Autocomplete.startCommand);\n } else {\n this.commands.removeCommand(Autocomplete.startCommand);\n }\n },\n value: false\n },\n enableLiveAutocompletion: {\n set: function(val) {\n if (val) {\n if (!this.completers)\n this.completers = Array.isArray(val)? val: completers;\n this.commands.on('afterExec', doLiveAutocomplete);\n } else {\n this.commands.removeListener('afterExec', doLiveAutocomplete);\n }\n },\n value: false\n },\n enableSnippets: {\n set: function(val) {\n if (val) {\n this.commands.addCommand(expandSnippet);\n this.on(\"changeMode\", onChangeMode);\n onChangeMode(null, this);\n } else {\n this.commands.removeCommand(expandSnippet);\n this.off(\"changeMode\", onChangeMode);\n }\n },\n value: false\n }\n});\n});\n (function() {\n ace.acequire([\"ace/ext/language_tools\"], function() {});\n })();\n \n\n/***/ }),\n/* 1179 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.isDark = false;\nexports.cssClass = \"ace-tm\";\nexports.cssText = \".ace-tm .ace_gutter {\\\nbackground: #f0f0f0;\\\ncolor: #333;\\\n}\\\n.ace-tm .ace_print-margin {\\\nwidth: 1px;\\\nbackground: #e8e8e8;\\\n}\\\n.ace-tm .ace_fold {\\\nbackground-color: #6B72E6;\\\n}\\\n.ace-tm {\\\nbackground-color: #FFFFFF;\\\ncolor: black;\\\n}\\\n.ace-tm .ace_cursor {\\\ncolor: black;\\\n}\\\n.ace-tm .ace_invisible {\\\ncolor: rgb(191, 191, 191);\\\n}\\\n.ace-tm .ace_storage,\\\n.ace-tm .ace_keyword {\\\ncolor: blue;\\\n}\\\n.ace-tm .ace_constant {\\\ncolor: rgb(197, 6, 11);\\\n}\\\n.ace-tm .ace_constant.ace_buildin {\\\ncolor: rgb(88, 72, 246);\\\n}\\\n.ace-tm .ace_constant.ace_language {\\\ncolor: rgb(88, 92, 246);\\\n}\\\n.ace-tm .ace_constant.ace_library {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_invalid {\\\nbackground-color: rgba(255, 0, 0, 0.1);\\\ncolor: red;\\\n}\\\n.ace-tm .ace_support.ace_function {\\\ncolor: rgb(60, 76, 114);\\\n}\\\n.ace-tm .ace_support.ace_constant {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_support.ace_type,\\\n.ace-tm .ace_support.ace_class {\\\ncolor: rgb(109, 121, 222);\\\n}\\\n.ace-tm .ace_keyword.ace_operator {\\\ncolor: rgb(104, 118, 135);\\\n}\\\n.ace-tm .ace_string {\\\ncolor: rgb(3, 106, 7);\\\n}\\\n.ace-tm .ace_comment {\\\ncolor: rgb(76, 136, 107);\\\n}\\\n.ace-tm .ace_comment.ace_doc {\\\ncolor: rgb(0, 102, 255);\\\n}\\\n.ace-tm .ace_comment.ace_doc.ace_tag {\\\ncolor: rgb(128, 159, 191);\\\n}\\\n.ace-tm .ace_constant.ace_numeric {\\\ncolor: rgb(0, 0, 205);\\\n}\\\n.ace-tm .ace_variable {\\\ncolor: rgb(49, 132, 149);\\\n}\\\n.ace-tm .ace_xml-pe {\\\ncolor: rgb(104, 104, 91);\\\n}\\\n.ace-tm .ace_entity.ace_name.ace_function {\\\ncolor: #0000A2;\\\n}\\\n.ace-tm .ace_heading {\\\ncolor: rgb(12, 7, 255);\\\n}\\\n.ace-tm .ace_list {\\\ncolor:rgb(185, 6, 144);\\\n}\\\n.ace-tm .ace_meta.ace_tag {\\\ncolor:rgb(0, 22, 142);\\\n}\\\n.ace-tm .ace_string.ace_regex {\\\ncolor: rgb(255, 0, 0)\\\n}\\\n.ace-tm .ace_marker-layer .ace_selection {\\\nbackground: rgb(181, 213, 255);\\\n}\\\n.ace-tm.ace_multiselect .ace_selection.ace_start {\\\nbox-shadow: 0 0 3px 0px white;\\\n}\\\n.ace-tm .ace_marker-layer .ace_step {\\\nbackground: rgb(252, 255, 0);\\\n}\\\n.ace-tm .ace_marker-layer .ace_stack {\\\nbackground: rgb(164, 229, 101);\\\n}\\\n.ace-tm .ace_marker-layer .ace_bracket {\\\nmargin: -1px 0 0 -1px;\\\nborder: 1px solid rgb(192, 192, 192);\\\n}\\\n.ace-tm .ace_marker-layer .ace_active-line {\\\nbackground: rgba(0, 0, 0, 0.07);\\\n}\\\n.ace-tm .ace_gutter-active-line {\\\nbackground-color : #dcdcdc;\\\n}\\\n.ace-tm .ace_marker-layer .ace_selected-word {\\\nbackground: rgb(250, 250, 255);\\\nborder: 1px solid rgb(200, 200, 250);\\\n}\\\n.ace-tm .ace_indent-guide {\\\nbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\\\") right repeat-y;\\\n}\\\n\";\n\nvar dom = acequire(\"../lib/dom\");\ndom.importCssString(exports.cssText, exports.cssClass);\n});\n\n\n/***/ }),\n/* 1180 */\n/***/ (function(module, exports) {\n\n\n\n\n/***/ }),\n/* 1181 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/snippets/text\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.snippetText=undefined,t.scope=\"text\"})\n\n/***/ }),\n/* 1182 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/mode/sql_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar SqlHighlightRules = function() {\n\n var keywords = (\n \"select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|\" +\n \"when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|\" +\n \"foreign|not|references|default|null|inner|cross|natural|database|drop|grant\"\n );\n\n var builtinConstants = (\n \"true|false\"\n );\n\n var builtinFunctions = (\n \"avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|\" + \n \"coalesce|ifnull|isnull|nvl\"\n );\n\n var dataTypes = (\n \"int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|\" +\n \"money|real|number|integer\"\n );\n\n var keywordMapper = this.createKeywordMapper({\n \"support.function\": builtinFunctions,\n \"keyword\": keywords,\n \"constant.language\": builtinConstants,\n \"storage.type\": dataTypes\n }, \"identifier\", true);\n\n this.$rules = {\n \"start\" : [ {\n token : \"comment\",\n regex : \"--.*$\"\n }, {\n token : \"comment\",\n start : \"/\\\\*\",\n end : \"\\\\*/\"\n }, {\n token : \"string\", // \" string\n regex : '\".*?\"'\n }, {\n token : \"string\", // ' string\n regex : \"'.*?'\"\n }, {\n token : \"constant.numeric\", // float\n regex : \"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"\n }, {\n token : keywordMapper,\n regex : \"[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b\"\n }, {\n token : \"keyword.operator\",\n regex : \"\\\\+|\\\\-|\\\\/|\\\\/\\\\/|%|<@>|@>|<@|&|\\\\^|~|<|>|<=|=>|==|!=|<>|=\"\n }, {\n token : \"paren.lparen\",\n regex : \"[\\\\(]\"\n }, {\n token : \"paren.rparen\",\n regex : \"[\\\\)]\"\n }, {\n token : \"text\",\n regex : \"\\\\s+\"\n } ]\n };\n this.normalizeRules();\n};\n\noop.inherits(SqlHighlightRules, TextHighlightRules);\n\nexports.SqlHighlightRules = SqlHighlightRules;\n});\n\nace.define(\"ace/mode/sql\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/sql_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar SqlHighlightRules = acequire(\"./sql_highlight_rules\").SqlHighlightRules;\n\nvar Mode = function() {\n this.HighlightRules = SqlHighlightRules;\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.lineCommentStart = \"--\";\n\n this.$id = \"ace/mode/sql\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\n\n/***/ }),\n/* 1183 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/snippets/sql\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.snippetText=\"snippet tbl\\n\tcreate table ${1:table} (\\n\t\t${2:columns}\\n\t);\\nsnippet col\\n\t${1:name}\t${2:type}\t${3:default ''}\t${4:not null}\\nsnippet ccol\\n\t${1:name}\tvarchar2(${2:size})\t${3:default ''}\t${4:not null}\\nsnippet ncol\\n\t${1:name}\tnumber\t${3:default 0}\t${4:not null}\\nsnippet dcol\\n\t${1:name}\tdate\t${3:default sysdate}\t${4:not null}\\nsnippet ind\\n\tcreate index ${3:$1_$2} on ${1:table}(${2:column});\\nsnippet uind\\n\tcreate unique index ${1:name} on ${2:table}(${3:column});\\nsnippet tblcom\\n\tcomment on table ${1:table} is '${2:comment}';\\nsnippet colcom\\n\tcomment on column ${1:table}.${2:column} is '${3:comment}';\\nsnippet addcol\\n\talter table ${1:table} add (${2:column} ${3:type});\\nsnippet seq\\n\tcreate sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\\nsnippet s*\\n\tselect * from ${1:table}\\n\",t.scope=\"sql\"})\n\n/***/ }),\n/* 1184 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/mode/doc_comment_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar DocCommentHighlightRules = function() {\n this.$rules = {\n \"start\" : [ {\n token : \"comment.doc.tag\",\n regex : \"@[\\\\w\\\\d_]+\" // TODO: fix email addresses\n }, \n DocCommentHighlightRules.getTagRule(),\n {\n defaultToken : \"comment.doc\",\n caseInsensitive: true\n }]\n };\n};\n\noop.inherits(DocCommentHighlightRules, TextHighlightRules);\n\nDocCommentHighlightRules.getTagRule = function(start) {\n return {\n token : \"comment.doc.tag.storage.type\",\n regex : \"\\\\b(?:TODO|FIXME|XXX|HACK)\\\\b\"\n };\n}\n\nDocCommentHighlightRules.getStartRule = function(start) {\n return {\n token : \"comment.doc\", // doc comment\n regex : \"\\\\/\\\\*(?=\\\\*)\",\n next : start\n };\n};\n\nDocCommentHighlightRules.getEndRule = function (start) {\n return {\n token : \"comment.doc\", // closing comment\n regex : \"\\\\*\\\\/\",\n next : start\n };\n};\n\n\nexports.DocCommentHighlightRules = DocCommentHighlightRules;\n\n});\n\nace.define(\"ace/mode/sqlserver_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/doc_comment_highlight_rules\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar DocCommentHighlightRules = acequire(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar SqlServerHighlightRules = function() {\n var logicalOperators = \"ALL|AND|ANY|BETWEEN|EXISTS|IN|LIKE|NOT|OR|SOME\";\n logicalOperators += \"|NULL|IS|APPLY|INNER|OUTER|LEFT|RIGHT|JOIN|CROSS\"; //SSMS colors these gray too\n \n\n var builtinFunctions = (\n \"OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|\" +\n \"AVG|CHECKSUM_AGG|COUNT|COUNT_BIG|GROUPING|GROUPING_ID|MAX|MIN|STDEV|STDEVP|SUM|VAR|VARP|\" +\n \"DENSE_RANK|NTILE|RANK|ROW_NUMBER\" +\n \"@@DATEFIRST|@@DBTS|@@LANGID|@@LANGUAGE|@@LOCK_TIMEOUT|@@MAX_CONNECTIONS|@@MAX_PRECISION|@@NESTLEVEL|@@OPTIONS|@@REMSERVER|@@SERVERNAME|@@SERVICENAME|@@SPID|@@TEXTSIZE|@@VERSION|\" +\n \"CAST|CONVERT|PARSE|TRY_CAST|TRY_CONVERT|TRY_PARSE\" +\n \"@@CURSOR_ROWS|@@FETCH_STATUS|CURSOR_STATUS|\" +\n \"@@DATEFIRST|@@LANGUAGE|CURRENT_TIMESTAMP|DATEADD|DATEDIFF|DATEFROMPARTS|DATENAME|DATEPART|DATETIME2FROMPARTS|DATETIMEFROMPARTS|DATETIMEOFFSETFROMPARTS|DAY|EOMONTH|GETDATE|GETUTCDATE|ISDATE|MONTH|SET DATEFIRST|SET DATEFORMAT|SET LANGUAGE|SMALLDATETIMEFROMPARTS|SP_HELPLANGUAGE|SWITCHOFFSET|SYSDATETIME|SYSDATETIMEOFFSET|SYSUTCDATETIME|TIMEFROMPARTS|TODATETIMEOFFSET|YEAR|\" +\n \"CHOOSE|IIF|\" +\n \"ABS|ACOS|ASIN|ATAN|ATN2|CEILING|COS|COT|DEGREES|EXP|FLOOR|LOG|LOG10|PI|POWER|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|SQUARE|TAN|\" +\n \"@@PROCID|APPLOCK_MODE|APPLOCK_TEST|APP_NAME|ASSEMBLYPROPERTY|COLUMNPROPERTY|COL_LENGTH|COL_NAME|DATABASEPROPERTYEX|DATABASE_PRINCIPAL_ID|DB_ID|DB_NAME|FILEGROUPPROPERTY|FILEGROUP_ID|FILEGROUP_NAME|FILEPROPERTY|FILE_ID|FILE_IDEX|FILE_NAME|FULLTEXTCATALOGPROPERTY|FULLTEXTSERVICEPROPERTY|INDEXKEY_PROPERTY|INDEXPROPERTY|INDEX_COL|OBJECTPROPERTY|OBJECTPROPERTYEX|OBJECT_DEFINITION|OBJECT_ID|OBJECT_NAME|OBJECT_SCHEMA_NAME|ORIGINAL_DB_NAME|PARSENAME|SCHEMA_ID|SCHEMA_NAME|SCOPE_IDENTITY|SERVERPROPERTY|STATS_DATE|TYPEPROPERTY|TYPE_ID|TYPE_NAME|\" +\n \"CERTENCODED|CERTPRIVATEKEY|CURRENT_USER|DATABASE_PRINCIPAL_ID|HAS_PERMS_BY_NAME|IS_MEMBER|IS_ROLEMEMBER|IS_SRVROLEMEMBER|ORIGINAL_LOGIN|PERMISSIONS|PWDCOMPARE|PWDENCRYPT|SCHEMA_ID|SCHEMA_NAME|SESSION_USER|SUSER_ID|SUSER_NAME|SUSER_SID|SUSER_SNAME|SYS.FN_BUILTIN_PERMISSIONS|SYS.FN_GET_AUDIT_FILE|SYS.FN_MY_PERMISSIONS|SYSTEM_USER|USER_ID|USER_NAME|\" +\n \"ASCII|CHAR|CHARINDEX|CONCAT|DIFFERENCE|FORMAT|LEN|LOWER|LTRIM|NCHAR|PATINDEX|QUOTENAME|REPLACE|REPLICATE|REVERSE|RTRIM|SOUNDEX|SPACE|STR|STUFF|SUBSTRING|UNICODE|UPPER|\" +\n \"$PARTITION|@@ERROR|@@IDENTITY|@@PACK_RECEIVED|@@ROWCOUNT|@@TRANCOUNT|BINARY_CHECKSUM|CHECKSUM|CONNECTIONPROPERTY|CONTEXT_INFO|CURRENT_REQUEST_ID|ERROR_LINE|ERROR_MESSAGE|ERROR_NUMBER|ERROR_PROCEDURE|ERROR_SEVERITY|ERROR_STATE|FORMATMESSAGE|GETANSINULL|GET_FILESTREAM_TRANSACTION_CONTEXT|HOST_ID|HOST_NAME|ISNULL|ISNUMERIC|MIN_ACTIVE_ROWVERSION|NEWID|NEWSEQUENTIALID|ROWCOUNT_BIG|XACT_STATE|\" +\n \"@@CONNECTIONS|@@CPU_BUSY|@@IDLE|@@IO_BUSY|@@PACKET_ERRORS|@@PACK_RECEIVED|@@PACK_SENT|@@TIMETICKS|@@TOTAL_ERRORS|@@TOTAL_READ|@@TOTAL_WRITE|FN_VIRTUALFILESTATS|\" +\n \"PATINDEX|TEXTPTR|TEXTVALID|\" +\n \"COALESCE|NULLIF\"\n );\n var dataTypes = (\"BIGINT|BINARY|BIT|CHAR|CURSOR|DATE|DATETIME|DATETIME2|DATETIMEOFFSET|DECIMAL|FLOAT|HIERARCHYID|IMAGE|INTEGER|INT|MONEY|NCHAR|NTEXT|NUMERIC|NVARCHAR|REAL|SMALLDATETIME|SMALLINT|SMALLMONEY|SQL_VARIANT|TABLE|TEXT|TIME|TIMESTAMP|TINYINT|UNIQUEIDENTIFIER|VARBINARY|VARCHAR|XML\");\n var builtInStoredProcedures = \"sp_addextendedproc|sp_addextendedproperty|sp_addmessage|sp_addtype|sp_addumpdevice|sp_add_data_file_recover_suspect_db|sp_add_log_file_recover_suspect_db|sp_altermessage|sp_attach_db|sp_attach_single_file_db|sp_autostats|sp_bindefault|sp_bindrule|sp_bindsession|sp_certify_removable|sp_clean_db_file_free_space|sp_clean_db_free_space|sp_configure|sp_control_plan_guide|sp_createstats|sp_create_plan_guide|sp_create_plan_guide_from_handle|sp_create_removable|sp_cycle_errorlog|sp_datatype_info|sp_dbcmptlevel|sp_dbmmonitoraddmonitoring|sp_dbmmonitorchangealert|sp_dbmmonitorchangemonitoring|sp_dbmmonitordropalert|sp_dbmmonitordropmonitoring|sp_dbmmonitorhelpalert|sp_dbmmonitorhelpmonitoring|sp_dbmmonitorresults|sp_db_increased_partitions|sp_delete_backuphistory|sp_depends|sp_describe_first_result_set|sp_describe_undeclared_parameters|sp_detach_db|sp_dropdevice|sp_dropextendedproc|sp_dropextendedproperty|sp_dropmessage|sp_droptype|sp_execute|sp_executesql|sp_getapplock|sp_getbindtoken|sp_help|sp_helpconstraint|sp_helpdb|sp_helpdevice|sp_helpextendedproc|sp_helpfile|sp_helpfilegroup|sp_helpindex|sp_helplanguage|sp_helpserver|sp_helpsort|sp_helpstats|sp_helptext|sp_helptrigger|sp_indexoption|sp_invalidate_textptr|sp_lock|sp_monitor|sp_prepare|sp_prepexec|sp_prepexecrpc|sp_procoption|sp_recompile|sp_refreshview|sp_releaseapplock|sp_rename|sp_renamedb|sp_resetstatus|sp_sequence_get_range|sp_serveroption|sp_setnetname|sp_settriggerorder|sp_spaceused|sp_tableoption|sp_unbindefault|sp_unbindrule|sp_unprepare|sp_updateextendedproperty|sp_updatestats|sp_validname|sp_who|sys.sp_merge_xtp_checkpoint_files|sys.sp_xtp_bind_db_resource_pool|sys.sp_xtp_checkpoint_force_garbage_collection|sys.sp_xtp_control_proc_exec_stats|sys.sp_xtp_control_query_exec_stats|sys.sp_xtp_unbind_db_resource_pool\";\n var keywords = \"ABSOLUTE|ACTION|ADA|ADD|ADMIN|AFTER|AGGREGATE|ALIAS|ALL|ALLOCATE|ALTER|AND|ANY|ARE|ARRAY|AS|ASC|ASENSITIVE|ASSERTION|ASYMMETRIC|AT|ATOMIC|AUTHORIZATION|BACKUP|BEFORE|BEGIN|BETWEEN|BIT_LENGTH|BLOB|BOOLEAN|BOTH|BREADTH|BREAK|BROWSE|BULK|BY|CALL|CALLED|CARDINALITY|CASCADE|CASCADED|CASE|CATALOG|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CHECKPOINT|CLASS|CLOB|CLOSE|CLUSTERED|COALESCE|COLLATE|COLLATION|COLLECT|COLUMN|COMMIT|COMPLETION|COMPUTE|CONDITION|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONTAINS|CONTAINSTABLE|CONTINUE|CORR|CORRESPONDING|COVAR_POP|COVAR_SAMP|CREATE|CROSS|CUBE|CUME_DIST|CURRENT|CURRENT_CATALOG|CURRENT_DATE|CURRENT_DEFAULT_TRANSFORM_GROUP|CURRENT_PATH|CURRENT_ROLE|CURRENT_SCHEMA|CURRENT_TIME|CURRENT_TRANSFORM_GROUP_FOR_TYPE|CYCLE|DATA|DATABASE|DBCC|DEALLOCATE|DEC|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DELETE|DENY|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DETERMINISTIC|DIAGNOSTICS|DICTIONARY|DISCONNECT|DISK|DISTINCT|DISTRIBUTED|DOMAIN|DOUBLE|DROP|DUMP|DYNAMIC|EACH|ELEMENT|ELSE|END|END-EXEC|EQUALS|ERRLVL|ESCAPE|EVERY|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXIT|EXTERNAL|EXTRACT|FETCH|FILE|FILLFACTOR|FILTER|FIRST|FOR|FOREIGN|FORTRAN|FOUND|FREE|FREETEXT|FREETEXTTABLE|FROM|FULL|FULLTEXTTABLE|FUNCTION|FUSION|GENERAL|GET|GLOBAL|GO|GOTO|GRANT|GROUP|HAVING|HOLD|HOLDLOCK|HOST|HOUR|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IGNORE|IMMEDIATE|IN|INCLUDE|INDEX|INDICATOR|INITIALIZE|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INTEGER|INTERSECT|INTERSECTION|INTERVAL|INTO|IS|ISOLATION|ITERATE|JOIN|KEY|KILL|LANGUAGE|LARGE|LAST|LATERAL|LEADING|LESS|LEVEL|LIKE|LIKE_REGEX|LIMIT|LINENO|LN|LOAD|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOCATOR|MAP|MATCH|MEMBER|MERGE|METHOD|MINUTE|MOD|MODIFIES|MODIFY|MODULE|MULTISET|NAMES|NATIONAL|NATURAL|NCLOB|NEW|NEXT|NO|NOCHECK|NONCLUSTERED|NONE|NORMALIZE|NOT|NULL|NULLIF|OBJECT|OCCURRENCES_REGEX|OCTET_LENGTH|OF|OFF|OFFSETS|OLD|ON|ONLY|OPEN|OPERATION|OPTION|OR|ORDER|ORDINALITY|OUT|OUTER|OUTPUT|OVER|OVERLAPS|OVERLAY|PAD|PARAMETER|PARAMETERS|PARTIAL|PARTITION|PASCAL|PATH|PERCENT|PERCENTILE_CONT|PERCENTILE_DISC|PERCENT_RANK|PIVOT|PLAN|POSITION|POSITION_REGEX|POSTFIX|PRECISION|PREFIX|PREORDER|PREPARE|PRESERVE|PRIMARY|PRINT|PRIOR|PRIVILEGES|PROC|PROCEDURE|PUBLIC|RAISERROR|RANGE|READ|READS|READTEXT|RECONFIGURE|RECURSIVE|REF|REFERENCES|REFERENCING|REGR_AVGX|REGR_AVGY|REGR_COUNT|REGR_INTERCEPT|REGR_R2|REGR_SLOPE|REGR_SXX|REGR_SXY|REGR_SYY|RELATIVE|RELEASE|REPLICATION|RESTORE|RESTRICT|RESULT|RETURN|RETURNS|REVERT|REVOKE|ROLE|ROLLBACK|ROLLUP|ROUTINE|ROW|ROWCOUNT|ROWGUIDCOL|ROWS|RULE|SAVE|SAVEPOINT|SCHEMA|SCOPE|SCROLL|SEARCH|SECOND|SECTION|SECURITYAUDIT|SELECT|SEMANTICKEYPHRASETABLE|SEMANTICSIMILARITYDETAILSTABLE|SEMANTICSIMILARITYTABLE|SENSITIVE|SEQUENCE|SESSION|SET|SETS|SETUSER|SHUTDOWN|SIMILAR|SIZE|SOME|SPECIFIC|SPECIFICTYPE|SQL|SQLCA|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STATE|STATEMENT|STATIC|STATISTICS|STDDEV_POP|STDDEV_SAMP|STRUCTURE|SUBMULTISET|SUBSTRING_REGEX|SYMMETRIC|SYSTEM|TABLESAMPLE|TEMPORARY|TERMINATE|TEXTSIZE|THAN|THEN|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TOP|TRAILING|TRAN|TRANSACTION|TRANSLATE|TRANSLATE_REGEX|TRANSLATION|TREAT|TRIGGER|TRIM|TRUNCATE|TSEQUAL|UESCAPE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNPIVOT|UPDATE|UPDATETEXT|USAGE|USE|USER|USING|VALUE|VALUES|VARIABLE|VARYING|VAR_POP|VAR_SAMP|VIEW|WAITFOR|WHEN|WHENEVER|WHERE|WHILE|WIDTH_BUCKET|WINDOW|WITH|WITHIN|WITHIN GROUP|WITHOUT|WORK|WRITE|WRITETEXT|XMLAGG|XMLATTRIBUTES|XMLBINARY|XMLCAST|XMLCOMMENT|XMLCONCAT|XMLDOCUMENT|XMLELEMENT|XMLEXISTS|XMLFOREST|XMLITERATE|XMLNAMESPACES|XMLPARSE|XMLPI|XMLQUERY|XMLSERIALIZE|XMLTABLE|XMLTEXT|XMLVALIDATE|ZONE\";\n keywords += \"|KEEPIDENTITY|KEEPDEFAULTS|IGNORE_CONSTRAINTS|IGNORE_TRIGGERS|XLOCK|FORCESCAN|FORCESEEK|HOLDLOCK|NOLOCK|NOWAIT|PAGLOCK|READCOMMITTED|READCOMMITTEDLOCK|READPAST|READUNCOMMITTED|REPEATABLEREAD|ROWLOCK|SERIALIZABLE|SNAPSHOT|SPATIAL_WINDOW_MAX_CELLS|TABLOCK|TABLOCKX|UPDLOCK|XLOCK|IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX|EXPAND|VIEWS|FAST|FORCE|KEEP|KEEPFIXED|MAXDOP|MAXRECURSION|OPTIMIZE|PARAMETERIZATION|SIMPLE|FORCED|RECOMPILE|ROBUST|PLAN|SPATIAL_WINDOW_MAX_CELLS|NOEXPAND|HINT\";\n keywords += \"|LOOP|HASH|MERGE|REMOTE\";\n keywords += \"|TRY|CATCH|THROW\";\n keywords += \"|TYPE\";\n keywords = keywords.split('|');\n keywords = keywords.filter(function(value, index, self) {\n return logicalOperators.split('|').indexOf(value) === -1 && builtinFunctions.split('|').indexOf(value) === -1 && dataTypes.split('|').indexOf(value) === -1;\n });\n keywords = keywords.sort().join('|');\n \n \n var keywordMapper = this.createKeywordMapper({\n \"constant.language\": logicalOperators,\n \"storage.type\": dataTypes,\n \"support.function\": builtinFunctions,\n \"support.storedprocedure\": builtInStoredProcedures,\n \"keyword\": keywords\n }, \"identifier\", true);\n var setStatements = \"SET ANSI_DEFAULTS|SET ANSI_NULLS|SET ANSI_NULL_DFLT_OFF|SET ANSI_NULL_DFLT_ON|SET ANSI_PADDING|SET ANSI_WARNINGS|SET ARITHABORT|SET ARITHIGNORE|SET CONCAT_NULL_YIELDS_NULL|SET CURSOR_CLOSE_ON_COMMIT|SET DATEFIRST|SET DATEFORMAT|SET DEADLOCK_PRIORITY|SET FIPS_FLAGGER|SET FMTONLY|SET FORCEPLAN|SET IDENTITY_INSERT|SET IMPLICIT_TRANSACTIONS|SET LANGUAGE|SET LOCK_TIMEOUT|SET NOCOUNT|SET NOEXEC|SET NUMERIC_ROUNDABORT|SET OFFSETS|SET PARSEONLY|SET QUERY_GOVERNOR_COST_LIMIT|SET QUOTED_IDENTIFIER|SET REMOTE_PROC_TRANSACTIONS|SET ROWCOUNT|SET SHOWPLAN_ALL|SET SHOWPLAN_TEXT|SET SHOWPLAN_XML|SET STATISTICS IO|SET STATISTICS PROFILE|SET STATISTICS TIME|SET STATISTICS XML|SET TEXTSIZE|SET XACT_ABORT\".split('|');\n var isolationLevels = \"READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SNAPSHOP|SERIALIZABLE\".split('|');\n for (var i = 0; i < isolationLevels.length; i++) {\n setStatements.push('SET TRANSACTION ISOLATION LEVEL ' + isolationLevels[i]);\n }\n \n \n this.$rules = {\n start: [{\n token: \"string.start\",\n regex: \"'\",\n next: [{\n token: \"constant.language.escape\",\n regex: /''/\n }, {\n token: \"string.end\",\n next: \"start\",\n regex: \"'\"\n }, {\n defaultToken: \"string\"\n }]\n },\n DocCommentHighlightRules.getStartRule(\"doc-start\"), {\n token: \"comment\",\n regex: \"--.*$\"\n }, {\n token: \"comment\",\n start: \"/\\\\*\",\n end: \"\\\\*/\"\n }, {\n token: \"constant.numeric\", // float\n regex: \"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"\n }, {\n token: keywordMapper,\n regex: \"@{0,2}[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b(?!])\" //up to 2 @symbols for some built in functions\n }, {\n token: \"constant.class\",\n regex: \"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b\"\n }, {\n token: \"keyword.operator\",\n regex: \"\\\\+|\\\\-|\\\\/|\\\\/\\\\/|%|<@>|@>|<@|&|\\\\^|~|<|>|<=|=>|==|!=|<>|=|\\\\*\"\n }, {\n token: \"paren.lparen\",\n regex: \"[\\\\(]\"\n }, {\n token: \"paren.rparen\",\n regex: \"[\\\\)]\"\n }, {\n token: \"punctuation\",\n regex: \",|;\"\n }, {\n token: \"text\",\n regex: \"\\\\s+\"\n }],\n comment: [\n DocCommentHighlightRules.getTagRule(), {\n token: \"comment\",\n regex: \"\\\\*\\\\/\",\n next: \"no_regex\"\n }, {\n defaultToken: \"comment\",\n caseInsensitive: true\n }]\n };\n for (var i = 0; i < setStatements.length; i++) {\n this.$rules.start.unshift({\n token: \"set.statement\",\n regex: setStatements[i]\n });\n }\n \n this.embedRules(DocCommentHighlightRules, \"doc-\", [DocCommentHighlightRules.getEndRule(\"start\")]);\n this.normalizeRules();\n var completions = [];\n var addCompletions = function(arr, meta) {\n arr.forEach(function(v) {\n completions.push({\n name: v,\n value: v,\n score: 0,\n meta: meta\n });\n });\n };\n addCompletions(builtInStoredProcedures.split('|'), 'procedure');\n addCompletions(logicalOperators.split('|'), 'operator');\n addCompletions(builtinFunctions.split('|'), 'function');\n addCompletions(dataTypes.split('|'), 'type');\n addCompletions(setStatements, 'statement');\n addCompletions(keywords.split('|'), 'keyword');\n \n this.completions = completions;\n};\n\noop.inherits(SqlServerHighlightRules, TextHighlightRules);\n\nexports.SqlHighlightRules = SqlServerHighlightRules;\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(\n this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start)\n );\n this.foldingStopMarker = new RegExp(\n this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end)\n );\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\{|\\[)[^\\}\\]]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{]*(\\}|\\])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe= /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n \n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n \n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n \n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n \n return fw;\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n \n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n } else if (foldStyle != \"all\")\n range = null;\n }\n \n return range;\n }\n\n if (foldStyle === \"markbegin\")\n return;\n\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n \n this.getSectionRange = function(session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n \n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n } else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n } else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n \n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function(session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n \n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth--;\n else depth++;\n\n if (!depth) break;\n }\n\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/folding/sqlserver\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./cstyle\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function() {};\n\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\bCASE\\b|\\bBEGIN\\b)|^\\s*(\\/\\*)/i;\n this.startRegionRe = /^\\s*(\\/\\*|--)#?region\\b/;\n \n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n if (match[1]) return this.getBeginEndBlock(session, row, i, match[1]);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n }\n else if (foldStyle != \"all\") range = null;\n }\n \n return range;\n }\n \n if (foldStyle === \"markbegin\") return;\n return;\n };\n this.getBeginEndBlock = function(session, row, column, matchSequence) {\n var start = {\n row: row,\n column: column + matchSequence.length\n };\n var maxRow = session.getLength();\n var line;\n \n var depth = 1;\n var re = /(\\bCASE\\b|\\bBEGIN\\b)|(\\bEND\\b)/i;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth++;\n else depth--;\n \n if (!depth) break;\n }\n var endRow = row;\n if (endRow > start.row) {\n return new Range(start.row, start.column, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/sqlserver\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/sqlserver_highlight_rules\",\"ace/mode/folding/sqlserver\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar SqlServerHighlightRules = acequire(\"./sqlserver_highlight_rules\").SqlHighlightRules;\nvar SqlServerFoldMode = acequire(\"./folding/sqlserver\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = SqlServerHighlightRules;\n this.foldingRules = new SqlServerFoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n this.lineCommentStart = \"--\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n this.getCompletions = function(state, session, pos, prefix) {\n return session.$mode.$highlightRules.completions;\n };\n \n this.$id = \"ace/mode/sql\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\n\n/***/ }),\n/* 1185 */\n/***/ (function(module, exports) {\n\nace.define(\"ace/snippets/sqlserver\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.snippetText=\"# ISNULL\\nsnippet isnull\\n\tISNULL(${1:check_expression}, ${2:replacement_value})\\n# FORMAT\\nsnippet format\\n\tFORMAT(${1:value}, ${2:format})\\n# CAST\\nsnippet cast\\n\tCAST(${1:expression} AS ${2:data_type})\\n# CONVERT\\nsnippet convert\\n\tCONVERT(${1:data_type}, ${2:expression})\\n# DATEPART\\nsnippet datepart\\n\tDATEPART(${1:datepart}, ${2:date})\\n# DATEDIFF\\nsnippet datediff\\n\tDATEDIFF(${1:datepart}, ${2:startdate}, ${3:enddate})\\n# DATEADD\\nsnippet dateadd\\n\tDATEADD(${1:datepart}, ${2:number}, ${3:date})\\n# DATEFROMPARTS \\nsnippet datefromparts\\n\tDATEFROMPARTS(${1:year}, ${2:month}, ${3:day})\\n# OBJECT_DEFINITION\\nsnippet objectdef\\n\tSELECT OBJECT_DEFINITION(OBJECT_ID('${1:sys.server_permissions /*object name*/}'))\\n# STUFF XML\\nsnippet stuffxml\\n\tSTUFF((SELECT ', ' + ${1:ColumnName}\\n\t\tFROM ${2:TableName}\\n\t\tWHERE ${3:WhereClause}\\n\t\tFOR XML PATH('')), 1, 1, '') AS ${4:Alias}\\n\t${5:/*https://msdn.microsoft.com/en-us/library/ms188043.aspx*/}\\n# Create Procedure\\nsnippet createproc\\n\t-- =============================================\\n\t-- Author:\t\t${1:Author}\\n\t-- Create date: ${2:Date}\\n\t-- Description:\t${3:Description}\\n\t-- =============================================\\n\tCREATE PROCEDURE ${4:Procedure_Name}\\n\t\t${5:/*Add the parameters for the stored procedure here*/}\\n\tAS\\n\tBEGIN\\n\t\t-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.\\n\t\tSET NOCOUNT ON;\\n\t\t\\n\t\t${6:/*Add the T-SQL statements to compute the return value here*/}\\n\t\t\\n\tEND\\n\tGO\\n# Create Scalar Function\\nsnippet createfn\\n\t-- =============================================\\n\t-- Author:\t\t${1:Author}\\n\t-- Create date: ${2:Date}\\n\t-- Description:\t${3:Description}\\n\t-- =============================================\\n\tCREATE FUNCTION ${4:Scalar_Function_Name}\\n\t\t-- Add the parameters for the function here\\n\tRETURNS ${5:Function_Data_Type}\\n\tAS\\n\tBEGIN\\n\t\tDECLARE @Result ${5:Function_Data_Type}\\n\t\t\\n\t\t${6:/*Add the T-SQL statements to compute the return value here*/}\\n\t\t\\n\tEND\\n\tGO\",t.scope=\"sqlserver\"})\n\n/***/ }),\n/* 1186 */\n/***/ (function(module, exports, __webpack_require__) {\n\nace.define(\"ace/mode/doc_comment_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar DocCommentHighlightRules = function() {\n this.$rules = {\n \"start\" : [ {\n token : \"comment.doc.tag\",\n regex : \"@[\\\\w\\\\d_]+\" // TODO: fix email addresses\n }, \n DocCommentHighlightRules.getTagRule(),\n {\n defaultToken : \"comment.doc\",\n caseInsensitive: true\n }]\n };\n};\n\noop.inherits(DocCommentHighlightRules, TextHighlightRules);\n\nDocCommentHighlightRules.getTagRule = function(start) {\n return {\n token : \"comment.doc.tag.storage.type\",\n regex : \"\\\\b(?:TODO|FIXME|XXX|HACK)\\\\b\"\n };\n}\n\nDocCommentHighlightRules.getStartRule = function(start) {\n return {\n token : \"comment.doc\", // doc comment\n regex : \"\\\\/\\\\*(?=\\\\*)\",\n next : start\n };\n};\n\nDocCommentHighlightRules.getEndRule = function (start) {\n return {\n token : \"comment.doc\", // closing comment\n regex : \"\\\\*\\\\/\",\n next : start\n };\n};\n\n\nexports.DocCommentHighlightRules = DocCommentHighlightRules;\n\n});\n\nace.define(\"ace/mode/javascript_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/doc_comment_highlight_rules\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar DocCommentHighlightRules = acequire(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar identifierRe = \"[a-zA-Z\\\\$_\\u00a1-\\uffff][a-zA-Z\\\\d\\\\$_\\u00a1-\\uffff]*\";\n\nvar JavaScriptHighlightRules = function(options) {\n var keywordMapper = this.createKeywordMapper({\n \"variable.language\":\n \"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|\" + // Constructors\n \"Namespace|QName|XML|XMLList|\" + // E4X\n \"ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|\" +\n \"Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|\" +\n \"Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|\" + // Errors\n \"SyntaxError|TypeError|URIError|\" +\n \"decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|\" + // Non-constructor functions\n \"isNaN|parseFloat|parseInt|\" +\n \"JSON|Math|\" + // Other\n \"this|arguments|prototype|window|document\" , // Pseudo\n \"keyword\":\n \"const|yield|import|get|set|async|await|\" +\n \"break|case|catch|continue|default|delete|do|else|finally|for|function|\" +\n \"if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|\" +\n \"__parent__|__count__|escape|unescape|with|__proto__|\" +\n \"class|enum|extends|super|export|implements|private|public|interface|package|protected|static\",\n \"storage.type\":\n \"const|let|var|function\",\n \"constant.language\":\n \"null|Infinity|NaN|undefined\",\n \"support.function\":\n \"alert\",\n \"constant.language.boolean\": \"true|false\"\n }, \"identifier\");\n var kwBeforeRe = \"case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void\";\n\n var escapedRe = \"\\\\\\\\(?:x[0-9a-fA-F]{2}|\" + // hex\n \"u[0-9a-fA-F]{4}|\" + // unicode\n \"u{[0-9a-fA-F]{1,6}}|\" + // es6 unicode\n \"[0-2][0-7]{0,2}|\" + // oct\n \"3[0-7][0-7]?|\" + // oct\n \"[4-7][0-7]?|\" + //oct\n \".)\";\n\n this.$rules = {\n \"no_regex\" : [\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n comments(\"no_regex\"),\n {\n token : \"string\",\n regex : \"'(?=.)\",\n next : \"qstring\"\n }, {\n token : \"string\",\n regex : '\"(?=.)',\n next : \"qqstring\"\n }, {\n token : \"constant.numeric\", // hex\n regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\\b/\n }, {\n token : \"constant.numeric\", // float\n regex : /[+-]?\\d[\\d_]*(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b/\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"support.function\",\n \"punctuation.operator\", \"entity.name.function\", \"text\",\"keyword.operator\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(prototype)(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"entity.name.function\", \"text\", \"keyword.operator\", \"text\", \"storage.type\",\n \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\",\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s+)(\\\\w+)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(function)(\\\\s+)(\" + identifierRe + \")(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"entity.name.function\", \"text\", \"punctuation.operator\",\n \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\s*)(:)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"text\", \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(:)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : \"keyword\",\n regex : \"(?:\" + kwBeforeRe + \")\\\\b\",\n next : \"start\"\n }, {\n token : [\"support.constant\"],\n regex : /that\\b/\n }, {\n token : [\"storage.type\", \"punctuation.operator\", \"support.function.firebug\"],\n regex : /(console)(\\.)(warn|info|log|error|time|trace|timeEnd|assert)\\b/\n }, {\n token : keywordMapper,\n regex : identifierRe\n }, {\n token : \"punctuation.operator\",\n regex : /[.](?![.])/,\n next : \"property\"\n }, {\n token : \"keyword.operator\",\n regex : /--|\\+\\+|\\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\\|\\||\\?:|[!$%&*+\\-~\\/^]=?/,\n next : \"start\"\n }, {\n token : \"punctuation.operator\",\n regex : /[?:,;.]/,\n next : \"start\"\n }, {\n token : \"paren.lparen\",\n regex : /[\\[({]/,\n next : \"start\"\n }, {\n token : \"paren.rparen\",\n regex : /[\\])}]/\n }, {\n token: \"comment\",\n regex: /^#!.*$/\n }\n ],\n property: [{\n token : \"text\",\n regex : \"\\\\s+\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\",\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(?:(\\\\s+)(\\\\w+))?(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : \"punctuation.operator\",\n regex : /[.](?![.])/\n }, {\n token : \"support.function\",\n regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\\b(?=\\()/\n }, {\n token : \"support.function.dom\",\n regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\\b(?=\\()/\n }, {\n token : \"support.constant\",\n regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\\b/\n }, {\n token : \"identifier\",\n regex : identifierRe\n }, {\n regex: \"\",\n token: \"empty\",\n next: \"no_regex\"\n }\n ],\n \"start\": [\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n comments(\"start\"),\n {\n token: \"string.regexp\",\n regex: \"\\\\/\",\n next: \"regex\"\n }, {\n token : \"text\",\n regex : \"\\\\s+|^$\",\n next : \"start\"\n }, {\n token: \"empty\",\n regex: \"\",\n next: \"no_regex\"\n }\n ],\n \"regex\": [\n {\n token: \"regexp.keyword.operator\",\n regex: \"\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)\"\n }, {\n token: \"string.regexp\",\n regex: \"/[sxngimy]*\",\n next: \"no_regex\"\n }, {\n token : \"invalid\",\n regex: /\\{\\d+\\b,?\\d*\\}[+*]|[+*$^?][+*]|[$^][?]|\\?{3,}/\n }, {\n token : \"constant.language.escape\",\n regex: /\\(\\?[:=!]|\\)|\\{\\d+\\b,?\\d*\\}|[+*]\\?|[()$^+*?.]/\n }, {\n token : \"constant.language.delimiter\",\n regex: /\\|/\n }, {\n token: \"constant.language.escape\",\n regex: /\\[\\^?/,\n next: \"regex_character_class\"\n }, {\n token: \"empty\",\n regex: \"$\",\n next: \"no_regex\"\n }, {\n defaultToken: \"string.regexp\"\n }\n ],\n \"regex_character_class\": [\n {\n token: \"regexp.charclass.keyword.operator\",\n regex: \"\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)\"\n }, {\n token: \"constant.language.escape\",\n regex: \"]\",\n next: \"regex\"\n }, {\n token: \"constant.language.escape\",\n regex: \"-\"\n }, {\n token: \"empty\",\n regex: \"$\",\n next: \"no_regex\"\n }, {\n defaultToken: \"string.regexp.charachterclass\"\n }\n ],\n \"function_arguments\": [\n {\n token: \"variable.parameter\",\n regex: identifierRe\n }, {\n token: \"punctuation.operator\",\n regex: \"[, ]+\"\n }, {\n token: \"punctuation.operator\",\n regex: \"$\"\n }, {\n token: \"empty\",\n regex: \"\",\n next: \"no_regex\"\n }\n ],\n \"qqstring\" : [\n {\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"string\",\n regex : \"\\\\\\\\$\",\n next : \"qqstring\"\n }, {\n token : \"string\",\n regex : '\"|$',\n next : \"no_regex\"\n }, {\n defaultToken: \"string\"\n }\n ],\n \"qstring\" : [\n {\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"string\",\n regex : \"\\\\\\\\$\",\n next : \"qstring\"\n }, {\n token : \"string\",\n regex : \"'|$\",\n next : \"no_regex\"\n }, {\n defaultToken: \"string\"\n }\n ]\n };\n \n \n if (!options || !options.noES6) {\n this.$rules.no_regex.unshift({\n regex: \"[{}]\", onMatch: function(val, state, stack) {\n this.next = val == \"{\" ? this.nextState : \"\";\n if (val == \"{\" && stack.length) {\n stack.unshift(\"start\", state);\n }\n else if (val == \"}\" && stack.length) {\n stack.shift();\n this.next = stack.shift();\n if (this.next.indexOf(\"string\") != -1 || this.next.indexOf(\"jsx\") != -1)\n return \"paren.quasi.end\";\n }\n return val == \"{\" ? \"paren.lparen\" : \"paren.rparen\";\n },\n nextState: \"start\"\n }, {\n token : \"string.quasi.start\",\n regex : /`/,\n push : [{\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"paren.quasi.start\",\n regex : /\\${/,\n push : \"start\"\n }, {\n token : \"string.quasi.end\",\n regex : /`/,\n next : \"pop\"\n }, {\n defaultToken: \"string.quasi\"\n }]\n });\n \n if (!options || options.jsx != false)\n JSX.call(this);\n }\n \n this.embedRules(DocCommentHighlightRules, \"doc-\",\n [ DocCommentHighlightRules.getEndRule(\"no_regex\") ]);\n \n this.normalizeRules();\n};\n\noop.inherits(JavaScriptHighlightRules, TextHighlightRules);\n\nfunction JSX() {\n var tagRegex = identifierRe.replace(\"\\\\d\", \"\\\\d\\\\-\");\n var jsxTag = {\n onMatch : function(val, state, stack) {\n var offset = val.charAt(1) == \"/\" ? 2 : 1;\n if (offset == 1) {\n if (state != this.nextState)\n stack.unshift(this.next, this.nextState, 0);\n else\n stack.unshift(this.next);\n stack[2]++;\n } else if (offset == 2) {\n if (state == this.nextState) {\n stack[1]--;\n if (!stack[1] || stack[1] < 0) {\n stack.shift();\n stack.shift();\n }\n }\n }\n return [{\n type: \"meta.tag.punctuation.\" + (offset == 1 ? \"\" : \"end-\") + \"tag-open.xml\",\n value: val.slice(0, offset)\n }, {\n type: \"meta.tag.tag-name.xml\",\n value: val.substr(offset)\n }];\n },\n regex : \"\", \n onMatch : function(value, currentState, stack) {\n if (currentState == stack[0])\n stack.shift();\n if (value.length == 2) {\n if (stack[0] == this.nextState)\n stack[1]--;\n if (!stack[1] || stack[1] < 0) {\n stack.splice(0, 2);\n }\n }\n this.next = stack[0] || \"start\";\n return [{type: this.token, value: value}];\n },\n nextState: \"jsx\"\n }, \n jsxJsRule,\n comments(\"jsxAttributes\"),\n {\n token : \"entity.other.attribute-name.xml\",\n regex : tagRegex\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\"\n }, {\n token : \"text.tag-whitespace.xml\",\n regex : \"\\\\s+\"\n }, {\n token : \"string.attribute-value.xml\",\n regex : \"'\",\n stateName : \"jsx_attr_q\",\n push : [\n {token : \"string.attribute-value.xml\", regex: \"'\", next: \"pop\"},\n {include : \"reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }, {\n token : \"string.attribute-value.xml\",\n regex : '\"',\n stateName : \"jsx_attr_qq\",\n push : [\n {token : \"string.attribute-value.xml\", regex: '\"', next: \"pop\"},\n {include : \"reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n },\n jsxTag\n ];\n this.$rules.reference = [{\n token : \"constant.language.escape.reference.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }];\n}\n\nfunction comments(next) {\n return [\n {\n token : \"comment\", // multi line comment\n regex : /\\/\\*/,\n next: [\n DocCommentHighlightRules.getTagRule(),\n {token : \"comment\", regex : \"\\\\*\\\\/\", next : next || \"pop\"},\n {defaultToken : \"comment\", caseInsensitive: true}\n ]\n }, {\n token : \"comment\",\n regex : \"\\\\/\\\\/\",\n next: [\n DocCommentHighlightRules.getTagRule(),\n {token : \"comment\", regex : \"$|^\", next : next || \"pop\"},\n {defaultToken : \"comment\", caseInsensitive: true}\n ]\n }\n ];\n}\nexports.JavaScriptHighlightRules = JavaScriptHighlightRules;\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\n\nvar MatchingBraceOutdent = function() {};\n\n(function() {\n\n this.checkOutdent = function(line, input) {\n if (! /^\\s+$/.test(line))\n return false;\n\n return /^\\s*\\}/.test(input);\n };\n\n this.autoOutdent = function(doc, row) {\n var line = doc.getLine(row);\n var match = line.match(/^(\\s*\\})/);\n\n if (!match) return 0;\n\n var column = match[1].length;\n var openBracePos = doc.findMatchingBracket({row: row, column: column});\n\n if (!openBracePos || openBracePos.row == row) return 0;\n\n var indent = this.$getIndent(doc.getLine(openBracePos.row));\n doc.replace(new Range(row, 0, row, column-1), indent);\n };\n\n this.$getIndent = function(line) {\n return line.match(/^\\s*/)[0];\n };\n\n}).call(MatchingBraceOutdent.prototype);\n\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(\n this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start)\n );\n this.foldingStopMarker = new RegExp(\n this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end)\n );\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\{|\\[)[^\\}\\]]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{]*(\\}|\\])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe= /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n \n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n \n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n \n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n \n return fw;\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n \n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n } else if (foldStyle != \"all\")\n range = null;\n }\n \n return range;\n }\n\n if (foldStyle === \"markbegin\")\n return;\n\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n \n this.getSectionRange = function(session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n \n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n } else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n } else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n \n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function(session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n \n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth--;\n else depth++;\n\n if (!depth) break;\n }\n\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/javascript\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/worker/worker_client\",\"ace/mode/behaviour/cstyle\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar CstyleBehaviour = acequire(\"./behaviour/cstyle\").CstyleBehaviour;\nvar CStyleFoldMode = acequire(\"./folding/cstyle\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = JavaScriptHighlightRules;\n \n this.$outdent = new MatchingBraceOutdent();\n this.$behaviour = new CstyleBehaviour();\n this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.lineCommentStart = \"//\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n var indent = this.$getIndent(line);\n\n var tokenizedLine = this.getTokenizer().getLineTokens(line, state);\n var tokens = tokenizedLine.tokens;\n var endState = tokenizedLine.state;\n\n if (tokens.length && tokens[tokens.length-1].type == \"comment\") {\n return indent;\n }\n\n if (state == \"start\" || state == \"no_regex\") {\n var match = line.match(/^.*(?:\\bcase\\b.*:|[\\{\\(\\[])\\s*$/);\n if (match) {\n indent += tab;\n }\n } else if (state == \"doc-start\") {\n if (endState == \"start\" || endState == \"no_regex\") {\n return \"\";\n }\n var match = line.match(/^\\s*(\\/?)\\*/);\n if (match) {\n if (match[1]) {\n indent += \" \";\n }\n indent += \"* \";\n }\n }\n\n return indent;\n };\n\n this.checkOutdent = function(state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n\n this.autoOutdent = function(state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], __webpack_require__(1187), \"JavaScriptWorker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"annotate\", function(results) {\n session.setAnnotations(results.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/javascript\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/xml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar XmlHighlightRules = function(normalize) {\n var tagRegex = \"[_:a-zA-Z\\xc0-\\uffff][-_:.a-zA-Z0-9\\xc0-\\uffff]*\";\n\n this.$rules = {\n start : [\n {token : \"string.cdata.xml\", regex : \"<\\\\!\\\\[CDATA\\\\[\", next : \"cdata\"},\n {\n token : [\"punctuation.xml-decl.xml\", \"keyword.xml-decl.xml\"],\n regex : \"(<\\\\?)(xml)(?=[\\\\s])\", next : \"xml_decl\", caseInsensitive: true\n },\n {\n token : [\"punctuation.instruction.xml\", \"keyword.instruction.xml\"],\n regex : \"(<\\\\?)(\" + tagRegex + \")\", next : \"processing_instruction\"\n },\n {token : \"comment.xml\", regex : \"<\\\\!--\", next : \"comment\"},\n {\n token : [\"xml-pe.doctype.xml\", \"xml-pe.doctype.xml\"],\n regex : \"(<\\\\!)(DOCTYPE)(?=[\\\\s])\", next : \"doctype\", caseInsensitive: true\n },\n {include : \"tag\"},\n {token : \"text.end-tag-open.xml\", regex: \"\",\n next : \"start\"\n }],\n\n processing_instruction : [\n {token : \"punctuation.instruction.xml\", regex : \"\\\\?>\", next : \"start\"},\n {defaultToken : \"instruction.xml\"}\n ],\n\n doctype : [\n {include : \"whitespace\"},\n {include : \"string\"},\n {token : \"xml-pe.doctype.xml\", regex : \">\", next : \"start\"},\n {token : \"xml-pe.xml\", regex : \"[-_a-zA-Z0-9:]+\"},\n {token : \"punctuation.int-subset\", regex : \"\\\\[\", push : \"int_subset\"}\n ],\n\n int_subset : [{\n token : \"text.xml\",\n regex : \"\\\\s+\"\n }, {\n token: \"punctuation.int-subset.xml\",\n regex: \"]\",\n next: \"pop\"\n }, {\n token : [\"punctuation.markup-decl.xml\", \"keyword.markup-decl.xml\"],\n regex : \"(<\\\\!)(\" + tagRegex + \")\",\n push : [{\n token : \"text\",\n regex : \"\\\\s+\"\n },\n {\n token : \"punctuation.markup-decl.xml\",\n regex : \">\",\n next : \"pop\"\n },\n {include : \"string\"}]\n }],\n\n cdata : [\n {token : \"string.cdata.xml\", regex : \"\\\\]\\\\]>\", next : \"start\"},\n {token : \"text.xml\", regex : \"\\\\s+\"},\n {token : \"text.xml\", regex : \"(?:[^\\\\]]|\\\\](?!\\\\]>))+\"}\n ],\n\n comment : [\n {token : \"comment.xml\", regex : \"-->\", next : \"start\"},\n {defaultToken : \"comment.xml\"}\n ],\n\n reference : [{\n token : \"constant.language.escape.reference.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n\n attr_reference : [{\n token : \"constant.language.escape.reference.attribute-value.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n\n tag : [{\n token : [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.tag-name.xml\"],\n regex : \"(?:(<)|(\", next : \"start\"}\n ]\n }],\n\n tag_whitespace : [\n {token : \"text.tag-whitespace.xml\", regex : \"\\\\s+\"}\n ],\n whitespace : [\n {token : \"text.whitespace.xml\", regex : \"\\\\s+\"}\n ],\n string: [{\n token : \"string.xml\",\n regex : \"'\",\n push : [\n {token : \"string.xml\", regex: \"'\", next: \"pop\"},\n {defaultToken : \"string.xml\"}\n ]\n }, {\n token : \"string.xml\",\n regex : '\"',\n push : [\n {token : \"string.xml\", regex: '\"', next: \"pop\"},\n {defaultToken : \"string.xml\"}\n ]\n }],\n\n attributes: [{\n token : \"entity.other.attribute-name.xml\",\n regex : \"(?:\" + tagRegex + \":)?\" + tagRegex + \"\"\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\"\n }, {\n include: \"tag_whitespace\"\n }, {\n include: \"attribute_value\"\n }],\n\n attribute_value: [{\n token : \"string.attribute-value.xml\",\n regex : \"'\",\n push : [\n {token : \"string.attribute-value.xml\", regex: \"'\", next: \"pop\"},\n {include : \"attr_reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }, {\n token : \"string.attribute-value.xml\",\n regex : '\"',\n push : [\n {token : \"string.attribute-value.xml\", regex: '\"', next: \"pop\"},\n {include : \"attr_reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }]\n };\n\n if (this.constructor === XmlHighlightRules)\n this.normalizeRules();\n};\n\n\n(function() {\n\n this.embedTagRules = function(HighlightRules, prefix, tag){\n this.$rules.tag.unshift({\n token : [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex : \"(<)(\" + tag + \"(?=\\\\s|>|$))\",\n next: [\n {include : \"attributes\"},\n {token : \"meta.tag.punctuation.tag-close.xml\", regex : \"/?>\", next : prefix + \"start\"}\n ]\n });\n\n this.$rules[tag + \"-end\"] = [\n {include : \"attributes\"},\n {token : \"meta.tag.punctuation.tag-close.xml\", regex : \"/?>\", next: \"start\",\n onMatch : function(value, currentState, stack) {\n stack.splice(0);\n return this.token;\n }}\n ]\n\n this.embedRules(HighlightRules, prefix, [{\n token: [\"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex : \"(|$))\",\n next: tag + \"-end\"\n }, {\n token: \"string.cdata.xml\",\n regex : \"<\\\\!\\\\[CDATA\\\\[\"\n }, {\n token: \"string.cdata.xml\",\n regex : \"\\\\]\\\\]>\"\n }]);\n };\n\n}).call(TextHighlightRules.prototype);\n\noop.inherits(XmlHighlightRules, TextHighlightRules);\n\nexports.XmlHighlightRules = XmlHighlightRules;\n});\n\nace.define(\"ace/mode/behaviour/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Behaviour = acequire(\"../behaviour\").Behaviour;\nvar TokenIterator = acequire(\"../../token_iterator\").TokenIterator;\nvar lang = acequire(\"../../lib/lang\");\n\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n\nvar XmlBehaviour = function () {\n\n this.add(\"string_dquotes\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '\"' || text == \"'\") {\n var quote = text;\n var selected = session.doc.getTextRange(editor.getSelectionRange());\n if (selected !== \"\" && selected !== \"'\" && selected != '\"' && editor.getWrapBehavioursEnabled()) {\n return {\n text: quote + selected + quote,\n selection: false\n };\n }\n\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n\n if (rightChar == quote && (is(token, \"attribute-value\") || is(token, \"string\"))) {\n return {\n text: \"\",\n selection: [1, 1]\n };\n }\n\n if (!token)\n token = iterator.stepBackward();\n\n if (!token)\n return;\n\n while (is(token, \"tag-whitespace\") || is(token, \"whitespace\")) {\n token = iterator.stepBackward();\n }\n var rightSpace = !rightChar || rightChar.match(/\\s/);\n if (is(token, \"attribute-equals\") && (rightSpace || rightChar == '>') || (is(token, \"decl-attribute-equals\") && (rightSpace || rightChar == '?'))) {\n return {\n text: quote + quote,\n selection: [1, 1]\n };\n }\n }\n });\n\n this.add(\"string_dquotes\", \"deletion\", function(state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && (selected == '\"' || selected == \"'\")) {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n if (rightChar == selected) {\n range.end.column++;\n return range;\n }\n }\n });\n\n this.add(\"autoclosing\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '>') {\n var position = editor.getSelectionRange().start;\n var iterator = new TokenIterator(session, position.row, position.column);\n var token = iterator.getCurrentToken() || iterator.stepBackward();\n if (!token || !(is(token, \"tag-name\") || is(token, \"tag-whitespace\") || is(token, \"attribute-name\") || is(token, \"attribute-equals\") || is(token, \"attribute-value\")))\n return;\n if (is(token, \"reference.attribute-value\"))\n return;\n if (is(token, \"attribute-value\")) {\n var firstChar = token.value.charAt(0);\n if (firstChar == '\"' || firstChar == \"'\") {\n var lastChar = token.value.charAt(token.value.length - 1);\n var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;\n if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)\n return;\n }\n }\n while (!is(token, \"tag-name\")) {\n token = iterator.stepBackward();\n if (token.value == \"<\") {\n token = iterator.stepForward();\n break;\n }\n }\n\n var tokenRow = iterator.getCurrentTokenRow();\n var tokenColumn = iterator.getCurrentTokenColumn();\n if (is(iterator.stepBackward(), \"end-tag-open\"))\n return;\n\n var element = token.value;\n if (tokenRow == position.row)\n element = element.substring(0, position.column - tokenColumn);\n\n if (this.voidElements.hasOwnProperty(element.toLowerCase()))\n return;\n\n return {\n text: \">\" + \"\",\n selection: [1, 1]\n };\n }\n });\n\n this.add(\"autoindent\", \"insertion\", function (state, action, editor, session, text) {\n if (text == \"\\n\") {\n var cursor = editor.getCursorPosition();\n var line = session.getLine(cursor.row);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n\n if (token && token.type.indexOf(\"tag-close\") !== -1) {\n if (token.value == \"/>\")\n return;\n while (token && token.type.indexOf(\"tag-name\") === -1) {\n token = iterator.stepBackward();\n }\n\n if (!token) {\n return;\n }\n\n var tag = token.value;\n var row = iterator.getCurrentTokenRow();\n token = iterator.stepBackward();\n if (!token || token.type.indexOf(\"end-tag\") !== -1) {\n return;\n }\n\n if (this.voidElements && !this.voidElements[tag]) {\n var nextToken = session.getTokenAt(cursor.row, cursor.column+1);\n var line = session.getLine(row);\n var nextIndent = this.$getIndent(line);\n var indent = nextIndent + session.getTabString();\n\n if (nextToken && nextToken.value === \" -1;\n}\n\n(function() {\n\n this.getFoldWidget = function(session, foldStyle, row) {\n var tag = this._getFirstTagInLine(session, row);\n\n if (!tag)\n return \"\";\n\n if (tag.closing || (!tag.tagName && tag.selfClosing))\n return foldStyle == \"markbeginend\" ? \"end\" : \"\";\n\n if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))\n return \"\";\n\n if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))\n return \"\";\n\n return \"start\";\n };\n this._getFirstTagInLine = function(session, row) {\n var tokens = session.getTokens(row);\n var tag = new Tag();\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (is(token, \"tag-open\")) {\n tag.end.column = tag.start.column + token.value.length;\n tag.closing = is(token, \"end-tag-open\");\n token = tokens[++i];\n if (!token)\n return null;\n tag.tagName = token.value;\n tag.end.column += token.value.length;\n for (i++; i < tokens.length; i++) {\n token = tokens[i];\n tag.end.column += token.value.length;\n if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n break;\n }\n }\n return tag;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n return tag;\n }\n tag.start.column += token.value.length;\n }\n\n return null;\n };\n\n this._findEndTagInLine = function(session, row, tagName, startColumn) {\n var tokens = session.getTokens(row);\n var column = 0;\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n column += token.value.length;\n if (column < startColumn)\n continue;\n if (is(token, \"end-tag-open\")) {\n token = tokens[i + 1];\n if (token && token.value == tagName)\n return true;\n }\n }\n return false;\n };\n this._readTagForward = function(iterator) {\n var token = iterator.getCurrentToken();\n if (!token)\n return null;\n\n var tag = new Tag();\n do {\n if (is(token, \"tag-open\")) {\n tag.closing = is(token, \"end-tag-open\");\n tag.start.row = iterator.getCurrentTokenRow();\n tag.start.column = iterator.getCurrentTokenColumn();\n } else if (is(token, \"tag-name\")) {\n tag.tagName = token.value;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == \"/>\";\n tag.end.row = iterator.getCurrentTokenRow();\n tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;\n iterator.stepForward();\n return tag;\n }\n } while(token = iterator.stepForward());\n\n return null;\n };\n \n this._readTagBackward = function(iterator) {\n var token = iterator.getCurrentToken();\n if (!token)\n return null;\n\n var tag = new Tag();\n do {\n if (is(token, \"tag-open\")) {\n tag.closing = is(token, \"end-tag-open\");\n tag.start.row = iterator.getCurrentTokenRow();\n tag.start.column = iterator.getCurrentTokenColumn();\n iterator.stepBackward();\n return tag;\n } else if (is(token, \"tag-name\")) {\n tag.tagName = token.value;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == \"/>\";\n tag.end.row = iterator.getCurrentTokenRow();\n tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;\n }\n } while(token = iterator.stepBackward());\n\n return null;\n };\n \n this._pop = function(stack, tag) {\n while (stack.length) {\n \n var top = stack[stack.length-1];\n if (!tag || top.tagName == tag.tagName) {\n return stack.pop();\n }\n else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {\n stack.pop();\n continue;\n } else {\n return null;\n }\n }\n };\n \n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var firstTag = this._getFirstTagInLine(session, row);\n \n if (!firstTag)\n return null;\n \n var isBackward = firstTag.closing || firstTag.selfClosing;\n var stack = [];\n var tag;\n \n if (!isBackward) {\n var iterator = new TokenIterator(session, row, firstTag.start.column);\n var start = {\n row: row,\n column: firstTag.start.column + firstTag.tagName.length + 2\n };\n if (firstTag.start.row == firstTag.end.row)\n start.column = firstTag.end.column;\n while (tag = this._readTagForward(iterator)) {\n if (tag.selfClosing) {\n if (!stack.length) {\n tag.start.column += tag.tagName.length + 2;\n tag.end.column -= 2;\n return Range.fromPoints(tag.start, tag.end);\n } else\n continue;\n }\n \n if (tag.closing) {\n this._pop(stack, tag);\n if (stack.length == 0)\n return Range.fromPoints(start, tag.start);\n }\n else {\n stack.push(tag);\n }\n }\n }\n else {\n var iterator = new TokenIterator(session, row, firstTag.end.column);\n var end = {\n row: row,\n column: firstTag.start.column\n };\n \n while (tag = this._readTagBackward(iterator)) {\n if (tag.selfClosing) {\n if (!stack.length) {\n tag.start.column += tag.tagName.length + 2;\n tag.end.column -= 2;\n return Range.fromPoints(tag.start, tag.end);\n } else\n continue;\n }\n \n if (!tag.closing) {\n this._pop(stack, tag);\n if (stack.length == 0) {\n tag.start.column += tag.tagName.length + 2;\n if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)\n tag.start.column = tag.end.column;\n return Range.fromPoints(tag.start, end);\n }\n }\n else {\n stack.push(tag);\n }\n }\n }\n \n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/xml_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/xml\",\"ace/worker/worker_client\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextMode = acequire(\"./text\").Mode;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\nvar XmlBehaviour = acequire(\"./behaviour/xml\").XmlBehaviour;\nvar XmlFoldMode = acequire(\"./folding/xml\").FoldMode;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\n\nvar Mode = function() {\n this.HighlightRules = XmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.foldingRules = new XmlFoldMode();\n};\n\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.voidElements = lang.arrayToMap([]);\n\n this.blockComment = {start: \"\"};\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], __webpack_require__(1188), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"error\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n \n this.$id = \"ace/mode/xml\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/css_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar supportType = exports.supportType = \"align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index\";\nvar supportFunction = exports.supportFunction = \"rgb|rgba|url|attr|counter|counters\";\nvar supportConstant = exports.supportConstant = \"absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero\";\nvar supportConstantColor = exports.supportConstantColor = \"aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow\";\nvar supportConstantFonts = exports.supportConstantFonts = \"arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace\";\n\nvar numRe = exports.numRe = \"\\\\-?(?:(?:[0-9]+)|(?:[0-9]*\\\\.[0-9]+))\";\nvar pseudoElements = exports.pseudoElements = \"(\\\\:+)\\\\b(after|before|first-letter|first-line|moz-selection|selection)\\\\b\";\nvar pseudoClasses = exports.pseudoClasses = \"(:)\\\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|acequired|root|target|valid|visited)\\\\b\";\n\nvar CssHighlightRules = function() {\n\n var keywordMapper = this.createKeywordMapper({\n \"support.function\": supportFunction,\n \"support.constant\": supportConstant,\n \"support.type\": supportType,\n \"support.constant.color\": supportConstantColor,\n \"support.constant.fonts\": supportConstantFonts\n }, \"text\", true);\n\n this.$rules = {\n \"start\" : [{\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token: \"paren.lparen\",\n regex: \"\\\\{\",\n push: \"ruleset\"\n }, {\n token: \"string\",\n regex: \"@.*?{\",\n push: \"media\"\n }, {\n token: \"keyword\",\n regex: \"#[a-z0-9-_]+\"\n }, {\n token: \"variable\",\n regex: \"\\\\.[a-z0-9-_]+\"\n }, {\n token: \"string\",\n regex: \":[a-z0-9-_]+\"\n }, {\n token: \"constant\",\n regex: \"[a-z0-9-_]+\"\n }, {\n caseInsensitive: true\n }],\n\n \"media\" : [{\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token: \"paren.lparen\",\n regex: \"\\\\{\",\n push: \"ruleset\"\n }, {\n token: \"string\",\n regex: \"\\\\}\",\n next: \"pop\"\n }, {\n token: \"keyword\",\n regex: \"#[a-z0-9-_]+\"\n }, {\n token: \"variable\",\n regex: \"\\\\.[a-z0-9-_]+\"\n }, {\n token: \"string\",\n regex: \":[a-z0-9-_]+\"\n }, {\n token: \"constant\",\n regex: \"[a-z0-9-_]+\"\n }, {\n caseInsensitive: true\n }],\n\n \"comment\" : [{\n token : \"comment\",\n regex : \"\\\\*\\\\/\",\n next : \"pop\"\n }, {\n defaultToken : \"comment\"\n }],\n\n \"ruleset\" : [\n {\n token : \"paren.rparen\",\n regex : \"\\\\}\",\n next: \"pop\"\n }, {\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token : \"string\", // single line\n regex : '[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]'\n }, {\n token : \"string\", // single line\n regex : \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"\n }, {\n token : [\"constant.numeric\", \"keyword\"],\n regex : \"(\" + numRe + \")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)\"\n }, {\n token : \"constant.numeric\",\n regex : numRe\n }, {\n token : \"constant.numeric\", // hex6 color\n regex : \"#[a-f0-9]{6}\"\n }, {\n token : \"constant.numeric\", // hex3 color\n regex : \"#[a-f0-9]{3}\"\n }, {\n token : [\"punctuation\", \"entity.other.attribute-name.pseudo-element.css\"],\n regex : pseudoElements\n }, {\n token : [\"punctuation\", \"entity.other.attribute-name.pseudo-class.css\"],\n regex : pseudoClasses\n }, {\n token : [\"support.function\", \"string\", \"support.function\"],\n regex : \"(url\\\\()(.*)(\\\\))\"\n }, {\n token : keywordMapper,\n regex : \"\\\\-?[a-zA-Z_][a-zA-Z0-9_\\\\-]*\"\n }, {\n caseInsensitive: true\n }]\n };\n\n this.normalizeRules();\n};\n\noop.inherits(CssHighlightRules, TextHighlightRules);\n\nexports.CssHighlightRules = CssHighlightRules;\n\n});\n\nace.define(\"ace/mode/css_completions\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar propertyMap = {\n \"background\": {\"#$0\": 1},\n \"background-color\": {\"#$0\": 1, \"transparent\": 1, \"fixed\": 1},\n \"background-image\": {\"url('/$0')\": 1},\n \"background-repeat\": {\"repeat\": 1, \"repeat-x\": 1, \"repeat-y\": 1, \"no-repeat\": 1, \"inherit\": 1},\n \"background-position\": {\"bottom\":2, \"center\":2, \"left\":2, \"right\":2, \"top\":2, \"inherit\":2},\n \"background-attachment\": {\"scroll\": 1, \"fixed\": 1},\n \"background-size\": {\"cover\": 1, \"contain\": 1},\n \"background-clip\": {\"border-box\": 1, \"padding-box\": 1, \"content-box\": 1},\n \"background-origin\": {\"border-box\": 1, \"padding-box\": 1, \"content-box\": 1},\n \"border\": {\"solid $0\": 1, \"dashed $0\": 1, \"dotted $0\": 1, \"#$0\": 1},\n \"border-color\": {\"#$0\": 1},\n \"border-style\": {\"solid\":2, \"dashed\":2, \"dotted\":2, \"double\":2, \"groove\":2, \"hidden\":2, \"inherit\":2, \"inset\":2, \"none\":2, \"outset\":2, \"ridged\":2},\n \"border-collapse\": {\"collapse\": 1, \"separate\": 1},\n \"bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"clear\": {\"left\": 1, \"right\": 1, \"both\": 1, \"none\": 1},\n \"color\": {\"#$0\": 1, \"rgb(#$00,0,0)\": 1},\n \"cursor\": {\"default\": 1, \"pointer\": 1, \"move\": 1, \"text\": 1, \"wait\": 1, \"help\": 1, \"progress\": 1, \"n-resize\": 1, \"ne-resize\": 1, \"e-resize\": 1, \"se-resize\": 1, \"s-resize\": 1, \"sw-resize\": 1, \"w-resize\": 1, \"nw-resize\": 1},\n \"display\": {\"none\": 1, \"block\": 1, \"inline\": 1, \"inline-block\": 1, \"table-cell\": 1},\n \"empty-cells\": {\"show\": 1, \"hide\": 1},\n \"float\": {\"left\": 1, \"right\": 1, \"none\": 1},\n \"font-family\": {\"Arial\":2,\"Comic Sans MS\":2,\"Consolas\":2,\"Courier New\":2,\"Courier\":2,\"Georgia\":2,\"Monospace\":2,\"Sans-Serif\":2, \"Segoe UI\":2,\"Tahoma\":2,\"Times New Roman\":2,\"Trebuchet MS\":2,\"Verdana\": 1},\n \"font-size\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"font-weight\": {\"bold\": 1, \"normal\": 1},\n \"font-style\": {\"italic\": 1, \"normal\": 1},\n \"font-variant\": {\"normal\": 1, \"small-caps\": 1},\n \"height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"letter-spacing\": {\"normal\": 1},\n \"line-height\": {\"normal\": 1},\n \"list-style-type\": {\"none\": 1, \"disc\": 1, \"circle\": 1, \"square\": 1, \"decimal\": 1, \"decimal-leading-zero\": 1, \"lower-roman\": 1, \"upper-roman\": 1, \"lower-greek\": 1, \"lower-latin\": 1, \"upper-latin\": 1, \"georgian\": 1, \"lower-alpha\": 1, \"upper-alpha\": 1},\n \"margin\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"max-height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"max-width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"min-height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"min-width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"overflow\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"overflow-x\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"overflow-y\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"padding\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"page-break-after\": {\"auto\": 1, \"always\": 1, \"avoid\": 1, \"left\": 1, \"right\": 1},\n \"page-break-before\": {\"auto\": 1, \"always\": 1, \"avoid\": 1, \"left\": 1, \"right\": 1},\n \"position\": {\"absolute\": 1, \"relative\": 1, \"fixed\": 1, \"static\": 1},\n \"right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"table-layout\": {\"fixed\": 1, \"auto\": 1},\n \"text-decoration\": {\"none\": 1, \"underline\": 1, \"line-through\": 1, \"blink\": 1},\n \"text-align\": {\"left\": 1, \"right\": 1, \"center\": 1, \"justify\": 1},\n \"text-transform\": {\"capitalize\": 1, \"uppercase\": 1, \"lowercase\": 1, \"none\": 1},\n \"top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"vertical-align\": {\"top\": 1, \"bottom\": 1},\n \"visibility\": {\"hidden\": 1, \"visible\": 1},\n \"white-space\": {\"nowrap\": 1, \"normal\": 1, \"pre\": 1, \"pre-line\": 1, \"pre-wrap\": 1},\n \"width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"word-spacing\": {\"normal\": 1},\n \"filter\": {\"alpha(opacity=$0100)\": 1},\n\n \"text-shadow\": {\"$02px 2px 2px #777\": 1},\n \"text-overflow\": {\"ellipsis-word\": 1, \"clip\": 1, \"ellipsis\": 1},\n \"-moz-border-radius\": 1,\n \"-moz-border-radius-topright\": 1,\n \"-moz-border-radius-bottomright\": 1,\n \"-moz-border-radius-topleft\": 1,\n \"-moz-border-radius-bottomleft\": 1,\n \"-webkit-border-radius\": 1,\n \"-webkit-border-top-right-radius\": 1,\n \"-webkit-border-top-left-radius\": 1,\n \"-webkit-border-bottom-right-radius\": 1,\n \"-webkit-border-bottom-left-radius\": 1,\n \"-moz-box-shadow\": 1,\n \"-webkit-box-shadow\": 1,\n \"transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1},\n \"-moz-transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1},\n \"-webkit-transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1 }\n};\n\nvar CssCompletions = function() {\n\n};\n\n(function() {\n\n this.completionsDefined = false;\n\n this.defineCompletions = function() {\n if (document) {\n var style = document.createElement('c').style;\n\n for (var i in style) {\n if (typeof style[i] !== 'string')\n continue;\n\n var name = i.replace(/[A-Z]/g, function(x) {\n return '-' + x.toLowerCase();\n });\n\n if (!propertyMap.hasOwnProperty(name))\n propertyMap[name] = 1;\n }\n }\n\n this.completionsDefined = true;\n }\n\n this.getCompletions = function(state, session, pos, prefix) {\n if (!this.completionsDefined) {\n this.defineCompletions();\n }\n\n var token = session.getTokenAt(pos.row, pos.column);\n\n if (!token)\n return [];\n if (state==='ruleset'){\n var line = session.getLine(pos.row).substr(0, pos.column);\n if (/:[^;]+$/.test(line)) {\n /([\\w\\-]+):[^:]*$/.test(line);\n\n return this.getPropertyValueCompletions(state, session, pos, prefix);\n } else {\n return this.getPropertyCompletions(state, session, pos, prefix);\n }\n }\n\n return [];\n };\n\n this.getPropertyCompletions = function(state, session, pos, prefix) {\n var properties = Object.keys(propertyMap);\n return properties.map(function(property){\n return {\n caption: property,\n snippet: property + ': $0',\n meta: \"property\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getPropertyValueCompletions = function(state, session, pos, prefix) {\n var line = session.getLine(pos.row).substr(0, pos.column);\n var property = (/([\\w\\-]+):[^:]*$/.exec(line) || {})[1];\n\n if (!property)\n return [];\n var values = [];\n if (property in propertyMap && typeof propertyMap[property] === \"object\") {\n values = Object.keys(propertyMap[property]);\n }\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"property value\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n}).call(CssCompletions.prototype);\n\nexports.CssCompletions = CssCompletions;\n});\n\nace.define(\"ace/mode/behaviour/css\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/mode/behaviour/cstyle\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Behaviour = acequire(\"../behaviour\").Behaviour;\nvar CstyleBehaviour = acequire(\"./cstyle\").CstyleBehaviour;\nvar TokenIterator = acequire(\"../../token_iterator\").TokenIterator;\n\nvar CssBehaviour = function () {\n\n this.inherit(CstyleBehaviour);\n\n this.add(\"colon\", \"insertion\", function (state, action, editor, session, text) {\n if (text === ':') {\n var cursor = editor.getCursorPosition();\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.value.match(/\\s+/)) {\n token = iterator.stepBackward();\n }\n if (token && token.type === 'support.type') {\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n if (rightChar === ':') {\n return {\n text: '',\n selection: [1, 1]\n }\n }\n if (!line.substring(cursor.column).match(/^\\s*;/)) {\n return {\n text: ':;',\n selection: [1, 1]\n }\n }\n }\n }\n });\n\n this.add(\"colon\", \"deletion\", function (state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && selected === ':') {\n var cursor = editor.getCursorPosition();\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.value.match(/\\s+/)) {\n token = iterator.stepBackward();\n }\n if (token && token.type === 'support.type') {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.end.column, range.end.column + 1);\n if (rightChar === ';') {\n range.end.column ++;\n return range;\n }\n }\n }\n });\n\n this.add(\"semicolon\", \"insertion\", function (state, action, editor, session, text) {\n if (text === ';') {\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n if (rightChar === ';') {\n return {\n text: '',\n selection: [1, 1]\n }\n }\n }\n });\n\n}\noop.inherits(CssBehaviour, CstyleBehaviour);\n\nexports.CssBehaviour = CssBehaviour;\n});\n\nace.define(\"ace/mode/css\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/css_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/worker/worker_client\",\"ace/mode/css_completions\",\"ace/mode/behaviour/css\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar CssCompletions = acequire(\"./css_completions\").CssCompletions;\nvar CssBehaviour = acequire(\"./behaviour/css\").CssBehaviour;\nvar CStyleFoldMode = acequire(\"./folding/cstyle\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = CssHighlightRules;\n this.$outdent = new MatchingBraceOutdent();\n this.$behaviour = new CssBehaviour();\n this.$completer = new CssCompletions();\n this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.foldingRules = \"cStyle\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n var indent = this.$getIndent(line);\n var tokens = this.getTokenizer().getLineTokens(line, state).tokens;\n if (tokens.length && tokens[tokens.length-1].type == \"comment\") {\n return indent;\n }\n\n var match = line.match(/^.*\\{\\s*$/);\n if (match) {\n indent += tab;\n }\n\n return indent;\n };\n\n this.checkOutdent = function(state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n\n this.autoOutdent = function(state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n\n this.getCompletions = function(state, session, pos, prefix) {\n return this.$completer.getCompletions(state, session, pos, prefix);\n };\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], __webpack_require__(1189), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"annotate\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/css\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\nace.define(\"ace/mode/html_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/css_highlight_rules\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/xml_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\n\nvar tagMap = lang.createMap({\n a : 'anchor',\n button \t : 'form',\n form : 'form',\n img : 'image',\n input : 'form',\n label : 'form',\n option : 'form',\n script : 'script',\n select : 'form',\n textarea : 'form',\n style : 'style',\n table : 'table',\n tbody : 'table',\n td : 'table',\n tfoot : 'table',\n th : 'table',\n tr : 'table'\n});\n\nvar HtmlHighlightRules = function() {\n XmlHighlightRules.call(this);\n\n this.addRules({\n attributes: [{\n include : \"tag_whitespace\"\n }, {\n token : \"entity.other.attribute-name.xml\",\n regex : \"[-_a-zA-Z0-9:.]+\"\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\",\n push : [{\n include: \"tag_whitespace\"\n }, {\n token : \"string.unquoted.attribute-value.html\",\n regex : \"[^<>='\\\"`\\\\s]+\",\n next : \"pop\"\n }, {\n token : \"empty\",\n regex : \"\",\n next : \"pop\"\n }]\n }, {\n include : \"attribute_value\"\n }],\n tag: [{\n token : function(start, tag) {\n var group = tagMap[tag];\n return [\"meta.tag.punctuation.\" + (start == \"<\" ? \"\" : \"end-\") + \"tag-open.xml\",\n \"meta.tag\" + (group ? \".\" + group : \"\") + \".tag-name.xml\"];\n },\n regex : \"(\", next : \"start\"}\n ]\n });\n\n this.embedTagRules(CssHighlightRules, \"css-\", \"style\");\n this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), \"js-\", \"script\");\n\n if (this.constructor === HtmlHighlightRules)\n this.normalizeRules();\n};\n\noop.inherits(HtmlHighlightRules, XmlHighlightRules);\n\nexports.HtmlHighlightRules = HtmlHighlightRules;\n});\n\nace.define(\"ace/mode/folding/mixed\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(defaultMode, subModes) {\n this.defaultMode = defaultMode;\n this.subModes = subModes;\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n\n\n this.$getMode = function(state) {\n if (typeof state != \"string\") \n state = state[0];\n for (var key in this.subModes) {\n if (state.indexOf(key) === 0)\n return this.subModes[key];\n }\n return null;\n };\n \n this.$tryMode = function(state, session, foldStyle, row) {\n var mode = this.$getMode(state);\n return (mode ? mode.getFoldWidget(session, foldStyle, row) : \"\");\n };\n\n this.getFoldWidget = function(session, foldStyle, row) {\n return (\n this.$tryMode(session.getState(row-1), session, foldStyle, row) ||\n this.$tryMode(session.getState(row), session, foldStyle, row) ||\n this.defaultMode.getFoldWidget(session, foldStyle, row)\n );\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var mode = this.$getMode(session.getState(row-1));\n \n if (!mode || !mode.getFoldWidget(session, foldStyle, row))\n mode = this.$getMode(session.getState(row));\n \n if (!mode || !mode.getFoldWidget(session, foldStyle, row))\n mode = this.defaultMode;\n \n return mode.getFoldWidgetRange(session, foldStyle, row);\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/folding/html\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/mixed\",\"ace/mode/folding/xml\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar MixedFoldMode = acequire(\"./mixed\").FoldMode;\nvar XmlFoldMode = acequire(\"./xml\").FoldMode;\nvar CStyleFoldMode = acequire(\"./cstyle\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(voidElements, optionalTags) {\n MixedFoldMode.call(this, new XmlFoldMode(voidElements, optionalTags), {\n \"js-\": new CStyleFoldMode(),\n \"css-\": new CStyleFoldMode()\n });\n};\n\noop.inherits(FoldMode, MixedFoldMode);\n\n});\n\nace.define(\"ace/mode/html_completions\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\nvar commonAttributes = [\n \"accesskey\",\n \"class\",\n \"contenteditable\",\n \"contextmenu\",\n \"dir\",\n \"draggable\",\n \"dropzone\",\n \"hidden\",\n \"id\",\n \"inert\",\n \"itemid\",\n \"itemprop\",\n \"itemref\",\n \"itemscope\",\n \"itemtype\",\n \"lang\",\n \"spellcheck\",\n \"style\",\n \"tabindex\",\n \"title\",\n \"translate\"\n];\n\nvar eventAttributes = [\n \"onabort\",\n \"onblur\",\n \"oncancel\",\n \"oncanplay\",\n \"oncanplaythrough\",\n \"onchange\",\n \"onclick\",\n \"onclose\",\n \"oncontextmenu\",\n \"oncuechange\",\n \"ondblclick\",\n \"ondrag\",\n \"ondragend\",\n \"ondragenter\",\n \"ondragleave\",\n \"ondragover\",\n \"ondragstart\",\n \"ondrop\",\n \"ondurationchange\",\n \"onemptied\",\n \"onended\",\n \"onerror\",\n \"onfocus\",\n \"oninput\",\n \"oninvalid\",\n \"onkeydown\",\n \"onkeypress\",\n \"onkeyup\",\n \"onload\",\n \"onloadeddata\",\n \"onloadedmetadata\",\n \"onloadstart\",\n \"onmousedown\",\n \"onmousemove\",\n \"onmouseout\",\n \"onmouseover\",\n \"onmouseup\",\n \"onmousewheel\",\n \"onpause\",\n \"onplay\",\n \"onplaying\",\n \"onprogress\",\n \"onratechange\",\n \"onreset\",\n \"onscroll\",\n \"onseeked\",\n \"onseeking\",\n \"onselect\",\n \"onshow\",\n \"onstalled\",\n \"onsubmit\",\n \"onsuspend\",\n \"ontimeupdate\",\n \"onvolumechange\",\n \"onwaiting\"\n];\n\nvar globalAttributes = commonAttributes.concat(eventAttributes);\n\nvar attributeMap = {\n \"html\": {\"manifest\": 1},\n \"head\": {},\n \"title\": {},\n \"base\": {\"href\": 1, \"target\": 1},\n \"link\": {\"href\": 1, \"hreflang\": 1, \"rel\": {\"stylesheet\": 1, \"icon\": 1}, \"media\": {\"all\": 1, \"screen\": 1, \"print\": 1}, \"type\": {\"text/css\": 1, \"image/png\": 1, \"image/jpeg\": 1, \"image/gif\": 1}, \"sizes\": 1},\n \"meta\": {\"http-equiv\": {\"content-type\": 1}, \"name\": {\"description\": 1, \"keywords\": 1}, \"content\": {\"text/html; charset=UTF-8\": 1}, \"charset\": 1},\n \"style\": {\"type\": 1, \"media\": {\"all\": 1, \"screen\": 1, \"print\": 1}, \"scoped\": 1},\n \"script\": {\"charset\": 1, \"type\": {\"text/javascript\": 1}, \"src\": 1, \"defer\": 1, \"async\": 1},\n \"noscript\": {\"href\": 1},\n \"body\": {\"onafterprint\": 1, \"onbeforeprint\": 1, \"onbeforeunload\": 1, \"onhashchange\": 1, \"onmessage\": 1, \"onoffline\": 1, \"onpopstate\": 1, \"onredo\": 1, \"onresize\": 1, \"onstorage\": 1, \"onundo\": 1, \"onunload\": 1},\n \"section\": {},\n \"nav\": {},\n \"article\": {\"pubdate\": 1},\n \"aside\": {},\n \"h1\": {},\n \"h2\": {},\n \"h3\": {},\n \"h4\": {},\n \"h5\": {},\n \"h6\": {},\n \"header\": {},\n \"footer\": {},\n \"address\": {},\n \"main\": {},\n \"p\": {},\n \"hr\": {},\n \"pre\": {},\n \"blockquote\": {\"cite\": 1},\n \"ol\": {\"start\": 1, \"reversed\": 1},\n \"ul\": {},\n \"li\": {\"value\": 1},\n \"dl\": {},\n \"dt\": {},\n \"dd\": {},\n \"figure\": {},\n \"figcaption\": {},\n \"div\": {},\n \"a\": {\"href\": 1, \"target\": {\"_blank\": 1, \"top\": 1}, \"ping\": 1, \"rel\": {\"nofollow\": 1, \"alternate\": 1, \"author\": 1, \"bookmark\": 1, \"help\": 1, \"license\": 1, \"next\": 1, \"noreferrer\": 1, \"prefetch\": 1, \"prev\": 1, \"search\": 1, \"tag\": 1}, \"media\": 1, \"hreflang\": 1, \"type\": 1},\n \"em\": {},\n \"strong\": {},\n \"small\": {},\n \"s\": {},\n \"cite\": {},\n \"q\": {\"cite\": 1},\n \"dfn\": {},\n \"abbr\": {},\n \"data\": {},\n \"time\": {\"datetime\": 1},\n \"code\": {},\n \"var\": {},\n \"samp\": {},\n \"kbd\": {},\n \"sub\": {},\n \"sup\": {},\n \"i\": {},\n \"b\": {},\n \"u\": {},\n \"mark\": {},\n \"ruby\": {},\n \"rt\": {},\n \"rp\": {},\n \"bdi\": {},\n \"bdo\": {},\n \"span\": {},\n \"br\": {},\n \"wbr\": {},\n \"ins\": {\"cite\": 1, \"datetime\": 1},\n \"del\": {\"cite\": 1, \"datetime\": 1},\n \"img\": {\"alt\": 1, \"src\": 1, \"height\": 1, \"width\": 1, \"usemap\": 1, \"ismap\": 1},\n \"iframe\": {\"name\": 1, \"src\": 1, \"height\": 1, \"width\": 1, \"sandbox\": {\"allow-same-origin\": 1, \"allow-top-navigation\": 1, \"allow-forms\": 1, \"allow-scripts\": 1}, \"seamless\": {\"seamless\": 1}},\n \"embed\": {\"src\": 1, \"height\": 1, \"width\": 1, \"type\": 1},\n \"object\": {\"param\": 1, \"data\": 1, \"type\": 1, \"height\" : 1, \"width\": 1, \"usemap\": 1, \"name\": 1, \"form\": 1, \"classid\": 1},\n \"param\": {\"name\": 1, \"value\": 1},\n \"video\": {\"src\": 1, \"autobuffer\": 1, \"autoplay\": {\"autoplay\": 1}, \"loop\": {\"loop\": 1}, \"controls\": {\"controls\": 1}, \"width\": 1, \"height\": 1, \"poster\": 1, \"muted\": {\"muted\": 1}, \"preload\": {\"auto\": 1, \"metadata\": 1, \"none\": 1}},\n \"audio\": {\"src\": 1, \"autobuffer\": 1, \"autoplay\": {\"autoplay\": 1}, \"loop\": {\"loop\": 1}, \"controls\": {\"controls\": 1}, \"muted\": {\"muted\": 1}, \"preload\": {\"auto\": 1, \"metadata\": 1, \"none\": 1 }},\n \"source\": {\"src\": 1, \"type\": 1, \"media\": 1},\n \"track\": {\"kind\": 1, \"src\": 1, \"srclang\": 1, \"label\": 1, \"default\": 1},\n \"canvas\": {\"width\": 1, \"height\": 1},\n \"map\": {\"name\": 1},\n \"area\": {\"shape\": 1, \"coords\": 1, \"href\": 1, \"hreflang\": 1, \"alt\": 1, \"target\": 1, \"media\": 1, \"rel\": 1, \"ping\": 1, \"type\": 1},\n \"svg\": {},\n \"math\": {},\n \"table\": {\"summary\": 1},\n \"caption\": {},\n \"colgroup\": {\"span\": 1},\n \"col\": {\"span\": 1},\n \"tbody\": {},\n \"thead\": {},\n \"tfoot\": {},\n \"tr\": {},\n \"td\": {\"headers\": 1, \"rowspan\": 1, \"colspan\": 1},\n \"th\": {\"headers\": 1, \"rowspan\": 1, \"colspan\": 1, \"scope\": 1},\n \"form\": {\"accept-charset\": 1, \"action\": 1, \"autocomplete\": 1, \"enctype\": {\"multipart/form-data\": 1, \"application/x-www-form-urlencoded\": 1}, \"method\": {\"get\": 1, \"post\": 1}, \"name\": 1, \"novalidate\": 1, \"target\": {\"_blank\": 1, \"top\": 1}},\n \"fieldset\": {\"disabled\": 1, \"form\": 1, \"name\": 1},\n \"legend\": {},\n \"label\": {\"form\": 1, \"for\": 1},\n \"input\": {\n \"type\": {\"text\": 1, \"password\": 1, \"hidden\": 1, \"checkbox\": 1, \"submit\": 1, \"radio\": 1, \"file\": 1, \"button\": 1, \"reset\": 1, \"image\": 31, \"color\": 1, \"date\": 1, \"datetime\": 1, \"datetime-local\": 1, \"email\": 1, \"month\": 1, \"number\": 1, \"range\": 1, \"search\": 1, \"tel\": 1, \"time\": 1, \"url\": 1, \"week\": 1},\n \"accept\": 1, \"alt\": 1, \"autocomplete\": {\"on\": 1, \"off\": 1}, \"autofocus\": {\"autofocus\": 1}, \"checked\": {\"checked\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"formaction\": 1, \"formenctype\": {\"application/x-www-form-urlencoded\": 1, \"multipart/form-data\": 1, \"text/plain\": 1}, \"formmethod\": {\"get\": 1, \"post\": 1}, \"formnovalidate\": {\"formnovalidate\": 1}, \"formtarget\": {\"_blank\": 1, \"_self\": 1, \"_parent\": 1, \"_top\": 1}, \"height\": 1, \"list\": 1, \"max\": 1, \"maxlength\": 1, \"min\": 1, \"multiple\": {\"multiple\": 1}, \"name\": 1, \"pattern\": 1, \"placeholder\": 1, \"readonly\": {\"readonly\": 1}, \"acequired\": {\"acequired\": 1}, \"size\": 1, \"src\": 1, \"step\": 1, \"width\": 1, \"files\": 1, \"value\": 1},\n \"button\": {\"autofocus\": 1, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"formaction\": 1, \"formenctype\": 1, \"formmethod\": 1, \"formnovalidate\": 1, \"formtarget\": 1, \"name\": 1, \"value\": 1, \"type\": {\"button\": 1, \"submit\": 1}},\n \"select\": {\"autofocus\": 1, \"disabled\": 1, \"form\": 1, \"multiple\": {\"multiple\": 1}, \"name\": 1, \"size\": 1, \"readonly\":{\"readonly\": 1}},\n \"datalist\": {},\n \"optgroup\": {\"disabled\": 1, \"label\": 1},\n \"option\": {\"disabled\": 1, \"selected\": 1, \"label\": 1, \"value\": 1},\n \"textarea\": {\"autofocus\": {\"autofocus\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"maxlength\": 1, \"name\": 1, \"placeholder\": 1, \"readonly\": {\"readonly\": 1}, \"acequired\": {\"acequired\": 1}, \"rows\": 1, \"cols\": 1, \"wrap\": {\"on\": 1, \"off\": 1, \"hard\": 1, \"soft\": 1}},\n \"keygen\": {\"autofocus\": 1, \"challenge\": {\"challenge\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"keytype\": {\"rsa\": 1, \"dsa\": 1, \"ec\": 1}, \"name\": 1},\n \"output\": {\"for\": 1, \"form\": 1, \"name\": 1},\n \"progress\": {\"value\": 1, \"max\": 1},\n \"meter\": {\"value\": 1, \"min\": 1, \"max\": 1, \"low\": 1, \"high\": 1, \"optimum\": 1},\n \"details\": {\"open\": 1},\n \"summary\": {},\n \"command\": {\"type\": 1, \"label\": 1, \"icon\": 1, \"disabled\": 1, \"checked\": 1, \"radiogroup\": 1, \"command\": 1},\n \"menu\": {\"type\": 1, \"label\": 1},\n \"dialog\": {\"open\": 1}\n};\n\nvar elements = Object.keys(attributeMap);\n\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n\nfunction findTagName(session, pos) {\n var iterator = new TokenIterator(session, pos.row, pos.column);\n var token = iterator.getCurrentToken();\n while (token && !is(token, \"tag-name\")){\n token = iterator.stepBackward();\n }\n if (token)\n return token.value;\n}\n\nfunction findAttributeName(session, pos) {\n var iterator = new TokenIterator(session, pos.row, pos.column);\n var token = iterator.getCurrentToken();\n while (token && !is(token, \"attribute-name\")){\n token = iterator.stepBackward();\n }\n if (token)\n return token.value;\n}\n\nvar HtmlCompletions = function() {\n\n};\n\n(function() {\n\n this.getCompletions = function(state, session, pos, prefix) {\n var token = session.getTokenAt(pos.row, pos.column);\n\n if (!token)\n return [];\n if (is(token, \"tag-name\") || is(token, \"tag-open\") || is(token, \"end-tag-open\"))\n return this.getTagCompletions(state, session, pos, prefix);\n if (is(token, \"tag-whitespace\") || is(token, \"attribute-name\"))\n return this.getAttributeCompletions(state, session, pos, prefix);\n if (is(token, \"attribute-value\"))\n return this.getAttributeValueCompletions(state, session, pos, prefix);\n var line = session.getLine(pos.row).substr(0, pos.column);\n if (/&[a-z]*$/i.test(line))\n return this.getHTMLEntityCompletions(state, session, pos, prefix);\n\n return [];\n };\n\n this.getTagCompletions = function(state, session, pos, prefix) {\n return elements.map(function(element){\n return {\n value: element,\n meta: \"tag\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getAttributeCompletions = function(state, session, pos, prefix) {\n var tagName = findTagName(session, pos);\n if (!tagName)\n return [];\n var attributes = globalAttributes;\n if (tagName in attributeMap) {\n attributes = attributes.concat(Object.keys(attributeMap[tagName]));\n }\n return attributes.map(function(attribute){\n return {\n caption: attribute,\n snippet: attribute + '=\"$0\"',\n meta: \"attribute\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getAttributeValueCompletions = function(state, session, pos, prefix) {\n var tagName = findTagName(session, pos);\n var attributeName = findAttributeName(session, pos);\n \n if (!tagName)\n return [];\n var values = [];\n if (tagName in attributeMap && attributeName in attributeMap[tagName] && typeof attributeMap[tagName][attributeName] === \"object\") {\n values = Object.keys(attributeMap[tagName][attributeName]);\n }\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"attribute value\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getHTMLEntityCompletions = function(state, session, pos, prefix) {\n var values = ['Aacute;', 'aacute;', 'Acirc;', 'acirc;', 'acute;', 'AElig;', 'aelig;', 'Agrave;', 'agrave;', 'alefsym;', 'Alpha;', 'alpha;', 'amp;', 'and;', 'ang;', 'Aring;', 'aring;', 'asymp;', 'Atilde;', 'atilde;', 'Auml;', 'auml;', 'bdquo;', 'Beta;', 'beta;', 'brvbar;', 'bull;', 'cap;', 'Ccedil;', 'ccedil;', 'cedil;', 'cent;', 'Chi;', 'chi;', 'circ;', 'clubs;', 'cong;', 'copy;', 'crarr;', 'cup;', 'curren;', 'Dagger;', 'dagger;', 'dArr;', 'darr;', 'deg;', 'Delta;', 'delta;', 'diams;', 'divide;', 'Eacute;', 'eacute;', 'Ecirc;', 'ecirc;', 'Egrave;', 'egrave;', 'empty;', 'emsp;', 'ensp;', 'Epsilon;', 'epsilon;', 'equiv;', 'Eta;', 'eta;', 'ETH;', 'eth;', 'Euml;', 'euml;', 'euro;', 'exist;', 'fnof;', 'forall;', 'frac12;', 'frac14;', 'frac34;', 'frasl;', 'Gamma;', 'gamma;', 'ge;', 'gt;', 'hArr;', 'harr;', 'hearts;', 'hellip;', 'Iacute;', 'iacute;', 'Icirc;', 'icirc;', 'iexcl;', 'Igrave;', 'igrave;', 'image;', 'infin;', 'int;', 'Iota;', 'iota;', 'iquest;', 'isin;', 'Iuml;', 'iuml;', 'Kappa;', 'kappa;', 'Lambda;', 'lambda;', 'lang;', 'laquo;', 'lArr;', 'larr;', 'lceil;', 'ldquo;', 'le;', 'lfloor;', 'lowast;', 'loz;', 'lrm;', 'lsaquo;', 'lsquo;', 'lt;', 'macr;', 'mdash;', 'micro;', 'middot;', 'minus;', 'Mu;', 'mu;', 'nabla;', 'nbsp;', 'ndash;', 'ne;', 'ni;', 'not;', 'notin;', 'nsub;', 'Ntilde;', 'ntilde;', 'Nu;', 'nu;', 'Oacute;', 'oacute;', 'Ocirc;', 'ocirc;', 'OElig;', 'oelig;', 'Ograve;', 'ograve;', 'oline;', 'Omega;', 'omega;', 'Omicron;', 'omicron;', 'oplus;', 'or;', 'ordf;', 'ordm;', 'Oslash;', 'oslash;', 'Otilde;', 'otilde;', 'otimes;', 'Ouml;', 'ouml;', 'para;', 'part;', 'permil;', 'perp;', 'Phi;', 'phi;', 'Pi;', 'pi;', 'piv;', 'plusmn;', 'pound;', 'Prime;', 'prime;', 'prod;', 'prop;', 'Psi;', 'psi;', 'quot;', 'radic;', 'rang;', 'raquo;', 'rArr;', 'rarr;', 'rceil;', 'rdquo;', 'real;', 'reg;', 'rfloor;', 'Rho;', 'rho;', 'rlm;', 'rsaquo;', 'rsquo;', 'sbquo;', 'Scaron;', 'scaron;', 'sdot;', 'sect;', 'shy;', 'Sigma;', 'sigma;', 'sigmaf;', 'sim;', 'spades;', 'sub;', 'sube;', 'sum;', 'sup;', 'sup1;', 'sup2;', 'sup3;', 'supe;', 'szlig;', 'Tau;', 'tau;', 'there4;', 'Theta;', 'theta;', 'thetasym;', 'thinsp;', 'THORN;', 'thorn;', 'tilde;', 'times;', 'trade;', 'Uacute;', 'uacute;', 'uArr;', 'uarr;', 'Ucirc;', 'ucirc;', 'Ugrave;', 'ugrave;', 'uml;', 'upsih;', 'Upsilon;', 'upsilon;', 'Uuml;', 'uuml;', 'weierp;', 'Xi;', 'xi;', 'Yacute;', 'yacute;', 'yen;', 'Yuml;', 'yuml;', 'Zeta;', 'zeta;', 'zwj;', 'zwnj;'];\n\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"html entity\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n}).call(HtmlCompletions.prototype);\n\nexports.HtmlCompletions = HtmlCompletions;\n});\n\nace.define(\"ace/mode/html\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/javascript\",\"ace/mode/css\",\"ace/mode/html_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/html\",\"ace/mode/html_completions\",\"ace/worker/worker_client\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptMode = acequire(\"./javascript\").Mode;\nvar CssMode = acequire(\"./css\").Mode;\nvar HtmlHighlightRules = acequire(\"./html_highlight_rules\").HtmlHighlightRules;\nvar XmlBehaviour = acequire(\"./behaviour/xml\").XmlBehaviour;\nvar HtmlFoldMode = acequire(\"./folding/html\").FoldMode;\nvar HtmlCompletions = acequire(\"./html_completions\").HtmlCompletions;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar voidElements = [\"area\", \"base\", \"br\", \"col\", \"embed\", \"hr\", \"img\", \"input\", \"keygen\", \"link\", \"meta\", \"menuitem\", \"param\", \"source\", \"track\", \"wbr\"];\nvar optionalEndTags = [\"li\", \"dt\", \"dd\", \"p\", \"rt\", \"rp\", \"optgroup\", \"option\", \"colgroup\", \"td\", \"th\"];\n\nvar Mode = function(options) {\n this.fragmentContext = options && options.fragmentContext;\n this.HighlightRules = HtmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.$completer = new HtmlCompletions();\n \n this.createModeDelegates({\n \"js-\": JavaScriptMode,\n \"css-\": CssMode\n });\n \n this.foldingRules = new HtmlFoldMode(this.voidElements, lang.arrayToMap(optionalEndTags));\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.blockComment = {start: \"\"};\n\n this.voidElements = lang.arrayToMap(voidElements);\n\n this.getNextLineIndent = function(state, line, tab) {\n return this.$getIndent(line);\n };\n\n this.checkOutdent = function(state, line, input) {\n return false;\n };\n\n this.getCompletions = function(state, session, pos, prefix) {\n return this.$completer.getCompletions(state, session, pos, prefix);\n };\n\n this.createWorker = function(session) {\n if (this.constructor != Mode)\n return;\n var worker = new WorkerClient([\"ace\"], __webpack_require__(1190), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n if (this.fragmentContext)\n worker.call(\"setOptions\", [{context: this.fragmentContext}]);\n\n worker.on(\"error\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/html\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/markdown_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text_highlight_rules\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/xml_highlight_rules\",\"ace/mode/html_highlight_rules\",\"ace/mode/css_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\nvar HtmlHighlightRules = acequire(\"./html_highlight_rules\").HtmlHighlightRules;\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\n\nvar escaped = function(ch) {\n return \"(?:[^\" + lang.escapeRegExp(ch) + \"\\\\\\\\]|\\\\\\\\.)*\";\n}\n\nfunction github_embed(tag, prefix) {\n return { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\" + tag + \"\\\\s*$\",\n push : prefix + \"start\"\n };\n}\n\nvar MarkdownHighlightRules = function() {\n HtmlHighlightRules.call(this);\n\n this.$rules[\"start\"].unshift({\n token : \"empty_line\",\n regex : '^$',\n next: \"allowBlock\"\n }, { // h1\n token: \"markup.heading.1\",\n regex: \"^=+(?=\\\\s*$)\"\n }, { // h2\n token: \"markup.heading.2\",\n regex: \"^\\\\-+(?=\\\\s*$)\"\n }, {\n token : function(value) {\n return \"markup.heading.\" + value.length;\n },\n regex : /^#{1,6}(?=\\s*[^ #]|\\s+#.)/,\n next : \"header\"\n },\n github_embed(\"(?:javascript|js)\", \"jscode-\"),\n github_embed(\"xml\", \"xmlcode-\"),\n github_embed(\"html\", \"htmlcode-\"),\n github_embed(\"css\", \"csscode-\"),\n { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\\\\s*\\\\S*(?:{.*?\\\\})?\\\\s*$\",\n next : \"githubblock\"\n }, { // block quote\n token : \"string.blockquote\",\n regex : \"^\\\\s*>\\\\s*(?:[*+-]|\\\\d+\\\\.)?\\\\s+\",\n next : \"blockquote\"\n }, { // HR * - _\n token : \"constant\",\n regex : \"^ {0,2}(?:(?: ?\\\\* ?){3,}|(?: ?\\\\- ?){3,}|(?: ?\\\\_ ?){3,})\\\\s*$\",\n next: \"allowBlock\"\n }, { // list\n token : \"markup.list\",\n regex : \"^\\\\s{0,3}(?:[*+-]|\\\\d+\\\\.)\\\\s+\",\n next : \"listblock-start\"\n }, {\n include : \"basic\"\n });\n\n this.addRules({\n \"basic\" : [{\n token : \"constant.language.escape\",\n regex : /\\\\[\\\\`*_{}\\[\\]()#+\\-.!]/\n }, { // code span `\n token : \"support.function\",\n regex : \"(`+)(.*?[^`])(\\\\1)\"\n }, { // reference\n token : [\"text\", \"constant\", \"text\", \"url\", \"string\", \"text\"],\n regex : \"^([ ]{0,3}\\\\[)([^\\\\]]+)(\\\\]:\\\\s*)([^ ]+)(\\\\s*(?:[\\\"][^\\\"]+[\\\"])?(\\\\s*))$\"\n }, { // link by reference\n token : [\"text\", \"string\", \"text\", \"constant\", \"text\"],\n regex : \"(\\\\[)(\" + escaped(\"]\") + \")(\\\\]\\\\s*\\\\[)(\"+ escaped(\"]\") + \")(\\\\])\"\n }, { // link by url\n token : [\"text\", \"string\", \"text\", \"markup.underline\", \"string\", \"text\"],\n regex : \"(\\\\[)(\" + // [\n escaped(\"]\") + // link text\n \")(\\\\]\\\\()\"+ // ](\n '((?:[^\\\\)\\\\s\\\\\\\\]|\\\\\\\\.|\\\\s(?=[^\"]))*)' + // href\n '(\\\\s*\"' + escaped('\"') + '\"\\\\s*)?' + // \"title\"\n \"(\\\\))\" // )\n }, { // strong ** __\n token : \"string.strong\",\n regex : \"([*]{2}|[_]{2}(?=\\\\S))(.*?\\\\S[*_]*)(\\\\1)\"\n }, { // emphasis * _\n token : \"string.emphasis\",\n regex : \"([*]|[_](?=\\\\S))(.*?\\\\S[*_]*)(\\\\1)\"\n }, { //\n token : [\"text\", \"url\", \"text\"],\n regex : \"(<)(\"+\n \"(?:https?|ftp|dict):[^'\\\">\\\\s]+\"+\n \"|\"+\n \"(?:mailto:)?[-.\\\\w]+\\\\@[-a-z0-9]+(?:\\\\.[-a-z0-9]+)*\\\\.[a-z]+\"+\n \")(>)\"\n }],\n \"allowBlock\": [\n {token : \"support.function\", regex : \"^ {4}.+\", next : \"allowBlock\"},\n {token : \"empty_line\", regex : '^$', next: \"allowBlock\"},\n {token : \"empty\", regex : \"\", next : \"start\"}\n ],\n\n \"header\" : [{\n regex: \"$\",\n next : \"start\"\n }, {\n include: \"basic\"\n }, {\n defaultToken : \"heading\"\n } ],\n\n \"listblock-start\" : [{\n token : \"support.variable\",\n regex : /(?:\\[[ x]\\])?/,\n next : \"listblock\"\n }],\n\n \"listblock\" : [ { // Lists only escape on completely blank lines.\n token : \"empty_line\",\n regex : \"^$\",\n next : \"start\"\n }, { // list\n token : \"markup.list\",\n regex : \"^\\\\s{0,3}(?:[*+-]|\\\\d+\\\\.)\\\\s+\",\n next : \"listblock-start\"\n }, {\n include : \"basic\", noEscape: true\n }, { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\\\\s*[a-zA-Z]*(?:{.*?\\\\})?\\\\s*$\",\n next : \"githubblock\"\n }, {\n defaultToken : \"list\" //do not use markup.list to allow stling leading `*` differntly\n } ],\n\n \"blockquote\" : [ { // Blockquotes only escape on blank lines.\n token : \"empty_line\",\n regex : \"^\\\\s*$\",\n next : \"start\"\n }, { // block quote\n token : \"string.blockquote\",\n regex : \"^\\\\s*>\\\\s*(?:[*+-]|\\\\d+\\\\.)?\\\\s+\",\n next : \"blockquote\"\n }, {\n include : \"basic\", noEscape: true\n }, {\n defaultToken : \"string.blockquote\"\n } ],\n\n \"githubblock\" : [ {\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"start\"\n }, {\n token : \"support.function\",\n regex : \".+\"\n } ]\n });\n\n this.embedRules(JavaScriptHighlightRules, \"jscode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(HtmlHighlightRules, \"htmlcode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(CssHighlightRules, \"csscode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(XmlHighlightRules, \"xmlcode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.normalizeRules();\n};\noop.inherits(MarkdownHighlightRules, TextHighlightRules);\n\nexports.MarkdownHighlightRules = MarkdownHighlightRules;\n});\n\nace.define(\"ace/mode/folding/markdown\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\nvar Range = acequire(\"../../range\").Range;\n\nvar FoldMode = exports.FoldMode = function() {};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n this.foldingStartMarker = /^(?:[=-]+\\s*$|#{1,6} |`{3})/;\n\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n if (!this.foldingStartMarker.test(line))\n return \"\";\n\n if (line[0] == \"`\") {\n if (session.bgTokenizer.getState(row) == \"start\")\n return \"end\";\n return \"start\";\n }\n\n return \"start\";\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var line = session.getLine(row);\n var startColumn = line.length;\n var maxRow = session.getLength();\n var startRow = row;\n var endRow = row;\n if (!line.match(this.foldingStartMarker))\n return;\n\n if (line[0] == \"`\") {\n if (session.bgTokenizer.getState(row) !== \"start\") {\n while (++row < maxRow) {\n line = session.getLine(row);\n if (line[0] == \"`\" & line.substring(0, 3) == \"```\")\n break;\n }\n return new Range(startRow, startColumn, row, 0);\n } else {\n while (row -- > 0) {\n line = session.getLine(row);\n if (line[0] == \"`\" & line.substring(0, 3) == \"```\")\n break;\n }\n return new Range(row, line.length, startRow, 0);\n }\n }\n\n var token;\n function isHeading(row) {\n token = session.getTokens(row)[0];\n return token && token.type.lastIndexOf(heading, 0) === 0;\n }\n\n var heading = \"markup.heading\";\n function getLevel() {\n var ch = token.value[0];\n if (ch == \"=\") return 6;\n if (ch == \"-\") return 5;\n return 7 - token.value.search(/[^#]/);\n }\n\n if (isHeading(row)) {\n var startHeadingLevel = getLevel();\n while (++row < maxRow) {\n if (!isHeading(row))\n continue;\n var level = getLevel();\n if (level >= startHeadingLevel)\n break;\n }\n\n endRow = row - (!token || [\"=\", \"-\"].indexOf(token.value[0]) == -1 ? 1 : 2);\n\n if (endRow > startRow) {\n while (endRow > startRow && /^\\s*$/.test(session.getLine(endRow)))\n endRow--;\n }\n\n if (endRow > startRow) {\n var endColumn = session.getLine(endRow).length;\n return new Range(startRow, startColumn, endRow, endColumn);\n }\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/markdown\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/javascript\",\"ace/mode/xml\",\"ace/mode/html\",\"ace/mode/markdown_highlight_rules\",\"ace/mode/folding/markdown\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptMode = acequire(\"./javascript\").Mode;\nvar XmlMode = acequire(\"./xml\").Mode;\nvar HtmlMode = acequire(\"./html\").Mode;\nvar MarkdownHighlightRules = acequire(\"./markdown_highlight_rules\").MarkdownHighlightRules;\nvar MarkdownFoldMode = acequire(\"./folding/markdown\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = MarkdownHighlightRules;\n\n this.createModeDelegates({\n \"js-\": JavaScriptMode,\n \"xml-\": XmlMode,\n \"html-\": HtmlMode\n });\n\n this.foldingRules = new MarkdownFoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n this.type = \"text\";\n this.blockComment = {start: \"\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n if (state == \"listblock\") {\n var match = /^(\\s*)(?:([-+*])|(\\d+)\\.)(\\s+)/.exec(line);\n if (!match)\n return \"\";\n var marker = match[2];\n if (!marker)\n marker = parseInt(match[3], 10) + 1 + \".\";\n return match[1] + marker + match[4];\n } else {\n return this.$getIndent(line);\n }\n };\n this.$id = \"ace/mode/markdown\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\n\n/***/ }),\n/* 1187 */\n/***/ (function(module, exports) {\n\nmodule.exports.id = 'ace/mode/javascript_worker';\nmodule.exports.src = \"\\\"no use strict\\\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/range\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\\\"Range: [\\\"+this.start.row+\\\"/\\\"+this.start.column+\\\"] -> [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\").replace(/i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/javascript/jshint\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire=\\\"function\\\"==typeof acequire&&acequire;if(!jumped&¤tRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error(\\\"Cannot find module '\\\"+name+\\\"'\\\");throw err.code=\\\"MODULE_NOT_FOUND\\\",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire=\\\"function\\\"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({\\\"/node_modules/browserify/node_modules/events/events.js\\\":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return\\\"function\\\"==typeof arg}function isNumber(arg){return\\\"number\\\"==typeof arg}function isObject(arg){return\\\"object\\\"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),\\\"error\\\"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError('Uncaught, unspecified \\\"error\\\" event.')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");if(this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[type].length),\\\"function\\\"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit(\\\"removeListener\\\",type,listener);else if(isObject(list)){for(i=length;i-->0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)\\\"removeListener\\\"!==key&&this.removeAllListeners(key);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this\\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],\\\"/node_modules/jshint/data/ascii-identifier-data.js\\\":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],\\\"/node_modules/jshint/lodash.js\\\":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return\\\"function\\\"==typeof value||!1}function baseToString(value){return\\\"string\\\"==typeof value?value:null==value?\\\"\\\":value+\\\"\\\"}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&\\\"object\\\"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return\\\"function\\\"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:\\\"object\\\"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return\\\"function\\\"!=valType&&\\\"object\\\"!=valType&&\\\"function\\\"!=othType&&\\\"object\\\"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,\\\"__wrapped__\\\"),othWrapped=othIsObj&&hasOwnProperty.call(other,\\\"__wrapped__\\\");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+\\\"\\\";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+\\\"\\\";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(\\\"number\\\"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if(\\\"function\\\"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for(\\\"function\\\"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer=\\\"function\\\"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return\\\"function\\\"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+\\\"\\\"}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor=\\\"constructor\\\"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&\\\"constructor\\\"in object&&\\\"constructor\\\"in other&&!(\\\"function\\\"==typeof objCtor&&objCtor instanceof objCtor&&\\\"function\\\"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&\\\"string\\\"==typeof array[0]&&hasOwnProperty.call(array,\\\"index\\\")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return\\\"function\\\"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if(\\\"number\\\"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq=\\\"string\\\"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if(\\\"string\\\"==type&&reIsPlainProp.test(value)||\\\"number\\\"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return\\\"number\\\"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,\\\"constructor\\\")&&(Ctor=value.constructor,\\\"function\\\"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,\\\"$1\\\"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if(\\\"number\\\"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&\\\"number\\\"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex=\\\"number\\\"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,\\\"string\\\"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),(\\\"function\\\"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if(\\\"function\\\"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&\\\"boolean\\\"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:\\\"function\\\"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer=\\\"function\\\"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return\\\"function\\\"==type||!!value&&\\\"object\\\"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return\\\"number\\\"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return\\\"string\\\"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto=\\\"function\\\"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+\\\"\\\";for(var key in object)skipIndexes&&isIndex(key,length)||\\\"constructor\\\"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,\\\"\\\\\\\\$&\\\"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION=\\\"3.7.0\\\",FUNC_ERROR_TEXT=\\\"Expected a function\\\",argsTag=\\\"[object Arguments]\\\",arrayTag=\\\"[object Array]\\\",boolTag=\\\"[object Boolean]\\\",dateTag=\\\"[object Date]\\\",errorTag=\\\"[object Error]\\\",funcTag=\\\"[object Function]\\\",mapTag=\\\"[object Map]\\\",numberTag=\\\"[object Number]\\\",objectTag=\\\"[object Object]\\\",regexpTag=\\\"[object RegExp]\\\",setTag=\\\"[object Set]\\\",stringTag=\\\"[object String]\\\",weakMapTag=\\\"[object WeakMap]\\\",arrayBufferTag=\\\"[object ArrayBuffer]\\\",float32Tag=\\\"[object Float32Array]\\\",float64Tag=\\\"[object Float64Array]\\\",int8Tag=\\\"[object Int8Array]\\\",int16Tag=\\\"[object Int16Array]\\\",int32Tag=\\\"[object Int32Array]\\\",uint8Tag=\\\"[object Uint8Array]\\\",uint8ClampedTag=\\\"[object Uint8ClampedArray]\\\",uint16Tag=\\\"[object Uint16Array]\\\",uint32Tag=\\\"[object Uint32Array]\\\",reIsDeepProp=/\\\\.|\\\\[(?:[^[\\\\]]+|([\\\"'])(?:(?!\\\\1)[^\\\\n\\\\\\\\]|\\\\\\\\.)*?)\\\\1\\\\]/,reIsPlainProp=/^\\\\w*$/,rePropName=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\n\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]/g,reRegExpChars=/[.*+?^${}()|[\\\\]\\\\/\\\\\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\\\\\(\\\\\\\\)?/g,reFlags=/\\\\w*$/,reIsHostCtor=/^\\\\[object .+?Constructor\\\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={\\\"function\\\":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&\\\"object\\\"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\\\"^\\\"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),\\\"xo\\\")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\\\bthis\\\\b/.test(function(){return this}),support.funcNames=\\\"string\\\"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty(\\\"length\\\"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return\\\"function\\\"==typeof Ctor&&Ctor.prototype===object||\\\"function\\\"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\\n}).call(this)}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],\\\"/node_modules/jshint/src/jshint.js\\\":[function(_dereq_,module,exports){var _=_dereq_(\\\"../lodash\\\"),events=_dereq_(\\\"events\\\"),vars=_dereq_(\\\"./vars.js\\\"),messages=_dereq_(\\\"./messages.js\\\"),Lexer=_dereq_(\\\"./lex.js\\\").Lexer,reg=_dereq_(\\\"./reg.js\\\"),state=_dereq_(\\\"./state.js\\\").state,style=_dereq_(\\\"./style.js\\\"),options=_dereq_(\\\"./options.js\\\"),scopeManager=_dereq_(\\\"./scope-manager.js\\\"),JSHINT=function(){\\\"use strict\\\";function checkOption(name,t){return name=name.trim(),/^[+-]W\\\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||\\\"jslint\\\"===t.type||_.has(options.removed,name)?!0:(error(\\\"E001\\\",t,name),!1)}function isString(obj){return\\\"[object String]\\\"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\\\{([^{}]*)\\\\}/g,function(a,b){var r=data[b];return\\\"string\\\"==typeof r||\\\"number\\\"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict=\\\"global\\\"),state.inES6()||warning(\\\"W134\\\",state.tokens.next,\\\"module\\\",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict=\\\"global\\\"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:\\\"JSHintError\\\",line:line,character:chr,message:message+\\\" (\\\"+percentage+\\\"% scanned).\\\",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\\\d{3}/.test(code)?msg=messages.errors[code]:/I\\\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},\\\"(end)\\\"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:\\\"(error)\\\",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||\\\"\\\",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit(\\\"E043\\\",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:\\\"(internal)\\\",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\\\s+)?[^\\\\s,:]+(?:\\\\s*:\\\\s*(-\\\\s+)?[^\\\\s,]+)?/g)||[],predef={};if(\\\"globals\\\"===nt.type){body.forEach(function(g,idx){g=g.split(\\\":\\\");var key=(g[0]||\\\"\\\").trim(),val=(g[1]||\\\"\\\").trim();if(\\\"-\\\"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error(\\\"E002\\\",nt),void 0}\\\"-\\\"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]=\\\"true\\\"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}\\\"exported\\\"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error(\\\"E002\\\",nt),void 0}state.funct[\\\"(scope)\\\"].addExported(e)}),\\\"members\\\"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||'\\\"'!==ch1&&\\\"'\\\"!==ch1||(m=m.substr(1,m.length-2).replace('\\\\\\\\\\\"','\\\"')),membersOnly[m]=!1}));var numvals=[\\\"maxstatements\\\",\\\"maxparams\\\",\\\"maxdepth\\\",\\\"maxcomplexity\\\",\\\"maxerr\\\",\\\"maxlen\\\",\\\"indent\\\"];(\\\"jshint\\\"===nt.type||\\\"jslint\\\"===nt.type)&&(body.forEach(function(g){g=g.split(\\\":\\\");var key=(g[0]||\\\"\\\").trim(),val=(g[1]||\\\"\\\").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if(\\\"false\\\"!==val){if(val=+val,\\\"number\\\"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error(\\\"E032\\\",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]=\\\"indent\\\"===key?4:!1;else{if(\\\"validthis\\\"===key)return state.funct[\\\"(global)\\\"]?void error(\\\"E009\\\"):\\\"true\\\"!==val&&\\\"false\\\"!==val?void error(\\\"E002\\\",nt):(state.option.validthis=\\\"true\\\"===val,void 0);if(\\\"quotmark\\\"!==key)if(\\\"shadow\\\"!==key)if(\\\"unused\\\"!==key)if(\\\"latedef\\\"!==key)if(\\\"ignore\\\"!==key)if(\\\"strict\\\"!==key){\\\"module\\\"===key&&(hasParsedCode(state.funct)||error(\\\"E055\\\",state.tokens.next,\\\"module\\\"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if(\\\"esversion\\\"===key){switch(val){case\\\"5\\\":state.inES5(!0)&&warning(\\\"I003\\\");case\\\"3\\\":case\\\"6\\\":state.option.moz=!1,state.option.esversion=+val;break;case\\\"2015\\\":state.option.moz=!1,state.option.esversion=6;break;default:error(\\\"E002\\\",nt)}return hasParsedCode(state.funct)||error(\\\"E055\\\",state.tokens.next,\\\"esversion\\\"),void 0}var match=/^([+-])(W\\\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]=\\\"-\\\"===match[1],void 0;var tn;return\\\"true\\\"===val||\\\"false\\\"===val?(\\\"jslint\\\"===nt.type?(tn=options.renamed[key]||key,state.option[tn]=\\\"true\\\"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]=\\\"true\\\"===val,\\\"newcap\\\"===key&&(state.option[\\\"(explicitNewcap)\\\"]=!0),void 0):(error(\\\"E002\\\",nt),void 0)}switch(val){case\\\"true\\\":state.option.moz=!1,state.option.esversion=esversions[key];break;case\\\"false\\\":state.option.moz||(state.option.esversion=5);break;default:error(\\\"E002\\\",nt)}}else switch(val){case\\\"true\\\":state.option.strict=!0;break;case\\\"false\\\":state.option.strict=!1;break;case\\\"func\\\":case\\\"global\\\":case\\\"implied\\\":state.option.strict=val;break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"line\\\":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.latedef=!0;break;case\\\"false\\\":state.option.latedef=!1;break;case\\\"nofunc\\\":state.option.latedef=\\\"nofunc\\\";break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.unused=!0;break;case\\\"false\\\":state.option.unused=!1;break;case\\\"vars\\\":case\\\"strict\\\":state.option.unused=val;break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.shadow=!0;break;case\\\"outer\\\":state.option.shadow=\\\"outer\\\";break;case\\\"false\\\":case\\\"inner\\\":state.option.shadow=\\\"inner\\\";break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":case\\\"false\\\":state.option.quotmark=\\\"true\\\"===val;break;case\\\"double\\\":case\\\"single\\\":state.option.quotmark=val;break;default:error(\\\"E002\\\",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||\\\"(end)\\\"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while(\\\"(endline)\\\"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case\\\"(number)\\\":\\\".\\\"===state.tokens.next.id&&warning(\\\"W005\\\",state.tokens.curr);break;case\\\"-\\\":(\\\"-\\\"===state.tokens.next.id||\\\"--\\\"===state.tokens.next.id)&&warning(\\\"W006\\\");break;case\\\"+\\\":(\\\"+\\\"===state.tokens.next.id||\\\"++\\\"===state.tokens.next.id)&&warning(\\\"W007\\\")}for(id&&state.tokens.next.id!==id&&(t?\\\"(end)\\\"===state.tokens.next.id?error(\\\"E019\\\",t,t.id):error(\\\"E020\\\",state.tokens.next,id,t.id,t.line,state.tokens.next.value):(\\\"(identifier)\\\"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning(\\\"W116\\\",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit(\\\"E041\\\",state.tokens.curr.line),\\\"(end)\\\"===state.tokens.next.id||\\\"(error)\\\"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)\\\"falls through\\\"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if(\\\"(endline)\\\"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return\\\";\\\"===next.id||\\\"}\\\"===next.id||\\\":\\\"===next.id?!0:isInfix(next)===isInfix(curr)||\\\"yield\\\"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&\\\"unary\\\"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||\\\"let\\\"!==state.tokens.next.value||\\\"(\\\"!==peek(0).value||(state.inMoz()||warning(\\\"W118\\\",state.tokens.next,\\\"let expressions\\\"),isLetExpr=!0,state.funct[\\\"(scope)\\\"].stack(),advance(\\\"let\\\"),advance(\\\"(\\\"),state.tokens.prev.fud(),advance(\\\")\\\")),\\\"(end)\\\"===state.tokens.next.id&&error(\\\"E006\\\",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains([\\\"]\\\",\\\")\\\"],state.tokens.prev.id)&&_.contains([\\\"[\\\",\\\"(\\\"],state.tokens.curr.id);if(isDangerous&&warning(\\\"W014\\\",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct[\\\"(verb)\\\"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error(\\\"E030\\\",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||\\\"(template)\\\"===state.tokens.next.type)&&!isEndOfExpr();)isArray=\\\"Array\\\"===state.tokens.curr.value,isObject=\\\"Object\\\"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&(\\\"new\\\"!==left.value||left.first&&left.first.value&&\\\".\\\"===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&\\\"(\\\"===state.tokens.curr.id&&\\\")\\\"===state.tokens.next.id&&warning(\\\"W009\\\",state.tokens.curr),isObject&&\\\"(\\\"===state.tokens.curr.id&&\\\")\\\"===state.tokens.next.id&&warning(\\\"W010\\\",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error(\\\"E033\\\",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct[\\\"(scope)\\\"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning(\\\"W014\\\",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning(\\\"E022\\\",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning(\\\"I001\\\"),comma.first=!1),warning(\\\"W014\\\",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(\\\",\\\")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case\\\"break\\\":case\\\"case\\\":case\\\"catch\\\":case\\\"continue\\\":case\\\"default\\\":case\\\"do\\\":case\\\"else\\\":case\\\"finally\\\":case\\\"for\\\":case\\\"if\\\":case\\\"in\\\":case\\\"instanceof\\\":case\\\"return\\\":case\\\"switch\\\":case\\\"throw\\\":case\\\"try\\\":case\\\"var\\\":case\\\"let\\\":case\\\"while\\\":case\\\"with\\\":return error(\\\"E024\\\",state.tokens.next,state.tokens.next.value),!1}if(\\\"(punctuator)\\\"===state.tokens.next.type)switch(state.tokens.next.value){case\\\"}\\\":case\\\"]\\\":case\\\",\\\":if(opts.allowTrailing)return!0;case\\\")\\\":return error(\\\"E024\\\",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&\\\"object\\\"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>=\\\"a\\\"&&\\\"z\\\">=c||c>=\\\"A\\\"&&\\\"Z\\\">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud=\\\"function\\\"==typeof f?f:function(){return this.arity=\\\"unary\\\",this.right=expression(150),(\\\"++\\\"===this.id||\\\"--\\\"===this.id)&&(state.option.plusplus?warning(\\\"W016\\\",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||\\\".\\\"===this.right.id||\\\"[\\\"===this.right.id||warning(\\\"W017\\\",this),this.right&&this.right.isMetaProperty?error(\\\"E031\\\",this):this.right&&this.right.identifier&&state.funct[\\\"(scope)\\\"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return\\\"function\\\"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),\\\"in\\\"!==s&&\\\"instanceof\\\"!==s||\\\"!\\\"!==left.id||warning(\\\"W018\\\",left,\\\"!\\\"),\\\"function\\\"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:\\\"arrow\\\",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,\\\"NaN\\\")||isIdentifier(right,\\\"NaN\\\")?warning(\\\"W019\\\",this):f&&f.apply(this,[left,right]),left&&right||quit(\\\"E041\\\",state.tokens.curr.line),\\\"!\\\"===left.id&&warning(\\\"W018\\\",left,\\\"!\\\"),\\\"!\\\"===right.id&&warning(\\\"W018\\\",right,\\\"!\\\"),this},x}function isPoorRelation(node){return node&&(\\\"(number)\\\"===node.type&&0===+node.value||\\\"(string)\\\"===node.type&&\\\"\\\"===node.value||\\\"null\\\"===node.type&&!state.option.eqnull||\\\"true\\\"===node.type||\\\"false\\\"===node.type||\\\"undefined\\\"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,\\\"(identifier)\\\"===right.type&&\\\"typeof\\\"===right.value&&\\\"(string)\\\"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return\\\"this\\\"===left.type&&null===state.funct[\\\"(context)\\\"]?isGlobal=!0:\\\"(identifier)\\\"===left.type&&(state.option.node&&\\\"global\\\"===left.value?isGlobal=!0:!state.option.browser||\\\"window\\\"!==left.value&&\\\"document\\\"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return\\\"object\\\"==typeof obj?\\\"prototype\\\"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&\\\"object\\\"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=[\\\"Array\\\",\\\"ArrayBuffer\\\",\\\"Boolean\\\",\\\"Collator\\\",\\\"DataView\\\",\\\"Date\\\",\\\"DateTimeFormat\\\",\\\"Error\\\",\\\"EvalError\\\",\\\"Float32Array\\\",\\\"Float64Array\\\",\\\"Function\\\",\\\"Infinity\\\",\\\"Intl\\\",\\\"Int16Array\\\",\\\"Int32Array\\\",\\\"Int8Array\\\",\\\"Iterator\\\",\\\"Number\\\",\\\"NumberFormat\\\",\\\"Object\\\",\\\"RangeError\\\",\\\"ReferenceError\\\",\\\"RegExp\\\",\\\"StopIteration\\\",\\\"String\\\",\\\"SyntaxError\\\",\\\"TypeError\\\",\\\"Uint16Array\\\",\\\"Uint32Array\\\",\\\"Uint8Array\\\",\\\"Uint8ClampedArray\\\",\\\"URIError\\\"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning(\\\"W121\\\",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct[\\\"(scope)\\\"].block.reassign(left.value,left),\\\".\\\"===left.id?((!left.left||\\\"arguments\\\"===left.left.value&&!state.isStrict())&&warning(\\\"E031\\\",assignToken),state.nameStack.set(state.tokens.prev),!0):\\\"{\\\"===left.id||\\\"[\\\"===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct[\\\"(scope)\\\"].block.modify(t.id,t.token)}):\\\"{\\\"!==left.id&&left.left?\\\"arguments\\\"!==left.left.value||state.isStrict()||warning(\\\"E031\\\",assignToken):warning(\\\"E031\\\",assignToken),\\\"[\\\"===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error(\\\"E031\\\",assignToken),!0):left.identifier&&!isReserved(left)?(\\\"exception\\\"===state.funct[\\\"(scope)\\\"].labeltype(left.value)&&warning(\\\"W022\\\",left),state.nameStack.set(left),!0):(left===state.syntax[\\\"function\\\"]&&warning(\\\"W023\\\",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,\\\"function\\\"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error(\\\"E031\\\",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led=\\\"function\\\"==typeof f?f:function(left){return state.option.bitwise&&warning(\\\"W016\\\",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning(\\\"W016\\\",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error(\\\"E031\\\",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning(\\\"W016\\\",this,this.id):left.identifier&&!isReserved(left)||\\\".\\\"===left.id||\\\"[\\\"===left.id||warning(\\\"W017\\\",this),left.isMetaProperty?error(\\\"E031\\\",this):left&&left.identifier&&state.funct[\\\"(scope)\\\"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&\\\"undefined\\\"===val?val:(warning(\\\"W024\\\",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if(\\\"...\\\"===state.tokens.next.value){if(state.inES6(!0)||warning(\\\"W119\\\",state.tokens.next,\\\"spread/rest operator\\\",\\\"6\\\"),advance(),checkPunctuator(state.tokens.next,\\\"...\\\"))for(warning(\\\"E024\\\",state.tokens.next,\\\"...\\\");checkPunctuator(state.tokens.next,\\\"...\\\");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning(\\\"E024\\\",state.tokens.curr,\\\"...\\\"),void 0)}error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),\\\";\\\"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(\\\";\\\"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while(\\\"(end)\\\"!==t.id&&\\\"(comment)\\\"===t.id);if(t.reach)return;if(\\\"(endline)\\\"!==t.id){if(\\\"function\\\"===t.id){state.option.latedef===!0&&warning(\\\"W026\\\",t);break}warning(\\\"W027\\\",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(\\\";\\\"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&\\\"(end)\\\"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,\\\"}\\\");sameLine&&!blockEnd?errorAt(\\\"E058\\\",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt(\\\"W033\\\",state.tokens.curr.line,state.tokens.curr.character)}else advance(\\\";\\\")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(\\\";\\\"===t.id)return advance(\\\";\\\"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&\\\":\\\"===peek().id&&(warning(\\\"W024\\\",t,t.id),res=!1),t.identifier&&!res&&\\\":\\\"===peek().id&&(advance(),advance(\\\":\\\"),hasOwnScope=!0,state.funct[\\\"(scope)\\\"].stack(),state.funct[\\\"(scope)\\\"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||\\\"{\\\"===state.tokens.next.value||warning(\\\"W028\\\",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),\\\"{\\\"===t.id){var iscase=\\\"case\\\"===state.funct[\\\"(verb)\\\"]&&\\\":\\\"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&\\\"function\\\"===r.value||\\\"(punctuator)\\\"===r.type&&r.left&&r.left.identifier&&\\\"function\\\"===r.left.value||state.isStrict()||\\\"global\\\"!==state.option.strict||warning(\\\"E007\\\"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&\\\"(\\\"===r.id&&\\\"new\\\"===r.left.id&&warning(\\\"W031\\\",t):warning(\\\"W030\\\",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct[\\\"(scope)\\\"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&\\\"(end)\\\"!==state.tokens.next.id;)\\\";\\\"===state.tokens.next.id?(p=peek(),(!p||\\\"(\\\"!==p.id&&\\\"[\\\"!==p.id)&&warning(\\\"W032\\\"),advance(\\\";\\\")):a.push(statement());return a}function directives(){for(var i,p,pn;\\\"(string)\\\"===state.tokens.next.id;){if(p=peek(0),\\\"(endline)\\\"===p.id){i=1;do pn=peek(i++);while(\\\"(endline)\\\"===pn.id);if(\\\";\\\"===pn.id)p=pn;else{if(\\\"[\\\"===pn.value||\\\".\\\"===pn.value)break;state.option.asi&&\\\"(\\\"!==pn.value||warning(\\\"W033\\\",state.tokens.next)}}else{if(\\\".\\\"===p.id||\\\"[\\\"===p.id)break;\\\";\\\"!==p.id&&warning(\\\"W033\\\",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||\\\"use strict\\\"===directive&&\\\"implied\\\"===state.option.strict)&&warning(\\\"W034\\\",state.tokens.curr,directive),state.directive[directive]=!0,\\\";\\\"===p.id&&advance(\\\";\\\")}state.isStrict()&&(state.option[\\\"(explicitNewcap)\\\"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct[\\\"(metrics)\\\"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),\\\"{\\\"===state.tokens.next.id){if(advance(\\\"{\\\"),state.funct[\\\"(scope)\\\"].stack(),line=state.tokens.curr.line,\\\"}\\\"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct[\\\"(context)\\\"][\\\"(global)\\\"]&&(m[\\\"use strict\\\"]||state.isStrict()||warning(\\\"E007\\\"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance(\\\"}\\\",t),isfunc&&(state.funct[\\\"(scope)\\\"].validateParams(),m&&(state.directive=m)),state.funct[\\\"(scope)\\\"].unstack(),indent=old_indent}else if(ordinary)state.funct[\\\"(noblockscopedvar)\\\"]=\\\"for\\\"!==state.tokens.next.id,state.funct[\\\"(scope)\\\"].stack(),(!stmt||state.option.curly)&&warning(\\\"W116\\\",state.tokens.next,\\\"{\\\",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct[\\\"(scope)\\\"].unstack(),delete state.funct[\\\"(noblockscopedvar)\\\"];else if(isfunc){if(state.funct[\\\"(scope)\\\"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error(\\\"W118\\\",state.tokens.curr,\\\"function closure expressions\\\"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct[\\\"(context)\\\"][\\\"(global)\\\"]&&(m[\\\"use strict\\\"]||state.isStrict()||warning(\\\"E007\\\")),state.funct[\\\"(scope)\\\"].unstack()}else error(\\\"E021\\\",state.tokens.next,\\\"{\\\",state.tokens.next.value);switch(state.funct[\\\"(verb)\\\"]){case\\\"break\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"throw\\\":if(iscase)break;default:state.funct[\\\"(verb)\\\"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning(\\\"W035\\\",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&\\\"boolean\\\"!=typeof membersOnly[m]&&warning(\\\"W036\\\",state.tokens.curr,m),\\\"number\\\"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct[\\\"(comparray)\\\"].stack();var reversed=!1;return\\\"for\\\"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning(\\\"W116\\\",state.tokens.next,\\\"for\\\",state.tokens.next.value),state.funct[\\\"(comparray)\\\"].setState(\\\"use\\\"),res.right=expression(10)),advance(\\\"for\\\"),\\\"each\\\"===state.tokens.next.value&&(advance(\\\"each\\\"),state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"for each\\\")),advance(\\\"(\\\"),state.funct[\\\"(comparray)\\\"].setState(\\\"define\\\"),res.left=expression(130),_.contains([\\\"in\\\",\\\"of\\\"],state.tokens.next.value)?advance():error(\\\"E045\\\",state.tokens.curr),state.funct[\\\"(comparray)\\\"].setState(\\\"generate\\\"),expression(10),advance(\\\")\\\"),\\\"if\\\"===state.tokens.next.value&&(advance(\\\"if\\\"),advance(\\\"(\\\"),state.funct[\\\"(comparray)\\\"].setState(\\\"filter\\\"),res.filter=expression(10),advance(\\\")\\\")),reversed||(state.funct[\\\"(comparray)\\\"].setState(\\\"use\\\"),res.right=expression(10)),advance(\\\"]\\\"),state.funct[\\\"(comparray)\\\"].unstack(),res}function isMethod(){return state.funct[\\\"(statement)\\\"]&&\\\"class\\\"===state.funct[\\\"(statement)\\\"].type||state.funct[\\\"(context)\\\"]&&\\\"class\\\"===state.funct[\\\"(context)\\\"][\\\"(verb)\\\"]}function isPropertyName(token){return token.identifier||\\\"(string)\\\"===token.id||\\\"(number)\\\"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return\\\"object\\\"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?\\\"object\\\"==typeof id&&(\\\"(string)\\\"===id.id||\\\"(identifier)\\\"===id.id?id=id.value:\\\"(number)\\\"===id.id&&(id=\\\"\\\"+id.value)):\\\"(string)\\\"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):\\\"(number)\\\"===state.tokens.next.id&&(id=\\\"\\\"+state.tokens.next.value,preserve||advance()),\\\"hasOwnProperty\\\"===id&&warning(\\\"W001\\\"),id}function functionparams(options){function addParam(addParamArgs){state.funct[\\\"(scope)\\\"].addParam.apply(state.funct[\\\"(scope)\\\"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct[\\\"(scope)\\\"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance(\\\"(\\\"),\\\")\\\"===state.tokens.next.id)return advance(\\\")\\\"),void 0;for(;;){arity++;var currentParams=[];if(_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,\\\"...\\\")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[\\\",\\\",\\\")\\\"]);)advance();if(pastDefault&&\\\"=\\\"!==state.tokens.next.id&&error(\\\"W138\\\",state.tokens.current),\\\"=\\\"===state.tokens.next.id&&(state.inES6()||warning(\\\"W119\\\",state.tokens.next,\\\"default parameters\\\",\\\"6\\\"),advance(\\\"=\\\"),pastDefault=!0,expression(10)),currentParams.forEach(addParam),\\\",\\\"!==state.tokens.next.id)return advance(\\\")\\\",next),{arity:arity,params:paramsIds};pastRest&&warning(\\\"W131\\\",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={\\\"(name)\\\":name,\\\"(breakage)\\\":0,\\\"(loopage)\\\":0,\\\"(tokens)\\\":{},\\\"(properties)\\\":{},\\\"(catch)\\\":!1,\\\"(global)\\\":!1,\\\"(line)\\\":null,\\\"(character)\\\":null,\\\"(metrics)\\\":null,\\\"(statement)\\\":null,\\\"(context)\\\":null,\\\"(scope)\\\":null,\\\"(comparray)\\\":null,\\\"(generator)\\\":null,\\\"(arrow)\\\":null,\\\"(params)\\\":null};return token&&_.extend(funct,{\\\"(line)\\\":token.line,\\\"(character)\\\":token.character,\\\"(metrics)\\\":createMetrics(token)}),_.extend(funct,overwrites),funct[\\\"(context)\\\"]&&(funct[\\\"(scope)\\\"]=funct[\\\"(context)\\\"][\\\"(scope)\\\"],funct[\\\"(comparray)\\\"]=funct[\\\"(context)\\\"][\\\"(comparray)\\\"]),funct}function isFunctor(token){return\\\"(scope)\\\"in token}function hasParsedCode(funct){return funct[\\\"(global)\\\"]&&!funct[\\\"(verb)\\\"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:\\\"(template)\\\",type:\\\"(template)\\\",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator=\\\"generator\\\"===options.type,isArrow=\\\"arrow\\\"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{\\\"(statement)\\\":statement,\\\"(context)\\\":state.funct,\\\"(arrow)\\\":isArrow,\\\"(generator)\\\":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct[\\\"(scope)\\\"].stack(\\\"functionouter\\\");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct[\\\"(scope)\\\"].block.add(internallyAccessibleName,classExprBinding?\\\"class\\\":\\\"function\\\",state.tokens.curr,!1),state.funct[\\\"(scope)\\\"].stack(\\\"functionparams\\\");var paramsInfo=functionparams(options);return paramsInfo?(state.funct[\\\"(params)\\\"]=paramsInfo.params,state.funct[\\\"(metrics)\\\"].arity=paramsInfo.arity,state.funct[\\\"(metrics)\\\"].verifyMaxParametersPerFunction()):state.funct[\\\"(metrics)\\\"].arity=0,isArrow&&(state.inES6(!0)||warning(\\\"W119\\\",state.tokens.curr,\\\"arrow function syntax (=>)\\\",\\\"6\\\"),options.loneArg||advance(\\\"=>\\\")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&\\\"yielded\\\"!==state.funct[\\\"(generator)\\\"]&&warning(\\\"W124\\\",state.tokens.curr),state.funct[\\\"(metrics)\\\"].verifyMaxStatementsPerFunction(),state.funct[\\\"(metrics)\\\"].verifyMaxComplexityPerFunction(),state.funct[\\\"(unusedOption)\\\"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct[\\\"(last)\\\"]=state.tokens.curr.line,state.funct[\\\"(lastcharacter)\\\"]=state.tokens.curr.character,state.funct[\\\"(scope)\\\"].unstack(),state.funct[\\\"(scope)\\\"].unstack(),state.funct=state.funct[\\\"(context)\\\"],ignoreLoopFunc||state.option.loopfunc||!state.funct[\\\"(loopage)\\\"]||f[\\\"(isCapturing)\\\"]&&warning(\\\"W083\\\",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning(\\\"W071\\\",functionStartToken,this.statementCount)\\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning(\\\"W072\\\",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning(\\\"W073\\\",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning(\\\"W074\\\",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct[\\\"(metrics)\\\"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,\\\",\\\"===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case\\\"=\\\":case\\\"+=\\\":case\\\"-=\\\":case\\\"*=\\\":case\\\"%=\\\":case\\\"&=\\\":case\\\"|=\\\":case\\\"^=\\\":case\\\"/=\\\":paren||state.option.boss||warning(\\\"W084\\\")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning(\\\"W078\\\",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,\\\".\\\")){var left=state.tokens.curr.id;advance(\\\".\\\");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error(\\\"E057\\\",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning(\\\"W104\\\",state.tokens.curr,isAssignment?\\\"destructuring assignment\\\":\\\"destructuring binding\\\",\\\"6\\\"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"{\\\"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,\\\",\\\"))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,\\\"(\\\")){var is_rest=checkPunctuator(state.tokens.next,\\\"...\\\");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning(\\\"E030\\\",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance(\\\"(\\\"),nextInnerDE(),advance(\\\")\\\")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,\\\"[\\\")?(advance(\\\"[\\\"),expression(10),advance(\\\"]\\\"),advance(\\\":\\\"),nextInnerDE()):\\\"(string)\\\"===state.tokens.next.id||\\\"(number)\\\"===state.tokens.next.id?(advance(),advance(\\\":\\\"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,\\\":\\\")?(advance(\\\":\\\"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,\\\"[\\\")){openingParsed||advance(\\\"[\\\"),checkPunctuator(state.tokens.next,\\\"]\\\")&&warning(\\\"W137\\\",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,\\\"]\\\");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,\\\",\\\")&&(warning(\\\"W130\\\",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,\\\"=\\\")&&(checkPunctuator(state.tokens.prev,\\\"...\\\")?advance(\\\"]\\\"):advance(\\\"=\\\"),\\\"undefined\\\"===state.tokens.next.id&&warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\\\"]\\\")||advance(\\\",\\\");advance(\\\"]\\\")}else if(checkPunctuator(firstToken,\\\"{\\\")){for(openingParsed||advance(\\\"{\\\"),checkPunctuator(state.tokens.next,\\\"}\\\")&&warning(\\\"W137\\\",state.tokens.curr);!checkPunctuator(state.tokens.next,\\\"}\\\")&&(assignmentProperty(),checkPunctuator(state.tokens.next,\\\"=\\\")&&(advance(\\\"=\\\"),\\\"undefined\\\"===state.tokens.next.id&&warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\\\"}\\\")||(advance(\\\",\\\"),!checkPunctuator(state.tokens.next,\\\"}\\\"))););advance(\\\"}\\\")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning(\\\"W080\\\",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet=\\\"let\\\"===type,isConst=\\\"const\\\"===type;for(state.inES6()||warning(\\\"W104\\\",state.tokens.curr,type,\\\"6\\\"),isLet&&\\\"(\\\"===state.tokens.next.value?(state.inMoz()||warning(\\\"W118\\\",state.tokens.next,\\\"let block\\\"),advance(\\\"(\\\"),state.funct[\\\"(scope)\\\"].stack(),letblock=!0):state.funct[\\\"(noblockscopedvar)\\\"]&&error(\\\"E048\\\",state.tokens.curr,isConst?\\\"Const\\\":\\\"Let\\\"),statement.first=[];;){var names=[];_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&\\\"=\\\"!==state.tokens.next.id&&warning(\\\"E012\\\",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct[\\\"(scope)\\\"].block.isGlobal()&&predefined[t.id]===!1&&warning(\\\"W079\\\",t.token,t.id),t.id&&!state.funct[\\\"(noblockscopedvar)\\\"]&&(state.funct[\\\"(scope)\\\"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct[\\\"(scope)\\\"].setExported(t.token.value,t.token)));if(\\\"=\\\"===state.tokens.next.id&&(advance(\\\"=\\\"),prefix||\\\"undefined\\\"!==state.tokens.next.id||warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),!prefix&&\\\"=\\\"===peek(0).id&&state.tokens.next.identifier&&warning(\\\"W120\\\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),\\\",\\\"!==state.tokens.next.id)break;comma()}return letblock&&(advance(\\\")\\\"),block(!0,!0),statement.block=!0,state.funct[\\\"(scope)\\\"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"class\\\",\\\"6\\\"),isStatement?(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"class\\\",token:state.tokens.curr})):state.tokens.next.identifier&&\\\"extends\\\"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;\\\"extends\\\"===state.tokens.next.value&&(advance(\\\"extends\\\"),c.heritage=expression(10)),state.inClassBody=!0,advance(\\\"{\\\"),c.body=classbody(c),advance(\\\"}\\\"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;\\\"}\\\"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,\\\";\\\"!==name.id){if(\\\"*\\\"===name.id&&(isGenerator=!0,advance(\\\"*\\\"),name=state.tokens.next),\\\"[\\\"===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning(\\\"W052\\\",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&\\\"static\\\"===name.value&&(checkPunctuator(state.tokens.next,\\\"*\\\")&&(isGenerator=!0,advance(\\\"*\\\")),(isPropertyName(state.tokens.next)||\\\"[\\\"===state.tokens.next.id)&&(computed=\\\"[\\\"===state.tokens.next.id,isStatic=!0,name=state.tokens.next,\\\"[\\\"===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||\\\"get\\\"!==name.value&&\\\"set\\\"!==name.value||(isPropertyName(state.tokens.next)||\\\"[\\\"===state.tokens.next.id)&&(computed=\\\"[\\\"===state.tokens.next.id,getset=name,name=state.tokens.next,\\\"[\\\"===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,\\\"(\\\")){for(error(\\\"E054\\\",state.tokens.next,state.tokens.next.value);\\\"}\\\"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,\\\"(\\\");)advance();\\\"(\\\"!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):(\\\"constructor\\\"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&\\\"constructor\\\"===name.value){var propDesc=\\\"get\\\"===getset.value?\\\"class getter method\\\":\\\"class setter method\\\";error(\\\"E049\\\",name,propDesc,\\\"constructor\\\")}else\\\"prototype\\\"===name.value&&error(\\\"E049\\\",name,\\\"class method\\\",\\\"prototype\\\");propertyName(name),doFunction({statement:c,type:isGenerator?\\\"generator\\\":null,classExprBinding:c.namedExpr?c.name:null})}else warning(\\\"W032\\\"),advance(\\\";\\\");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=[\\\"key\\\",\\\"class method\\\",\\\"static class method\\\"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&\\\"__proto__\\\"!==name?warning(\\\"W075\\\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName=\\\"get\\\"===accessorType?\\\"getterToken\\\":\\\"setterToken\\\",msg=\\\"\\\";isClass?(isStatic&&(msg+=\\\"static \\\"),msg+=accessorType+\\\"ter method\\\"):msg=\\\"key\\\",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&\\\"__proto__\\\"!==name&&warning(\\\"W075\\\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance(\\\"[\\\"),state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"computed property names\\\",\\\"6\\\");var value=expression(10);return advance(\\\"]\\\"),value}function checkPunctuators(token,values){return\\\"(punctuator)\\\"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return\\\"(punctuator)\\\"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning(\\\"W104\\\",state.tokens.curr,\\\"destructuring assignment\\\",\\\"6\\\"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance(\\\"{\\\"),\\\"}\\\"!==state.tokens.next.id)for(;;){if(\\\"(end)\\\"===state.tokens.next.id)error(\\\"E026\\\",state.tokens.next,t.line);else{if(\\\"}\\\"===state.tokens.next.id){warning(\\\"W094\\\",state.tokens.curr);break}\\\",\\\"===state.tokens.next.id?error(\\\"E028\\\",state.tokens.next):\\\"(string)\\\"!==state.tokens.next.id&&warning(\\\"W095\\\",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning(\\\"W075\\\",state.tokens.next,\\\"key\\\",state.tokens.next.value):\\\"__proto__\\\"===state.tokens.next.value&&!state.option.proto||\\\"__iterator__\\\"===state.tokens.next.value&&!state.option.iterator?warning(\\\"W096\\\",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(\\\":\\\"),jsonValue(),\\\",\\\"!==state.tokens.next.id)break;advance(\\\",\\\")}advance(\\\"}\\\")}function jsonArray(){var t=state.tokens.next;if(advance(\\\"[\\\"),\\\"]\\\"!==state.tokens.next.id)for(;;){if(\\\"(end)\\\"===state.tokens.next.id)error(\\\"E027\\\",state.tokens.next,t.line);else{if(\\\"]\\\"===state.tokens.next.id){warning(\\\"W094\\\",state.tokens.curr);break}\\\",\\\"===state.tokens.next.id&&error(\\\"E028\\\",state.tokens.next)}if(jsonValue(),\\\",\\\"!==state.tokens.next.id)break;advance(\\\",\\\")}advance(\\\"]\\\")}switch(state.tokens.next.id){case\\\"{\\\":jsonObject();break;case\\\"[\\\":jsonArray();break;case\\\"true\\\":case\\\"false\\\":case\\\"null\\\":case\\\"(number)\\\":case\\\"(string)\\\":advance();break;case\\\"-\\\":advance(\\\"-\\\"),advance(\\\"(number)\\\");break;default:error(\\\"E003\\\",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={\\\"<\\\":!0,\\\"<=\\\":!0,\\\"==\\\":!0,\\\"===\\\":!0,\\\"!==\\\":!0,\\\"!=\\\":!0,\\\">\\\":!0,\\\">=\\\":!0,\\\"+\\\":!0,\\\"-\\\":!0,\\\"*\\\":!0,\\\"/\\\":!0,\\\"%\\\":!0},functionicity=[\\\"closure\\\",\\\"exception\\\",\\\"global\\\",\\\"label\\\",\\\"outer\\\",\\\"unused\\\",\\\"var\\\"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=[\\\"xml\\\",\\\"unknown\\\"],typeofValues.es3=[\\\"undefined\\\",\\\"boolean\\\",\\\"number\\\",\\\"string\\\",\\\"function\\\",\\\"object\\\"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat(\\\"symbol\\\"),type(\\\"(number)\\\",function(){return this}),type(\\\"(string)\\\",function(){return this}),state.syntax[\\\"(identifier)\\\"]={type:\\\"(identifier)\\\",lbp:0,identifier:!0,nud:function(){var v=this.value;return\\\"=>\\\"===state.tokens.next.id?this:(state.funct[\\\"(comparray)\\\"].check(v)||state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),this)},led:function(){error(\\\"E033\\\",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax[\\\"(template)\\\"]=_.extend({type:\\\"(template)\\\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(template middle)\\\"]=_.extend({type:\\\"(template middle)\\\",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(template tail)\\\"]=_.extend({type:\\\"(template tail)\\\",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(no subst template)\\\"]=_.extend({type:\\\"(template)\\\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type(\\\"(regexp)\\\",function(){return this}),delim(\\\"(endline)\\\"),delim(\\\"(begin)\\\"),delim(\\\"(end)\\\").reach=!0,delim(\\\"(error)\\\").reach=!0,delim(\\\"}\\\").reach=!0,delim(\\\")\\\"),delim(\\\"]\\\"),delim('\\\"').reach=!0,delim(\\\"'\\\").reach=!0,delim(\\\";\\\"),delim(\\\":\\\").reach=!0,delim(\\\"#\\\"),reserve(\\\"else\\\"),reserve(\\\"case\\\").reach=!0,reserve(\\\"catch\\\"),reserve(\\\"default\\\").reach=!0,reserve(\\\"finally\\\"),reservevar(\\\"arguments\\\",function(x){state.isStrict()&&state.funct[\\\"(global)\\\"]&&warning(\\\"E008\\\",x)}),reservevar(\\\"eval\\\"),reservevar(\\\"false\\\"),reservevar(\\\"Infinity\\\"),reservevar(\\\"null\\\"),reservevar(\\\"this\\\",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct[\\\"(statement)\\\"]&&state.funct[\\\"(name)\\\"].charAt(0)>\\\"Z\\\"||state.funct[\\\"(global)\\\"])&&warning(\\\"W040\\\",x)}),reservevar(\\\"true\\\"),reservevar(\\\"undefined\\\"),assignop(\\\"=\\\",\\\"assign\\\",20),assignop(\\\"+=\\\",\\\"assignadd\\\",20),assignop(\\\"-=\\\",\\\"assignsub\\\",20),assignop(\\\"*=\\\",\\\"assignmult\\\",20),assignop(\\\"/=\\\",\\\"assigndiv\\\",20).nud=function(){error(\\\"E014\\\")},assignop(\\\"%=\\\",\\\"assignmod\\\",20),bitwiseassignop(\\\"&=\\\"),bitwiseassignop(\\\"|=\\\"),bitwiseassignop(\\\"^=\\\"),bitwiseassignop(\\\"<<=\\\"),bitwiseassignop(\\\">>=\\\"),bitwiseassignop(\\\">>>=\\\"),infix(\\\",\\\",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning(\\\"W127\\\"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),\\\",\\\"!==state.tokens.next.value||!comma())break}return that},10,!0),infix(\\\"?\\\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(\\\":\\\"),that[\\\"else\\\"]=expression(10),that},30);var orPrecendence=40;infix(\\\"||\\\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix(\\\"&&\\\",\\\"and\\\",50),bitwise(\\\"|\\\",\\\"bitor\\\",70),bitwise(\\\"^\\\",\\\"bitxor\\\",80),bitwise(\\\"&\\\",\\\"bitand\\\",90),relation(\\\"==\\\",function(left,right){var eqnull=state.option.eqnull&&(\\\"null\\\"===(left&&left.value)||\\\"null\\\"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning(\\\"W116\\\",this,\\\"===\\\",\\\"==\\\");break;case isPoorRelation(left):warning(\\\"W041\\\",this,\\\"===\\\",left.value);break;case isPoorRelation(right):warning(\\\"W041\\\",this,\\\"===\\\",right.value);break;case isTypoTypeof(right,left,state):warning(\\\"W122\\\",this,right.value);break;case isTypoTypeof(left,right,state):warning(\\\"W122\\\",this,left.value)}return this}),relation(\\\"===\\\",function(left,right){return isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"!=\\\",function(left,right){var eqnull=state.option.eqnull&&(\\\"null\\\"===(left&&left.value)||\\\"null\\\"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning(\\\"W116\\\",this,\\\"!==\\\",\\\"!=\\\")):isPoorRelation(left)?warning(\\\"W041\\\",this,\\\"!==\\\",left.value):isPoorRelation(right)?warning(\\\"W041\\\",this,\\\"!==\\\",right.value):isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"!==\\\",function(left,right){return isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"<\\\"),relation(\\\">\\\"),relation(\\\"<=\\\"),relation(\\\">=\\\"),bitwise(\\\"<<\\\",\\\"shiftleft\\\",120),bitwise(\\\">>\\\",\\\"shiftright\\\",120),bitwise(\\\">>>\\\",\\\"shiftrightunsigned\\\",120),infix(\\\"in\\\",\\\"in\\\",120),infix(\\\"instanceof\\\",\\\"instanceof\\\",120),infix(\\\"+\\\",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&\\\"(string)\\\"===left.id&&\\\"(string)\\\"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&®.javascriptURL.test(left.value)&&warning(\\\"W050\\\",left),left):that},130),prefix(\\\"+\\\",\\\"num\\\"),prefix(\\\"+++\\\",function(){return warning(\\\"W007\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),infix(\\\"+++\\\",function(left){return warning(\\\"W007\\\"),this.left=left,this.right=expression(130),this},130),infix(\\\"-\\\",\\\"sub\\\",130),prefix(\\\"-\\\",\\\"neg\\\"),prefix(\\\"---\\\",function(){return warning(\\\"W006\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),infix(\\\"---\\\",function(left){return warning(\\\"W006\\\"),this.left=left,this.right=expression(130),this},130),infix(\\\"*\\\",\\\"mult\\\",140),infix(\\\"/\\\",\\\"div\\\",140),infix(\\\"%\\\",\\\"mod\\\",140),suffix(\\\"++\\\"),prefix(\\\"++\\\",\\\"preinc\\\"),state.syntax[\\\"++\\\"].exps=!0,suffix(\\\"--\\\"),prefix(\\\"--\\\",\\\"predec\\\"),state.syntax[\\\"--\\\"].exps=!0,prefix(\\\"delete\\\",function(){var p=expression(10);return p?(\\\".\\\"!==p.id&&\\\"[\\\"!==p.id&&warning(\\\"W051\\\"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix(\\\"~\\\",function(){return state.option.bitwise&&warning(\\\"W016\\\",this,\\\"~\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),prefix(\\\"...\\\",function(){return state.inES6(!0)||warning(\\\"W119\\\",this,\\\"spread/rest operator\\\",\\\"6\\\"),state.tokens.next.identifier||\\\"(string)\\\"===state.tokens.next.type||checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"(\\\"])||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix(\\\"!\\\",function(){return this.arity=\\\"unary\\\",this.right=expression(150),this.right||quit(\\\"E041\\\",this.line||0),bang[this.right.id]===!0&&warning(\\\"W018\\\",this,\\\"!\\\"),this}),prefix(\\\"typeof\\\",function(){var p=expression(150);return this.first=this.right=p,p||quit(\\\"E041\\\",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix(\\\"new\\\",function(){var mp=metaProperty(\\\"target\\\",function(){state.inES6(!0)||warning(\\\"W119\\\",state.tokens.prev,\\\"new.target\\\",\\\"6\\\");for(var inFunction,c=state.funct;c&&(inFunction=!c[\\\"(global)\\\"],c[\\\"(arrow)\\\"]);)c=c[\\\"(context)\\\"];inFunction||warning(\\\"W136\\\",state.tokens.prev,\\\"new.target\\\")});if(mp)return mp;var i,c=expression(155);if(c&&\\\"function\\\"!==c.id)if(c.identifier)switch(c[\\\"new\\\"]=!0,c.value){case\\\"Number\\\":case\\\"String\\\":case\\\"Boolean\\\":case\\\"Math\\\":case\\\"JSON\\\":warning(\\\"W053\\\",state.tokens.prev,c.value);break;case\\\"Symbol\\\":state.inES6()&&warning(\\\"W053\\\",state.tokens.prev,c.value);break;case\\\"Function\\\":state.option.evil||warning(\\\"W054\\\");break;case\\\"Date\\\":case\\\"RegExp\\\":case\\\"this\\\":break;default:\\\"function\\\"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&(\\\"A\\\">i||i>\\\"Z\\\")&&!state.funct[\\\"(scope)\\\"].isPredefined(c.value)&&warning(\\\"W055\\\",state.tokens.curr))}else\\\".\\\"!==c.id&&\\\"[\\\"!==c.id&&\\\"(\\\"!==c.id&&warning(\\\"W056\\\",state.tokens.curr);else state.option.supernew||warning(\\\"W057\\\",this);return\\\"(\\\"===state.tokens.next.id||state.option.supernew||warning(\\\"W058\\\",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax[\\\"new\\\"].exps=!0,prefix(\\\"void\\\").exps=!0,infix(\\\".\\\",function(left,that){var m=identifier(!1,!0);return\\\"string\\\"==typeof m&&countMember(m),that.left=left,that.right=m,m&&\\\"hasOwnProperty\\\"===m&&\\\"=\\\"===state.tokens.next.value&&warning(\\\"W001\\\"),!left||\\\"arguments\\\"!==left.value||\\\"callee\\\"!==m&&\\\"caller\\\"!==m?state.option.evil||!left||\\\"document\\\"!==left.value||\\\"write\\\"!==m&&\\\"writeln\\\"!==m||warning(\\\"W060\\\",left):state.option.noarg?warning(\\\"W059\\\",left,m):state.isStrict()&&error(\\\"E008\\\"),state.option.evil||\\\"eval\\\"!==m&&\\\"execScript\\\"!==m||isGlobalEval(left,state)&&warning(\\\"W061\\\"),that},160,!0),infix(\\\"(\\\",function(left,that){state.option.immed&&left&&!left.immed&&\\\"function\\\"===left.id&&warning(\\\"W062\\\");var n=0,p=[];if(left&&\\\"(identifier)\\\"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1===\\\"Array Number String Boolean Date Object Error Symbol\\\".indexOf(left.value)&&(\\\"Math\\\"===left.value?warning(\\\"W063\\\",left):state.option.newcap&&warning(\\\"W064\\\",left)),\\\")\\\"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,\\\",\\\"===state.tokens.next.id;)comma();return advance(\\\")\\\"),\\\"object\\\"==typeof left&&(state.inES5()||\\\"parseInt\\\"!==left.value||1!==n||warning(\\\"W065\\\",state.tokens.curr),state.option.evil||(\\\"eval\\\"===left.value||\\\"Function\\\"===left.value||\\\"execScript\\\"===left.value?(warning(\\\"W061\\\",left),p[0]&&\\\"(string)\\\"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||\\\"(string)\\\"!==p[0].id||\\\"setTimeout\\\"!==left.value&&\\\"setInterval\\\"!==left.value?!p[0]||\\\"(string)\\\"!==p[0].id||\\\".\\\"!==left.value||\\\"window\\\"!==left.left.value||\\\"setTimeout\\\"!==left.right&&\\\"setInterval\\\"!==left.right||(warning(\\\"W066\\\",left),addInternalSrc(left,p[0].value)):(warning(\\\"W066\\\",left),addInternalSrc(left,p[0].value))),left.identifier||\\\".\\\"===left.id||\\\"[\\\"===left.id||\\\"=>\\\"===left.id||\\\"(\\\"===left.id||\\\"&&\\\"===left.id||\\\"||\\\"===left.id||\\\"?\\\"===left.id||state.inES6()&&left[\\\"(name)\\\"]||warning(\\\"W067\\\",that)),that.left=left,that},155,!0).exps=!0,prefix(\\\"(\\\",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do\\\"(\\\"===pn.value?parens+=1:\\\")\\\"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||\\\")\\\"!==pn1.value)&&\\\";\\\"!==pn.value&&\\\"(end)\\\"!==pn.type);if(\\\"function\\\"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),\\\"=>\\\"===pn.value)return doFunction({type:\\\"arrow\\\",parsedOpening:!0});var exprs=[];if(\\\")\\\"!==state.tokens.next.id)for(;exprs.push(expression(10)),\\\",\\\"===state.tokens.next.id;)state.option.nocomma&&warning(\\\"W127\\\"),comma();return advance(\\\")\\\",this),state.option.immed&&exprs[0]&&\\\"function\\\"===exprs[0].id&&\\\"(\\\"!==state.tokens.next.id&&\\\".\\\"!==state.tokens.next.id&&\\\"[\\\"!==state.tokens.next.id&&warning(\\\"W068\\\",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[\\\",\\\"]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&(\\\"{\\\"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||\\\"}\\\"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||\\\"{\\\"===ret.id&&\\\"=>\\\"===preceeding.id||\\\"(number)\\\"===ret.type&&checkPunctuator(pn,\\\".\\\")&&/^\\\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp\\\"),infix(\\\"[\\\",function(left,that){var s,e=expression(10);return e&&\\\"(string)\\\"===e.type&&(state.option.evil||\\\"eval\\\"!==e.value&&\\\"execScript\\\"!==e.value||isGlobalEval(left,state)&&warning(\\\"W061\\\"),countMember(e.value),!state.option.sub&®.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning(\\\"W069\\\",state.tokens.prev,e.value))),advance(\\\"]\\\",that),e&&\\\"hasOwnProperty\\\"===e.value&&\\\"=\\\"===state.tokens.next.value&&warning(\\\"W001\\\"),that.left=left,that.right=e,that},160,!0),prefix(\\\"[\\\",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"array comprehension\\\"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));\\\"(end)\\\"!==state.tokens.next.id;){for(;\\\",\\\"===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning(\\\"W128\\\");do advance(\\\",\\\");while(\\\",\\\"===state.tokens.next.id);continue}warning(\\\"W070\\\")}advance(\\\",\\\")}if(\\\"]\\\"===state.tokens.next.id)break;if(this.first.push(expression(10)),\\\",\\\"!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),\\\"]\\\"===state.tokens.next.id&&!state.inES5()){warning(\\\"W070\\\",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance(\\\"]\\\",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;\\\"}\\\"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||\\\",\\\"!==peekIgnoreEOL().id&&\\\"}\\\"!==peekIgnoreEOL().id)if(\\\":\\\"===peek().id||\\\"get\\\"!==nextVal&&\\\"set\\\"!==nextVal){if(\\\"*\\\"===state.tokens.next.value&&\\\"(punctuator)\\\"===state.tokens.next.type?(state.inES6()||warning(\\\"W104\\\",state.tokens.next,\\\"generator functions\\\",\\\"6\\\"),advance(\\\"*\\\"),isGeneratorMethod=!0):isGeneratorMethod=!1,\\\"[\\\"===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),\\\"string\\\"!=typeof i)break;\\\"(\\\"===state.tokens.next.value?(state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"concise methods\\\",\\\"6\\\"),doFunction({type:isGeneratorMethod?\\\"generator\\\":null})):(advance(\\\":\\\"),expression(10))}else advance(nextVal),state.inES5()||error(\\\"E034\\\"),i=propertyName(),i||state.inES6()||error(\\\"E035\\\"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f[\\\"(params)\\\"],\\\"get\\\"===nextVal&&i&&p?warning(\\\"W076\\\",t,p[0],i):\\\"set\\\"!==nextVal||!i||p&&1===p.length||warning(\\\"W077\\\",t,i);else state.inES6()||warning(\\\"W104\\\",state.tokens.next,\\\"object short notation\\\",\\\"6\\\"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),\\\",\\\"!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),\\\",\\\"===state.tokens.next.id?warning(\\\"W070\\\",state.tokens.curr):\\\"}\\\"!==state.tokens.next.id||state.inES5()||warning(\\\"W070\\\",state.tokens.curr)}return b&&(indent-=state.option.indent),advance(\\\"}\\\",this),checkProperties(props),this},x.fud=function(){error(\\\"E036\\\",state.tokens.curr)}}(delim(\\\"{\\\"));var conststatement=stmt(\\\"const\\\",function(context){return blockVariableStatement(\\\"const\\\",this,context)});conststatement.exps=!0;var letstatement=stmt(\\\"let\\\",function(context){return blockVariableStatement(\\\"let\\\",this,context)});letstatement.exps=!0;var varstatement=stmt(\\\"var\\\",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning(\\\"W132\\\",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct[\\\"(global)\\\"]&&(predefined[t.id]===!1?warning(\\\"W079\\\",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning(\\\"W129\\\",t.token,t.id)),t.id&&(\\\"for\\\"===implied?(state.funct[\\\"(scope)\\\"].has(t.id)||report&&warning(\\\"W088\\\",t.token,t.id),state.funct[\\\"(scope)\\\"].block.use(t.id,t.token)):(state.funct[\\\"(scope)\\\"].addlabel(t.id,{type:\\\"var\\\",token:t.token}),lone&&inexport&&state.funct[\\\"(scope)\\\"].setExported(t.id,t.token)),names.push(t.token)));if(\\\"=\\\"===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance(\\\"=\\\"),prefix||!report||state.funct[\\\"(loopage)\\\"]||\\\"undefined\\\"!==state.tokens.next.id||warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),\\\"=\\\"===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct[\\\"(params)\\\"]||-1===state.funct[\\\"(params)\\\"].indexOf(state.tokens.next.value))&&warning(\\\"W120\\\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),\\\",\\\"!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt(\\\"class\\\",function(){return classdef.call(this,!0)}),blockstmt(\\\"function\\\",function(context){var inexport=context&&context.inexport,generator=!1;\\\"*\\\"===state.tokens.next.value&&(advance(\\\"*\\\"),state.inES6({strict:!0})?generator=!0:warning(\\\"W119\\\",state.tokens.curr,\\\"function*\\\",\\\"6\\\")),inblock&&warning(\\\"W082\\\",state.tokens.curr);var i=optionalidentifier();return state.funct[\\\"(scope)\\\"].addlabel(i,{type:\\\"function\\\",token:state.tokens.curr}),void 0===i?warning(\\\"W025\\\"):inexport&&state.funct[\\\"(scope)\\\"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?\\\"generator\\\":null,ignoreLoopFunc:inblock}),\\\"(\\\"===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error(\\\"E039\\\"),this}),prefix(\\\"function\\\",function(){var generator=!1;\\\"*\\\"===state.tokens.next.value&&(state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"function*\\\",\\\"6\\\"),advance(\\\"*\\\"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?\\\"generator\\\":null}),this}),blockstmt(\\\"if\\\",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance(\\\"(\\\");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type=\\\"(punctuator)\\\"===expr.type&&\\\"!\\\"===expr.value?\\\"(negative)\\\":\\\"(positive)\\\"),advance(\\\")\\\",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&\\\"(negative)\\\"===forinifcheck.type&&s&&s[0]&&\\\"(identifier)\\\"===s[0].type&&\\\"continue\\\"===s[0].value&&(forinifcheck.type=\\\"(negative-with-continue)\\\"),\\\"else\\\"===state.tokens.next.id&&(advance(\\\"else\\\"),\\\"if\\\"===state.tokens.next.id||\\\"switch\\\"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt(\\\"try\\\",function(){function doCatch(){if(advance(\\\"catch\\\"),advance(\\\"(\\\"),state.funct[\\\"(scope)\\\"].stack(\\\"catchparams\\\"),checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"{\\\"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct[\\\"(scope)\\\"].addParam(token.id,token,\\\"exception\\\")})}else\\\"(identifier)\\\"!==state.tokens.next.type?warning(\\\"E030\\\",state.tokens.next,state.tokens.next.value):state.funct[\\\"(scope)\\\"].addParam(identifier(),state.tokens.curr,\\\"exception\\\");\\\"if\\\"===state.tokens.next.value&&(state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"catch filter\\\"),advance(\\\"if\\\"),expression(0)),advance(\\\")\\\"),block(!1),state.funct[\\\"(scope)\\\"].unstack()}var b;for(block(!0);\\\"catch\\\"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning(\\\"W118\\\",state.tokens.next,\\\"multiple catch blocks\\\"),doCatch(),b=!0;return\\\"finally\\\"===state.tokens.next.id?(advance(\\\"finally\\\"),block(!0),void 0):(b||error(\\\"E021\\\",state.tokens.next,\\\"catch\\\",state.tokens.next.value),this)}),blockstmt(\\\"while\\\",function(){var t=state.tokens.next;return state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,increaseComplexityCount(),advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),block(!0,!0),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1,this}).labelled=!0,blockstmt(\\\"with\\\",function(){var t=state.tokens.next;return state.isStrict()?error(\\\"E010\\\",state.tokens.curr):state.option.withstmt||warning(\\\"W085\\\",state.tokens.curr),advance(\\\"(\\\"),expression(0),advance(\\\")\\\",t),block(!0,!0),this}),blockstmt(\\\"switch\\\",function(){var t=state.tokens.next,g=!1,noindent=!1;\\nfor(state.funct[\\\"(breakage)\\\"]+=1,advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),t=state.tokens.next,advance(\\\"{\\\"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case\\\"case\\\":switch(state.funct[\\\"(verb)\\\"]){case\\\"yield\\\":case\\\"break\\\":case\\\"case\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"switch\\\":case\\\"throw\\\":break;default:state.tokens.curr.caseFallsThrough||warning(\\\"W086\\\",state.tokens.curr,\\\"case\\\")}advance(\\\"case\\\"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(\\\":\\\"),state.funct[\\\"(verb)\\\"]=\\\"case\\\";break;case\\\"default\\\":switch(state.funct[\\\"(verb)\\\"]){case\\\"yield\\\":case\\\"break\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"throw\\\":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning(\\\"W086\\\",state.tokens.curr,\\\"default\\\"))}advance(\\\"default\\\"),g=!0,advance(\\\":\\\");break;case\\\"}\\\":return noindent||(indent-=state.option.indent),advance(\\\"}\\\",t),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(verb)\\\"]=void 0,void 0;case\\\"(end)\\\":return error(\\\"E023\\\",state.tokens.next,\\\"}\\\"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case\\\",\\\":return error(\\\"E040\\\"),void 0;case\\\":\\\":g=!1,statements();break;default:return error(\\\"E025\\\",state.tokens.curr),void 0}else{if(\\\":\\\"!==state.tokens.curr.id)return error(\\\"E021\\\",state.tokens.next,\\\"case\\\",state.tokens.next.value),void 0;advance(\\\":\\\"),error(\\\"E024\\\",state.tokens.curr,\\\":\\\"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt(\\\"debugger\\\",function(){return state.option.debug||warning(\\\"W087\\\",this),this}).exps=!0,function(){var x=stmt(\\\"do\\\",function(){state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance(\\\"while\\\");var t=state.tokens.next;return advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt(\\\"for\\\",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;\\\"each\\\"===t.value&&(foreachtok=t,advance(\\\"each\\\"),state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"for each\\\")),increaseComplexityCount(),advance(\\\"(\\\");var nextop,comma,initializer,i=0,inof=[\\\"in\\\",\\\"of\\\"],level=0;checkPunctuators(state.tokens.next,[\\\"{\\\",\\\"[\\\"])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,[\\\"{\\\",\\\"[\\\"])?++level:checkPunctuators(nextop,[\\\"}\\\",\\\"]\\\"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,\\\",\\\")?comma=nextop:!initializer&&checkPunctuator(nextop,\\\"=\\\")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&\\\";\\\"!==nextop.value&&\\\"(end)\\\"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||\\\"of\\\"!==nextop.value||warning(\\\"W104\\\",nextop,\\\"for of\\\",\\\"6\\\");var ok=!(initializer||comma);if(initializer&&error(\\\"W133\\\",comma,nextop.value,\\\"initializer is forbidden\\\"),comma&&error(\\\"W133\\\",comma,nextop.value,\\\"more than one ForBinding\\\"),\\\"var\\\"===state.tokens.next.id?(advance(\\\"var\\\"),state.tokens.curr.fud({prefix:!0})):\\\"let\\\"===state.tokens.next.id||\\\"const\\\"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct[\\\"(scope)\\\"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:\\\"for\\\",ignore:!ok}),advance(nextop.value),expression(20),advance(\\\")\\\",t),\\\"in\\\"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:\\\"(none)\\\"})),state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,s=block(!0,!0),\\\"in\\\"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&(\\\"object\\\"!=typeof s[0]||\\\"if\\\"!==s[0].value)||\\\"(positive)\\\"===check.type&&s.length>1||\\\"(negative)\\\"===check.type)&&warning(\\\"W089\\\",this)}state.forinifcheckneeded=!1}state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1}else{if(foreachtok&&error(\\\"E045\\\",foreachtok),\\\";\\\"!==state.tokens.next.id)if(\\\"var\\\"===state.tokens.next.id)advance(\\\"var\\\"),state.tokens.curr.fud();else if(\\\"let\\\"===state.tokens.next.id)advance(\\\"let\\\"),letscope=!0,state.funct[\\\"(scope)\\\"].stack(),state.tokens.curr.fud();else for(;expression(0,\\\"for\\\"),\\\",\\\"===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(\\\";\\\"),state.funct[\\\"(loopage)\\\"]+=1,\\\";\\\"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(\\\";\\\"),\\\";\\\"===state.tokens.next.id&&error(\\\"E021\\\",state.tokens.next,\\\")\\\",\\\";\\\"),\\\")\\\"!==state.tokens.next.id)for(;expression(0,\\\"for\\\"),\\\",\\\"===state.tokens.next.id;)comma();advance(\\\")\\\",t),state.funct[\\\"(breakage)\\\"]+=1,block(!0,!0),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1}return letscope&&state.funct[\\\"(scope)\\\"].unstack(),this}).labelled=!0,stmt(\\\"break\\\",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct[\\\"(breakage)\\\"]&&warning(\\\"W052\\\",state.tokens.next,this.value):(state.funct[\\\"(scope)\\\"].funct.hasBreakLabel(v)||warning(\\\"W090\\\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\\\"continue\\\",function(){var v=state.tokens.next.value;return 0===state.funct[\\\"(breakage)\\\"]&&warning(\\\"W052\\\",state.tokens.next,this.value),state.funct[\\\"(loopage)\\\"]||warning(\\\"W052\\\",state.tokens.next,this.value),state.option.asi||nolinebreak(this),\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct[\\\"(scope)\\\"].funct.hasBreakLabel(v)||warning(\\\"W090\\\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\\\"return\\\",function(){return this.line===startLine(state.tokens.next)?\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||\\\"(punctuator)\\\"!==this.first.type||\\\"=\\\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\\\"W093\\\",this.first.line,this.first.character)):\\\"(punctuator)\\\"===state.tokens.next.type&&[\\\"[\\\",\\\"{\\\",\\\"+\\\",\\\"-\\\"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix(\\\"yield\\\",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct[\\\"(generator)\\\"]?\\\"(catch)\\\"===state.funct[\\\"(name)\\\"]&&state.funct[\\\"(context)\\\"][\\\"(generator)\\\"]||error(\\\"E046\\\",state.tokens.curr,\\\"yield\\\"):state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"yield\\\",\\\"6\\\"),state.funct[\\\"(generator)\\\"]=\\\"yielded\\\";var delegatingYield=!1;return\\\"*\\\"===state.tokens.next.value&&(delegatingYield=!0,advance(\\\"*\\\")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||\\\";\\\"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),\\\"(punctuator)\\\"!==this.first.type||\\\"=\\\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\\\"W093\\\",this.first.line,this.first.character)),state.inMoz()&&\\\")\\\"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||\\\"yield\\\"===prev.id)&&error(\\\"E050\\\",this)),this})),stmt(\\\"throw\\\",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt(\\\"import\\\",function(){if(state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"import\\\",\\\"6\\\"),\\\"(string)\\\"===state.tokens.next.type)return advance(\\\"(string)\\\"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"const\\\",token:state.tokens.curr}),\\\",\\\"!==state.tokens.next.value)return advance(\\\"from\\\"),advance(\\\"(string)\\\"),this;advance(\\\",\\\")}if(\\\"*\\\"===state.tokens.next.id)advance(\\\"*\\\"),advance(\\\"as\\\"),state.tokens.next.identifier&&(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"const\\\",token:state.tokens.curr}));else for(advance(\\\"{\\\");;){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}var importName;if(\\\"default\\\"===state.tokens.next.type?(importName=\\\"default\\\",advance(\\\"default\\\")):importName=identifier(),\\\"as\\\"===state.tokens.next.value&&(advance(\\\"as\\\"),importName=identifier()),state.funct[\\\"(scope)\\\"].addlabel(importName,{type:\\\"const\\\",token:state.tokens.curr}),\\\",\\\"!==state.tokens.next.value){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);break}advance(\\\",\\\")}return advance(\\\"from\\\"),advance(\\\"(string)\\\"),this}).exps=!0,stmt(\\\"export\\\",function(){var token,identifier,ok=!0;if(state.inES6()||(warning(\\\"W119\\\",state.tokens.curr,\\\"export\\\",\\\"6\\\"),ok=!1),state.funct[\\\"(scope)\\\"].block.isGlobal()||(error(\\\"E053\\\",state.tokens.curr),ok=!1),\\\"*\\\"===state.tokens.next.value)return advance(\\\"*\\\"),advance(\\\"from\\\"),advance(\\\"(string)\\\"),this;if(\\\"default\\\"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance(\\\"default\\\");var exportType=state.tokens.next.id;return(\\\"function\\\"===exportType||\\\"class\\\"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct[\\\"(scope)\\\"].addlabel(identifier,{type:exportType,token:token}),state.funct[\\\"(scope)\\\"].setExported(identifier,token)),this}if(\\\"{\\\"===state.tokens.next.value){advance(\\\"{\\\");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),\\\"as\\\"===state.tokens.next.value&&(advance(\\\"as\\\"),state.tokens.next.identifier||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),advance()),\\\",\\\"!==state.tokens.next.value){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);break}advance(\\\",\\\")}return\\\"from\\\"===state.tokens.next.value?(advance(\\\"from\\\"),advance(\\\"(string)\\\")):ok&&exportedTokens.forEach(function(token){state.funct[\\\"(scope)\\\"].setExported(token.value,token)}),this}if(\\\"var\\\"===state.tokens.next.id)advance(\\\"var\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"let\\\"===state.tokens.next.id)advance(\\\"let\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"const\\\"===state.tokens.next.id)advance(\\\"const\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"function\\\"===state.tokens.next.id)this.block=!0,advance(\\\"function\\\"),state.syntax[\\\"function\\\"].fud({inexport:!0});else if(\\\"class\\\"===state.tokens.next.id){this.block=!0,advance(\\\"class\\\");var classNameToken=state.tokens.next;state.syntax[\\\"class\\\"].fud(),state.funct[\\\"(scope)\\\"].setExported(classNameToken.value,classNameToken)}else error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord(\\\"abstract\\\"),FutureReservedWord(\\\"boolean\\\"),FutureReservedWord(\\\"byte\\\"),FutureReservedWord(\\\"char\\\"),FutureReservedWord(\\\"class\\\",{es5:!0,nud:classdef}),FutureReservedWord(\\\"double\\\"),FutureReservedWord(\\\"enum\\\",{es5:!0}),FutureReservedWord(\\\"export\\\",{es5:!0}),FutureReservedWord(\\\"extends\\\",{es5:!0}),FutureReservedWord(\\\"final\\\"),FutureReservedWord(\\\"float\\\"),FutureReservedWord(\\\"goto\\\"),FutureReservedWord(\\\"implements\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"import\\\",{es5:!0}),FutureReservedWord(\\\"int\\\"),FutureReservedWord(\\\"interface\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"long\\\"),FutureReservedWord(\\\"native\\\"),FutureReservedWord(\\\"package\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"private\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"protected\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"public\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"short\\\"),FutureReservedWord(\\\"static\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"super\\\",{es5:!0}),FutureReservedWord(\\\"synchronized\\\"),FutureReservedWord(\\\"transient\\\"),FutureReservedWord(\\\"volatile\\\");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,[\\\"[\\\",\\\"{\\\"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,[\\\"[\\\",\\\"{\\\"])?bracketStack+=1:checkPunctuators(pn,[\\\"]\\\",\\\"}\\\"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&\\\"for\\\"===pn.value&&!checkPunctuator(prev,\\\".\\\")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,[\\\"}\\\",\\\"]\\\"])){if(\\\"=\\\"===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if(\\\".\\\"===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,\\\";\\\")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&\\\"(end)\\\"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode=\\\"use\\\",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning(\\\"W098\\\",v.token,v.raw_text||v.value),v.undef&&state.funct[\\\"(scope)\\\"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains([\\\"use\\\",\\\"define\\\",\\\"generate\\\",\\\"filter\\\"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&\\\"use\\\"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&\\\"define\\\"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&\\\"generate\\\"===_current.mode?(state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),!0):_current&&\\\"filter\\\"===_current.mode?(use(v)&&state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\\\/\\\\\\\\^$*+?.()|[\\\\]{}]/g,\\\"\\\\\\\\$&\\\")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||\\\"object\\\"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope=\\\"(main)\\\"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;\\\"-\\\"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],(\\\"esversion\\\"===optionKey&&5===o[optionKey]||\\\"es5\\\"===optionKey&&o[optionKey])&&warning(\\\"I003\\\"),\\\"newcap\\\"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj[\\\"(explicitNewcap)\\\"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on(\\\"warning\\\",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on(\\\"error\\\",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor(\\\"(global)\\\",null,{\\\"(global)\\\":!0,\\\"(scope)\\\":scopeManagerInst,\\\"(comparray)\\\":arrayComprehension(),\\\"(metrics)\\\":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt(\\\"E004\\\",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(\\\" \\\").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax[\\\"(begin)\\\"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+\\\"[\\\\\\\\s\\\\\\\\S]*?\\\"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,\\\"ig\\\"),s=s.replace(reIgnore,function(match){return match.replace(/./g,\\\" \\\")}))})),lex=new Lexer(s),lex.on(\\\"warning\\\",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\\\"error\\\",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\\\"fatal\\\",function(ev){quit(\\\"E041\\\",ev.line,ev.from)}),lex.on(\\\"Identifier\\\",function(ev){emitter.emit(\\\"Identifier\\\",ev)}),lex.on(\\\"String\\\",function(ev){emitter.emit(\\\"String\\\",ev)}),lex.on(\\\"Number\\\",function(ev){emitter.emit(\\\"Number\\\",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case\\\"{\\\":case\\\"[\\\":destructuringAssignOrJsonValue();break;default:directives(),state.directive[\\\"use strict\\\"]&&\\\"global\\\"!==state.option.strict&&warning(\\\"W097\\\",state.tokens.prev),statements()}\\\"(end)\\\"!==state.tokens.next.id&&quit(\\\"E041\\\",state.tokens.curr.line),state.funct[\\\"(scope)\\\"].unstack()}catch(err){if(!err||\\\"JSHintError\\\"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:\\\"(main)\\\",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if(\\\"(main)\\\"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct[\\\"(scope)\\\"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct[\\\"(scope)\\\"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f[\\\"(name)\\\"],fu.param=f[\\\"(params)\\\"],fu.line=f[\\\"(line)\\\"],fu.character=f[\\\"(character)\\\"],fu.last=f[\\\"(last)\\\"],fu.lastcharacter=f[\\\"(lastcharacter)\\\"],fu.metrics={complexity:f[\\\"(metrics)\\\"].ComplexityCount,parameters:f[\\\"(metrics)\\\"].arity,statements:f[\\\"(metrics)\\\"].statementCount},data.functions.push(fu)}var unuseds=state.funct[\\\"(scope)\\\"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if(\\\"number\\\"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();\\\"object\\\"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{\\\"../lodash\\\":\\\"/node_modules/jshint/lodash.js\\\",\\\"./lex.js\\\":\\\"/node_modules/jshint/src/lex.js\\\",\\\"./messages.js\\\":\\\"/node_modules/jshint/src/messages.js\\\",\\\"./options.js\\\":\\\"/node_modules/jshint/src/options.js\\\",\\\"./reg.js\\\":\\\"/node_modules/jshint/src/reg.js\\\",\\\"./scope-manager.js\\\":\\\"/node_modules/jshint/src/scope-manager.js\\\",\\\"./state.js\\\":\\\"/node_modules/jshint/src/state.js\\\",\\\"./style.js\\\":\\\"/node_modules/jshint/src/style.js\\\",\\\"./vars.js\\\":\\\"/node_modules/jshint/src/vars.js\\\",events:\\\"/node_modules/browserify/node_modules/events/events.js\\\"}],\\\"/node_modules/jshint/src/lex.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;\\\"string\\\"==typeof lines&&(lines=lines.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\").replace(/\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")),lines[0]&&\\\"#!\\\"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf(\\\"node\\\")&&(state.option.node=!0),lines[0]=\\\"\\\"),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input=\\\"\\\",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=\\\" \\\";this.ignoreLinterErrors=!1}var _=_dereq_(\\\"../lodash\\\"),events=_dereq_(\\\"events\\\"),reg=_dereq_(\\\"./reg.js\\\"),state=_dereq_(\\\"./state.js\\\").state,unicodeData=_dereq_(\\\"../data/ascii-identifier-data.js\\\"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(\\\" \\\").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case\\\".\\\":if(/^[0-9]$/.test(this.peek(1)))return null;if(\\\".\\\"===this.peek(1)&&\\\".\\\"===this.peek(2))return{type:Token.Punctuator,value:\\\"...\\\"};case\\\"(\\\":case\\\")\\\":case\\\";\\\":case\\\",\\\":case\\\"[\\\":case\\\"]\\\":case\\\":\\\":case\\\"~\\\":case\\\"?\\\":return{type:Token.Punctuator,value:ch1};case\\\"{\\\":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case\\\"}\\\":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case\\\"#\\\":return{type:Token.Punctuator,value:ch1};case\\\"\\\":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\">\\\"===ch3&&\\\"=\\\"===ch4?{type:Token.Punctuator,value:\\\">>>=\\\"}:\\\"=\\\"===ch1&&\\\"=\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"===\\\"}:\\\"!\\\"===ch1&&\\\"=\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"!==\\\"}:\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\">\\\"===ch3?{type:Token.Punctuator,value:\\\">>>\\\"}:\\\"<\\\"===ch1&&\\\"<\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"<<=\\\"}:\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\">>=\\\"}:\\\"=\\\"===ch1&&\\\">\\\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&\\\"+-<>&|\\\".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:\\\"<>=!+-*%&|^\\\".indexOf(ch1)>=0?\\\"=\\\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:\\\"/\\\"===ch1?\\\"=\\\"===ch2?{type:Token.Punctuator,value:\\\"/=\\\"}:{type:Token.Punctuator,value:\\\"/\\\"}:null},scanComments:function(){function commentToken(label,body,opt){var special=[\\\"jshint\\\",\\\"jslint\\\",\\\"members\\\",\\\"member\\\",\\\"globals\\\",\\\"global\\\",\\\"exported\\\"],isSpecial=!1,value=label+body,commentType=\\\"plain\\\";return opt=opt||{},opt.isMultiline&&(value+=\\\"*/\\\"),body=body.replace(/\\\\n/g,\\\" \\\"),\\\"/*\\\"===label&®.fallsThrough.test(body)&&(isSpecial=!0,commentType=\\\"falls through\\\"),special.forEach(function(str){if(!isSpecial&&(\\\"//\\\"!==label||\\\"jshint\\\"===str)&&(\\\" \\\"===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||\\\" \\\"!==body.charAt(0)||\\\" \\\"!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+\\\" \\\"+str,body=body.substr(str.length+1)),isSpecial))switch(str){case\\\"member\\\":commentType=\\\"members\\\";break;case\\\"global\\\":commentType=\\\"globals\\\";break;default:var options=body.split(\\\":\\\").map(function(v){return v.replace(/^\\\\s+/,\\\"\\\").replace(/\\\\s+$/,\\\"\\\")});if(2===options.length)switch(options[0]){case\\\"ignore\\\":switch(options[1]){case\\\"start\\\":self.ignoringLinterErrors=!0,isSpecial=!1;break;case\\\"end\\\":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if(\\\"*\\\"===ch1&&\\\"/\\\"===ch2)return this.trigger(\\\"error\\\",{code:\\\"E018\\\",line:startLine,character:startChar}),this.skip(2),null;if(\\\"/\\\"!==ch1||\\\"*\\\"!==ch2&&\\\"/\\\"!==ch2)return null;if(\\\"/\\\"===ch2)return this.skip(this.input.length),commentToken(\\\"//\\\",rest);var body=\\\"\\\";if(\\\"*\\\"===ch2){for(this.inComment=!0,this.skip(2);\\\"*\\\"!==this.peek()||\\\"/\\\"!==this.peek(1);)if(\\\"\\\"===this.peek()){if(body+=\\\"\\\\n\\\",!this.nextLine())return this.trigger(\\\"error\\\",{code:\\\"E017\\\",line:startLine,character:startChar}),this.inComment=!1,commentToken(\\\"/*\\\",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken(\\\"/*\\\",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=[\\\"if\\\",\\\"in\\\",\\\"do\\\",\\\"var\\\",\\\"for\\\",\\\"new\\\",\\\"try\\\",\\\"let\\\",\\\"this\\\",\\\"else\\\",\\\"case\\\",\\\"void\\\",\\\"with\\\",\\\"enum\\\",\\\"while\\\",\\\"break\\\",\\\"catch\\\",\\\"throw\\\",\\\"const\\\",\\\"yield\\\",\\\"class\\\",\\\"super\\\",\\\"return\\\",\\\"typeof\\\",\\\"delete\\\",\\\"switch\\\",\\\"export\\\",\\\"import\\\",\\\"default\\\",\\\"finally\\\",\\\"extends\\\",\\\"function\\\",\\\"continue\\\",\\\"debugger\\\",\\\"instanceof\\\"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id=\\\"\\\",index=0,readUnicodeEscapeSequence=function(){if(index+=1,\\\"u\\\"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,\\\"\\\\\\\\u\\\"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case\\\"true\\\":case\\\"false\\\":type=Token.BooleanLiteral;break;case\\\"null\\\":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return\\\"$\\\"===ch||\\\"_\\\"===ch||\\\"\\\\\\\\\\\"===ch||ch>=\\\"a\\\"&&\\\"z\\\">=ch||ch>=\\\"A\\\"&&\\\"Z\\\">=ch}var bad,index=0,value=\\\"\\\",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if(\\\".\\\"!==char&&!isDecimalDigit(char))return null;if(\\\".\\\"!==char){for(value=this.peek(index),index+=1,char=this.peek(index),\\\"0\\\"===value&&((\\\"x\\\"===char||\\\"X\\\"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),(\\\"o\\\"===char||\\\"O\\\"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger(\\\"warning\\\",{code:\\\"W119\\\",line:this.line,character:this.char,data:[\\\"Octal integer literal\\\",\\\"6\\\"]}),index+=1,value+=char),(\\\"b\\\"===char||\\\"B\\\"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger(\\\"warning\\\",{code:\\\"W119\\\",line:this.line,character:this.char,data:[\\\"Binary integer literal\\\",\\\"6\\\"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if(\\\".\\\"===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if(\\\"e\\\"===char||\\\"E\\\"===char){if(value+=char,index+=1,char=this.peek(index),(\\\"+\\\"===char||\\\"-\\\"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case\\\"'\\\":this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\'\\\"]},checks,function(){return state.jsonMode});break;case\\\"b\\\":char=\\\"\\\\\\\\b\\\";break;case\\\"f\\\":char=\\\"\\\\\\\\f\\\";break;case\\\"n\\\":char=\\\"\\\\\\\\n\\\";break;case\\\"r\\\":char=\\\"\\\\\\\\r\\\";break;case\\\"t\\\":char=\\\"\\\\\\\\t\\\";break;case\\\"0\\\":char=\\\"\\\\\\\\0\\\";var n=parseInt(this.peek(1),10);this.triggerAsync(\\\"warning\\\",{code:\\\"W115\\\",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case\\\"u\\\":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger(\\\"warning\\\",{code:\\\"W052\\\",line:this.line,character:this.char,data:[\\\"u\\\"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case\\\"v\\\":this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\v\\\"]},checks,function(){return state.jsonMode}),char=\\\"\\u000b\\\";break;case\\\"x\\\":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\x-\\\"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case\\\"\\\\\\\\\\\":char=\\\"\\\\\\\\\\\\\\\\\\\";break;case'\\\"':char='\\\\\\\\\\\"';break;case\\\"/\\\":break;case\\\"\\\":allowNewLine=!0,char=\\\"\\\"}return{\\\"char\\\":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value=\\\"\\\",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if(\\\"`\\\"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,\\\"char\\\":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||\\\"}\\\"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;\\\"`\\\"!==this.peek();){for(;\\\"\\\"===(ch=this.peek());)if(value+=\\\"\\\\n\\\",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger(\\\"error\\\",{code:\\\"E052\\\",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if(\\\"$\\\"===ch&&\\\"{\\\"===this.peek(1))return value+=\\\"${\\\",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\\nif(\\\"\\\\\\\\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else\\\"`\\\"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if('\\\"'!==quote&&\\\"'\\\"!==quote)return null;this.triggerAsync(\\\"warning\\\",{code:\\\"W108\\\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&'\\\"'!==quote});var value=\\\"\\\",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(\\\"\\\"===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync(\\\"warning\\\",{code:\\\"W043\\\",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync(\\\"warning\\\",{code:\\\"W042\\\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger(\\\"warning\\\",{code:\\\"W112\\\",line:this.line,character:this.char}),!this.nextLine())return this.trigger(\\\"error\\\",{code:\\\"E029\\\",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(\\\" \\\">char&&this.trigger(\\\"warning\\\",{code:\\\"W113\\\",line:this.line,character:this.char,data:[\\\"\\\"]}),\\\"\\\\\\\\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body=\\\"\\\",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){\\\" \\\">char&&(malformed=!0,this.trigger(\\\"warning\\\",{code:\\\"W048\\\",line:this.line,character:this.char})),\\\"<\\\"===char&&(malformed=!0,this.trigger(\\\"warning\\\",{code:\\\"W049\\\",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||\\\"/\\\"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)\\\"]\\\"===char&&(\\\"\\\\\\\\\\\"!==this.peek(index-1)||\\\"\\\\\\\\\\\"===this.peek(index-2))&&(isCharSet=!1),\\\"\\\\\\\\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if(\\\"\\\\\\\\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),\\\"/\\\"===char){index+=1;continue}if(\\\"[\\\"===char){index+=1;continue}}if(\\\"[\\\"!==char){if(\\\"/\\\"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger(\\\"error\\\",{code:\\\"E015\\\",line:this.line,character:this.from}),void this.trigger(\\\"fatal\\\",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(\\\"\\\"))}catch(err){malformed=!0,this.trigger(\\\"error\\\",{code:\\\"E016\\\",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\\\s/.test(this.peek()))for(start=this.char;/\\\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith(\\\"/*\\\",\\\"//\\\")||this.inComment&&endsWith(\\\"*/\\\")||(this.input=\\\"\\\")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger(\\\"warning\\\",{code:\\\"W125\\\",line:this.line,character:char+1}),this.input=this.input.replace(/\\\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger(\\\"warning\\\",{code:\\\"W100\\\",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen=0;--i){var scopeLabels=_scopeStack[i][\\\"(labels)\\\"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(usages)\\\"][labelName])return current[\\\"(usages)\\\"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if(\\\"outer\\\"===state.option.shadow)for(var isGlobal=\\\"global\\\"===_currentFunctBody[\\\"(type)\\\"],isNewFunction=\\\"functionparams\\\"===_current[\\\"(type)\\\"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem[\\\"(labels)\\\"][labelName]&&warning(\\\"W123\\\",token,labelName),stackItem[\\\"(breakLabels)\\\"][labelName]&&warning(\\\"W123\\\",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&\\\"function\\\"===type||\\\"function\\\"!==type)&&warning(\\\"W003\\\",token,labelName)}var _current,_scopeStack=[];_newScope(\\\"global\\\"),_current[\\\"(predefined)\\\"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt=\\\"last-param\\\"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:[\\\"var\\\"],\\\"last-param\\\":[\\\"var\\\",\\\"param\\\"],strict:[\\\"var\\\",\\\"param\\\",\\\"last-param\\\"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning(\\\"W098\\\",{line:line,from:chr},raw_name),(unused_opt||\\\"var\\\"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(\\\" \\\").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0][\\\"(predefined)\\\"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||\\\"functionparams\\\"!==previousScope[\\\"(type)\\\"]||(_current[\\\"(isFuncBody)\\\"]=!0,_current[\\\"(context)\\\"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams=\\\"functionparams\\\"===_current[\\\"(type)\\\"],isUnstackingFunctionOuter=\\\"functionouter\\\"===_current[\\\"(type)\\\"],currentUsages=_current[\\\"(usages)\\\"],currentLabels=_current[\\\"(labels)\\\"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf(\\\"__proto__\\\")&&usedLabelNameList.push(\\\"__proto__\\\"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel[\\\"(type)\\\"];if(usedLabel[\\\"(useOutsideOfScope)\\\"]&&!state.option.funcscope){var usedTokens=usage[\\\"(tokens)\\\"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel[\\\"(function)\\\"]===usedTokens[j][\\\"(function)\\\"]&&error(\\\"W038\\\",usedTokens[j],usedLabelName)}if(_current[\\\"(labels)\\\"][usedLabelName][\\\"(unused)\\\"]=!1,\\\"const\\\"===usedLabelType&&usage[\\\"(modified)\\\"])for(j=0;usage[\\\"(modified)\\\"].length>j;j++)error(\\\"E013\\\",usage[\\\"(modified)\\\"][j],usedLabelName);if((\\\"function\\\"===usedLabelType||\\\"class\\\"===usedLabelType)&&usage[\\\"(reassigned)\\\"])for(j=0;usage[\\\"(reassigned)\\\"].length>j;j++)error(\\\"W021\\\",usage[\\\"(reassigned)\\\"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct[\\\"(isCapturing)\\\"]=!0),subScope)if(subScope[\\\"(usages)\\\"][usedLabelName]){var subScopeUsage=subScope[\\\"(usages)\\\"][usedLabelName];subScopeUsage[\\\"(modified)\\\"]=subScopeUsage[\\\"(modified)\\\"].concat(usage[\\\"(modified)\\\"]),subScopeUsage[\\\"(tokens)\\\"]=subScopeUsage[\\\"(tokens)\\\"].concat(usage[\\\"(tokens)\\\"]),subScopeUsage[\\\"(reassigned)\\\"]=subScopeUsage[\\\"(reassigned)\\\"].concat(usage[\\\"(reassigned)\\\"]),subScopeUsage[\\\"(onlyUsedSubFunction)\\\"]=!1}else subScope[\\\"(usages)\\\"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope[\\\"(usages)\\\"][usedLabelName][\\\"(onlyUsedSubFunction)\\\"]=!0);else if(\\\"boolean\\\"==typeof _current[\\\"(predefined)\\\"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current[\\\"(predefined)\\\"][usedLabelName]===!1&&usage[\\\"(reassigned)\\\"])for(j=0;usage[\\\"(reassigned)\\\"].length>j;j++)warning(\\\"W020\\\",usage[\\\"(reassigned)\\\"][j])}else if(usage[\\\"(tokens)\\\"])for(j=0;usage[\\\"(tokens)\\\"].length>j;j++){var undefinedToken=usage[\\\"(tokens)\\\"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning(\\\"W117\\\",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],\\\"var\\\")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName][\\\"(blockscoped)\\\"]||\\\"exception\\\"===currentLabels[defLabelName][\\\"(type)\\\"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope[\\\"(labels)\\\"][defLabelName]=currentLabels[defLabelName],\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]&&(subScope[\\\"(labels)\\\"][defLabelName][\\\"(useOutsideOfScope)\\\"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope[\\\"(isFuncBody)\\\"]||\\\"global\\\"===scope[\\\"(type)\\\"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||\\\"param\\\",\\\"exception\\\"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&\\\"exception\\\"!==previouslyDefinedLabelType&&(state.option.node||warning(\\\"W002\\\",state.tokens.next,labelName))}if(_.has(_current[\\\"(labels)\\\"],labelName)?_current[\\\"(labels)\\\"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":token,\\\"(unused)\\\":!0},_current[\\\"(params)\\\"].push(labelName)),_.has(_current[\\\"(usages)\\\"],labelName)){var usage=_current[\\\"(usages)\\\"][labelName];usage[\\\"(onlyUsedSubFunction)\\\"]?_latedefWarning(type,labelName,token):warning(\\\"E056\\\",token,labelName,type)}},validateParams:function(){if(\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody[\\\"(parent)\\\"];currentFunctParamScope[\\\"(params)\\\"]&¤tFunctParamScope[\\\"(params)\\\"].forEach(function(labelName){var label=currentFunctParamScope[\\\"(labels)\\\"][labelName];label&&label.duplicated&&(isStrict?warning(\\\"E011\\\",label[\\\"(token)\\\"],labelName):state.option.shadow!==!0&&warning(\\\"W004\\\",label[\\\"(token)\\\"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf(\\\"__proto__\\\")&&list.push(\\\"__proto__\\\"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return\\\"__proto__\\\"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName][\\\"(type)\\\"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0][\\\"(labels)\\\"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName][\\\"(unused)\\\"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope[\\\"(type)\\\"])break;if(_.has(scope[\\\"(labels)\\\"],labelName)&&!scope[\\\"(labels)\\\"][labelName][\\\"(blockscoped)\\\"])return scope[\\\"(labels)\\\"][labelName][\\\"(unused)\\\"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped=\\\"let\\\"===type||\\\"const\\\"===type||\\\"class\\\"===type,isexported=\\\"global\\\"===(isblockscoped?_current:_currentFunctBody)[\\\"(type)\\\"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current[\\\"(labels)\\\"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||\\\"global\\\"===_current[\\\"(type)\\\"]||(declaredInCurrentScope=!!_currentFunctBody[\\\"(parent)\\\"][\\\"(labels)\\\"][labelName]),!declaredInCurrentScope&&_current[\\\"(usages)\\\"][labelName]){var usage=_current[\\\"(usages)\\\"][labelName];usage[\\\"(onlyUsedSubFunction)\\\"]?_latedefWarning(type,labelName,token):warning(\\\"E056\\\",token,labelName,type)}declaredInCurrentScope?warning(\\\"E011\\\",token,labelName):\\\"outer\\\"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning(\\\"W004\\\",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning(\\\"E011\\\",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&\\\"__proto__\\\"!==labelName&&\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]&&warning(\\\"W004\\\",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),\\\"global\\\"===_currentFunctBody[\\\"(type)\\\"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(labels)\\\"][labelName]&&(!onlyBlockscoped||current[\\\"(labels)\\\"][labelName][\\\"(blockscoped)\\\"]))return current[\\\"(labels)\\\"][labelName][\\\"(type)\\\"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&\\\"functionparams\\\"===scopeCheck[\\\"(type)\\\"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(breakLabels)\\\"][labelName])return!0;if(\\\"functionparams\\\"===current[\\\"(type)\\\"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":tok,\\\"(blockscoped)\\\":!1,\\\"(function)\\\":_currentFunctBody,\\\"(unused)\\\":unused}}},block:{isGlobal:function(){return\\\"global\\\"===_current[\\\"(type)\\\"]},use:function(labelName,token){var paramScope=_currentFunctBody[\\\"(parent)\\\"];paramScope&¶mScope[\\\"(labels)\\\"][labelName]&&\\\"param\\\"===paramScope[\\\"(labels)\\\"][labelName][\\\"(type)\\\"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope[\\\"(labels)\\\"][labelName][\\\"(unused)\\\"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token[\\\"(function)\\\"]=_currentFunctBody,_current[\\\"(usages)\\\"][labelName][\\\"(tokens)\\\"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current[\\\"(usages)\\\"][labelName][\\\"(reassigned)\\\"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current[\\\"(usages)\\\"][labelName][\\\"(modified)\\\"].push(token)},add:function(labelName,type,tok,unused){_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":tok,\\\"(blockscoped)\\\":!0,\\\"(unused)\\\":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning(\\\"E011\\\",token,labelName):\\\"outer\\\"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning(\\\"W004\\\",token,labelName):_checkOuterShadow(labelName,token)),_current[\\\"(breakLabels)\\\"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{\\\"../lodash\\\":\\\"/node_modules/jshint/lodash.js\\\",events:\\\"/node_modules/browserify/node_modules/events/events.js\\\"}],\\\"/node_modules/jshint/src/state.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";var NameStack=_dereq_(\\\"./name-stack.js\\\"),state={syntax:{},isStrict:function(){return this.directive[\\\"use strict\\\"]||this.inClassBody||this.option.module||\\\"implied\\\"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab=\\\"\\\",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{\\\"./name-stack.js\\\":\\\"/node_modules/jshint/src/name-stack.js\\\"}],\\\"/node_modules/jshint/src/style.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";exports.register=function(linter){linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"proto\\\")||\\\"__proto__\\\"===data.name&&linter.warn(\\\"W103\\\",{line:data.line,\\\"char\\\":data.char,data:[data.name,\\\"6\\\"]})}),linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"iterator\\\")||\\\"__iterator__\\\"===data.name&&linter.warn(\\\"W103\\\",{line:data.line,\\\"char\\\":data.char,data:[data.name]})}),linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"camelcase\\\")&&data.name.replace(/^_+|_+$/g,\\\"\\\").indexOf(\\\"_\\\")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn(\\\"W106\\\",{line:data.line,\\\"char\\\":data.from,data:[data.name]})}),linter.on(\\\"String\\\",function(data){var code,quotmark=linter.getOption(\\\"quotmark\\\");quotmark&&(\\\"single\\\"===quotmark&&\\\"'\\\"!==data.quote&&(code=\\\"W109\\\"),\\\"double\\\"===quotmark&&'\\\"'!==data.quote&&(code=\\\"W108\\\"),quotmark===!0&&(linter.getCache(\\\"quotmark\\\")||linter.setCache(\\\"quotmark\\\",data.quote),linter.getCache(\\\"quotmark\\\")!==data.quote&&(code=\\\"W110\\\")),code&&linter.warn(code,{line:data.line,\\\"char\\\":data.char}))}),linter.on(\\\"Number\\\",function(data){\\\".\\\"===data.value.charAt(0)&&linter.warn(\\\"W008\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]}),\\\".\\\"===data.value.substr(data.value.length-1)&&linter.warn(\\\"W047\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn(\\\"W046\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]})}),linter.on(\\\"String\\\",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\\\s*:/i;linter.getOption(\\\"scripturl\\\")||re.test(data.value)&&linter.warn(\\\"W107\\\",{line:data.line,\\\"char\\\":data.char})})}},{}],\\\"/node_modules/jshint/src/vars.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,\\\"throws\\\":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},[\\\"/node_modules/jshint/src/jshint.js\\\"])}),ace.define(\\\"ace/mode/javascript_worker\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/worker/mirror\\\",\\\"ace/mode/javascript/jshint\\\"],function(acequire,exports,module){\\\"use strict\\\";function startRegex(arr){return RegExp(\\\"^(\\\"+arr.join(\\\"|\\\")+\\\")\\\")}var oop=acequire(\\\"../lib/oop\\\"),Mirror=acequire(\\\"../worker/mirror\\\").Mirror,lint=acequire(\\\"./javascript/jshint\\\").JSHINT,disabledWarningsRe=startRegex([\\\"Bad for in variable '(.+)'.\\\",'Missing \\\"use strict\\\"']),errorsRe=startRegex([\\\"Unexpected\\\",\\\"Expected \\\",\\\"Confusing (plus|minus)\\\",\\\"\\\\\\\\{a\\\\\\\\} unterminated regular expression\\\",\\\"Unclosed \\\",\\\"Unmatched \\\",\\\"Unbegun comment\\\",\\\"Bad invocation\\\",\\\"Missing space after\\\",\\\"Missing operator at\\\"]),infoRe=startRegex([\\\"Expected an assignment\\\",\\\"Bad escapement of EOL\\\",\\\"Unexpected comma\\\",\\\"Unexpected space\\\",\\\"Missing radix parameter.\\\",\\\"A leading decimal point can\\\",\\\"\\\\\\\\['{a}'\\\\\\\\] is better written in dot notation.\\\",\\\"'{a}' used out of scope\\\"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval(\\\"throw 0;\\\"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\\\n/,\\\"\\\\n\\\"),!value)return this.sender.emit(\\\"annotate\\\",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?\\\"warning\\\":\\\"error\\\";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type=\\\"warning\\\";if(\\\"Missing semicolon.\\\"==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\\\S/)),\\\"error\\\"==maxErrorLevel&&str&&/[\\\\w\\\\d{(['\\\"]/.test(str)?(error.reason='Missing \\\";\\\" before statement',type=\\\"error\\\"):type=\\\"info\\\"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type=\\\"info\\\":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):\\\"'{a}' is not defined.\\\"==raw?type=\\\"warning\\\":\\\"'{a}' is defined but never used.\\\"==raw&&(type=\\\"info\\\")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit(\\\"annotate\\\",errors)}}.call(JavaScriptWorker.prototype)}),ace.define(\\\"ace/lib/es5-shim\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\\\"sentinel\\\",{}),\\\"sentinel\\\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\\\"function\\\"!=typeof target)throw new TypeError(\\\"Function.prototype.bind called on incompatible \\\"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\\\"__defineGetter__\\\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\\\"XXX\\\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\\\"[object Array]\\\"==_toString(obj)});var boxedString=Object(\\\"a\\\"),splitString=\\\"a\\\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduce of empty array with no initial value\\\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\\\"reduce of empty array with no initial value\\\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\\\"Object.getOwnPropertyDescriptor called on a non-object: \\\";Object.getOwnPropertyDescriptor=function(object,property){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\\\"object\\\"!=typeof prototype)throw new TypeError(\\\"typeof prototype[\\\"+typeof prototype+\\\"] != 'object'\\\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\\\"undefined\\\"==typeof document||doesDefinePropertyWork(document.createElement(\\\"div\\\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\\\"Property description must be an object: \\\",ERR_NON_OBJECT_TARGET=\\\"Object.defineProperty called on non-object: \\\",ERR_ACCESSORS_NOT_SUPPORTED=\\\"getters & setters can not be defined on this javascript engine\\\";Object.defineProperty=function(object,property,descriptor){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\\\"object\\\"!=typeof descriptor&&\\\"function\\\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\\\"value\\\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\\\"get\\\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\\\"set\\\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\\\"function\\\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\\\"\\\";owns(object,name);)name+=\\\"?\\\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\\\"toString\\\",\\\"toLocaleString\\\",\\\"valueOf\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"constructor\\\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(\\\"Object.keys called on a non-object\\\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\\\"\\t\\\\n\\u000b\\\\f\\\\r   ᠎              \\\\u2028\\\\u2029\\\";if(!String.prototype.trim||ws.trim()){ws=\\\"[\\\"+ws+\\\"]\\\";var trimBeginRegexp=RegExp(\\\"^\\\"+ws+ws+\\\"*\\\"),trimEndRegexp=RegExp(ws+ws+\\\"*$\\\");String.prototype.trim=function(){return(this+\\\"\\\").replace(trimBeginRegexp,\\\"\\\").replace(trimEndRegexp,\\\"\\\")}}var toObject=function(o){if(null==o)throw new TypeError(\\\"can't convert \\\"+o+\\\" to object\\\");return Object(o)}});\";\n\n/***/ }),\n/* 1188 */\n/***/ (function(module, exports) {\n\nmodule.exports.id = 'ace/mode/xml_worker';\nmodule.exports.src = \"\\\"no use strict\\\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\").replace(/ [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/worker/mirror\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/range\\\",\\\"ace/document\\\",\\\"ace/lib/lang\\\"],function(acequire,exports){\\\"use strict\\\";acequire(\\\"../range\\\").Range;var Document=acequire(\\\"../document\\\").Document,lang=acequire(\\\"../lib/lang\\\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\\\"\\\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\\\"change\\\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/xml/sax\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function XMLReader(){}function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){function fixedFromCharCode(code){if(code>65535){code-=65536;var surrogate1=55296+(code>>10),surrogate2=56320+(1023&code);return String.fromCharCode(surrogate1,surrogate2)}return String.fromCharCode(code)}function entityReplacer(a){var k=a.slice(1,-1);return k in entityMap?entityMap[k]:\\\"#\\\"===k.charAt(0)?fixedFromCharCode(parseInt(k.substr(1).replace(\\\"x\\\",\\\"0x\\\"))):(errorHandler.error(\\\"entity not found:\\\"+a),a)}function appendText(end){var xt=source.substring(start,end).replace(/&#?\\\\w+;/g,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end-start),start=end}function position(start,m){for(;start>=endPos&&(m=linePattern.exec(source));)startPos=m.index,endPos=startPos+m[0].length,locator.lineNumber++;locator.columnNumber=start-startPos+1}for(var startPos=0,endPos=0,linePattern=/.+(?:\\\\r\\\\n?|\\\\n)|.*$/g,locator=domBuilder.locator,parseStack=[{currentNSMap:defaultNSMapCopy}],closeMap={},start=0;;){var i=source.indexOf(\\\"<\\\",start);if(0>i){if(!source.substr(start).match(/^\\\\s*$/)){var doc=domBuilder.document,text=doc.createTextNode(source.substr(start));doc.appendChild(text),domBuilder.currentElement=text}return}switch(i>start&&appendText(i),source.charAt(i+1)){case\\\"/\\\":var config,end=source.indexOf(\\\">\\\",i+3),tagName=source.substring(i+2,end);if(!(parseStack.length>1)){errorHandler.fatalError(\\\"end tag name not found for: \\\"+tagName);break}config=parseStack.pop();var localNSMap=config.localNSMap;if(config.tagName!=tagName&&errorHandler.fatalError(\\\"end tag name: \\\"+tagName+\\\" does not match the current start tagName: \\\"+config.tagName),domBuilder.endElement(config.uri,config.localName,tagName),localNSMap)for(var prefix in localNSMap)domBuilder.endPrefixMapping(prefix);end++;break;case\\\"?\\\":locator&&position(i),end=parseInstruction(source,i,domBuilder);break;case\\\"!\\\":locator&&position(i),end=parseDCC(source,i,domBuilder,errorHandler);break;default:try{locator&&position(i);var el=new ElementAttributes,end=parseElementStartPart(source,i,el,entityReplacer,errorHandler),len=el.length;if(len&&locator){for(var backup=copyLocator(locator,{}),i=0;len>i;i++){var a=el[i];position(a.offset),a.offset=copyLocator(locator,{})}copyLocator(backup,locator)}!el.closed&&fixSelfClosed(source,end,el.tagName,closeMap)&&(el.closed=!0,entityMap.nbsp||errorHandler.warning(\\\"unclosed xml attribute\\\")),appendElement(el,domBuilder,parseStack),\\\"http://www.w3.org/1999/xhtml\\\"!==el.uri||el.closed?end++:end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)}catch(e){errorHandler.error(\\\"element parse error: \\\"+e),end=-1}}0>end?appendText(i+1):start=end}}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,entityReplacer,errorHandler){for(var attrName,value,p=++start,s=S_TAG;;){var c=source.charAt(p);switch(c){case\\\"=\\\":if(s===S_ATTR)attrName=source.slice(start,p),s=S_EQ;else{if(s!==S_ATTR_S)throw Error(\\\"attribute equal must after attrName\\\");s=S_EQ}break;case\\\"'\\\":case'\\\"':if(s===S_EQ){if(start=p+1,p=source.indexOf(c,start),!(p>0))throw Error(\\\"attribute value no end '\\\"+c+\\\"' match\\\");value=source.slice(start,p).replace(/&#?\\\\w+;/g,entityReplacer),el.add(attrName,value,start-1),s=S_E}else{if(s!=S_V)throw Error('attribute value must after \\\"=\\\"');value=source.slice(start,p).replace(/&#?\\\\w+;/g,entityReplacer),el.add(attrName,value,start),errorHandler.warning('attribute \\\"'+attrName+'\\\" missed start quot('+c+\\\")!!\\\"),start=p+1,s=S_E}break;case\\\"/\\\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:s=S_C,el.closed=!0;case S_V:case S_ATTR:case S_ATTR_S:break;default:throw Error(\\\"attribute invalid close char('/')\\\")}break;case\\\"\\\":errorHandler.error(\\\"unexpected end of input\\\");case\\\">\\\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:break;case S_V:case S_ATTR:value=source.slice(start,p),\\\"/\\\"===value.slice(-1)&&(el.closed=!0,value=value.slice(0,-1));case S_ATTR_S:s===S_ATTR_S&&(value=attrName),s==S_V?(errorHandler.warning('attribute \\\"'+value+'\\\" missed quot(\\\")!!'),el.add(attrName,value.replace(/&#?\\\\w+;/g,entityReplacer),start)):(errorHandler.warning('attribute \\\"'+value+'\\\" missed value!! \\\"'+value+'\\\" instead!!'),el.add(value,value,start));break;case S_EQ:throw Error(\\\"attribute value missed!!\\\")}return p;case\\\"€\\\":c=\\\" \\\";default:if(\\\" \\\">=c)switch(s){case S_TAG:el.setTagName(source.slice(start,p)),s=S_S;break;case S_ATTR:attrName=source.slice(start,p),s=S_ATTR_S;break;case S_V:var value=source.slice(start,p).replace(/&#?\\\\w+;/g,entityReplacer);errorHandler.warning('attribute \\\"'+value+'\\\" missed quot(\\\")!!'),el.add(attrName,value,start);case S_E:s=S_S}else switch(s){case S_ATTR_S:errorHandler.warning('attribute \\\"'+attrName+'\\\" missed value!! \\\"'+attrName+'\\\" instead!!'),el.add(attrName,attrName,start),start=p,s=S_ATTR;\\nbreak;case S_E:errorHandler.warning('attribute space is acequired\\\"'+attrName+'\\\"!!');case S_S:s=S_ATTR,start=p;break;case S_EQ:s=S_V,start=p;break;case S_C:throw Error(\\\"elements closed character '/' and '>' must be connected to\\\")}}p++}}function appendElement(el,domBuilder,parseStack){for(var tagName=el.tagName,localNSMap=null,currentNSMap=parseStack[parseStack.length-1].currentNSMap,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value,nsp=qName.indexOf(\\\":\\\");if(nsp>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix=\\\"xmlns\\\"===prefix&&localName;else localName=qName,prefix=null,nsPrefix=\\\"xmlns\\\"===qName&&\\\"\\\";a.localName=localName,nsPrefix!==!1&&(null==localNSMap&&(localNSMap={},_copy(currentNSMap,currentNSMap={})),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri=\\\"http://www.w3.org/2000/xmlns/\\\",domBuilder.startPrefixMapping(nsPrefix,value))}for(var i=el.length;i--;){a=el[i];var prefix=a.prefix;prefix&&(\\\"xml\\\"===prefix&&(a.uri=\\\"http://www.w3.org/XML/1998/namespace\\\"),\\\"xmlns\\\"!==prefix&&(a.uri=currentNSMap[prefix]))}var nsp=tagName.indexOf(\\\":\\\");nsp>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||\\\"\\\"];if(domBuilder.startElement(ns,localName,tagName,el),el.closed){if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)domBuilder.endPrefixMapping(prefix)}else el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,parseStack.push(el)}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){if(/^(?:script|textarea)$/i.test(tagName)){var elEndStart=source.indexOf(\\\"\\\",elStartEnd),text=source.substring(elStartEnd+1,elEndStart);if(/[&<]/.test(text))return/^script$/i.test(tagName)?(domBuilder.characters(text,0,text.length),elEndStart):(text=text.replace(/&#?\\\\w+;/g,entityReplacer),domBuilder.characters(text,0,text.length),elEndStart)}return elStartEnd+1}function fixSelfClosed(source,elStartEnd,tagName,closeMap){var pos=closeMap[tagName];return null==pos&&(pos=closeMap[tagName]=source.lastIndexOf(\\\"\\\")),elStartEnd>pos}function _copy(source,target){for(var n in source)target[n]=source[n]}function parseDCC(source,start,domBuilder,errorHandler){var next=source.charAt(start+2);switch(next){case\\\"-\\\":if(\\\"-\\\"===source.charAt(start+3)){var end=source.indexOf(\\\"-->\\\",start+4);return end>start?(domBuilder.comment(source,start+4,end-start-4),end+3):(errorHandler.error(\\\"Unclosed comment\\\"),-1)}return-1;default:if(\\\"CDATA[\\\"==source.substr(start+3,6)){var end=source.indexOf(\\\"]]>\\\",start+9);return domBuilder.startCDATA(),domBuilder.characters(source,start+9,end-start-9),domBuilder.endCDATA(),end+3}var matchs=split(source,start),len=matchs.length;if(len>1&&/!doctype/i.test(matchs[0][0])){var name=matchs[1][0],pubid=len>3&&/^public$/i.test(matchs[2][0])&&matchs[3][0],sysid=len>4&&matchs[4][0],lastMatch=matchs[len-1];return domBuilder.startDTD(name,pubid&&pubid.replace(/^(['\\\"])(.*?)\\\\1$/,\\\"$2\\\"),sysid&&sysid.replace(/^(['\\\"])(.*?)\\\\1$/,\\\"$2\\\")),domBuilder.endDTD(),lastMatch.index+lastMatch[0].length}}return-1}function parseInstruction(source,start,domBuilder){var end=source.indexOf(\\\"?>\\\",start);if(end){var match=source.substring(start,end).match(/^<\\\\?(\\\\S*)\\\\s*([\\\\s\\\\S]*?)\\\\s*$/);return match?(match[0].length,domBuilder.processingInstruction(match[1],match[2]),end+2):-1}return-1}function ElementAttributes(){}function _set_proto_(thiz,parent){return thiz.__proto__=parent,thiz}function split(source,start){var match,buf=[],reg=/'[^']+'|\\\"[^\\\"]+\\\"|[^\\\\s<>\\\\/=]+=?|(\\\\/?\\\\s*>|<)/g;for(reg.lastIndex=start,reg.exec(source);match=reg.exec(source);)if(buf.push(match),match[1])return buf}var nameStartChar=/[A-Z_a-z\\\\xC0-\\\\xD6\\\\xD8-\\\\xF6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD]/,nameChar=RegExp(\\\"[\\\\\\\\-\\\\\\\\.0-9\\\"+nameStartChar.source.slice(1,-1)+\\\"·̀-ͯ\\\\\\\\ux203F-⁀]\\\"),tagNamePattern=RegExp(\\\"^\\\"+nameStartChar.source+nameChar.source+\\\"*(?::\\\"+nameStartChar.source+nameChar.source+\\\"*)?$\\\"),S_TAG=0,S_ATTR=1,S_ATTR_S=2,S_EQ=3,S_V=4,S_E=5,S_S=6,S_C=7;return XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap={}),parse(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}},ElementAttributes.prototype={setTagName:function(tagName){if(!tagNamePattern.test(tagName))throw Error(\\\"invalid tagName:\\\"+tagName);this.tagName=tagName},add:function(qName,value,offset){if(!tagNamePattern.test(qName))throw Error(\\\"invalid attribute:\\\"+qName);this[this.length++]={qName:qName,value:value,offset:offset}},length:0,getLocalName:function(i){return this[i].localName},getOffset:function(i){return this[i].offset},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}},_set_proto_({},_set_proto_.prototype)instanceof _set_proto_||(_set_proto_=function(thiz,parent){function p(){}p.prototype=parent,p=new p;for(parent in thiz)p[parent]=thiz[parent];return p}),XMLReader}),ace.define(\\\"ace/mode/xml/dom\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function copy(src,dest){for(var p in src)dest[p]=src[p]}function _extends(Class,Super){function t(){}var pt=Class.prototype;if(Object.create){var ppt=Object.create(Super.prototype);pt.__proto__=ppt}pt instanceof Super||(t.prototype=Super.prototype,t=new t,copy(pt,t),Class.prototype=pt=t),pt.constructor!=Class&&(\\\"function\\\"!=typeof Class&&console.error(\\\"unknow Class:\\\"+Class),pt.constructor=Class)}function DOMException(code,message){if(message instanceof Error)var error=message;else error=this,Error.call(this,ExceptionMessage[code]),this.message=ExceptionMessage[code],Error.captureStackTrace&&Error.captureStackTrace(this,DOMException);return error.code=code,message&&(this.message=this.message+\\\": \\\"+message),error}function NodeList(){}function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!=inc){var ls=list._refresh(list._node);__set__(list,\\\"length\\\",ls.length),copy(ls,list),list._inc=inc}}function NamedNodeMap(){}function _findNodeIndex(list,node){for(var i=list.length;i--;)if(list[i]===node)return i}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:list[list.length++]=newAttr,el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),_onAddAttribute(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(!(i>=0))throw DOMException(NOT_FOUND_ERR,Error());for(var lastIndex=list.length-1;lastIndex>i;)list[i]=list[++i];if(list.length=lastIndex,el){var doc=el.ownerDocument;doc&&(_onRemoveAttribute(doc,el,attr),attr.ownerElement=null)}}function DOMImplementation(features){if(this._features={},features)for(var feature in features)this._features=features[feature]}function Node(){}function _xmlEncoder(c){return\\\"<\\\"==c&&\\\"<\\\"||\\\">\\\"==c&&\\\">\\\"||\\\"&\\\"==c&&\\\"&\\\"||'\\\"'==c&&\\\""\\\"||\\\"&#\\\"+c.charCodeAt()+\\\";\\\"}function _visitNode(node,callback){if(callback(node))return!0;if(node=node.firstChild)do if(_visitNode(node,callback))return!0;while(node=node.nextSibling)}function Document(){}function _onAddAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\\\"http://www.w3.org/2000/xmlns/\\\"==ns&&(el._nsMap[newAttr.prefix?newAttr.localName:\\\"\\\"]=newAttr.value)}function _onRemoveAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\\\"http://www.w3.org/2000/xmlns/\\\"==ns&&delete el._nsMap[newAttr.prefix?newAttr.localName:\\\"\\\"]}function _onUpdateChild(doc,el,newChild){if(doc&&doc._inc){doc._inc++;var cs=el.childNodes;if(newChild)cs[cs.length++]=newChild;else{for(var child=el.firstChild,i=0;child;)cs[i++]=child,child=child.nextSibling;cs.length=i}}}function _removeChild(parentNode,child){var previous=child.previousSibling,next=child.nextSibling;return previous?previous.nextSibling=next:parentNode.firstChild=next,next?next.previousSibling=previous:parentNode.lastChild=previous,_onUpdateChild(parentNode.ownerDocument,parentNode),child}function _insertBefore(parentNode,newChild,nextChild){var cp=newChild.parentNode;if(cp&&cp.removeChild(newChild),newChild.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=newChild.firstChild;if(null==newFirst)return newChild;var newLast=newChild.lastChild}else newFirst=newLast=newChild;var pre=nextChild?nextChild.previousSibling:parentNode.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=nextChild,pre?pre.nextSibling=newFirst:parentNode.firstChild=newFirst,null==nextChild?parentNode.lastChild=newLast:nextChild.previousSibling=newLast;do newFirst.parentNode=parentNode;while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode),newChild.nodeType==DOCUMENT_FRAGMENT_NODE&&(newChild.firstChild=newChild.lastChild=null),newChild}function _appendSingleChild(parentNode,newChild){var cp=newChild.parentNode;if(cp){var pre=parentNode.lastChild;cp.removeChild(newChild);var pre=parentNode.lastChild}var pre=parentNode.lastChild;return newChild.parentNode=parentNode,newChild.previousSibling=pre,newChild.nextSibling=null,pre?pre.nextSibling=newChild:parentNode.firstChild=newChild,parentNode.lastChild=newChild,_onUpdateChild(parentNode.ownerDocument,parentNode,newChild),newChild}function Element(){this._nsMap={}}function Attr(){}function CharacterData(){}function Text(){}function Comment(){}function CDATASection(){}function DocumentType(){}function Notation(){}function Entity(){}function EntityReference(){}function DocumentFragment(){}function ProcessingInstruction(){}function XMLSerializer(){}function serializeToString(node,buf){switch(node.nodeType){case ELEMENT_NODE:var attrs=node.attributes,len=attrs.length,child=node.firstChild,nodeName=node.tagName,isHTML=htmlns===node.namespaceURI;buf.push(\\\"<\\\",nodeName);for(var i=0;len>i;i++)serializeToString(attrs.item(i),buf,isHTML);if(child||isHTML&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(nodeName)){if(buf.push(\\\">\\\"),isHTML&&/^script$/i.test(nodeName))child&&buf.push(child.data);else for(;child;)serializeToString(child,buf),child=child.nextSibling;buf.push(\\\"\\\")}else buf.push(\\\"/>\\\");return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(var child=node.firstChild;child;)serializeToString(child,buf),child=child.nextSibling;return;case ATTRIBUTE_NODE:return buf.push(\\\" \\\",node.name,'=\\\"',node.value.replace(/[<&\\\"]/g,_xmlEncoder),'\\\"');case TEXT_NODE:return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return buf.push(\\\"\\\");case COMMENT_NODE:return buf.push(\\\"\\\");case DOCUMENT_TYPE_NODE:var pubid=node.publicId,sysid=node.systemId;if(buf.push(\\\"');else if(sysid&&\\\".\\\"!=sysid)buf.push(' SYSTEM \\\"',sysid,'\\\">');else{var sub=node.internalSubset;sub&&buf.push(\\\" [\\\",sub,\\\"]\\\"),buf.push(\\\">\\\")}return;case PROCESSING_INSTRUCTION_NODE:return buf.push(\\\"\\\");case ENTITY_REFERENCE_NODE:return buf.push(\\\"&\\\",node.nodeName,\\\";\\\");default:buf.push(\\\"??\\\",node.nodeName)}}function importNode(doc,node,deep){var node2;switch(node.nodeType){case ELEMENT_NODE:node2=node.cloneNode(!1),node2.ownerDocument=doc;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:deep=!0}if(node2||(node2=node.cloneNode(!1)),node2.ownerDocument=doc,node2.parentNode=null,deep)for(var child=node.firstChild;child;)node2.appendChild(importNode(doc,child,deep)),child=child.nextSibling;return node2}function cloneNode(doc,node,deep){var node2=new node.constructor;for(var n in node){var v=node[n];\\\"object\\\"!=typeof v&&v!=node2[n]&&(node2[n]=v)}switch(node.childNodes&&(node2.childNodes=new NodeList),node2.ownerDocument=doc,node2.nodeType){case ELEMENT_NODE:var attrs=node.attributes,attrs2=node2.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=node2;for(var i=0;len>i;i++)node2.setAttributeNode(cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:deep=!0}if(deep)for(var child=node.firstChild;child;)node2.appendChild(cloneNode(doc,child,deep)),child=child.nextSibling;return node2}function __set__(object,key,value){object[key]=value}function getTextContent(node){switch(node.nodeType){case 1:case 11:var buf=[];for(node=node.firstChild;node;)7!==node.nodeType&&8!==node.nodeType&&buf.push(getTextContent(node)),node=node.nextSibling;return buf.join(\\\"\\\");default:return node.nodeValue}}var htmlns=\\\"http://www.w3.org/1999/xhtml\\\",NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,ExceptionCode={},ExceptionMessage={};ExceptionCode.INDEX_SIZE_ERR=(ExceptionMessage[1]=\\\"Index size error\\\",1),ExceptionCode.DOMSTRING_SIZE_ERR=(ExceptionMessage[2]=\\\"DOMString size error\\\",2),ExceptionCode.HIERARCHY_REQUEST_ERR=(ExceptionMessage[3]=\\\"Hierarchy request error\\\",3),ExceptionCode.WRONG_DOCUMENT_ERR=(ExceptionMessage[4]=\\\"Wrong document\\\",4),ExceptionCode.INVALID_CHARACTER_ERR=(ExceptionMessage[5]=\\\"Invalid character\\\",5),ExceptionCode.NO_DATA_ALLOWED_ERR=(ExceptionMessage[6]=\\\"No data allowed\\\",6),ExceptionCode.NO_MODIFICATION_ALLOWED_ERR=(ExceptionMessage[7]=\\\"No modification allowed\\\",7);var NOT_FOUND_ERR=ExceptionCode.NOT_FOUND_ERR=(ExceptionMessage[8]=\\\"Not found\\\",8);ExceptionCode.NOT_SUPPORTED_ERR=(ExceptionMessage[9]=\\\"Not supported\\\",9);var INUSE_ATTRIBUTE_ERR=ExceptionCode.INUSE_ATTRIBUTE_ERR=(ExceptionMessage[10]=\\\"Attribute in use\\\",10);ExceptionCode.INVALID_STATE_ERR=(ExceptionMessage[11]=\\\"Invalid state\\\",11),ExceptionCode.SYNTAX_ERR=(ExceptionMessage[12]=\\\"Syntax error\\\",12),ExceptionCode.INVALID_MODIFICATION_ERR=(ExceptionMessage[13]=\\\"Invalid modification\\\",13),ExceptionCode.NAMESPACE_ERR=(ExceptionMessage[14]=\\\"Invalid namespace\\\",14),ExceptionCode.INVALID_ACCESS_ERR=(ExceptionMessage[15]=\\\"Invalid access\\\",15),DOMException.prototype=Error.prototype,copy(ExceptionCode,DOMException),NodeList.prototype={length:0,item:function(index){return this[index]||null}},LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]},_extends(LiveNodeList,NodeList),NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(key){for(var i=this.length;i--;){var attr=this[i];if(attr.nodeName==key)return attr}},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);var oldAttr=this.getNamedItem(attr.nodeName);return _addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},setNamedItemNS:function(attr){var oldAttr,el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);return oldAttr=this.getNamedItemNS(attr.namespaceURI,attr.localName),_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},removeNamedItem:function(key){var attr=this.getNamedItem(key);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){for(var i=this.length;i--;){var node=this[i];if(node.localName==localName&&node.namespaceURI==namespaceURI)return node}return null}},DOMImplementation.prototype={hasFeature:function(feature,version){var versions=this._features[feature.toLowerCase()];return versions&&(!version||version in versions)?!0:!1},createDocument:function(namespaceURI,qualifiedName,doctype){var doc=new Document;if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId){var node=new DocumentType;return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId,node.systemId=systemId,node}},Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){this.insertBefore(newChild,oldChild),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(deep){return cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){for(var child=this.firstChild;child;){var next=child.nextSibling;next&&next.nodeType==TEXT_NODE&&child.nodeType==TEXT_NODE?(this.removeChild(next),child.appendData(next.data)):(child.normalize(),child=next)}},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map)for(var n in map)if(map[n]==namespaceURI)return n;el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&prefix in map)return map[prefix];el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){var prefix=this.lookupPrefix(namespaceURI);return null==prefix}},copy(NodeType,Node),copy(NodeType,Node.prototype),Document.prototype={nodeName:\\\"#document\\\",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType==DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return null==this.documentElement&&1==newChild.nodeType&&(this.documentElement=newChild),_insertBefore(this,newChild,refChild),newChild.ownerDocument=this,newChild},removeChild:function(oldChild){return this.documentElement==oldChild&&(this.documentElement=null),_removeChild(this,oldChild)},importNode:function(importedNode,deep){return importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,function(node){return 1==node.nodeType&&node.getAttribute(\\\"id\\\")==id?(rtv=node,!0):void 0}),rtv},createElement:function(tagName){var node=new Element;node.ownerDocument=this,node.nodeName=tagName,node.tagName=tagName,node.childNodes=new NodeList;var attrs=node.attributes=new NamedNodeMap;return attrs._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment;return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text;return node.ownerDocument=this,node.appendData(data),node},createComment:function(data){var node=new Comment;return node.ownerDocument=this,node.appendData(data),node},createCDATASection:function(data){var node=new CDATASection;return node.ownerDocument=this,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction;return node.ownerDocument=this,node.tagName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){var node=new Attr;return node.ownerDocument=this,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){var node=new EntityReference;return node.ownerDocument=this,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var node=new Element,pl=qualifiedName.split(\\\":\\\"),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=namespaceURI,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var node=new Attr,pl=qualifiedName.split(\\\":\\\");return node.ownerDocument=this,node.nodeName=qualifiedName,node.name=qualifiedName,node.namespaceURI=namespaceURI,node.specified=!0,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,node}},_extends(Document,Node),Element.prototype={nodeType:ELEMENT_NODE,hasAttribute:function(name){return null!=this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr&&attr.value||\\\"\\\"},getAttributeNode:function(name){return this.attributes.getNamedItem(name)},setAttribute:function(name,value){var attr=this.ownerDocument.createAttribute(name);attr.value=attr.nodeValue=\\\"\\\"+value,this.setAttributeNode(attr)},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},appendChild:function(newChild){return newChild.nodeType===DOCUMENT_FRAGMENT_NODE?this.insertBefore(newChild,null):_appendSingleChild(this,newChild)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return null!=this.getAttributeNodeNS(namespaceURI,localName)},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr&&attr.value||\\\"\\\"},setAttributeNS:function(namespaceURI,qualifiedName,value){var attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName);attr.value=attr.nodeValue=\\\"\\\"+value,this.setAttributeNode(attr)},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByTagName:function(tagName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!=ELEMENT_NODE||\\\"*\\\"!==tagName&&node.tagName!=tagName||ls.push(node)}),ls})},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!==ELEMENT_NODE||\\\"*\\\"!==namespaceURI&&node.namespaceURI!==namespaceURI||\\\"*\\\"!==localName&&node.localName!=localName||ls.push(node)}),ls})}},Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName,Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS,_extends(Element,Node),Attr.prototype.nodeType=ATTRIBUTE_NODE,_extends(Attr,Node),CharacterData.prototype={data:\\\"\\\",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},appendChild:function(){throw Error(ExceptionMessage[3])},deleteData:function(offset,count){this.replaceData(offset,count,\\\"\\\")},replaceData:function(offset,count,text){var start=this.data.substring(0,offset),end=this.data.substring(offset+count);text=start+text+end,this.nodeValue=this.data=text,this.length=text.length}},_extends(CharacterData,Node),Text.prototype={nodeName:\\\"#text\\\",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}},_extends(Text,CharacterData),Comment.prototype={nodeName:\\\"#comment\\\",nodeType:COMMENT_NODE},_extends(Comment,CharacterData),CDATASection.prototype={nodeName:\\\"#cdata-section\\\",nodeType:CDATA_SECTION_NODE},_extends(CDATASection,CharacterData),DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node),Notation.prototype.nodeType=NOTATION_NODE,_extends(Notation,Node),Entity.prototype.nodeType=ENTITY_NODE,_extends(Entity,Node),EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node),DocumentFragment.prototype.nodeName=\\\"#document-fragment\\\",DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node),ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node),XMLSerializer.prototype.serializeToString=function(node){var buf=[];return serializeToString(node,buf),buf.join(\\\"\\\")},Node.prototype.toString=function(){return XMLSerializer.prototype.serializeToString(this)};try{Object.defineProperty&&(Object.defineProperty(LiveNodeList.prototype,\\\"length\\\",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,\\\"textContent\\\",{get:function(){return getTextContent(this)},set:function(data){switch(this.nodeType){case 1:case 11:for(;this.firstChild;)this.removeChild(this.firstChild);(data||data+\\\"\\\")&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=value,this.nodeValue=data}}}),__set__=function(object,key,value){object[\\\"$$\\\"+key]=value})}catch(e){}return DOMImplementation}),ace.define(\\\"ace/mode/xml/dom-parser\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/mode/xml/sax\\\",\\\"ace/mode/xml/dom\\\"],function(acequire){\\\"use strict\\\";function DOMParser(options){this.options=options||{locator:{}}}function buildErrorHandler(errorImpl,domBuilder,locator){function build(key){var fn=errorImpl[key];if(!fn)if(isCallback)fn=2==errorImpl.length?function(msg){errorImpl(key,msg)}:errorImpl;else for(var i=arguments.length;--i&&!(fn=errorImpl[arguments[i]]););errorHandler[key]=fn&&function(msg){fn(msg+_locator(locator),msg,locator)}||function(){}}if(!errorImpl){if(domBuilder instanceof DOMHandler)return domBuilder;errorImpl=domBuilder}var errorHandler={},isCallback=errorImpl instanceof Function;return locator=locator||{},build(\\\"warning\\\",\\\"warn\\\"),build(\\\"error\\\",\\\"warn\\\",\\\"warning\\\"),build(\\\"fatalError\\\",\\\"warn\\\",\\\"warning\\\",\\\"error\\\"),errorHandler}function DOMHandler(){this.cdata=!1}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}function _locator(l){return l?\\\"\\\\n@\\\"+(l.systemId||\\\"\\\")+\\\"#[line:\\\"+l.lineNumber+\\\",col:\\\"+l.columnNumber+\\\"]\\\":void 0}function _toString(chars,start,length){return\\\"string\\\"==typeof chars?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+\\\"\\\":chars}function appendElement(hander,node){hander.currentElement?hander.currentElement.appendChild(node):hander.document.appendChild(node)}var XMLReader=acequire(\\\"./sax\\\"),DOMImplementation=acequire(\\\"./dom\\\");return DOMParser.prototype.parseFromString=function(source,mimeType){var options=this.options,sax=new XMLReader,domBuilder=options.domBuilder||new DOMHandler,errorHandler=options.errorHandler,locator=options.locator,defaultNSMap=options.xmlns||{},entityMap={lt:\\\"<\\\",gt:\\\">\\\",amp:\\\"&\\\",quot:'\\\"',apos:\\\"'\\\"};return locator&&domBuilder.setDocumentLocator(locator),sax.errorHandler=buildErrorHandler(errorHandler,domBuilder,locator),sax.domBuilder=options.domBuilder||domBuilder,/\\\\/x?html?$/.test(mimeType)&&(entityMap.nbsp=\\\" \\\",entityMap.copy=\\\"©\\\",defaultNSMap[\\\"\\\"]=\\\"http://www.w3.org/1999/xhtml\\\"),source?sax.parse(source,defaultNSMap,entityMap):sax.errorHandler.error(\\\"invalid document source\\\"),domBuilder.document},DOMHandler.prototype={startDocument:function(){this.document=(new DOMImplementation).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.document,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;len>i;i++){var namespaceURI=attrs.getURI(i),value=attrs.getValue(i),qName=attrs.getQName(i),attr=doc.createAttributeNS(namespaceURI,qName);attr.getOffset&&position(attr.getOffset(1),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(){var current=this.currentElement;current.tagName,this.currentElement=current.parentNode},startPrefixMapping:function(){},endPrefixMapping:function(){},processingInstruction:function(target,data){var ins=this.document.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(){},characters:function(chars){if(chars=_toString.apply(this,arguments),this.currentElement&&chars){if(this.cdata){var charNode=this.document.createCDATASection(chars);this.currentElement.appendChild(charNode)}else{var charNode=this.document.createTextNode(chars);this.currentElement.appendChild(charNode)}this.locator&&position(this.locator,charNode)}},skippedEntity:function(){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(locator){(this.locator=locator)&&(locator.lineNumber=0)},comment:function(chars){chars=_toString.apply(this,arguments);var comm=this.document.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId){var impl=this.document.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId);this.locator&&position(this.locator,dt),appendElement(this,dt)}},warning:function(error){console.warn(error,_locator(this.locator))},error:function(error){console.error(error,_locator(this.locator))},fatalError:function(error){throw console.error(error,_locator(this.locator)),error}},\\\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\\\".replace(/\\\\w+/g,function(key){DOMHandler.prototype[key]=function(){return null}}),{DOMParser:DOMParser}}),ace.define(\\\"ace/mode/xml_worker\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/lang\\\",\\\"ace/worker/mirror\\\",\\\"ace/mode/xml/dom-parser\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"../lib/oop\\\");acequire(\\\"../lib/lang\\\");var Mirror=acequire(\\\"../worker/mirror\\\").Mirror,DOMParser=acequire(\\\"./xml/dom-parser\\\").DOMParser,Worker=exports.Worker=function(sender){Mirror.call(this,sender),this.setTimeout(400),this.context=null};oop.inherits(Worker,Mirror),function(){this.setOptions=function(options){this.context=options.context},this.onUpdate=function(){var value=this.doc.getValue();if(value){var parser=new DOMParser,errors=[];parser.options.errorHandler={fatalError:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\\\"error\\\"})},error:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\\\"error\\\"})},warning:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\\\"warning\\\"})}},parser.parseFromString(value),this.sender.emit(\\\"error\\\",errors)}}}.call(Worker.prototype)}),ace.define(\\\"ace/lib/es5-shim\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\\\"sentinel\\\",{}),\\\"sentinel\\\"in object\\n}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\\\"function\\\"!=typeof target)throw new TypeError(\\\"Function.prototype.bind called on incompatible \\\"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\\\"__defineGetter__\\\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\\\"XXX\\\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\\\"[object Array]\\\"==_toString(obj)});var boxedString=Object(\\\"a\\\"),splitString=\\\"a\\\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduce of empty array with no initial value\\\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\\\"reduce of empty array with no initial value\\\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\\\"Object.getOwnPropertyDescriptor called on a non-object: \\\";Object.getOwnPropertyDescriptor=function(object,property){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\\\"object\\\"!=typeof prototype)throw new TypeError(\\\"typeof prototype[\\\"+typeof prototype+\\\"] != 'object'\\\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\\\"undefined\\\"==typeof document||doesDefinePropertyWork(document.createElement(\\\"div\\\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\\\"Property description must be an object: \\\",ERR_NON_OBJECT_TARGET=\\\"Object.defineProperty called on non-object: \\\",ERR_ACCESSORS_NOT_SUPPORTED=\\\"getters & setters can not be defined on this javascript engine\\\";Object.defineProperty=function(object,property,descriptor){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\\\"object\\\"!=typeof descriptor&&\\\"function\\\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\\\"value\\\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\\\"get\\\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\\\"set\\\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\\\"function\\\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\\\"\\\";owns(object,name);)name+=\\\"?\\\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\\\"toString\\\",\\\"toLocaleString\\\",\\\"valueOf\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"constructor\\\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(\\\"Object.keys called on a non-object\\\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\\\"\\t\\\\n\\u000b\\\\f\\\\r   ᠎              \\\\u2028\\\\u2029\\\";if(!String.prototype.trim||ws.trim()){ws=\\\"[\\\"+ws+\\\"]\\\";var trimBeginRegexp=RegExp(\\\"^\\\"+ws+ws+\\\"*\\\"),trimEndRegexp=RegExp(ws+ws+\\\"*$\\\");String.prototype.trim=function(){return(this+\\\"\\\").replace(trimBeginRegexp,\\\"\\\").replace(trimEndRegexp,\\\"\\\")}}var toObject=function(o){if(null==o)throw new TypeError(\\\"can't convert \\\"+o+\\\" to object\\\");return Object(o)}});\";\n\n/***/ }),\n/* 1189 */\n/***/ (function(module, exports) {\n\nmodule.exports.id = 'ace/mode/css_worker';\nmodule.exports.src = \"\\\"no use strict\\\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\").replace(/ [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/worker/mirror\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/range\\\",\\\"ace/document\\\",\\\"ace/lib/lang\\\"],function(acequire,exports){\\\"use strict\\\";acequire(\\\"../range\\\").Range;var Document=acequire(\\\"../document\\\").Document,lang=acequire(\\\"../lib/lang\\\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\\\"\\\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\\\"change\\\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/css/csslint\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports,module){function objectToString(o){return Object.prototype.toString.call(o)}function clone(parent,circular,depth,prototype){function _clone(parent,depth){if(null===parent)return null;if(0==depth)return parent;var child;if(\\\"object\\\"!=typeof parent)return parent;if(util.isArray(parent))child=[];else if(util.isRegExp(parent))child=RegExp(parent.source,util.getRegExpFlags(parent)),parent.lastIndex&&(child.lastIndex=parent.lastIndex);else if(util.isDate(parent))child=new Date(parent.getTime());else{if(useBuffer&&Buffer.isBuffer(parent))return child=new Buffer(parent.length),parent.copy(child),child;child=prototype===void 0?Object.create(Object.getPrototypeOf(parent)):Object.create(prototype)}if(circular){var index=allParents.indexOf(parent);if(-1!=index)return allChildren[index];allParents.push(parent),allChildren.push(child)}for(var i in parent)child[i]=_clone(parent[i],depth-1);return child}var allParents=[],allChildren=[],useBuffer=\\\"undefined\\\"!=typeof Buffer;return circular===void 0&&(circular=!0),depth===void 0&&(depth=1/0),_clone(parent,depth)}function Reporter(lines,ruleset){this.messages=[],this.stats=[],this.lines=lines,this.ruleset=ruleset}var parserlib={};(function(){function EventTarget(){this._listeners={}}function StringReader(text){this._input=text.replace(/\\\\n\\\\r?/g,\\\"\\\\n\\\"),this._line=1,this._col=1,this._cursor=0}function SyntaxError(message,line,col){this.col=col,this.line=line,this.message=message}function SyntaxUnit(text,line,col,type){this.col=col,this.line=line,this.text=text,this.type=type}function TokenStreamBase(input,tokenData){this._reader=input?new StringReader(\\\"\\\"+input):null,this._token=null,this._tokenData=tokenData,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}EventTarget.prototype={constructor:EventTarget,addListener:function(type,listener){this._listeners[type]||(this._listeners[type]=[]),this._listeners[type].push(listener)},fire:function(event){if(\\\"string\\\"==typeof event&&(event={type:event}),event.target!==void 0&&(event.target=this),event.type===void 0)throw Error(\\\"Event object missing 'type' property.\\\");if(this._listeners[event.type])for(var listeners=this._listeners[event.type].concat(),i=0,len=listeners.length;len>i;i++)listeners[i].call(this,event)},removeListener:function(type,listener){if(this._listeners[type])for(var listeners=this._listeners[type],i=0,len=listeners.length;len>i;i++)if(listeners[i]===listener){listeners.splice(i,1);break}}},StringReader.prototype={constructor:StringReader,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(count){var c=null;return count=count===void 0?1:count,this._cursori;i++)nameMap.push(tokenData[i].name),tokenData[tokenData[i].name]=i,tokenData[i].text&&(typeMap[tokenData[i].text]=i);return tokenData.name=function(tt){return nameMap[tt]},tokenData.type=function(c){return typeMap[c]},tokenData},TokenStreamBase.prototype={constructor:TokenStreamBase,match:function(tokenTypes,channel){tokenTypes instanceof Array||(tokenTypes=[tokenTypes]);\\nfor(var tt=this.get(channel),i=0,len=tokenTypes.length;len>i;)if(tt==tokenTypes[i++])return!0;return this.unget(),!1},mustMatch:function(tokenTypes){var token;if(tokenTypes instanceof Array||(tokenTypes=[tokenTypes]),!this.match.apply(this,arguments))throw token=this.LT(1),new SyntaxError(\\\"Expected \\\"+this._tokenData[tokenTypes[0]].name+\\\" at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol)},advance:function(tokenTypes,channel){for(;0!==this.LA(0)&&!this.match(tokenTypes,channel);)this.get();return this.LA(0)},get:function(channel){var token,info,tokenInfo=this._tokenData,i=(this._reader,0);if(tokenInfo.length,this._lt.length&&this._ltIndex>=0&&this._ltIndex-1&&!tokenInfo[token.type].hide&&(token.channel=tokenInfo[token.type].channel,this._token=token,this._lt.push(token),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),info=tokenInfo[token.type],info&&(info.hide||void 0!==info.channel&&channel!==info.channel)?this.get(channel):token.type},LA:function(index){var tt,total=index;if(index>0){if(index>5)throw Error(\\\"Too much lookahead.\\\");for(;total;)tt=this.get(),total--;for(;index>total;)this.unget(),total++}else if(0>index){if(!this._lt[this._ltIndex+index])throw Error(\\\"Too much lookbehind.\\\");tt=this._lt[this._ltIndex+index].type}else tt=this._token.type;return tt},LT:function(index){return this.LA(index),this._lt[this._ltIndex+index-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(tokenType){return 0>tokenType||tokenType>this._tokenData.length?\\\"UNKNOWN_TOKEN\\\":this._tokenData[tokenType].name},tokenType:function(tokenName){return this._tokenData[tokenName]||-1},unget:function(){if(!this._ltIndexCache.length)throw Error(\\\"Too much lookahead.\\\");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:StringReader,SyntaxError:SyntaxError,SyntaxUnit:SyntaxUnit,EventTarget:EventTarget,TokenStreamBase:TokenStreamBase}})(),function(){function Combinator(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.COMBINATOR_TYPE),this.type=\\\"unknown\\\",/^\\\\s+$/.test(text)?this.type=\\\"descendant\\\":\\\">\\\"==text?this.type=\\\"child\\\":\\\"+\\\"==text?this.type=\\\"adjacent-sibling\\\":\\\"~\\\"==text&&(this.type=\\\"sibling\\\")}function MediaFeature(name,value){SyntaxUnit.call(this,\\\"(\\\"+name+(null!==value?\\\":\\\"+value:\\\"\\\")+\\\")\\\",name.startLine,name.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=name,this.value=value}function MediaQuery(modifier,mediaType,features,line,col){SyntaxUnit.call(this,(modifier?modifier+\\\" \\\":\\\"\\\")+(mediaType?mediaType:\\\"\\\")+(mediaType&&features.length>0?\\\" and \\\":\\\"\\\")+features.join(\\\" and \\\"),line,col,Parser.MEDIA_QUERY_TYPE),this.modifier=modifier,this.mediaType=mediaType,this.features=features}function Parser(options){EventTarget.call(this),this.options=options||{},this._tokenStream=null}function PropertyName(text,hack,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_NAME_TYPE),this.hack=hack}function PropertyValue(parts,line,col){SyntaxUnit.call(this,parts.join(\\\" \\\"),line,col,Parser.PROPERTY_VALUE_TYPE),this.parts=parts}function PropertyValueIterator(value){this._i=0,this._parts=value.parts,this._marks=[],this.value=value}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type=\\\"unknown\\\";var temp;if(/^([+\\\\-]?[\\\\d\\\\.]+)([a-z]+)$/i.test(text))switch(this.type=\\\"dimension\\\",this.value=+RegExp.$1,this.units=RegExp.$2,this.units.toLowerCase()){case\\\"em\\\":case\\\"rem\\\":case\\\"ex\\\":case\\\"px\\\":case\\\"cm\\\":case\\\"mm\\\":case\\\"in\\\":case\\\"pt\\\":case\\\"pc\\\":case\\\"ch\\\":case\\\"vh\\\":case\\\"vw\\\":case\\\"vmax\\\":case\\\"vmin\\\":this.type=\\\"length\\\";break;case\\\"deg\\\":case\\\"rad\\\":case\\\"grad\\\":this.type=\\\"angle\\\";break;case\\\"ms\\\":case\\\"s\\\":this.type=\\\"time\\\";break;case\\\"hz\\\":case\\\"khz\\\":this.type=\\\"frequency\\\";break;case\\\"dpi\\\":case\\\"dpcm\\\":this.type=\\\"resolution\\\"}else/^([+\\\\-]?[\\\\d\\\\.]+)%$/i.test(text)?(this.type=\\\"percentage\\\",this.value=+RegExp.$1):/^([+\\\\-]?\\\\d+)$/i.test(text)?(this.type=\\\"integer\\\",this.value=+RegExp.$1):/^([+\\\\-]?[\\\\d\\\\.]+)$/i.test(text)?(this.type=\\\"number\\\",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type=\\\"color\\\",temp=RegExp.$1,3==temp.length?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\\\\(\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100):/^rgba\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\\\\(\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100,this.alpha=+RegExp.$4):/^hsl\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\\\\([\\\"']?([^\\\\)\\\"']+)[\\\"']?\\\\)/i.test(text)?(this.type=\\\"uri\\\",this.uri=RegExp.$1):/^([^\\\\(]+)\\\\(/i.test(text)?(this.type=\\\"function\\\",this.name=RegExp.$1,this.value=text):/^[\\\"'][^\\\"']*[\\\"']/.test(text)?(this.type=\\\"string\\\",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type=\\\"color\\\",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\\\\,\\\\/]$/.test(text)?(this.type=\\\"operator\\\",this.value=text):/^[a-z\\\\-_\\\\u0080-\\\\uFFFF][a-z0-9\\\\-_\\\\u0080-\\\\uFFFF]*$/i.test(text)&&(this.type=\\\"identifier\\\",this.value=text)}function Selector(parts,line,col){SyntaxUnit.call(this,parts.join(\\\" \\\"),line,col,Parser.SELECTOR_TYPE),this.parts=parts,this.specificity=Specificity.calculate(this)}function SelectorPart(elementName,modifiers,text,line,col){SyntaxUnit.call(this,text,line,col,Parser.SELECTOR_PART_TYPE),this.elementName=elementName,this.modifiers=modifiers}function SelectorSubPart(text,type,line,col){SyntaxUnit.call(this,text,line,col,Parser.SELECTOR_SUB_PART_TYPE),this.type=type,this.args=[]}function Specificity(a,b,c,d){this.a=a,this.b=b,this.c=c,this.d=d}function isHexDigit(c){return null!==c&&h.test(c)}function isDigit(c){return null!==c&&/\\\\d/.test(c)}function isWhitespace(c){return null!==c&&/\\\\s/.test(c)}function isNewLine(c){return null!==c&&nl.test(c)}function isNameStart(c){return null!==c&&/[a-z_\\\\u0080-\\\\uFFFF\\\\\\\\]/i.test(c)}function isNameChar(c){return null!==c&&(isNameStart(c)||/[0-9\\\\-\\\\\\\\]/.test(c))}function isIdentStart(c){return null!==c&&(isNameStart(c)||/\\\\-\\\\\\\\/.test(c))}function mix(receiver,supplier){for(var prop in supplier)supplier.hasOwnProperty(prop)&&(receiver[prop]=supplier[prop]);return receiver}function TokenStream(input){TokenStreamBase.call(this,input,Tokens)}function ValidationError(message,line,col){this.col=col,this.line=line,this.message=message}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:\\\"#f0f8ff\\\",antiquewhite:\\\"#faebd7\\\",aqua:\\\"#00ffff\\\",aquamarine:\\\"#7fffd4\\\",azure:\\\"#f0ffff\\\",beige:\\\"#f5f5dc\\\",bisque:\\\"#ffe4c4\\\",black:\\\"#000000\\\",blanchedalmond:\\\"#ffebcd\\\",blue:\\\"#0000ff\\\",blueviolet:\\\"#8a2be2\\\",brown:\\\"#a52a2a\\\",burlywood:\\\"#deb887\\\",cadetblue:\\\"#5f9ea0\\\",chartreuse:\\\"#7fff00\\\",chocolate:\\\"#d2691e\\\",coral:\\\"#ff7f50\\\",cornflowerblue:\\\"#6495ed\\\",cornsilk:\\\"#fff8dc\\\",crimson:\\\"#dc143c\\\",cyan:\\\"#00ffff\\\",darkblue:\\\"#00008b\\\",darkcyan:\\\"#008b8b\\\",darkgoldenrod:\\\"#b8860b\\\",darkgray:\\\"#a9a9a9\\\",darkgrey:\\\"#a9a9a9\\\",darkgreen:\\\"#006400\\\",darkkhaki:\\\"#bdb76b\\\",darkmagenta:\\\"#8b008b\\\",darkolivegreen:\\\"#556b2f\\\",darkorange:\\\"#ff8c00\\\",darkorchid:\\\"#9932cc\\\",darkred:\\\"#8b0000\\\",darksalmon:\\\"#e9967a\\\",darkseagreen:\\\"#8fbc8f\\\",darkslateblue:\\\"#483d8b\\\",darkslategray:\\\"#2f4f4f\\\",darkslategrey:\\\"#2f4f4f\\\",darkturquoise:\\\"#00ced1\\\",darkviolet:\\\"#9400d3\\\",deeppink:\\\"#ff1493\\\",deepskyblue:\\\"#00bfff\\\",dimgray:\\\"#696969\\\",dimgrey:\\\"#696969\\\",dodgerblue:\\\"#1e90ff\\\",firebrick:\\\"#b22222\\\",floralwhite:\\\"#fffaf0\\\",forestgreen:\\\"#228b22\\\",fuchsia:\\\"#ff00ff\\\",gainsboro:\\\"#dcdcdc\\\",ghostwhite:\\\"#f8f8ff\\\",gold:\\\"#ffd700\\\",goldenrod:\\\"#daa520\\\",gray:\\\"#808080\\\",grey:\\\"#808080\\\",green:\\\"#008000\\\",greenyellow:\\\"#adff2f\\\",honeydew:\\\"#f0fff0\\\",hotpink:\\\"#ff69b4\\\",indianred:\\\"#cd5c5c\\\",indigo:\\\"#4b0082\\\",ivory:\\\"#fffff0\\\",khaki:\\\"#f0e68c\\\",lavender:\\\"#e6e6fa\\\",lavenderblush:\\\"#fff0f5\\\",lawngreen:\\\"#7cfc00\\\",lemonchiffon:\\\"#fffacd\\\",lightblue:\\\"#add8e6\\\",lightcoral:\\\"#f08080\\\",lightcyan:\\\"#e0ffff\\\",lightgoldenrodyellow:\\\"#fafad2\\\",lightgray:\\\"#d3d3d3\\\",lightgrey:\\\"#d3d3d3\\\",lightgreen:\\\"#90ee90\\\",lightpink:\\\"#ffb6c1\\\",lightsalmon:\\\"#ffa07a\\\",lightseagreen:\\\"#20b2aa\\\",lightskyblue:\\\"#87cefa\\\",lightslategray:\\\"#778899\\\",lightslategrey:\\\"#778899\\\",lightsteelblue:\\\"#b0c4de\\\",lightyellow:\\\"#ffffe0\\\",lime:\\\"#00ff00\\\",limegreen:\\\"#32cd32\\\",linen:\\\"#faf0e6\\\",magenta:\\\"#ff00ff\\\",maroon:\\\"#800000\\\",mediumaquamarine:\\\"#66cdaa\\\",mediumblue:\\\"#0000cd\\\",mediumorchid:\\\"#ba55d3\\\",mediumpurple:\\\"#9370d8\\\",mediumseagreen:\\\"#3cb371\\\",mediumslateblue:\\\"#7b68ee\\\",mediumspringgreen:\\\"#00fa9a\\\",mediumturquoise:\\\"#48d1cc\\\",mediumvioletred:\\\"#c71585\\\",midnightblue:\\\"#191970\\\",mintcream:\\\"#f5fffa\\\",mistyrose:\\\"#ffe4e1\\\",moccasin:\\\"#ffe4b5\\\",navajowhite:\\\"#ffdead\\\",navy:\\\"#000080\\\",oldlace:\\\"#fdf5e6\\\",olive:\\\"#808000\\\",olivedrab:\\\"#6b8e23\\\",orange:\\\"#ffa500\\\",orangered:\\\"#ff4500\\\",orchid:\\\"#da70d6\\\",palegoldenrod:\\\"#eee8aa\\\",palegreen:\\\"#98fb98\\\",paleturquoise:\\\"#afeeee\\\",palevioletred:\\\"#d87093\\\",papayawhip:\\\"#ffefd5\\\",peachpuff:\\\"#ffdab9\\\",peru:\\\"#cd853f\\\",pink:\\\"#ffc0cb\\\",plum:\\\"#dda0dd\\\",powderblue:\\\"#b0e0e6\\\",purple:\\\"#800080\\\",red:\\\"#ff0000\\\",rosybrown:\\\"#bc8f8f\\\",royalblue:\\\"#4169e1\\\",saddlebrown:\\\"#8b4513\\\",salmon:\\\"#fa8072\\\",sandybrown:\\\"#f4a460\\\",seagreen:\\\"#2e8b57\\\",seashell:\\\"#fff5ee\\\",sienna:\\\"#a0522d\\\",silver:\\\"#c0c0c0\\\",skyblue:\\\"#87ceeb\\\",slateblue:\\\"#6a5acd\\\",slategray:\\\"#708090\\\",slategrey:\\\"#708090\\\",snow:\\\"#fffafa\\\",springgreen:\\\"#00ff7f\\\",steelblue:\\\"#4682b4\\\",tan:\\\"#d2b48c\\\",teal:\\\"#008080\\\",thistle:\\\"#d8bfd8\\\",tomato:\\\"#ff6347\\\",turquoise:\\\"#40e0d0\\\",violet:\\\"#ee82ee\\\",wheat:\\\"#f5deb3\\\",white:\\\"#ffffff\\\",whitesmoke:\\\"#f5f5f5\\\",yellow:\\\"#ffff00\\\",yellowgreen:\\\"#9acd32\\\",activeBorder:\\\"Active window border.\\\",activecaption:\\\"Active window caption.\\\",appworkspace:\\\"Background color of multiple document interface.\\\",background:\\\"Desktop background.\\\",buttonface:\\\"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttonhighlight:\\\"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttonshadow:\\\"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttontext:\\\"Text on push buttons.\\\",captiontext:\\\"Text in caption, size box, and scrollbar arrow box.\\\",graytext:\\\"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.\\\",greytext:\\\"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.\\\",highlight:\\\"Item(s) selected in a control.\\\",highlighttext:\\\"Text of item(s) selected in a control.\\\",inactiveborder:\\\"Inactive window border.\\\",inactivecaption:\\\"Inactive window caption.\\\",inactivecaptiontext:\\\"Color of text in an inactive caption.\\\",infobackground:\\\"Background color for tooltip controls.\\\",infotext:\\\"Text color for tooltip controls.\\\",menu:\\\"Menu background.\\\",menutext:\\\"Text in menus.\\\",scrollbar:\\\"Scroll bar gray area.\\\",threeddarkshadow:\\\"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedface:\\\"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedhighlight:\\\"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedlightshadow:\\\"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedshadow:\\\"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",window:\\\"Window background.\\\",windowframe:\\\"Window frame.\\\",windowtext:\\\"Text in windows.\\\"};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var prop,proto=new EventTarget,additions={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var count,token,tt,tokenStream=this._tokenStream;for(this.fire(\\\"startstylesheet\\\"),this._charset(),this._skipCruft();tokenStream.peek()==Tokens.IMPORT_SYM;)this._import(),this._skipCruft();for(;tokenStream.peek()==Tokens.NAMESPACE_SYM;)this._namespace(),this._skipCruft();for(tt=tokenStream.peek();tt>Tokens.EOF;){try{switch(tt){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:if(tokenStream.get(),this.options.strict)throw new SyntaxError(\\\"Unknown @ rule.\\\",tokenStream.LT(0).startLine,tokenStream.LT(0).startCol);for(this.fire({type:\\\"error\\\",error:null,message:\\\"Unknown @ rule: \\\"+tokenStream.LT(0).value+\\\".\\\",line:tokenStream.LT(0).startLine,col:tokenStream.LT(0).startCol}),count=0;tokenStream.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE;)count++;for(;count;)tokenStream.advance([Tokens.RBRACE]),count--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(tt){case Tokens.CHARSET_SYM:throw token=tokenStream.LT(1),this._charset(!1),new SyntaxError(\\\"@charset not allowed here.\\\",token.startLine,token.startCol);case Tokens.IMPORT_SYM:throw token=tokenStream.LT(1),this._import(!1),new SyntaxError(\\\"@import not allowed here.\\\",token.startLine,token.startCol);case Tokens.NAMESPACE_SYM:throw token=tokenStream.LT(1),this._namespace(!1),new SyntaxError(\\\"@namespace not allowed here.\\\",token.startLine,token.startCol);default:tokenStream.get(),this._unexpectedToken(tokenStream.token())}}}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col})}tt=tokenStream.peek()}tt!=Tokens.EOF&&this._unexpectedToken(tokenStream.token()),this.fire(\\\"endstylesheet\\\")},_charset:function(emit){var charset,token,line,col,tokenStream=this._tokenStream;tokenStream.match(Tokens.CHARSET_SYM)&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.mustMatch(Tokens.STRING),token=tokenStream.token(),charset=token.value,this._readWhitespace(),tokenStream.mustMatch(Tokens.SEMICOLON),emit!==!1&&this.fire({type:\\\"charset\\\",charset:charset,line:line,col:col}))},_import:function(emit){var uri,importToken,tokenStream=this._tokenStream,mediaList=[];tokenStream.mustMatch(Tokens.IMPORT_SYM),importToken=tokenStream.token(),this._readWhitespace(),tokenStream.mustMatch([Tokens.STRING,Tokens.URI]),uri=tokenStream.token().value.replace(/^(?:url\\\\()?[\\\"']?([^\\\"']+?)[\\\"']?\\\\)?$/,\\\"$1\\\"),this._readWhitespace(),mediaList=this._media_query_list(),tokenStream.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),emit!==!1&&this.fire({type:\\\"import\\\",uri:uri,media:mediaList,line:importToken.startLine,col:importToken.startCol})},_namespace:function(emit){var line,col,prefix,uri,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.NAMESPACE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.match(Tokens.IDENT)&&(prefix=tokenStream.token().value,this._readWhitespace()),tokenStream.mustMatch([Tokens.STRING,Tokens.URI]),uri=tokenStream.token().value.replace(/(?:url\\\\()?[\\\"']([^\\\"']+)[\\\"']\\\\)?/,\\\"$1\\\"),this._readWhitespace(),tokenStream.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),emit!==!1&&this.fire({type:\\\"namespace\\\",prefix:prefix,uri:uri,line:line,col:col})},_media:function(){var line,col,mediaList,tokenStream=this._tokenStream;for(tokenStream.mustMatch(Tokens.MEDIA_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),mediaList=this._media_query_list(),tokenStream.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:\\\"startmedia\\\",media:mediaList,line:line,col:col});;)if(tokenStream.peek()==Tokens.PAGE_SYM)this._page();else if(tokenStream.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(tokenStream.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;tokenStream.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:\\\"endmedia\\\",media:mediaList,line:line,col:col})},_media_query_list:function(){var tokenStream=this._tokenStream,mediaList=[];for(this._readWhitespace(),(tokenStream.peek()==Tokens.IDENT||tokenStream.peek()==Tokens.LPAREN)&&mediaList.push(this._media_query());tokenStream.match(Tokens.COMMA);)this._readWhitespace(),mediaList.push(this._media_query());return mediaList},_media_query:function(){var tokenStream=this._tokenStream,type=null,ident=null,token=null,expressions=[];if(tokenStream.match(Tokens.IDENT)&&(ident=tokenStream.token().value.toLowerCase(),\\\"only\\\"!=ident&&\\\"not\\\"!=ident?(tokenStream.unget(),ident=null):token=tokenStream.token()),this._readWhitespace(),tokenStream.peek()==Tokens.IDENT?(type=this._media_type(),null===token&&(token=tokenStream.token())):tokenStream.peek()==Tokens.LPAREN&&(null===token&&(token=tokenStream.LT(1)),expressions.push(this._media_expression())),null===type&&0===expressions.length)return null;for(this._readWhitespace();tokenStream.match(Tokens.IDENT);)\\\"and\\\"!=tokenStream.token().value.toLowerCase()&&this._unexpectedToken(tokenStream.token()),this._readWhitespace(),expressions.push(this._media_expression());return new MediaQuery(ident,type,expressions,token.startLine,token.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var token,tokenStream=this._tokenStream,feature=null,expression=null;return tokenStream.mustMatch(Tokens.LPAREN),feature=this._media_feature(),this._readWhitespace(),tokenStream.match(Tokens.COLON)&&(this._readWhitespace(),token=tokenStream.LT(1),expression=this._expression()),tokenStream.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(feature,expression?new SyntaxUnit(expression,token.startLine,token.startCol):null)},_media_feature:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(tokenStream.token())},_page:function(){var line,col,tokenStream=this._tokenStream,identifier=null,pseudoPage=null;tokenStream.mustMatch(Tokens.PAGE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.match(Tokens.IDENT)&&(identifier=tokenStream.token().value,\\\"auto\\\"===identifier.toLowerCase()&&this._unexpectedToken(tokenStream.token())),tokenStream.peek()==Tokens.COLON&&(pseudoPage=this._pseudo_page()),this._readWhitespace(),this.fire({type:\\\"startpage\\\",id:identifier,pseudo:pseudoPage,line:line,col:col}),this._readDeclarations(!0,!0),this.fire({type:\\\"endpage\\\",id:identifier,pseudo:pseudoPage,line:line,col:col})},_margin:function(){var line,col,tokenStream=this._tokenStream,marginSym=this._margin_sym();return marginSym?(line=tokenStream.token().startLine,col=tokenStream.token().startCol,this.fire({type:\\\"startpagemargin\\\",margin:marginSym,line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endpagemargin\\\",margin:marginSym,line:line,col:col}),!0):!1},_margin_sym:function(){var tokenStream=this._tokenStream;return tokenStream.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(tokenStream.token()):null},_pseudo_page:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch(Tokens.COLON),tokenStream.mustMatch(Tokens.IDENT),tokenStream.token().value},_font_face:function(){var line,col,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.FONT_FACE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),this.fire({type:\\\"startfontface\\\",line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endfontface\\\",line:line,col:col})},_viewport:function(){var line,col,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.VIEWPORT_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),this.fire({type:\\\"startviewport\\\",line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endviewport\\\",line:line,col:col})},_operator:function(inFunction){var tokenStream=this._tokenStream,token=null;return(tokenStream.match([Tokens.SLASH,Tokens.COMMA])||inFunction&&tokenStream.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))&&(token=tokenStream.token(),this._readWhitespace()),token?PropertyValuePart.fromToken(token):null},_combinator:function(){var token,tokenStream=this._tokenStream,value=null;return tokenStream.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(token=tokenStream.token(),value=new Combinator(token.value,token.startLine,token.startCol),this._readWhitespace()),value},_unary_operator:function(){var tokenStream=this._tokenStream;return tokenStream.match([Tokens.MINUS,Tokens.PLUS])?tokenStream.token().value:null},_property:function(){var tokenValue,token,line,col,tokenStream=this._tokenStream,value=null,hack=null;return tokenStream.peek()==Tokens.STAR&&this.options.starHack&&(tokenStream.get(),token=tokenStream.token(),hack=token.value,line=token.startLine,col=token.startCol),tokenStream.match(Tokens.IDENT)&&(token=tokenStream.token(),tokenValue=token.value,\\\"_\\\"==tokenValue.charAt(0)&&this.options.underscoreHack&&(hack=\\\"_\\\",tokenValue=tokenValue.substring(1)),value=new PropertyName(tokenValue,hack,line||token.startLine,col||token.startCol),this._readWhitespace()),value},_ruleset:function(){var tt,selectors,tokenStream=this._tokenStream;try{selectors=this._selectors_group()}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;if(this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col}),tt=tokenStream.advance([Tokens.RBRACE]),tt!=Tokens.RBRACE)throw ex;return!0}return selectors&&(this.fire({type:\\\"startrule\\\",selectors:selectors,line:selectors[0].line,col:selectors[0].col}),this._readDeclarations(!0),this.fire({type:\\\"endrule\\\",selectors:selectors,line:selectors[0].line,col:selectors[0].col})),selectors},_selectors_group:function(){var selector,tokenStream=this._tokenStream,selectors=[];if(selector=this._selector(),null!==selector)for(selectors.push(selector);tokenStream.match(Tokens.COMMA);)this._readWhitespace(),selector=this._selector(),null!==selector?selectors.push(selector):this._unexpectedToken(tokenStream.LT(1));return selectors.length?selectors:null},_selector:function(){var tokenStream=this._tokenStream,selector=[],nextSelector=null,combinator=null,ws=null;if(nextSelector=this._simple_selector_sequence(),null===nextSelector)return null;for(selector.push(nextSelector);;)if(combinator=this._combinator(),null!==combinator)selector.push(combinator),nextSelector=this._simple_selector_sequence(),null===nextSelector?this._unexpectedToken(tokenStream.LT(1)):selector.push(nextSelector);else{if(!this._readWhitespace())break;ws=new Combinator(tokenStream.token().value,tokenStream.token().startLine,tokenStream.token().startCol),combinator=this._combinator(),nextSelector=this._simple_selector_sequence(),null===nextSelector?null!==combinator&&this._unexpectedToken(tokenStream.LT(1)):(null!==combinator?selector.push(combinator):selector.push(ws),selector.push(nextSelector))}return new Selector(selector,selector[0].line,selector[0].col)},_simple_selector_sequence:function(){var line,col,tokenStream=this._tokenStream,elementName=null,modifiers=[],selectorText=\\\"\\\",components=[function(){return tokenStream.match(Tokens.HASH)?new SelectorSubPart(tokenStream.token().value,\\\"id\\\",tokenStream.token().startLine,tokenStream.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],i=0,len=components.length,component=null;for(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol,elementName=this._type_selector(),elementName||(elementName=this._universal()),null!==elementName&&(selectorText+=elementName);;){if(tokenStream.peek()===Tokens.S)break;for(;len>i&&null===component;)component=components[i++].call(this);if(null===component){if(\\\"\\\"===selectorText)return null;break}i=0,modifiers.push(component),selectorText+=\\\"\\\"+component,component=null}return\\\"\\\"!==selectorText?new SelectorPart(elementName,modifiers,selectorText,line,col):null},_type_selector:function(){var tokenStream=this._tokenStream,ns=this._namespace_prefix(),elementName=this._element_name();return elementName?(ns&&(elementName.text=ns+elementName.text,elementName.col-=ns.length),elementName):(ns&&(tokenStream.unget(),ns.length>1&&tokenStream.unget()),null)},_class:function(){var token,tokenStream=this._tokenStream;return tokenStream.match(Tokens.DOT)?(tokenStream.mustMatch(Tokens.IDENT),token=tokenStream.token(),new SelectorSubPart(\\\".\\\"+token.value,\\\"class\\\",token.startLine,token.startCol-1)):null},_element_name:function(){var token,tokenStream=this._tokenStream;return tokenStream.match(Tokens.IDENT)?(token=tokenStream.token(),new SelectorSubPart(token.value,\\\"elementName\\\",token.startLine,token.startCol)):null},_namespace_prefix:function(){var tokenStream=this._tokenStream,value=\\\"\\\";return(tokenStream.LA(1)===Tokens.PIPE||tokenStream.LA(2)===Tokens.PIPE)&&(tokenStream.match([Tokens.IDENT,Tokens.STAR])&&(value+=tokenStream.token().value),tokenStream.mustMatch(Tokens.PIPE),value+=\\\"|\\\"),value.length?value:null},_universal:function(){var ns,tokenStream=this._tokenStream,value=\\\"\\\";return ns=this._namespace_prefix(),ns&&(value+=ns),tokenStream.match(Tokens.STAR)&&(value+=\\\"*\\\"),value.length?value:null},_attrib:function(){var ns,token,tokenStream=this._tokenStream,value=null;return tokenStream.match(Tokens.LBRACKET)?(token=tokenStream.token(),value=token.value,value+=this._readWhitespace(),ns=this._namespace_prefix(),ns&&(value+=ns),tokenStream.mustMatch(Tokens.IDENT),value+=tokenStream.token().value,value+=this._readWhitespace(),tokenStream.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(value+=tokenStream.token().value,value+=this._readWhitespace(),tokenStream.mustMatch([Tokens.IDENT,Tokens.STRING]),value+=tokenStream.token().value,value+=this._readWhitespace()),tokenStream.mustMatch(Tokens.RBRACKET),new SelectorSubPart(value+\\\"]\\\",\\\"attribute\\\",token.startLine,token.startCol)):null},_pseudo:function(){var line,col,tokenStream=this._tokenStream,pseudo=null,colons=\\\":\\\";return tokenStream.match(Tokens.COLON)&&(tokenStream.match(Tokens.COLON)&&(colons+=\\\":\\\"),tokenStream.match(Tokens.IDENT)?(pseudo=tokenStream.token().value,line=tokenStream.token().startLine,col=tokenStream.token().startCol-colons.length):tokenStream.peek()==Tokens.FUNCTION&&(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol-colons.length,pseudo=this._functional_pseudo()),pseudo&&(pseudo=new SelectorSubPart(colons+pseudo,\\\"pseudo\\\",line,col))),pseudo},_functional_pseudo:function(){var tokenStream=this._tokenStream,value=null;return tokenStream.match(Tokens.FUNCTION)&&(value=tokenStream.token().value,value+=this._readWhitespace(),value+=this._expression(),tokenStream.mustMatch(Tokens.RPAREN),value+=\\\")\\\"),value},_expression:function(){for(var tokenStream=this._tokenStream,value=\\\"\\\";tokenStream.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]);)value+=tokenStream.token().value,value+=this._readWhitespace();return value.length?value:null},_negation:function(){var line,col,arg,tokenStream=this._tokenStream,value=\\\"\\\",subpart=null;return tokenStream.match(Tokens.NOT)&&(value=tokenStream.token().value,line=tokenStream.token().startLine,col=tokenStream.token().startCol,value+=this._readWhitespace(),arg=this._negation_arg(),value+=arg,value+=this._readWhitespace(),tokenStream.match(Tokens.RPAREN),value+=tokenStream.token().value,subpart=new SelectorSubPart(value,\\\"not\\\",line,col),subpart.args.push(arg)),subpart},_negation_arg:function(){var line,col,part,tokenStream=this._tokenStream,args=[this._type_selector,this._universal,function(){return tokenStream.match(Tokens.HASH)?new SelectorSubPart(tokenStream.token().value,\\\"id\\\",tokenStream.token().startLine,tokenStream.token().startCol):null},this._class,this._attrib,this._pseudo],arg=null,i=0,len=args.length;for(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol;len>i&&null===arg;)arg=args[i].call(this),i++;return null===arg&&this._unexpectedToken(tokenStream.LT(1)),part=\\\"elementName\\\"==arg.type?new SelectorPart(arg,[],\\\"\\\"+arg,line,col):new SelectorPart(null,[arg],\\\"\\\"+arg,line,col)},_declaration:function(){var tokenStream=this._tokenStream,property=null,expr=null,prio=null,invalid=null,propertyName=\\\"\\\";if(property=this._property(),null!==property){tokenStream.mustMatch(Tokens.COLON),this._readWhitespace(),expr=this._expr(),expr&&0!==expr.length||this._unexpectedToken(tokenStream.LT(1)),prio=this._prio(),propertyName=\\\"\\\"+property,(this.options.starHack&&\\\"*\\\"==property.hack||this.options.underscoreHack&&\\\"_\\\"==property.hack)&&(propertyName=property.text);try{this._validateProperty(propertyName,expr)}catch(ex){invalid=ex}return this.fire({type:\\\"property\\\",property:property,value:expr,important:prio,line:property.line,col:property.col,invalid:invalid}),!0}return!1},_prio:function(){var tokenStream=this._tokenStream,result=tokenStream.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),result},_expr:function(inFunction){var values=(this._tokenStream,[]),value=null,operator=null;if(value=this._term(inFunction),null!==value)for(values.push(value);;){if(operator=this._operator(inFunction),operator&&values.push(operator),value=this._term(inFunction),null===value)break;\\nvalues.push(value)}return values.length>0?new PropertyValue(values,values[0].line,values[0].col):null},_term:function(inFunction){var token,line,col,tokenStream=this._tokenStream,unary=null,value=null,endChar=null;return unary=this._unary_operator(),null!==unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),tokenStream.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(value=this._ie_function(),null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol)):inFunction&&tokenStream.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(token=tokenStream.token(),endChar=token.endChar,value=token.value+this._expr(inFunction).text,null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),tokenStream.mustMatch(Tokens.type(endChar)),value+=endChar,this._readWhitespace()):tokenStream.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(value=tokenStream.token().value,null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),this._readWhitespace()):(token=this._hexcolor(),null===token?(null===unary&&(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol),null===value&&(value=tokenStream.LA(3)==Tokens.EQUALS&&this.options.ieFilters?this._ie_function():this._function())):(value=token.value,null===unary&&(line=token.startLine,col=token.startCol))),null!==value?new PropertyValuePart(null!==unary?unary+value:value,line,col):null},_function:function(){var lt,tokenStream=this._tokenStream,functionText=null,expr=null;if(tokenStream.match(Tokens.FUNCTION)){if(functionText=tokenStream.token().value,this._readWhitespace(),expr=this._expr(!0),functionText+=expr,this.options.ieFilters&&tokenStream.peek()==Tokens.EQUALS)do for(this._readWhitespace()&&(functionText+=tokenStream.token().value),tokenStream.LA(0)==Tokens.COMMA&&(functionText+=tokenStream.token().value),tokenStream.match(Tokens.IDENT),functionText+=tokenStream.token().value,tokenStream.match(Tokens.EQUALS),functionText+=tokenStream.token().value,lt=tokenStream.peek();lt!=Tokens.COMMA&<!=Tokens.S&<!=Tokens.RPAREN;)tokenStream.get(),functionText+=tokenStream.token().value,lt=tokenStream.peek();while(tokenStream.match([Tokens.COMMA,Tokens.S]));tokenStream.match(Tokens.RPAREN),functionText+=\\\")\\\",this._readWhitespace()}return functionText},_ie_function:function(){var lt,tokenStream=this._tokenStream,functionText=null;if(tokenStream.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){functionText=tokenStream.token().value;do for(this._readWhitespace()&&(functionText+=tokenStream.token().value),tokenStream.LA(0)==Tokens.COMMA&&(functionText+=tokenStream.token().value),tokenStream.match(Tokens.IDENT),functionText+=tokenStream.token().value,tokenStream.match(Tokens.EQUALS),functionText+=tokenStream.token().value,lt=tokenStream.peek();lt!=Tokens.COMMA&<!=Tokens.S&<!=Tokens.RPAREN;)tokenStream.get(),functionText+=tokenStream.token().value,lt=tokenStream.peek();while(tokenStream.match([Tokens.COMMA,Tokens.S]));tokenStream.match(Tokens.RPAREN),functionText+=\\\")\\\",this._readWhitespace()}return functionText},_hexcolor:function(){var color,tokenStream=this._tokenStream,token=null;if(tokenStream.match(Tokens.HASH)){if(token=tokenStream.token(),color=token.value,!/#[a-f0-9]{3,6}/i.test(color))throw new SyntaxError(\\\"Expected a hex color but found '\\\"+color+\\\"' at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol);this._readWhitespace()}return token},_keyframes:function(){var token,tt,name,tokenStream=this._tokenStream,prefix=\\\"\\\";for(tokenStream.mustMatch(Tokens.KEYFRAMES_SYM),token=tokenStream.token(),/^@\\\\-([^\\\\-]+)\\\\-/.test(token.value)&&(prefix=RegExp.$1),this._readWhitespace(),name=this._keyframe_name(),this._readWhitespace(),tokenStream.mustMatch(Tokens.LBRACE),this.fire({type:\\\"startkeyframes\\\",name:name,prefix:prefix,line:token.startLine,col:token.startCol}),this._readWhitespace(),tt=tokenStream.peek();tt==Tokens.IDENT||tt==Tokens.PERCENTAGE;)this._keyframe_rule(),this._readWhitespace(),tt=tokenStream.peek();this.fire({type:\\\"endkeyframes\\\",name:name,prefix:prefix,line:token.startLine,col:token.startCol}),this._readWhitespace(),tokenStream.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(tokenStream.token())},_keyframe_rule:function(){var keyList=(this._tokenStream,this._key_list());this.fire({type:\\\"startkeyframerule\\\",keys:keyList,line:keyList[0].line,col:keyList[0].col}),this._readDeclarations(!0),this.fire({type:\\\"endkeyframerule\\\",keys:keyList,line:keyList[0].line,col:keyList[0].col})},_key_list:function(){var tokenStream=this._tokenStream,keyList=[];for(keyList.push(this._key()),this._readWhitespace();tokenStream.match(Tokens.COMMA);)this._readWhitespace(),keyList.push(this._key()),this._readWhitespace();return keyList},_key:function(){var token,tokenStream=this._tokenStream;if(tokenStream.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(tokenStream.token());if(tokenStream.match(Tokens.IDENT)){if(token=tokenStream.token(),/from|to/i.test(token.value))return SyntaxUnit.fromToken(token);tokenStream.unget()}this._unexpectedToken(tokenStream.LT(1))},_skipCruft:function(){for(;this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]););},_readDeclarations:function(checkStart,readMargins){var tt,tokenStream=this._tokenStream;this._readWhitespace(),checkStart&&tokenStream.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(tokenStream.match(Tokens.SEMICOLON)||readMargins&&this._margin());else{if(!this._declaration())break;if(!tokenStream.match(Tokens.SEMICOLON))break}this._readWhitespace()}tokenStream.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;if(this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col}),tt=tokenStream.advance([Tokens.SEMICOLON,Tokens.RBRACE]),tt==Tokens.SEMICOLON)this._readDeclarations(!1,readMargins);else if(tt!=Tokens.RBRACE)throw ex}},_readWhitespace:function(){for(var tokenStream=this._tokenStream,ws=\\\"\\\";tokenStream.match(Tokens.S);)ws+=tokenStream.token().value;return ws},_unexpectedToken:function(token){throw new SyntaxError(\\\"Unexpected token '\\\"+token.value+\\\"' at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(property,value){Validation.validate(property,value)},parse:function(input){this._tokenStream=new TokenStream(input,Tokens),this._stylesheet()},parseStyleSheet:function(input){return this.parse(input)},parseMediaQuery:function(input){this._tokenStream=new TokenStream(input,Tokens);var result=this._media_query();return this._verifyEnd(),result},parsePropertyValue:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._expr();return this._readWhitespace(),this._verifyEnd(),result},parseRule:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._ruleset();return this._readWhitespace(),this._verifyEnd(),result},parseSelector:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._selector();return this._readWhitespace(),this._verifyEnd(),result},parseStyleAttribute:function(input){input+=\\\"}\\\",this._tokenStream=new TokenStream(input,Tokens),this._readDeclarations()}};for(prop in additions)additions.hasOwnProperty(prop)&&(proto[prop]=additions[prop]);return proto}();var Properties={\\\"align-items\\\":\\\"flex-start | flex-end | center | baseline | stretch\\\",\\\"align-content\\\":\\\"flex-start | flex-end | center | space-between | space-around | stretch\\\",\\\"align-self\\\":\\\"auto | flex-start | flex-end | center | baseline | stretch\\\",\\\"-webkit-align-items\\\":\\\"flex-start | flex-end | center | baseline | stretch\\\",\\\"-webkit-align-content\\\":\\\"flex-start | flex-end | center | space-between | space-around | stretch\\\",\\\"-webkit-align-self\\\":\\\"auto | flex-start | flex-end | center | baseline | stretch\\\",\\\"alignment-adjust\\\":\\\"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | \\\",\\\"alignment-baseline\\\":\\\"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical\\\",animation:1,\\\"animation-delay\\\":{multi:\\\"
    \\n

    \\n

    \\n \\n \\n  Upload\\n \\n

    \\n \\n\\n
    \\n
    \\n \\n Use the MATLAB Plugin\\n
    \\n

    \\n Download the plugin below if you already use MATLAB to manage your \\n experiment data. \\n

    \\n

    \\n

    \\n
    \\n
    \\n

    \\n \\n

    \\n NOTE: Requires MATLAB 2017b or later. If you don't have MATLAB already, \\n you can \\n \\n download it here.\\n \\n

    \\n\\n

    \\n \\n \\n  MATLAB Plugin\\n \\n

    \\n
    \\n\\n\\n \\n\\n \\n\\n\\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n Upload an experiment\\n
    \\n

    \\n Head over to the upload section to upload your time-series data \\n and create an experiment.\\n

    \\n

    \\n \\n \\n  Upload\\n \\n

    \\n Supported formats:\\n
      \\n
    • \\n CSV (Comma-separated values) \\n see sample.\\n
    • \\n
    • \\n TDMS (National Instruments)\\n
    • \\n
    \\n
    \\n\\n \\n\\n
    \\n
    \\n \\n Tips\\n
    \\n
      \\n
    • Ctrl/cmd + click on a graph to add an annotation.
    • \\n
    • \\n Hit ctrl/cmd + O when hovering over a panel to enable \\n shared tooltip mode. The tooltip then appears on all panels \\n simultaenously. Hit it again to cycle through the 3 tooltip modes.\\n
    • \\n
    \\n
    \\n\\n\\n
    \\n
    \\n \\n What's new?\\n
    \\n\\n \\n\\n
    \\n

    \\n Release #35\\n

    \\n
      \\n
    • Experiment video + video sync (beta!)
    • \\n
    • Ability to edit experiment start & end times
    • \\n
    \\n
    \\n\\n
    \\n

    \\n Release #34\\n

    \\n
      \\n
    • Ability to alias a sensor on a panel.
    • \\n
    \\n
    \\n\\n
    \\n

    \\n Release #33\\n

    \\n
      \\n
    • Added support for uploading National Instruments TDMS files.
    • \\n
    • Enabled automatic zoom up to 1GHz sampling rate.
    • \\n
    • Added CSV Upload + Howto Video.
    • \\n
    \\n
    \\n\\n
    \\n\\n
    \\n
    \\n \\n Using the MATLAB Plugin\\n
    \\n
    \\n
    \\n
    \\n

    \\n Quick introduction to the MATLAB Plugin.\\n

    \\n
    \\n\\n
    \\n
    \\n \\n Uploading CSV files\\n
    \\n
    \\n
    \\n
    \\n

    \\n How to get started uploading CSV files and creating dashboards.\\n

    \\n
    \\n\\n
    \\n
    \\n \\n Contact\\n
    \\n

    Problems, questions, concerns ? Email us at support@getcurve.io.

    \\n
    \\n\\n\\n
    \\n\\n\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/home.html\n// module id = 1105\n// module chunks = 3","var path = 'public/app/partials/login.html';\nvar html = \"
    \\n \\n\\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/login.html\n// module id = 1106\n// module chunks = 3","var path = 'public/app/partials/modal.html';\nvar html = \"\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/modal.html\n// module id = 1107\n// module chunks = 3","var path = 'public/app/partials/panelgeneral.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Info
    \\n\\t\\t
    \\n\\t\\t\\tTitle\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tDescription\\n\\t\\t\\t\\n\\t\\t
    \\n \\n\\t
    \\n\\n\\t\\n\\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/panelgeneral.html\n// module id = 1108\n// module chunks = 3","var path = 'public/app/partials/reset_password.html';\nvar html = \"\\n\\n
    \\n\\t\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/reset_password.html\n// module id = 1109\n// module chunks = 3","var path = 'public/app/partials/signup_invited.html';\nvar html = \"\\n\\n
    \\n\\t

    Hello {{greeting}}.

    \\n\\n\\t
    \\n\\t\\t{{invitedBy}} has invited you to join Grafana and the organization {{contextSrv.user.orgName}}
    Please complete the following to accept your invitation and continue:\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tEmail\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tName\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tUsername\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/signup_invited.html\n// module id = 1110\n// module chunks = 3","var path = 'public/app/partials/signup_step2.html';\nvar html = \"\\n\\n\\n\\n
    \\n\\n

    Create your account

    \\n
    \\n\\n \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/signup_step2.html\n// module id = 1111\n// module chunks = 3","var path = 'public/app/partials/valueSelectDropdown.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/partials/valueSelectDropdown.html\n// module id = 1112\n// module chunks = 3","var path = 'public/app/plugins/app/testdata/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t\\t\\n \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/app/testdata/partials/query.editor.html\n// module id = 1113\n// module chunks = 3","var path = 'public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html';\nvar html = \"\\n\\n
    \\n\\t
    \\n\\t\\t
    Prefix matching
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\tAction\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tAlarm Name\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html\n// module id = 1114\n// module chunks = 3","var path = 'public/app/plugins/datasource/cloudwatch/partials/config.html';\nvar html = \"

    CloudWatch details

    \\n\\n
    \\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n Credentials profile name, as specified in ~/.aws/credentials, leave blank for default\\n \\n
    \\n\\n
    \\n \\n \\n Reset\\n \\n
    \\n\\n
    \\n \\n \\n Reset\\n \\n
    \\n\\n
    \\n \\n \\n \\n ARN of Assume Role\\n \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n Namespaces of Custom Metrics\\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/cloudwatch/partials/config.html\n// module id = 1115\n// module chunks = 3","var path = 'public/app/plugins/datasource/cloudwatch/partials/query.editor.html';\nvar html = \"\\n\\t\\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/cloudwatch/partials/query.editor.html\n// module id = 1116\n// module chunks = 3","var path = 'public/app/plugins/datasource/cloudwatch/partials/query.parameter.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tAlias replacement variables:\\n\\t\\t\\t
      \\n\\t\\t\\t\\t
    • {{metric}}
    • \\n\\t\\t\\t\\t
    • {{stat}}
    • \\n\\t\\t\\t\\t
    • {{namespace}}
    • \\n\\t\\t\\t\\t
    • {{region}}
    • \\n\\t\\t\\t\\t
    • {{period}}
    • \\n\\t\\t\\t\\t
    • {{YOUR_DIMENSION_NAME}}
    • \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/cloudwatch/partials/query.parameter.html\n// module id = 1117\n// module chunks = 3","var path = 'public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\tIndex name\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    Field mappings
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tTime\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tText\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle (deprecated)\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html\n// module id = 1118\n// module chunks = 3","var path = 'public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html\n// module id = 1119\n// module chunks = 3","var path = 'public/app/plugins/datasource/elasticsearch/partials/config.html';\nvar html = \"\\n\\n\\n

    Elasticsearch details

    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tIndex name\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n Pattern\\n \\n \\n \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\tTime field name\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n Version\\n \\n \\n \\n\\t
    \\n
    =56\\\">\\n Max concurrent Shard Requests\\n \\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMin time interval\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\\n\\t\\t\\t\\tfor example 1m if your data is written every minute.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/elasticsearch/partials/config.html\n// module id = 1120\n// module chunks = 3","var path = 'public/app/plugins/datasource/elasticsearch/partials/metric_agg.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n
    \\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n\\n
    \\n \\n \\n
    \\n\\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n\\n\\n
    \\n \\n \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n
    \\n\\n
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/elasticsearch/partials/metric_agg.html\n// module id = 1121\n// module chunks = 3","var path = 'public/app/plugins/datasource/elasticsearch/partials/query.editor.html';\nvar html = \"\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/elasticsearch/partials/query.editor.html\n// module id = 1122\n// module chunks = 3","var path = 'public/app/plugins/datasource/grafana-live/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/grafana-live/partials/query.editor.html\n// module id = 1123\n// module chunks = 3","var path = 'public/app/plugins/datasource/grafana/partials/annotations.editor.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\tFilter by\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
      \\n\\t\\t\\t\\t\\t\\t
    • Dashboard: This will fetch annotation and alert state changes for whole dashboard and show them only on the event's originating panel.
    • \\n\\t\\t\\t\\t\\t\\t
    • All: This will fetch any annotation events that match the tags filter.
    • \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tMax limit\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/grafana/partials/annotations.editor.html\n// module id = 1124\n// module chunks = 3","var path = 'public/app/plugins/datasource/grafana/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/grafana/partials/query.editor.html\n// module id = 1125\n// module chunks = 3","var path = 'public/app/plugins/datasource/graphite/partials/annotations.editor.html';\nvar html = \"
    \\n
    \\n Graphite query\\n \\n
    \\n\\n\\t
    Or
    \\n\\n
    \\n Graphite events tags\\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/graphite/partials/annotations.editor.html\n// module id = 1126\n// module chunks = 3","var path = 'public/app/plugins/datasource/graphite/partials/config.html';\nvar html = \"\\n\\n\\n

    Graphite details

    \\n\\n
    \\n\\t
    \\n\\t\\t\\n Version\\n \\n This option controls what functions are available in the Graphite query editor.\\n \\n \\n \\n \\n \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/graphite/partials/config.html\n// module id = 1127\n// module chunks = 3","var path = 'public/app/plugins/datasource/graphite/partials/query.editor.html';\nvar html = \"\\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n \\n \\n \\n
    \\n\\n \\n\\n \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/graphite/partials/query.editor.html\n// module id = 1128\n// module chunks = 3","var path = 'public/app/plugins/datasource/influxdb/partials/annotations.editor.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n
    \\n\\n
    Field mappings If your influxdb query returns more than one field you need to specify the column names below. An annotation event is composed of a title, tags, and an additional text field.
    \\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tText\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle (deprecated)\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/influxdb/partials/annotations.editor.html\n// module id = 1129\n// module chunks = 3","var path = 'public/app/plugins/datasource/influxdb/partials/config.html';\nvar html = \"\\n\\n\\n

    InfluxDB Details

    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tDatabase\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\\n
    \\n\\t
    \\n\\t\\t
    Database Access
    \\n\\t\\t

    \\n\\t\\t\\tSetting the database for this datasource does not deny access to other databases. The InfluxDB query syntax allows\\n\\t\\t\\tswitching the database in the query. For example:\\n\\t\\t\\tSHOW MEASUREMENTS ON _internal or SELECT * FROM \\\"_internal\\\"..\\\"database\\\" LIMIT 10\\n\\t\\t\\t

    \\n\\t\\t\\tTo support data isolation and security, make sure appropriate permissions are configured in InfluxDB.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMin time interval\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\\n\\t\\t\\t\\tfor example 1m if your data is written every minute.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/influxdb/partials/config.html\n// module id = 1130\n// module chunks = 3","var path = 'public/app/plugins/datasource/influxdb/partials/query.editor.html';\nvar html = \"\\n\\n\\t
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/influxdb/partials/query.editor.html\n// module id = 1131\n// module chunks = 3","var path = 'public/app/plugins/datasource/mssql/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text.\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'.\\n\\n\\nMacros:\\n- $__time(column) -> column AS time\\n- $__timeEpoch(column) -> DATEDIFF(second, '1970-01-01', column) AS time\\n- $__timeFilter(column) -> column >= DATEADD(s, 18446744066914186738, '1970-01-01') AND column <= DATEADD(s, 18446744066914187038, '1970-01-01')\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__timeTo() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mssql/partials/annotations.editor.html\n// module id = 1132\n// module chunks = 3","var path = 'public/app/plugins/datasource/mssql/partials/config.html';\nvar html = \"\\n

    MSSQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t\\treset\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike USE otherdb; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific MSSQL user with restricted permissions.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mssql/partials/config.html\n// module id = 1133\n// module chunks = 3","var path = 'public/app/plugins/datasource/mssql/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\\n- optional: return column named metric to represent the series names.\\n- any other columns returned will be the time point values.\\n- if multiple value columns are present and a metric column is provided. the series name will be the combination of \\\"MetricName - ValueColumnName\\\".\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> column AS time\\n- $__timeEpoch(column) -> DATEDIFF(second, '1970-01-01', column) AS time\\n- $__timeFilter(column) -> column >= DATEADD(s, 18446744066914186738, '1970-01-01') AND column <= DATEADD(s, 18446744066914187038, '1970-01-01')\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n- $__timeGroup(column, '5m'[, fillvalue]) -> CAST(ROUND(DATEDIFF(second, '1970-01-01', column)/300.0, 0) as bigint)*300. Providing a fillValue of NULL or floating value will automatically fill empty series in timerange with that value.\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(date_time_col, '1h') AS time,\\n  sum(value) as value\\nFROM yourtable\\nGROUP BY $__timeGroup(date_time_col, '1h')\\nORDER BY 1\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__timeTo() -> DATEADD(second, 1492750877, '1970-01-01')\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mssql/partials/query.editor.html\n// module id = 1134\n// module chunks = 3","var path = 'public/app/plugins/datasource/mysql/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time or time_sec column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time or time_sec for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\\n\\n\\nMacros:\\n- $__time(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\\n- $__timeFilter(column) -> UNIX_TIMESTAMP(time_date_time) > 1492750877 AND UNIX_TIMESTAMP(time_date_time) < 1492750877\\n- $__unixEpochFilter(column) -> time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> FROM_UNIXTIME(1492750877)\\n- $__timeTo() -> FROM_UNIXTIME(1492750877)\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mysql/partials/annotations.editor.html\n// module id = 1135\n// module chunks = 3","var path = 'public/app/plugins/datasource/mysql/partials/config.html';\nvar html = \"\\n

    MySQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike USE otherdb; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific MySQL user with restricted permissions.\\n\\n\\t\\t\\tCheckout the MySQL Data Source Docs for more information.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mysql/partials/config.html\n// module id = 1136\n// module chunks = 3","var path = 'public/app/plugins/datasource/mysql/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time or time_sec (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\\n- return column(s) with numeric datatype as values\\n- (Optional: return column named metric to represent the series name. If no column named metric is found the column name of the value column is used as series name)\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> UNIX_TIMESTAMP(column) as time_sec\\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec\\n- $__timeFilter(column) ->  UNIX_TIMESTAMP(time_date_time) ≥ 1492750877 AND UNIX_TIMESTAMP(time_date_time) ≤ 1492750877\\n- $__unixEpochFilter(column) ->  time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\\n- $__timeGroup(column,'5m') -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(timestamp_col, '1h') AS time,\\n  sum(value_double) as value\\nFROM yourtable\\nGROUP BY 1\\nORDER BY 1\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() ->  FROM_UNIXTIME(1492750877)\\n- $__timeTo() ->  FROM_UNIXTIME(1492750877)\\n- $__unixEpochFrom() ->  1492750877\\n- $__unixEpochTo() ->  1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/mysql/partials/query.editor.html\n// module id = 1137\n// module chunks = 3","var path = 'public/app/plugins/datasource/opentsdb/partials/annotations.editor.html';\nvar html = \"
    \\n
    \\n OpenTSDB metrics query\\n \\n
    \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/opentsdb/partials/annotations.editor.html\n// module id = 1138\n// module chunks = 3","var path = 'public/app/plugins/datasource/opentsdb/partials/config.html';\nvar html = \"\\n\\n
    OpenTSDB settings
    \\n
    \\n \\n Version\\n \\n \\n \\n \\n
    \\n
    \\n \\n Resolution\\n \\n \\n \\n \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/opentsdb/partials/config.html\n// module id = 1139\n// module chunks = 3","var path = 'public/app/plugins/datasource/opentsdb/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tblank for auto, or for example 1m\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    = 2\\\">\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t\\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    = 2\\\">\\n\\t\\t
    \\n\\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t{{fil.tagk}} = {{fil.type}}({{fil.filter}}) , groupBy = {{fil.groupBy}}\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\n \\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n \\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\n\\t\\t\\n\\t\\t\\n\\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    2\\\">\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/opentsdb/partials/query.editor.html\n// module id = 1140\n// module chunks = 3","var path = 'public/app/plugins/datasource/postgres/partials/annotations.editor.html';\nvar html = \"\\n
    \\n
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n \\n\\t\\t
    \\n
    \\n\\n
    \\n\\t\\t
    Annotation Query Format
    \\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\\n\\n- column with alias: time for the annotation event time. Use epoch time or any native date data type.\\n- column with alias: text for the annotation text\\n- column with alias: tags for annotation tags. This is a comma separated string of tags e.g. 'tag1,tag2'\\n\\n\\nMacros:\\n- $__time(column) -> column as \\\"time\\\"\\n- $__timeEpoch -> extract(epoch from column) as \\\"time\\\"\\n- $__timeFilter(column) -> column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() -> '2017-04-21T05:01:17Z'\\n- $__timeTo() -> '2017-04-21T05:01:17Z'\\n- $__unixEpochFrom() -> 1492750877\\n- $__unixEpochTo() -> 1492750877\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/postgres/partials/annotations.editor.html\n// module id = 1141\n// module chunks = 3","var path = 'public/app/plugins/datasource/postgres/partials/config.html';\nvar html = \"\\n

    PostgreSQL Connection

    \\n\\n
    \\n\\t
    \\n\\t\\tHost\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\tDatabase\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tUser\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tPassword\\n\\t\\t\\t\\n
    \\n
    \\n Password\\n \\n reset\\n
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\tThis option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n
    \\n\\t
    \\n\\t\\t
    User Permission
    \\n\\t\\t

    \\n\\t\\t\\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\\n\\t\\t\\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\\n\\t\\t\\tlike DELETE FROM user; and DROP TABLE user; would be executed. To protect against this we\\n\\t\\t\\tHighly recommmend you create a specific PostgreSQL user with restricted permissions.\\n\\t\\t

    \\n\\t
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/postgres/partials/config.html\n// module id = 1142\n// module chunks = 3","var path = 'public/app/plugins/datasource/postgres/partials/query.editor.html';\nvar html = \"\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n
    \\n
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryMeta.sql}}
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Time series:\\n- return column named time (UTC in seconds or timestamp)\\n- return column(s) with numeric datatype as values\\n- (Optional: return column named metric to represent the series name. If no column named metric is found the column name of the value column is used as series name)\\n\\nTable:\\n- return any set of columns\\n\\nMacros:\\n- $__time(column) -> column as \\\"time\\\"\\n- $__timeEpoch -> extract(epoch from column) as \\\"time\\\"\\n- $__timeFilter(column) -> column BETWEEN '2017-04-21T05:01:17Z' AND '2017-04-21T05:01:17Z'\\n- $__unixEpochFilter(column) ->  column >= 1492750877 AND column <= 1492750877\\n- $__timeGroup(column,'5m') -> (extract(epoch from column)/300)::bigint*300 AS time\\n\\nExample of group by and order by with $__timeGroup:\\nSELECT\\n  $__timeGroup(date_time_col, '1h'),\\n  sum(value) as value\\nFROM yourtable\\nGROUP BY time\\nORDER BY time\\n\\nOr build your own conditionals using these macros which just return the values:\\n- $__timeFrom() ->  '2017-04-21T05:01:17Z'\\n- $__timeTo() ->  '2017-04-21T05:01:17Z'\\n- $__unixEpochFrom() ->  1492750877\\n- $__unixEpochTo() ->  1492750877\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\n\\t
    \\n\\t\\t
    {{ctrl.lastQueryError}}
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/postgres/partials/query.editor.html\n// module id = 1143\n// module chunks = 3","var path = 'public/app/plugins/datasource/prometheus/partials/annotations.editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\tSearch expression\\n\\t\\t\\n\\t
    \\n\\t
    \\n\\t\\tstep\\n\\t\\t\\n\\t
    \\n
    \\n\\n
    \\n\\t
    Field formats\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tTitle\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tTags\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\tText\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/prometheus/partials/annotations.editor.html\n// module id = 1144\n// module chunks = 3","var path = 'public/app/plugins/datasource/prometheus/partials/config.html';\nvar html = \"\\n\\n\\n
    \\n
    \\n
    \\n Scrape interval\\n \\n \\n Set this to your global scrape interval defined in your Prometheus config file. This will be used as a lower limit for the\\n Prometheus step query parameter.\\n \\n
    \\n
    \\n\\n
    \\n
    \\n Query timeout\\n \\n \\n Set the Prometheus query timeout.\\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n Specify the HTTP Method to query Prometheus. (POST is only available in Prometheus >= v2.1.0)\\n \\n
    \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/prometheus/partials/config.html\n// module id = 1145\n// module chunks = 3","var path = 'public/app/plugins/datasource/prometheus/partials/query.editor.html';\nvar html = \"\\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n \\n Controls the name of the time series, using name or pattern. For example\\n {{hostname}} will be replaced with label value for the label hostname.\\n \\n
    \\n\\n
    \\n \\n \\n \\n Leave blank for auto handling based on time range and panel width. Note that the actual dates used in the query will be adjusted\\n to a multiple of the interval step.\\n \\n
    \\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/datasource/prometheus/partials/query.editor.html\n// module id = 1146\n// module chunks = 3","var path = 'public/app/plugins/panel/alertlist/editor.html';\nvar html = \"
    \\n
    \\n
    Options
    \\n
    \\n Show\\n
    \\n \\n
    \\n
    \\n
    \\n Max items\\n \\n
    \\n
    \\n Sort order\\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    Filter
    \\n
    \\n Alert name\\n \\n
    \\n
    \\n Dashboard title\\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n Dashboard tags\\n \\n \\n
    \\n
    \\n
    \\n
    State filter
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/alertlist/editor.html\n// module id = 1147\n// module chunks = 3","var path = 'public/app/plugins/panel/alertlist/module.html';\nvar html = \"
    \\n
    \\n {{ctrl.noAlertsMessage}}\\n
    \\n\\n
    \\n
      \\n
    1. \\n
      \\n \\n
      \\n
      \\n
      \\n

      \\n \\n {{alert.name}}\\n \\n

      \\n
      \\n {{alert.stateModel.text}}\\n for {{alert.newStateDateAgo}}\\n
      \\n
      \\n
      \\n
    2. \\n
    \\n
    \\n\\n
    \\n
      \\n
    1. \\n
      \\n \\n
      \\n
      \\n
      \\n

      {{al.alertName}}

      \\n
      \\n {{al.stateModel.text}}\\n
      \\n
      \\n {{al.info}}\\n
      \\n
      \\n {{al.time}}\\n
      \\n
    2. \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/alertlist/module.html\n// module id = 1148\n// module chunks = 3","var path = 'public/app/plugins/panel/dashlist/editor.html';\nvar html = \"
    \\n
    \\n
    Options
    \\n\\n \\n \\n \\n\\n \\n\\n
    \\n Max items\\n \\n
    \\n
    \\n\\n
    \\n
    Search
    \\n\\n
    \\n Query\\n \\n
    \\n\\n
    \\n \\n\\t\\t\\t\\n
    \\n\\n
    \\n Tags\\n \\n \\n
    \\n
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/dashlist/editor.html\n// module id = 1149\n// module chunks = 3","var path = 'public/app/plugins/panel/dashlist/module.html';\nvar html = \"
    \\n
    \\n
    \\n
    \\n {{group.header}}\\n
    \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/dashlist/module.html\n// module id = 1150\n// module chunks = 3","var path = 'public/app/plugins/panel/experimentdetails/module.html';\nvar html = \"\\n\\n\\n
    \\n \\n
    \\n

    {{ ctrl.experiment.title }}

    \\n\\n
    Created: {{ ctrl.experiment.created }}\\n
    Duration: {{ ctrl.experiment.duration.toFixed(1) }}s\\n
    Notes: \\n {{ ctrl.experiment.notes }}\\n\\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/experimentdetails/module.html\n// module id = 1151\n// module chunks = 3","var path = 'public/app/plugins/panel/experimentvideo/module.html';\nvar html = \"\\n\\n\\n\\n
    \\n Processing video, please wait...\\n

    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n SYNC\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n No video was found for this experiment.\\n

    \\n \\n
    \\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/experimentvideo/module.html\n// module id = 1152\n// module chunks = 3","var path = 'public/app/plugins/panel/gettingstarted/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tSearch options\\n\\t\\t\\tQuery\\n\\n\\t\\t\\t\\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tLimit number to\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/gettingstarted/editor.html\n// module id = 1153\n// module chunks = 3","var path = 'public/app/plugins/panel/gettingstarted/module.html';\nvar html = \"
    \\n
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/gettingstarted/module.html\n// module id = 1154\n// module chunks = 3","var path = 'public/app/plugins/panel/graph/axes_editor.html';\nvar html = \"
    \\n\\t
    \\n\\n\\t\\t
    Left Y
    \\n\\t\\t
    Right Y
    \\n\\n\\t\\t\\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    X-Axis
    \\n\\t\\t\\n\\n\\t\\t \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n \\n\\t\\t
    \\n\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    Y-Axes
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/graph/axes_editor.html\n// module id = 1155\n// module chunks = 3","var path = 'public/app/plugins/panel/graph/tab_display.html';\nvar html = \"
    \\n\\t\\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Draw Modes
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Mode Options
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Hover tooltip
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t
    Stacking & Null value
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t
    Series specific overrides Regex match example: /server[0-3]/i
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t\\t\\n\\t
    \\n\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/graph/tab_display.html\n// module id = 1156\n// module chunks = 3","var path = 'public/app/plugins/panel/graph/tab_legend.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Options
    \\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Values
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/graph/tab_legend.html\n// module id = 1157\n// module chunks = 3","var path = 'public/app/plugins/panel/heatmap/module.html';\nvar html = \"
    \\n\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t{{ctrl.dataWarning.title}}\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/heatmap/module.html\n// module id = 1158\n// module chunks = 3","var path = 'public/app/plugins/panel/heatmap/partials/axes_editor.html';\nvar html = \"
    \\n
    \\n
    Y Axis
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Buckets
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Data format
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/heatmap/partials/axes_editor.html\n// module id = 1159\n// module chunks = 3","var path = 'public/app/plugins/panel/heatmap/partials/display_editor.html';\nvar html = \"
    \\n
    \\n
    Colors
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    Color scale
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Legend
    \\n \\n \\n
    \\n\\n
    \\n
    Buckets
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Tooltip
    \\n \\n \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/heatmap/partials/display_editor.html\n// module id = 1160\n// module chunks = 3","var path = 'public/app/plugins/panel/pluginlist/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tSearch options\\n\\t\\t\\tQuery\\n\\n\\t\\t\\t\\n\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\tTags\\n\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tLimit number to\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/pluginlist/editor.html\n// module id = 1161\n// module chunks = 3","var path = 'public/app/plugins/panel/pluginlist/module.html';\nvar html = \"\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/pluginlist/module.html\n// module id = 1162\n// module chunks = 3","var path = 'public/app/plugins/panel/sensor/partials/tab.html';\nvar html = \"
    \\n\\n
    \\n
    {{ sensorTarget.sensorShortName }}
    \\n\\t\\t
    \\n\\t\\t\\tAlias\\n \\n \\n
    \\n
    \\n
    \\n\\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/sensor/partials/tab.html\n// module id = 1163\n// module chunks = 3","var path = 'public/app/plugins/panel/singlestat/editor.html';\nvar html = \"
    \\n
    \\n
    Value
    \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n
    Coloring
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n Invert\\n \\n \\n
    \\n
    \\n\\n
    \\n
    Spark lines
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Gauge
    \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/singlestat/editor.html\n// module id = 1164\n// module chunks = 3","var path = 'public/app/plugins/panel/singlestat/mappings.html';\nvar html = \"
    \\n
    \\n
    \\n \\n Type\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    Set value mappings
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    Set range mappings
    \\n
    \\n
    \\n \\n \\n \\n From\\n \\n To\\n \\n Text\\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/singlestat/mappings.html\n// module id = 1165\n// module chunks = 3","var path = 'public/app/plugins/panel/singlestat/module.html';\nvar html = \"
    \\n\\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/singlestat/module.html\n// module id = 1166\n// module chunks = 3","var path = 'public/app/plugins/panel/table/column_options.html';\nvar html = \"
    \\n \\n\\n
    \\n\\n
    \\n
    Options
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n \\n
    \\n\\n
    \\n
    Type
    \\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n\\n
    \\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    Value Mappings
    \\n
    \\n
    \\n
    \\n \\n Type\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n From\\n \\n To\\n \\n Text\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    Thresholds
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n Invert\\n
    \\n
    \\n
    \\n\\n
    \\n
    Link
    \\n
    \\n \\n \\n \\n

    Specify an URL (relative or absolute)

    \\n \\n Use special variables to specify cell values:\\n
    \\n ${__cell} refers to current cell value\\n
    \\n ${__cell_n} refers to Nth column value in current row. Column indexes are started from 0. For instance,\\n ${__cell_1} refers to second column's value.\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n

    Specify text for link tooltip.

    \\n \\n This title appears when user hovers pointer over the cell with link. Use the same variables as for URL.\\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n\\n \\n
    \\n
    \\n\\n
    \\n
    \";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/table/column_options.html\n// module id = 1167\n// module chunks = 3","var path = 'public/app/plugins/panel/table/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    Data
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n\\n\\t
    \\n\\t\\t
    Paging
    \\n
    \\n \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/table/editor.html\n// module id = 1168\n// module chunks = 3","var path = 'public/app/plugins/panel/table/module.html';\nvar html = \"\\n
    \\n\\t
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t{{col.title}}\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t
    \\n
    \\n
    \\n\\t\\n\\t\\tNo data to show Nothing returned by data query\\n\\t\\n
    \\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/table/module.html\n// module id = 1169\n// module chunks = 3","var path = 'public/app/plugins/panel/text/editor.html';\nvar html = \"
    \\n\\t
    \\n\\t\\t
    \\n\\t\\t\\tMode\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n
    \\n\\n

    Content

    \\n\\n\\n\\t(This area uses Markdown. HTML is not supported)\\n\\n\\n
    \\n\\t
    \\n\\t\\t\\n\\t\\t\\n\\t
    \\n
    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/text/editor.html\n// module id = 1170\n// module chunks = 3","var path = 'public/app/plugins/panel/text/module.html';\nvar html = \"

    \\n

    \\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/text/module.html\n// module id = 1171\n// module chunks = 3","var path = 'public/app/plugins/panel/unknown/module.html';\nvar html = \"
    \\n\\tUnknown panel type: {{ctrl.panel.type}}\\n
    \\n\\n\\n\";\nwindow.angular.module('ng').run(['$templateCache', function(c) { c.put(path, html) }]);\nmodule.exports = path;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/plugins/panel/unknown/module.html\n// module id = 1172\n// module chunks = 3","import coreModule from 'app/core/core_module';\nimport { JsonExplorer } from '../json_explorer/json_explorer';\n\ncoreModule.directive('jsonTree', [\n function jsonTreeDirective() {\n return {\n restrict: 'E',\n scope: {\n object: '=',\n startExpanded: '@',\n rootName: '@',\n },\n link: function(scope, elem) {\n var jsonExp = new JsonExplorer(scope.object, 3, {\n animateOpen: true,\n });\n\n const html = jsonExp.render(true);\n elem.html(html);\n },\n };\n },\n]);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/tslint-loader??ref--2!./public/app/core/components/jsontree/jsontree.ts","// Based on work https://github.com/mohsen1/json-formatter-js\n// Licence MIT, Copyright (c) 2015 Mohsen Azimi\n\n/*\n * Escapes `\"` characters from string\n*/\nfunction escapeString(str: string): string {\n return str.replace('\"', '\"');\n}\n\n/*\n * Determines if a value is an object\n*/\nexport function isObject(value: any): boolean {\n var type = typeof value;\n return !!value && type === 'object';\n}\n\n/*\n * Gets constructor name of an object.\n * From http://stackoverflow.com/a/332429\n *\n*/\nexport function getObjectName(object: Object): string {\n if (object === undefined) {\n return '';\n }\n if (object === null) {\n return 'Object';\n }\n if (typeof object === 'object' && !object.constructor) {\n return 'Object';\n }\n\n const funcNameRegex = /function ([^(]*)/;\n const results = funcNameRegex.exec(object.constructor.toString());\n if (results && results.length > 1) {\n return results[1];\n } else {\n return '';\n }\n}\n\n/*\n * Gets type of an object. Returns \"null\" for null objects\n*/\nexport function getType(object: Object): string {\n if (object === null) {\n return 'null';\n }\n return typeof object;\n}\n\n/*\n * Generates inline preview for a JavaScript object based on a value\n*/\nexport function getValuePreview(object: Object, value: string): string {\n var type = getType(object);\n\n if (type === 'null' || type === 'undefined') {\n return type;\n }\n\n if (type === 'string') {\n value = '\"' + escapeString(value) + '\"';\n }\n if (type === 'function') {\n // Remove content of the function\n return (\n object\n .toString()\n .replace(/[\\r\\n]/g, '')\n .replace(/\\{.*\\}/, '') + '{…}'\n );\n }\n return value;\n}\n\n/*\n * Generates inline preview for a JavaScript object\n*/\nexport function getPreview(object: string): string {\n let value = '';\n if (isObject(object)) {\n value = getObjectName(object);\n if (Array.isArray(object)) {\n value += '[' + object.length + ']';\n }\n } else {\n value = getValuePreview(object, object);\n }\n return value;\n}\n\n/*\n * Generates a prefixed CSS class name\n*/\nexport function cssClass(className: string): string {\n return `json-formatter-${className}`;\n}\n\n/*\n * Creates a new DOM element with given type and class\n * TODO: move me to helpers\n*/\nexport function createElement(type: string, className?: string, content?: Element | string): Element {\n const el = document.createElement(type);\n if (className) {\n el.classList.add(cssClass(className));\n }\n if (content !== undefined) {\n if (content instanceof Node) {\n el.appendChild(content);\n } else {\n el.appendChild(document.createTextNode(String(content)));\n }\n }\n return el;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/tslint-loader??ref--2!./public/app/core/components/json_explorer/helpers.ts","/**\n * codeEditor directive based on Ace code editor\n * https://github.com/ajaxorg/ace\n *\n * Basic usage:\n * \n * \n *\n * Params:\n * content: Editor content.\n * onChange: Function called on content change (invoked on editor blur, ctrl+enter, not on every change).\n * getCompleter: Function returned external completer. Completer is an object implemented getCompletions() method,\n * see Prometheus Data Source implementation for details.\n *\n * Some Ace editor options available via data-* attributes:\n * data-mode - Language mode (text, sql, javascript, etc.). Default is 'text'.\n * data-theme - Editor theme (eg 'solarized_dark').\n * data-max-lines - Max editor height in lines. Editor grows automatically from 1 to maxLines.\n * data-show-gutter - Show gutter (contains line numbers and additional info).\n * data-tab-size - Tab size, default is 2.\n * data-behaviours-enabled - Specifies whether to use behaviors or not. \"Behaviors\" in this case is the auto-pairing of\n * special characters, like quotation marks, parenthesis, or brackets.\n * data-snippets-enabled - Specifies whether to use snippets or not. \"Snippets\" are small pieces of code that can be\n * inserted via the completion box.\n *\n * Keybindings:\n * Ctrl-Enter (Command-Enter): run onChange() function\n */\n\nimport coreModule from 'app/core/core_module';\nimport config from 'app/core/config';\nimport ace from 'brace';\nimport './theme-grafana-dark';\nimport 'brace/ext/language_tools';\nimport 'brace/theme/textmate';\nimport 'brace/mode/text';\nimport 'brace/snippets/text';\nimport 'brace/mode/sql';\nimport 'brace/snippets/sql';\nimport 'brace/mode/sqlserver';\nimport 'brace/snippets/sqlserver';\nimport 'brace/mode/markdown';\nimport 'brace/snippets/markdown';\nimport 'brace/mode/json';\nimport 'brace/snippets/json';\n\nconst DEFAULT_THEME_DARK = 'ace/theme/grafana-dark';\nconst DEFAULT_THEME_LIGHT = 'ace/theme/textmate';\nconst DEFAULT_MODE = 'text';\nconst DEFAULT_MAX_LINES = 10;\nconst DEFAULT_TAB_SIZE = 2;\nconst DEFAULT_BEHAVIOURS = true;\nconst DEFAULT_SNIPPETS = true;\n\nlet editorTemplate = `
    `;\n\nfunction link(scope, elem, attrs) {\n // Options\n let langMode = attrs.mode || DEFAULT_MODE;\n let maxLines = attrs.maxLines || DEFAULT_MAX_LINES;\n let showGutter = attrs.showGutter !== undefined;\n let tabSize = attrs.tabSize || DEFAULT_TAB_SIZE;\n let behavioursEnabled = attrs.behavioursEnabled ? attrs.behavioursEnabled === 'true' : DEFAULT_BEHAVIOURS;\n let snippetsEnabled = attrs.snippetsEnabled ? attrs.snippetsEnabled === 'true' : DEFAULT_SNIPPETS;\n\n // Initialize editor\n let aceElem = elem.get(0);\n let codeEditor = ace.edit(aceElem);\n let editorSession = codeEditor.getSession();\n\n let editorOptions = {\n maxLines: maxLines,\n showGutter: showGutter,\n tabSize: tabSize,\n behavioursEnabled: behavioursEnabled,\n highlightActiveLine: false,\n showPrintMargin: false,\n autoScrollEditorIntoView: true, // this is needed if editor is inside scrollable page\n };\n\n // Set options\n codeEditor.setOptions(editorOptions);\n // disable depreacation warning\n codeEditor.$blockScrolling = Infinity;\n // Padding hacks\n (codeEditor.renderer).setScrollMargin(15, 15);\n codeEditor.renderer.setPadding(10);\n\n setThemeMode();\n setLangMode(langMode);\n setEditorContent(scope.content);\n\n // Add classes\n elem.addClass('gf-code-editor');\n let textarea = elem.find('textarea');\n textarea.addClass('gf-form-input');\n\n if (scope.codeEditorFocus) {\n setTimeout(function() {\n textarea.focus();\n var domEl = textarea[0];\n if (domEl.setSelectionRange) {\n var pos = textarea.val().length * 2;\n domEl.setSelectionRange(pos, pos);\n }\n }, 100);\n }\n\n // Event handlers\n editorSession.on('change', e => {\n scope.$apply(() => {\n let newValue = codeEditor.getValue();\n scope.content = newValue;\n });\n });\n\n // Sync with outer scope - update editor content if model has been changed from outside of directive.\n scope.$watch('content', (newValue, oldValue) => {\n let editorValue = codeEditor.getValue();\n if (newValue !== editorValue && newValue !== oldValue) {\n scope.$$postDigest(function() {\n setEditorContent(newValue);\n });\n }\n });\n\n codeEditor.on('blur', () => {\n scope.onChange();\n });\n\n scope.$on('$destroy', () => {\n codeEditor.destroy();\n });\n\n // Keybindings\n codeEditor.commands.addCommand({\n name: 'executeQuery',\n bindKey: { win: 'Ctrl-Enter', mac: 'Command-Enter' },\n exec: () => {\n scope.onChange();\n },\n });\n\n function setLangMode(lang) {\n ace.acequire('ace/ext/language_tools');\n codeEditor.setOptions({\n enableBasicAutocompletion: true,\n enableLiveAutocompletion: true,\n enableSnippets: snippetsEnabled,\n });\n\n if (scope.getCompleter()) {\n // make copy of array as ace seems to share completers array between instances\n const anyEditor = codeEditor;\n anyEditor.completers = anyEditor.completers.slice();\n anyEditor.completers.push(scope.getCompleter());\n }\n\n let aceModeName = `ace/mode/${lang}`;\n editorSession.setMode(aceModeName);\n }\n\n function setThemeMode() {\n let theme = DEFAULT_THEME_DARK;\n if (config.bootData.user.lightTheme) {\n theme = DEFAULT_THEME_LIGHT;\n }\n\n codeEditor.setTheme(theme);\n }\n\n function setEditorContent(value) {\n codeEditor.setValue(value);\n codeEditor.clearSelection();\n }\n}\n\nexport function codeEditorDirective() {\n return {\n restrict: 'E',\n template: editorTemplate,\n scope: {\n content: '=',\n datasource: '=',\n codeEditorFocus: '<',\n onChange: '&',\n getCompleter: '&',\n },\n link: link,\n };\n}\n\ncoreModule.directive('codeEditor', codeEditorDirective);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/tslint-loader??ref--2!./public/app/core/components/code_editor/code_editor.ts","/* jshint ignore:start */\n\nace.define(\"ace/theme/grafana-dark\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n \"use strict\";\n\n exports.isDark = true;\n exports.cssClass = \"gf-code-dark\";\n exports.cssText = \".gf-code-dark .ace_gutter {\\\n background: #2f3129;\\\n color: #8f908a\\\n }\\\n .gf-code-dark .ace_print-margin {\\\n width: 1px;\\\n background: #555651\\\n }\\\n .gf-code-dark {\\\n background-color: #111;\\\n color: #e0e0e0\\\n }\\\n .gf-code-dark .ace_cursor {\\\n color: #f8f8f0\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_selection {\\\n background: #49483e\\\n }\\\n .gf-code-dark.ace_multiselect .ace_selection.ace_start {\\\n box-shadow: 0 0 3px 0px #272822;\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_step {\\\n background: rgb(102, 82, 0)\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_bracket {\\\n margin: -1px 0 0 -1px;\\\n border: 1px solid #49483e\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_active-line {\\\n background: #202020\\\n }\\\n .gf-code-dark .ace_gutter-active-line {\\\n background-color: #272727\\\n }\\\n .gf-code-dark .ace_marker-layer .ace_selected-word {\\\n border: 1px solid #49483e\\\n }\\\n .gf-code-dark .ace_invisible {\\\n color: #52524d\\\n }\\\n .gf-code-dark .ace_entity.ace_name.ace_tag,\\\n .gf-code-dark .ace_keyword,\\\n .gf-code-dark .ace_meta.ace_tag,\\\n .gf-code-dark .ace_storage {\\\n color: #66d9ef\\\n }\\\n .gf-code-dark .ace_punctuation,\\\n .gf-code-dark .ace_punctuation.ace_tag {\\\n color: #fff\\\n }\\\n .gf-code-dark .ace_constant.ace_character,\\\n .gf-code-dark .ace_constant.ace_language,\\\n .gf-code-dark .ace_constant.ace_numeric,\\\n .gf-code-dark .ace_constant.ace_other {\\\n color: #fe85fc\\\n }\\\n .gf-code-dark .ace_invalid {\\\n color: #f8f8f0;\\\n background-color: #f92672\\\n }\\\n .gf-code-dark .ace_invalid.ace_deprecated {\\\n color: #f8f8f0;\\\n background-color: #ae81ff\\\n }\\\n .gf-code-dark .ace_support.ace_constant,\\\n .gf-code-dark .ace_support.ace_function {\\\n color: #59e6e3\\\n }\\\n .gf-code-dark .ace_fold {\\\n background-color: #a6e22e;\\\n border-color: #f8f8f2\\\n }\\\n .gf-code-dark .ace_storage.ace_type,\\\n .gf-code-dark .ace_support.ace_class,\\\n .gf-code-dark .ace_support.ace_type {\\\n font-style: italic;\\\n color: #66d9ef\\\n }\\\n .gf-code-dark .ace_entity.ace_name.ace_function,\\\n .gf-code-dark .ace_entity.ace_other,\\\n .gf-code-dark .ace_entity.ace_other.ace_attribute-name,\\\n .gf-code-dark .ace_variable {\\\n color: #a6e22e\\\n }\\\n .gf-code-dark .ace_variable.ace_parameter {\\\n font-style: italic;\\\n color: #fd971f\\\n }\\\n .gf-code-dark .ace_string {\\\n color: #74e680\\\n }\\\n .gf-code-dark .ace_paren {\\\n color: #f0a842\\\n }\\\n .gf-code-dark .ace_operator {\\\n color: #FFF\\\n }\\\n .gf-code-dark .ace_comment {\\\n color: #75715e\\\n }\\\n .gf-code-dark .ace_indent-guide {\\\n background: url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaaccayaaaczgbynaaaaekleqvqimwpq0fd0zxbzd/wpaajvaoxesgneaaaaaelftksuqmcc) right repeat-y\\\n }\";\n\n var dom = acequire(\"../lib/dom\");\n dom.importCssString(exports.cssText, exports.cssClass);\n});\n\n/* jshint ignore:end */\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./public/app/core/components/code_editor/theme-grafana-dark.js\n// module id = 1177\n// module chunks = 3","ace.define(\"ace/snippets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\",\"ace/lib/lang\",\"ace/range\",\"ace/anchor\",\"ace/keyboard/hash_handler\",\"ace/tokenizer\",\"ace/lib/dom\",\"ace/editor\"], function(acequire, exports, module) {\n\"use strict\";\nvar oop = acequire(\"./lib/oop\");\nvar EventEmitter = acequire(\"./lib/event_emitter\").EventEmitter;\nvar lang = acequire(\"./lib/lang\");\nvar Range = acequire(\"./range\").Range;\nvar Anchor = acequire(\"./anchor\").Anchor;\nvar HashHandler = acequire(\"./keyboard/hash_handler\").HashHandler;\nvar Tokenizer = acequire(\"./tokenizer\").Tokenizer;\nvar comparePoints = Range.comparePoints;\n\nvar SnippetManager = function() {\n this.snippetMap = {};\n this.snippetNameMap = {};\n};\n\n(function() {\n oop.implement(this, EventEmitter);\n \n this.getTokenizer = function() {\n function TabstopToken(str, _, stack) {\n str = str.substr(1);\n if (/^\\d+$/.test(str) && !stack.inFormatString)\n return [{tabstopId: parseInt(str, 10)}];\n return [{text: str}];\n }\n function escape(ch) {\n return \"(?:[^\\\\\\\\\" + ch + \"]|\\\\\\\\.)\";\n }\n SnippetManager.$tokenizer = new Tokenizer({\n start: [\n {regex: /:/, onMatch: function(val, state, stack) {\n if (stack.length && stack[0].expectIf) {\n stack[0].expectIf = false;\n stack[0].elseBranch = stack[0];\n return [stack[0]];\n }\n return \":\";\n }},\n {regex: /\\\\./, onMatch: function(val, state, stack) {\n var ch = val[1];\n if (ch == \"}\" && stack.length) {\n val = ch;\n }else if (\"`$\\\\\".indexOf(ch) != -1) {\n val = ch;\n } else if (stack.inFormatString) {\n if (ch == \"n\")\n val = \"\\n\";\n else if (ch == \"t\")\n val = \"\\n\";\n else if (\"ulULE\".indexOf(ch) != -1) {\n val = {changeCase: ch, local: ch > \"a\"};\n }\n }\n\n return [val];\n }},\n {regex: /}/, onMatch: function(val, state, stack) {\n return [stack.length ? stack.shift() : val];\n }},\n {regex: /\\$(?:\\d+|\\w+)/, onMatch: TabstopToken},\n {regex: /\\$\\{[\\dA-Z_a-z]+/, onMatch: function(str, state, stack) {\n var t = TabstopToken(str.substr(1), state, stack);\n stack.unshift(t[0]);\n return t;\n }, next: \"snippetVar\"},\n {regex: /\\n/, token: \"newline\", merge: false}\n ],\n snippetVar: [\n {regex: \"\\\\|\" + escape(\"\\\\|\") + \"*\\\\|\", onMatch: function(val, state, stack) {\n stack[0].choices = val.slice(1, -1).split(\",\");\n }, next: \"start\"},\n {regex: \"/(\" + escape(\"/\") + \"+)/(?:(\" + escape(\"/\") + \"*)/)(\\\\w*):?\",\n onMatch: function(val, state, stack) {\n var ts = stack[0];\n ts.fmtString = val;\n\n val = this.splitRegex.exec(val);\n ts.guard = val[1];\n ts.fmt = val[2];\n ts.flag = val[3];\n return \"\";\n }, next: \"start\"},\n {regex: \"`\" + escape(\"`\") + \"*`\", onMatch: function(val, state, stack) {\n stack[0].code = val.splice(1, -1);\n return \"\";\n }, next: \"start\"},\n {regex: \"\\\\?\", onMatch: function(val, state, stack) {\n if (stack[0])\n stack[0].expectIf = true;\n }, next: \"start\"},\n {regex: \"([^:}\\\\\\\\]|\\\\\\\\.)*:?\", token: \"\", next: \"start\"}\n ],\n formatString: [\n {regex: \"/(\" + escape(\"/\") + \"+)/\", token: \"regex\"},\n {regex: \"\", onMatch: function(val, state, stack) {\n stack.inFormatString = true;\n }, next: \"start\"}\n ]\n });\n SnippetManager.prototype.getTokenizer = function() {\n return SnippetManager.$tokenizer;\n };\n return SnippetManager.$tokenizer;\n };\n\n this.tokenizeTmSnippet = function(str, startState) {\n return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {\n return x.value || x;\n });\n };\n\n this.$getDefaultValue = function(editor, name) {\n if (/^[A-Z]\\d+$/.test(name)) {\n var i = name.substr(1);\n return (this.variables[name[0] + \"__\"] || {})[i];\n }\n if (/^\\d+$/.test(name)) {\n return (this.variables.__ || {})[name];\n }\n name = name.replace(/^TM_/, \"\");\n\n if (!editor)\n return;\n var s = editor.session;\n switch(name) {\n case \"CURRENT_WORD\":\n var r = s.getWordRange();\n case \"SELECTION\":\n case \"SELECTED_TEXT\":\n return s.getTextRange(r);\n case \"CURRENT_LINE\":\n return s.getLine(editor.getCursorPosition().row);\n case \"PREV_LINE\": // not possible in textmate\n return s.getLine(editor.getCursorPosition().row - 1);\n case \"LINE_INDEX\":\n return editor.getCursorPosition().column;\n case \"LINE_NUMBER\":\n return editor.getCursorPosition().row + 1;\n case \"SOFT_TABS\":\n return s.getUseSoftTabs() ? \"YES\" : \"NO\";\n case \"TAB_SIZE\":\n return s.getTabSize();\n case \"FILENAME\":\n case \"FILEPATH\":\n return \"\";\n case \"FULLNAME\":\n return \"Ace\";\n }\n };\n this.variables = {};\n this.getVariableValue = function(editor, varName) {\n if (this.variables.hasOwnProperty(varName))\n return this.variables[varName](editor, varName) || \"\";\n return this.$getDefaultValue(editor, varName) || \"\";\n };\n this.tmStrFormat = function(str, ch, editor) {\n var flag = ch.flag || \"\";\n var re = ch.guard;\n re = new RegExp(re, flag.replace(/[^gi]/, \"\"));\n var fmtTokens = this.tokenizeTmSnippet(ch.fmt, \"formatString\");\n var _self = this;\n var formatted = str.replace(re, function() {\n _self.variables.__ = arguments;\n var fmtParts = _self.resolveVariables(fmtTokens, editor);\n var gChangeCase = \"E\";\n for (var i = 0; i < fmtParts.length; i++) {\n var ch = fmtParts[i];\n if (typeof ch == \"object\") {\n fmtParts[i] = \"\";\n if (ch.changeCase && ch.local) {\n var next = fmtParts[i + 1];\n if (next && typeof next == \"string\") {\n if (ch.changeCase == \"u\")\n fmtParts[i] = next[0].toUpperCase();\n else\n fmtParts[i] = next[0].toLowerCase();\n fmtParts[i + 1] = next.substr(1);\n }\n } else if (ch.changeCase) {\n gChangeCase = ch.changeCase;\n }\n } else if (gChangeCase == \"U\") {\n fmtParts[i] = ch.toUpperCase();\n } else if (gChangeCase == \"L\") {\n fmtParts[i] = ch.toLowerCase();\n }\n }\n return fmtParts.join(\"\");\n });\n this.variables.__ = null;\n return formatted;\n };\n\n this.resolveVariables = function(snippet, editor) {\n var result = [];\n for (var i = 0; i < snippet.length; i++) {\n var ch = snippet[i];\n if (typeof ch == \"string\") {\n result.push(ch);\n } else if (typeof ch != \"object\") {\n continue;\n } else if (ch.skip) {\n gotoNext(ch);\n } else if (ch.processed < i) {\n continue;\n } else if (ch.text) {\n var value = this.getVariableValue(editor, ch.text);\n if (value && ch.fmtString)\n value = this.tmStrFormat(value, ch);\n ch.processed = i;\n if (ch.expectIf == null) {\n if (value) {\n result.push(value);\n gotoNext(ch);\n }\n } else {\n if (value) {\n ch.skip = ch.elseBranch;\n } else\n gotoNext(ch);\n }\n } else if (ch.tabstopId != null) {\n result.push(ch);\n } else if (ch.changeCase != null) {\n result.push(ch);\n }\n }\n function gotoNext(ch) {\n var i1 = snippet.indexOf(ch, i + 1);\n if (i1 != -1)\n i = i1;\n }\n return result;\n };\n\n this.insertSnippetForSelection = function(editor, snippetText) {\n var cursor = editor.getCursorPosition();\n var line = editor.session.getLine(cursor.row);\n var tabString = editor.session.getTabString();\n var indentString = line.match(/^\\s*/)[0];\n \n if (cursor.column < indentString.length)\n indentString = indentString.slice(0, cursor.column);\n\n snippetText = snippetText.replace(/\\r/g, \"\");\n var tokens = this.tokenizeTmSnippet(snippetText);\n tokens = this.resolveVariables(tokens, editor);\n tokens = tokens.map(function(x) {\n if (x == \"\\n\")\n return x + indentString;\n if (typeof x == \"string\")\n return x.replace(/\\t/g, tabString);\n return x;\n });\n var tabstops = [];\n tokens.forEach(function(p, i) {\n if (typeof p != \"object\")\n return;\n var id = p.tabstopId;\n var ts = tabstops[id];\n if (!ts) {\n ts = tabstops[id] = [];\n ts.index = id;\n ts.value = \"\";\n }\n if (ts.indexOf(p) !== -1)\n return;\n ts.push(p);\n var i1 = tokens.indexOf(p, i + 1);\n if (i1 === -1)\n return;\n\n var value = tokens.slice(i + 1, i1);\n var isNested = value.some(function(t) {return typeof t === \"object\"}); \n if (isNested && !ts.value) {\n ts.value = value;\n } else if (value.length && (!ts.value || typeof ts.value !== \"string\")) {\n ts.value = value.join(\"\");\n }\n });\n tabstops.forEach(function(ts) {ts.length = 0});\n var expanding = {};\n function copyValue(val) {\n var copy = [];\n for (var i = 0; i < val.length; i++) {\n var p = val[i];\n if (typeof p == \"object\") {\n if (expanding[p.tabstopId])\n continue;\n var j = val.lastIndexOf(p, i - 1);\n p = copy[j] || {tabstopId: p.tabstopId};\n }\n copy[i] = p;\n }\n return copy;\n }\n for (var i = 0; i < tokens.length; i++) {\n var p = tokens[i];\n if (typeof p != \"object\")\n continue;\n var id = p.tabstopId;\n var i1 = tokens.indexOf(p, i + 1);\n if (expanding[id]) {\n if (expanding[id] === p)\n expanding[id] = null;\n continue;\n }\n \n var ts = tabstops[id];\n var arg = typeof ts.value == \"string\" ? [ts.value] : copyValue(ts.value);\n arg.unshift(i + 1, Math.max(0, i1 - i));\n arg.push(p);\n expanding[id] = p;\n tokens.splice.apply(tokens, arg);\n\n if (ts.indexOf(p) === -1)\n ts.push(p);\n }\n var row = 0, column = 0;\n var text = \"\";\n tokens.forEach(function(t) {\n if (typeof t === \"string\") {\n var lines = t.split(\"\\n\");\n if (lines.length > 1){\n column = lines[lines.length - 1].length;\n row += lines.length - 1;\n } else\n column += t.length;\n text += t;\n } else {\n if (!t.start)\n t.start = {row: row, column: column};\n else\n t.end = {row: row, column: column};\n }\n });\n var range = editor.getSelectionRange();\n var end = editor.session.replace(range, text);\n\n var tabstopManager = new TabstopManager(editor);\n var selectionId = editor.inVirtualSelectionMode && editor.selection.index;\n tabstopManager.addTabstops(tabstops, range.start, end, selectionId);\n };\n \n this.insertSnippet = function(editor, snippetText) {\n var self = this;\n if (editor.inVirtualSelectionMode)\n return self.insertSnippetForSelection(editor, snippetText);\n \n editor.forEachSelection(function() {\n self.insertSnippetForSelection(editor, snippetText);\n }, null, {keepOrder: true});\n \n if (editor.tabstopManager)\n editor.tabstopManager.tabNext();\n };\n\n this.$getScope = function(editor) {\n var scope = editor.session.$mode.$id || \"\";\n scope = scope.split(\"/\").pop();\n if (scope === \"html\" || scope === \"php\") {\n if (scope === \"php\" && !editor.session.$mode.inlinePhp) \n scope = \"html\";\n var c = editor.getCursorPosition();\n var state = editor.session.getState(c.row);\n if (typeof state === \"object\") {\n state = state[0];\n }\n if (state.substring) {\n if (state.substring(0, 3) == \"js-\")\n scope = \"javascript\";\n else if (state.substring(0, 4) == \"css-\")\n scope = \"css\";\n else if (state.substring(0, 4) == \"php-\")\n scope = \"php\";\n }\n }\n \n return scope;\n };\n\n this.getActiveScopes = function(editor) {\n var scope = this.$getScope(editor);\n var scopes = [scope];\n var snippetMap = this.snippetMap;\n if (snippetMap[scope] && snippetMap[scope].includeScopes) {\n scopes.push.apply(scopes, snippetMap[scope].includeScopes);\n }\n scopes.push(\"_\");\n return scopes;\n };\n\n this.expandWithTab = function(editor, options) {\n var self = this;\n var result = editor.forEachSelection(function() {\n return self.expandSnippetForSelection(editor, options);\n }, null, {keepOrder: true});\n if (result && editor.tabstopManager)\n editor.tabstopManager.tabNext();\n return result;\n };\n \n this.expandSnippetForSelection = function(editor, options) {\n var cursor = editor.getCursorPosition();\n var line = editor.session.getLine(cursor.row);\n var before = line.substring(0, cursor.column);\n var after = line.substr(cursor.column);\n\n var snippetMap = this.snippetMap;\n var snippet;\n this.getActiveScopes(editor).some(function(scope) {\n var snippets = snippetMap[scope];\n if (snippets)\n snippet = this.findMatchingSnippet(snippets, before, after);\n return !!snippet;\n }, this);\n if (!snippet)\n return false;\n if (options && options.dryRun)\n return true;\n editor.session.doc.removeInLine(cursor.row,\n cursor.column - snippet.replaceBefore.length,\n cursor.column + snippet.replaceAfter.length\n );\n\n this.variables.M__ = snippet.matchBefore;\n this.variables.T__ = snippet.matchAfter;\n this.insertSnippetForSelection(editor, snippet.content);\n\n this.variables.M__ = this.variables.T__ = null;\n return true;\n };\n\n this.findMatchingSnippet = function(snippetList, before, after) {\n for (var i = snippetList.length; i--;) {\n var s = snippetList[i];\n if (s.startRe && !s.startRe.test(before))\n continue;\n if (s.endRe && !s.endRe.test(after))\n continue;\n if (!s.startRe && !s.endRe)\n continue;\n\n s.matchBefore = s.startRe ? s.startRe.exec(before) : [\"\"];\n s.matchAfter = s.endRe ? s.endRe.exec(after) : [\"\"];\n s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : \"\";\n s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : \"\";\n return s;\n }\n };\n\n this.snippetMap = {};\n this.snippetNameMap = {};\n this.register = function(snippets, scope) {\n var snippetMap = this.snippetMap;\n var snippetNameMap = this.snippetNameMap;\n var self = this;\n \n if (!snippets) \n snippets = [];\n \n function wrapRegexp(src) {\n if (src && !/^\\^?\\(.*\\)\\$?$|^\\\\b$/.test(src))\n src = \"(?:\" + src + \")\";\n\n return src || \"\";\n }\n function guardedRegexp(re, guard, opening) {\n re = wrapRegexp(re);\n guard = wrapRegexp(guard);\n if (opening) {\n re = guard + re;\n if (re && re[re.length - 1] != \"$\")\n re = re + \"$\";\n } else {\n re = re + guard;\n if (re && re[0] != \"^\")\n re = \"^\" + re;\n }\n return new RegExp(re);\n }\n\n function addSnippet(s) {\n if (!s.scope)\n s.scope = scope || \"_\";\n scope = s.scope;\n if (!snippetMap[scope]) {\n snippetMap[scope] = [];\n snippetNameMap[scope] = {};\n }\n\n var map = snippetNameMap[scope];\n if (s.name) {\n var old = map[s.name];\n if (old)\n self.unregister(old);\n map[s.name] = s;\n }\n snippetMap[scope].push(s);\n\n if (s.tabTrigger && !s.trigger) {\n if (!s.guard && /^\\w/.test(s.tabTrigger))\n s.guard = \"\\\\b\";\n s.trigger = lang.escapeRegExp(s.tabTrigger);\n }\n \n if (!s.trigger && !s.guard && !s.endTrigger && !s.endGuard)\n return;\n \n s.startRe = guardedRegexp(s.trigger, s.guard, true);\n s.triggerRe = new RegExp(s.trigger, \"\", true);\n\n s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);\n s.endTriggerRe = new RegExp(s.endTrigger, \"\", true);\n }\n\n if (snippets && snippets.content)\n addSnippet(snippets);\n else if (Array.isArray(snippets))\n snippets.forEach(addSnippet);\n \n this._signal(\"registerSnippets\", {scope: scope});\n };\n this.unregister = function(snippets, scope) {\n var snippetMap = this.snippetMap;\n var snippetNameMap = this.snippetNameMap;\n\n function removeSnippet(s) {\n var nameMap = snippetNameMap[s.scope||scope];\n if (nameMap && nameMap[s.name]) {\n delete nameMap[s.name];\n var map = snippetMap[s.scope||scope];\n var i = map && map.indexOf(s);\n if (i >= 0)\n map.splice(i, 1);\n }\n }\n if (snippets.content)\n removeSnippet(snippets);\n else if (Array.isArray(snippets))\n snippets.forEach(removeSnippet);\n };\n this.parseSnippetFile = function(str) {\n str = str.replace(/\\r/g, \"\");\n var list = [], snippet = {};\n var re = /^#.*|^({[\\s\\S]*})\\s*$|^(\\S+) (.*)$|^((?:\\n*\\t.*)+)/gm;\n var m;\n while (m = re.exec(str)) {\n if (m[1]) {\n try {\n snippet = JSON.parse(m[1]);\n list.push(snippet);\n } catch (e) {}\n } if (m[4]) {\n snippet.content = m[4].replace(/^\\t/gm, \"\");\n list.push(snippet);\n snippet = {};\n } else {\n var key = m[2], val = m[3];\n if (key == \"regex\") {\n var guardRe = /\\/((?:[^\\/\\\\]|\\\\.)*)|$/g;\n snippet.guard = guardRe.exec(val)[1];\n snippet.trigger = guardRe.exec(val)[1];\n snippet.endTrigger = guardRe.exec(val)[1];\n snippet.endGuard = guardRe.exec(val)[1];\n } else if (key == \"snippet\") {\n snippet.tabTrigger = val.match(/^\\S*/)[0];\n if (!snippet.name)\n snippet.name = val;\n } else {\n snippet[key] = val;\n }\n }\n }\n return list;\n };\n this.getSnippetByName = function(name, editor) {\n var snippetMap = this.snippetNameMap;\n var snippet;\n this.getActiveScopes(editor).some(function(scope) {\n var snippets = snippetMap[scope];\n if (snippets)\n snippet = snippets[name];\n return !!snippet;\n }, this);\n return snippet;\n };\n\n}).call(SnippetManager.prototype);\n\n\nvar TabstopManager = function(editor) {\n if (editor.tabstopManager)\n return editor.tabstopManager;\n editor.tabstopManager = this;\n this.$onChange = this.onChange.bind(this);\n this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;\n this.$onChangeSession = this.onChangeSession.bind(this);\n this.$onAfterExec = this.onAfterExec.bind(this);\n this.attach(editor);\n};\n(function() {\n this.attach = function(editor) {\n this.index = 0;\n this.ranges = [];\n this.tabstops = [];\n this.$openTabstops = null;\n this.selectedTabstop = null;\n\n this.editor = editor;\n this.editor.on(\"change\", this.$onChange);\n this.editor.on(\"changeSelection\", this.$onChangeSelection);\n this.editor.on(\"changeSession\", this.$onChangeSession);\n this.editor.commands.on(\"afterExec\", this.$onAfterExec);\n this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n };\n this.detach = function() {\n this.tabstops.forEach(this.removeTabstopMarkers, this);\n this.ranges = null;\n this.tabstops = null;\n this.selectedTabstop = null;\n this.editor.removeListener(\"change\", this.$onChange);\n this.editor.removeListener(\"changeSelection\", this.$onChangeSelection);\n this.editor.removeListener(\"changeSession\", this.$onChangeSession);\n this.editor.commands.removeListener(\"afterExec\", this.$onAfterExec);\n this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);\n this.editor.tabstopManager = null;\n this.editor = null;\n };\n\n this.onChange = function(delta) {\n var changeRange = delta;\n var isRemove = delta.action[0] == \"r\";\n var start = delta.start;\n var end = delta.end;\n var startRow = start.row;\n var endRow = end.row;\n var lineDif = endRow - startRow;\n var colDiff = end.column - start.column;\n\n if (isRemove) {\n lineDif = -lineDif;\n colDiff = -colDiff;\n }\n if (!this.$inChange && isRemove) {\n var ts = this.selectedTabstop;\n var changedOutside = ts && !ts.some(function(r) {\n return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;\n });\n if (changedOutside)\n return this.detach();\n }\n var ranges = this.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var r = ranges[i];\n if (r.end.row < start.row)\n continue;\n\n if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {\n this.removeRange(r);\n i--;\n continue;\n }\n\n if (r.start.row == startRow && r.start.column > start.column)\n r.start.column += colDiff;\n if (r.end.row == startRow && r.end.column >= start.column)\n r.end.column += colDiff;\n if (r.start.row >= startRow)\n r.start.row += lineDif;\n if (r.end.row >= startRow)\n r.end.row += lineDif;\n\n if (comparePoints(r.start, r.end) > 0)\n this.removeRange(r);\n }\n if (!ranges.length)\n this.detach();\n };\n this.updateLinkedFields = function() {\n var ts = this.selectedTabstop;\n if (!ts || !ts.hasLinkedRanges)\n return;\n this.$inChange = true;\n var session = this.editor.session;\n var text = session.getTextRange(ts.firstNonLinked);\n for (var i = ts.length; i--;) {\n var range = ts[i];\n if (!range.linked)\n continue;\n var fmt = exports.snippetManager.tmStrFormat(text, range.original);\n session.replace(range, fmt);\n }\n this.$inChange = false;\n };\n this.onAfterExec = function(e) {\n if (e.command && !e.command.readOnly)\n this.updateLinkedFields();\n };\n this.onChangeSelection = function() {\n if (!this.editor)\n return;\n var lead = this.editor.selection.lead;\n var anchor = this.editor.selection.anchor;\n var isEmpty = this.editor.selection.isEmpty();\n for (var i = this.ranges.length; i--;) {\n if (this.ranges[i].linked)\n continue;\n var containsLead = this.ranges[i].contains(lead.row, lead.column);\n var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);\n if (containsLead && containsAnchor)\n return;\n }\n this.detach();\n };\n this.onChangeSession = function() {\n this.detach();\n };\n this.tabNext = function(dir) {\n var max = this.tabstops.length;\n var index = this.index + (dir || 1);\n index = Math.min(Math.max(index, 1), max);\n if (index == max)\n index = 0;\n this.selectTabstop(index);\n if (index === 0)\n this.detach();\n };\n this.selectTabstop = function(index) {\n this.$openTabstops = null;\n var ts = this.tabstops[this.index];\n if (ts)\n this.addTabstopMarkers(ts);\n this.index = index;\n ts = this.tabstops[this.index];\n if (!ts || !ts.length)\n return;\n \n this.selectedTabstop = ts;\n if (!this.editor.inVirtualSelectionMode) { \n var sel = this.editor.multiSelect;\n sel.toSingleRange(ts.firstNonLinked.clone());\n for (var i = ts.length; i--;) {\n if (ts.hasLinkedRanges && ts[i].linked)\n continue;\n sel.addRange(ts[i].clone(), true);\n }\n if (sel.ranges[0])\n sel.addRange(sel.ranges[0].clone());\n } else {\n this.editor.selection.setRange(ts.firstNonLinked);\n }\n \n this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n };\n this.addTabstops = function(tabstops, start, end) {\n if (!this.$openTabstops)\n this.$openTabstops = [];\n if (!tabstops[0]) {\n var p = Range.fromPoints(end, end);\n moveRelative(p.start, start);\n moveRelative(p.end, start);\n tabstops[0] = [p];\n tabstops[0].index = 0;\n }\n\n var i = this.index;\n var arg = [i + 1, 0];\n var ranges = this.ranges;\n tabstops.forEach(function(ts, index) {\n var dest = this.$openTabstops[index] || ts;\n \n for (var i = ts.length; i--;) {\n var p = ts[i];\n var range = Range.fromPoints(p.start, p.end || p.start);\n movePoint(range.start, start);\n movePoint(range.end, start);\n range.original = p;\n range.tabstop = dest;\n ranges.push(range);\n if (dest != ts)\n dest.unshift(range);\n else\n dest[i] = range;\n if (p.fmtString) {\n range.linked = true;\n dest.hasLinkedRanges = true;\n } else if (!dest.firstNonLinked)\n dest.firstNonLinked = range;\n }\n if (!dest.firstNonLinked)\n dest.hasLinkedRanges = false;\n if (dest === ts) {\n arg.push(dest);\n this.$openTabstops[index] = dest;\n }\n this.addTabstopMarkers(dest);\n }, this);\n \n if (arg.length > 2) {\n if (this.tabstops.length)\n arg.push(arg.splice(2, 1)[0]);\n this.tabstops.splice.apply(this.tabstops, arg);\n }\n };\n\n this.addTabstopMarkers = function(ts) {\n var session = this.editor.session;\n ts.forEach(function(range) {\n if (!range.markerId)\n range.markerId = session.addMarker(range, \"ace_snippet-marker\", \"text\");\n });\n };\n this.removeTabstopMarkers = function(ts) {\n var session = this.editor.session;\n ts.forEach(function(range) {\n session.removeMarker(range.markerId);\n range.markerId = null;\n });\n };\n this.removeRange = function(range) {\n var i = range.tabstop.indexOf(range);\n range.tabstop.splice(i, 1);\n i = this.ranges.indexOf(range);\n this.ranges.splice(i, 1);\n this.editor.session.removeMarker(range.markerId);\n if (!range.tabstop.length) {\n i = this.tabstops.indexOf(range.tabstop);\n if (i != -1)\n this.tabstops.splice(i, 1);\n if (!this.tabstops.length)\n this.detach();\n }\n };\n\n this.keyboardHandler = new HashHandler();\n this.keyboardHandler.bindKeys({\n \"Tab\": function(ed) {\n if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {\n return;\n }\n\n ed.tabstopManager.tabNext(1);\n },\n \"Shift-Tab\": function(ed) {\n ed.tabstopManager.tabNext(-1);\n },\n \"Esc\": function(ed) {\n ed.tabstopManager.detach();\n },\n \"Return\": function(ed) {\n return false;\n }\n });\n}).call(TabstopManager.prototype);\n\n\n\nvar changeTracker = {};\nchangeTracker.onChange = Anchor.prototype.onChange;\nchangeTracker.setPosition = function(row, column) {\n this.pos.row = row;\n this.pos.column = column;\n};\nchangeTracker.update = function(pos, delta, $insertRight) {\n this.$insertRight = $insertRight;\n this.pos = pos; \n this.onChange(delta);\n};\n\nvar movePoint = function(point, diff) {\n if (point.row == 0)\n point.column += diff.column;\n point.row += diff.row;\n};\n\nvar moveRelative = function(point, start) {\n if (point.row == start.row)\n point.column -= start.column;\n point.row -= start.row;\n};\n\n\nacequire(\"./lib/dom\").importCssString(\"\\\n.ace_snippet-marker {\\\n -moz-box-sizing: border-box;\\\n box-sizing: border-box;\\\n background: rgba(194, 193, 208, 0.09);\\\n border: 1px dotted rgba(211, 208, 235, 0.62);\\\n position: absolute;\\\n}\");\n\nexports.snippetManager = new SnippetManager();\n\n\nvar Editor = acequire(\"./editor\").Editor;\n(function() {\n this.insertSnippet = function(content, options) {\n return exports.snippetManager.insertSnippet(this, content, options);\n };\n this.expandSnippet = function(options) {\n return exports.snippetManager.expandWithTab(this, options);\n };\n}).call(Editor.prototype);\n\n});\n\nace.define(\"ace/autocomplete/popup\",[\"require\",\"exports\",\"module\",\"ace/virtual_renderer\",\"ace/editor\",\"ace/range\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Renderer = acequire(\"../virtual_renderer\").VirtualRenderer;\nvar Editor = acequire(\"../editor\").Editor;\nvar Range = acequire(\"../range\").Range;\nvar event = acequire(\"../lib/event\");\nvar lang = acequire(\"../lib/lang\");\nvar dom = acequire(\"../lib/dom\");\n\nvar $singleLineEditor = function(el) {\n var renderer = new Renderer(el);\n\n renderer.$maxLines = 4;\n\n var editor = new Editor(renderer);\n\n editor.setHighlightActiveLine(false);\n editor.setShowPrintMargin(false);\n editor.renderer.setShowGutter(false);\n editor.renderer.setHighlightGutterLine(false);\n\n editor.$mouseHandler.$focusWaitTimout = 0;\n editor.$highlightTagPending = true;\n\n return editor;\n};\n\nvar AcePopup = function(parentNode) {\n var el = dom.createElement(\"div\");\n var popup = new $singleLineEditor(el);\n\n if (parentNode)\n parentNode.appendChild(el);\n el.style.display = \"none\";\n popup.renderer.content.style.cursor = \"default\";\n popup.renderer.setStyle(\"ace_autocomplete\");\n\n popup.setOption(\"displayIndentGuides\", false);\n popup.setOption(\"dragDelay\", 150);\n\n var noop = function(){};\n\n popup.focus = noop;\n popup.$isFocused = true;\n\n popup.renderer.$cursorLayer.restartTimer = noop;\n popup.renderer.$cursorLayer.element.style.opacity = 0;\n\n popup.renderer.$maxLines = 8;\n popup.renderer.$keepTextAreaAtCursor = false;\n\n popup.setHighlightActiveLine(false);\n popup.session.highlight(\"\");\n popup.session.$searchHighlight.clazz = \"ace_highlight-marker\";\n\n popup.on(\"mousedown\", function(e) {\n var pos = e.getDocumentPosition();\n popup.selection.moveToPosition(pos);\n selectionMarker.start.row = selectionMarker.end.row = pos.row;\n e.stop();\n });\n\n var lastMouseEvent;\n var hoverMarker = new Range(-1,0,-1,Infinity);\n var selectionMarker = new Range(-1,0,-1,Infinity);\n selectionMarker.id = popup.session.addMarker(selectionMarker, \"ace_active-line\", \"fullLine\");\n popup.setSelectOnHover = function(val) {\n if (!val) {\n hoverMarker.id = popup.session.addMarker(hoverMarker, \"ace_line-hover\", \"fullLine\");\n } else if (hoverMarker.id) {\n popup.session.removeMarker(hoverMarker.id);\n hoverMarker.id = null;\n }\n };\n popup.setSelectOnHover(false);\n popup.on(\"mousemove\", function(e) {\n if (!lastMouseEvent) {\n lastMouseEvent = e;\n return;\n }\n if (lastMouseEvent.x == e.x && lastMouseEvent.y == e.y) {\n return;\n }\n lastMouseEvent = e;\n lastMouseEvent.scrollTop = popup.renderer.scrollTop;\n var row = lastMouseEvent.getDocumentPosition().row;\n if (hoverMarker.start.row != row) {\n if (!hoverMarker.id)\n popup.setRow(row);\n setHoverMarker(row);\n }\n });\n popup.renderer.on(\"beforeRender\", function() {\n if (lastMouseEvent && hoverMarker.start.row != -1) {\n lastMouseEvent.$pos = null;\n var row = lastMouseEvent.getDocumentPosition().row;\n if (!hoverMarker.id)\n popup.setRow(row);\n setHoverMarker(row, true);\n }\n });\n popup.renderer.on(\"afterRender\", function() {\n var row = popup.getRow();\n var t = popup.renderer.$textLayer;\n var selected = t.element.childNodes[row - t.config.firstRow];\n if (selected == t.selectedNode)\n return;\n if (t.selectedNode)\n dom.removeCssClass(t.selectedNode, \"ace_selected\");\n t.selectedNode = selected;\n if (selected)\n dom.addCssClass(selected, \"ace_selected\");\n });\n var hideHoverMarker = function() { setHoverMarker(-1) };\n var setHoverMarker = function(row, suppressRedraw) {\n if (row !== hoverMarker.start.row) {\n hoverMarker.start.row = hoverMarker.end.row = row;\n if (!suppressRedraw)\n popup.session._emit(\"changeBackMarker\");\n popup._emit(\"changeHoverMarker\");\n }\n };\n popup.getHoveredRow = function() {\n return hoverMarker.start.row;\n };\n\n event.addListener(popup.container, \"mouseout\", hideHoverMarker);\n popup.on(\"hide\", hideHoverMarker);\n popup.on(\"changeSelection\", hideHoverMarker);\n\n popup.session.doc.getLength = function() {\n return popup.data.length;\n };\n popup.session.doc.getLine = function(i) {\n var data = popup.data[i];\n if (typeof data == \"string\")\n return data;\n return (data && data.value) || \"\";\n };\n\n var bgTokenizer = popup.session.bgTokenizer;\n bgTokenizer.$tokenizeRow = function(row) {\n var data = popup.data[row];\n var tokens = [];\n if (!data)\n return tokens;\n if (typeof data == \"string\")\n data = {value: data};\n if (!data.caption)\n data.caption = data.value || data.name;\n\n var last = -1;\n var flag, c;\n for (var i = 0; i < data.caption.length; i++) {\n c = data.caption[i];\n flag = data.matchMask & (1 << i) ? 1 : 0;\n if (last !== flag) {\n tokens.push({type: data.className || \"\" + ( flag ? \"completion-highlight\" : \"\"), value: c});\n last = flag;\n } else {\n tokens[tokens.length - 1].value += c;\n }\n }\n\n if (data.meta) {\n var maxW = popup.renderer.$size.scrollerWidth / popup.renderer.layerConfig.characterWidth;\n var metaData = data.meta;\n if (metaData.length + data.caption.length > maxW - 2) {\n metaData = metaData.substr(0, maxW - data.caption.length - 3) + \"\\u2026\"\n }\n tokens.push({type: \"rightAlignedText\", value: metaData});\n }\n return tokens;\n };\n bgTokenizer.$updateOnChange = noop;\n bgTokenizer.start = noop;\n\n popup.session.$computeWidth = function() {\n return this.screenWidth = 0;\n };\n\n popup.$blockScrolling = Infinity;\n popup.isOpen = false;\n popup.isTopdown = false;\n\n popup.data = [];\n popup.setData = function(list) {\n popup.setValue(lang.stringRepeat(\"\\n\", list.length), -1);\n popup.data = list || [];\n popup.setRow(0);\n };\n popup.getData = function(row) {\n return popup.data[row];\n };\n\n popup.getRow = function() {\n return selectionMarker.start.row;\n };\n popup.setRow = function(line) {\n line = Math.max(0, Math.min(this.data.length, line));\n if (selectionMarker.start.row != line) {\n popup.selection.clearSelection();\n selectionMarker.start.row = selectionMarker.end.row = line || 0;\n popup.session._emit(\"changeBackMarker\");\n popup.moveCursorTo(line || 0, 0);\n if (popup.isOpen)\n popup._signal(\"select\");\n }\n };\n\n popup.on(\"changeSelection\", function() {\n if (popup.isOpen)\n popup.setRow(popup.selection.lead.row);\n popup.renderer.scrollCursorIntoView();\n });\n\n popup.hide = function() {\n this.container.style.display = \"none\";\n this._signal(\"hide\");\n popup.isOpen = false;\n };\n popup.show = function(pos, lineHeight, topdownOnly) {\n var el = this.container;\n var screenHeight = window.innerHeight;\n var screenWidth = window.innerWidth;\n var renderer = this.renderer;\n var maxH = renderer.$maxLines * lineHeight * 1.4;\n var top = pos.top + this.$borderSize;\n var allowTopdown = top > screenHeight / 2 && !topdownOnly;\n if (allowTopdown && top + lineHeight + maxH > screenHeight) {\n renderer.$maxPixelHeight = top - 2 * this.$borderSize;\n el.style.top = \"\";\n el.style.bottom = screenHeight - top + \"px\";\n popup.isTopdown = false;\n } else {\n top += lineHeight;\n renderer.$maxPixelHeight = screenHeight - top - 0.2 * lineHeight;\n el.style.top = top + \"px\";\n el.style.bottom = \"\";\n popup.isTopdown = true;\n }\n\n el.style.display = \"\";\n this.renderer.$textLayer.checkForSizeChanges();\n\n var left = pos.left;\n if (left + el.offsetWidth > screenWidth)\n left = screenWidth - el.offsetWidth;\n\n el.style.left = left + \"px\";\n\n this._signal(\"show\");\n lastMouseEvent = null;\n popup.isOpen = true;\n };\n\n popup.getTextLeftOffset = function() {\n return this.$borderSize + this.renderer.$padding + this.$imageSize;\n };\n\n popup.$imageSize = 0;\n popup.$borderSize = 1;\n\n return popup;\n};\n\ndom.importCssString(\"\\\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\\\n background-color: #CAD6FA;\\\n z-index: 1;\\\n}\\\n.ace_editor.ace_autocomplete .ace_line-hover {\\\n border: 1px solid #abbffe;\\\n margin-top: -1px;\\\n background: rgba(233,233,253,0.4);\\\n}\\\n.ace_editor.ace_autocomplete .ace_line-hover {\\\n position: absolute;\\\n z-index: 2;\\\n}\\\n.ace_editor.ace_autocomplete .ace_scroller {\\\n background: none;\\\n border: none;\\\n box-shadow: none;\\\n}\\\n.ace_rightAlignedText {\\\n color: gray;\\\n display: inline-block;\\\n position: absolute;\\\n right: 4px;\\\n text-align: right;\\\n z-index: -1;\\\n}\\\n.ace_editor.ace_autocomplete .ace_completion-highlight{\\\n color: #000;\\\n text-shadow: 0 0 0.01em;\\\n}\\\n.ace_editor.ace_autocomplete {\\\n width: 280px;\\\n z-index: 200000;\\\n background: #fbfbfb;\\\n color: #444;\\\n border: 1px lightgray solid;\\\n position: fixed;\\\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\\\n line-height: 1.4;\\\n}\");\n\nexports.AcePopup = AcePopup;\n\n});\n\nace.define(\"ace/autocomplete/util\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.parForEach = function(array, fn, callback) {\n var completed = 0;\n var arLength = array.length;\n if (arLength === 0)\n callback();\n for (var i = 0; i < arLength; i++) {\n fn(array[i], function(result, err) {\n completed++;\n if (completed === arLength)\n callback(result, err);\n });\n }\n};\n\nvar ID_REGEX = /[a-zA-Z_0-9\\$\\-\\u00A2-\\uFFFF]/;\n\nexports.retrievePrecedingIdentifier = function(text, pos, regex) {\n regex = regex || ID_REGEX;\n var buf = [];\n for (var i = pos-1; i >= 0; i--) {\n if (regex.test(text[i]))\n buf.push(text[i]);\n else\n break;\n }\n return buf.reverse().join(\"\");\n};\n\nexports.retrieveFollowingIdentifier = function(text, pos, regex) {\n regex = regex || ID_REGEX;\n var buf = [];\n for (var i = pos; i < text.length; i++) {\n if (regex.test(text[i]))\n buf.push(text[i]);\n else\n break;\n }\n return buf;\n};\n\nexports.getCompletionPrefix = function (editor) {\n var pos = editor.getCursorPosition();\n var line = editor.session.getLine(pos.row);\n var prefix;\n editor.completers.forEach(function(completer) {\n if (completer.identifierRegexps) {\n completer.identifierRegexps.forEach(function(identifierRegex) {\n if (!prefix && identifierRegex)\n prefix = this.retrievePrecedingIdentifier(line, pos.column, identifierRegex);\n }.bind(this));\n }\n }.bind(this));\n return prefix || this.retrievePrecedingIdentifier(line, pos.column);\n};\n\n});\n\nace.define(\"ace/autocomplete\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\",\"ace/autocomplete/popup\",\"ace/autocomplete/util\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/lib/dom\",\"ace/snippets\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar HashHandler = acequire(\"./keyboard/hash_handler\").HashHandler;\nvar AcePopup = acequire(\"./autocomplete/popup\").AcePopup;\nvar util = acequire(\"./autocomplete/util\");\nvar event = acequire(\"./lib/event\");\nvar lang = acequire(\"./lib/lang\");\nvar dom = acequire(\"./lib/dom\");\nvar snippetManager = acequire(\"./snippets\").snippetManager;\n\nvar Autocomplete = function() {\n this.autoInsert = false;\n this.autoSelect = true;\n this.exactMatch = false;\n this.gatherCompletionsId = 0;\n this.keyboardHandler = new HashHandler();\n this.keyboardHandler.bindKeys(this.commands);\n\n this.blurListener = this.blurListener.bind(this);\n this.changeListener = this.changeListener.bind(this);\n this.mousedownListener = this.mousedownListener.bind(this);\n this.mousewheelListener = this.mousewheelListener.bind(this);\n\n this.changeTimer = lang.delayedCall(function() {\n this.updateCompletions(true);\n }.bind(this));\n\n this.tooltipTimer = lang.delayedCall(this.updateDocTooltip.bind(this), 50);\n};\n\n(function() {\n\n this.$init = function() {\n this.popup = new AcePopup(document.body || document.documentElement);\n this.popup.on(\"click\", function(e) {\n this.insertMatch();\n e.stop();\n }.bind(this));\n this.popup.focus = this.editor.focus.bind(this.editor);\n this.popup.on(\"show\", this.tooltipTimer.bind(null, null));\n this.popup.on(\"select\", this.tooltipTimer.bind(null, null));\n this.popup.on(\"changeHoverMarker\", this.tooltipTimer.bind(null, null));\n return this.popup;\n };\n\n this.getPopup = function() {\n return this.popup || this.$init();\n };\n\n this.openPopup = function(editor, prefix, keepPopupPosition) {\n if (!this.popup)\n this.$init();\n\n this.popup.setData(this.completions.filtered);\n\n editor.keyBinding.addKeyboardHandler(this.keyboardHandler);\n \n var renderer = editor.renderer;\n this.popup.setRow(this.autoSelect ? 0 : -1);\n if (!keepPopupPosition) {\n this.popup.setTheme(editor.getTheme());\n this.popup.setFontSize(editor.getFontSize());\n\n var lineHeight = renderer.layerConfig.lineHeight;\n\n var pos = renderer.$cursorLayer.getPixelPosition(this.base, true);\n pos.left -= this.popup.getTextLeftOffset();\n\n var rect = editor.container.getBoundingClientRect();\n pos.top += rect.top - renderer.layerConfig.offset;\n pos.left += rect.left - editor.renderer.scrollLeft;\n pos.left += renderer.gutterWidth;\n\n this.popup.show(pos, lineHeight);\n } else if (keepPopupPosition && !prefix) {\n this.detach();\n }\n };\n\n this.detach = function() {\n this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);\n this.editor.off(\"changeSelection\", this.changeListener);\n this.editor.off(\"blur\", this.blurListener);\n this.editor.off(\"mousedown\", this.mousedownListener);\n this.editor.off(\"mousewheel\", this.mousewheelListener);\n this.changeTimer.cancel();\n this.hideDocTooltip();\n\n this.gatherCompletionsId += 1;\n if (this.popup && this.popup.isOpen)\n this.popup.hide();\n\n if (this.base)\n this.base.detach();\n this.activated = false;\n this.completions = this.base = null;\n };\n\n this.changeListener = function(e) {\n var cursor = this.editor.selection.lead;\n if (cursor.row != this.base.row || cursor.column < this.base.column) {\n this.detach();\n }\n if (this.activated)\n this.changeTimer.schedule();\n else\n this.detach();\n };\n\n this.blurListener = function(e) {\n if (e.relatedTarget && e.relatedTarget.nodeName == \"A\" && e.relatedTarget.href) {\n window.open(e.relatedTarget.href, \"_blank\");\n }\n var el = document.activeElement;\n var text = this.editor.textInput.getElement();\n var fromTooltip = e.relatedTarget && e.relatedTarget == this.tooltipNode;\n var container = this.popup && this.popup.container;\n if (el != text && el.parentNode != container && !fromTooltip\n && el != this.tooltipNode && e.relatedTarget != text\n ) {\n this.detach();\n }\n };\n\n this.mousedownListener = function(e) {\n this.detach();\n };\n\n this.mousewheelListener = function(e) {\n this.detach();\n };\n\n this.goTo = function(where) {\n var row = this.popup.getRow();\n var max = this.popup.session.getLength() - 1;\n\n switch(where) {\n case \"up\": row = row <= 0 ? max : row - 1; break;\n case \"down\": row = row >= max ? -1 : row + 1; break;\n case \"start\": row = 0; break;\n case \"end\": row = max; break;\n }\n\n this.popup.setRow(row);\n };\n\n this.insertMatch = function(data, options) {\n if (!data)\n data = this.popup.getData(this.popup.getRow());\n if (!data)\n return false;\n\n if (data.completer && data.completer.insertMatch) {\n data.completer.insertMatch(this.editor, data);\n } else {\n if (this.completions.filterText) {\n var ranges = this.editor.selection.getAllRanges();\n for (var i = 0, range; range = ranges[i]; i++) {\n range.start.column -= this.completions.filterText.length;\n this.editor.session.remove(range);\n }\n }\n if (data.snippet)\n snippetManager.insertSnippet(this.editor, data.snippet);\n else\n this.editor.execCommand(\"insertstring\", data.value || data);\n }\n this.detach();\n };\n\n\n this.commands = {\n \"Up\": function(editor) { editor.completer.goTo(\"up\"); },\n \"Down\": function(editor) { editor.completer.goTo(\"down\"); },\n \"Ctrl-Up|Ctrl-Home\": function(editor) { editor.completer.goTo(\"start\"); },\n \"Ctrl-Down|Ctrl-End\": function(editor) { editor.completer.goTo(\"end\"); },\n\n \"Esc\": function(editor) { editor.completer.detach(); },\n \"Return\": function(editor) { return editor.completer.insertMatch(); },\n \"Shift-Return\": function(editor) { editor.completer.insertMatch(null, {deleteSuffix: true}); },\n \"Tab\": function(editor) {\n var result = editor.completer.insertMatch();\n if (!result && !editor.tabstopManager)\n editor.completer.goTo(\"down\");\n else\n return result;\n },\n\n \"PageUp\": function(editor) { editor.completer.popup.gotoPageUp(); },\n \"PageDown\": function(editor) { editor.completer.popup.gotoPageDown(); }\n };\n\n this.gatherCompletions = function(editor, callback) {\n var session = editor.getSession();\n var pos = editor.getCursorPosition();\n\n var line = session.getLine(pos.row);\n var prefix = util.getCompletionPrefix(editor);\n\n this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);\n this.base.$insertRight = true;\n\n var matches = [];\n var total = editor.completers.length;\n editor.completers.forEach(function(completer, i) {\n completer.getCompletions(editor, session, pos, prefix, function(err, results) {\n if (!err && results)\n matches = matches.concat(results);\n var pos = editor.getCursorPosition();\n var line = session.getLine(pos.row);\n callback(null, {\n prefix: prefix,\n matches: matches,\n finished: (--total === 0)\n });\n });\n });\n return true;\n };\n\n this.showPopup = function(editor) {\n if (this.editor)\n this.detach();\n\n this.activated = true;\n\n this.editor = editor;\n if (editor.completer != this) {\n if (editor.completer)\n editor.completer.detach();\n editor.completer = this;\n }\n\n editor.on(\"changeSelection\", this.changeListener);\n editor.on(\"blur\", this.blurListener);\n editor.on(\"mousedown\", this.mousedownListener);\n editor.on(\"mousewheel\", this.mousewheelListener);\n\n this.updateCompletions();\n };\n\n this.updateCompletions = function(keepPopupPosition) {\n if (keepPopupPosition && this.base && this.completions) {\n var pos = this.editor.getCursorPosition();\n var prefix = this.editor.session.getTextRange({start: this.base, end: pos});\n if (prefix == this.completions.filterText)\n return;\n this.completions.setFilter(prefix);\n if (!this.completions.filtered.length)\n return this.detach();\n if (this.completions.filtered.length == 1\n && this.completions.filtered[0].value == prefix\n && !this.completions.filtered[0].snippet)\n return this.detach();\n this.openPopup(this.editor, prefix, keepPopupPosition);\n return;\n }\n var _id = this.gatherCompletionsId;\n this.gatherCompletions(this.editor, function(err, results) {\n var detachIfFinished = function() {\n if (!results.finished) return;\n return this.detach();\n }.bind(this);\n\n var prefix = results.prefix;\n var matches = results && results.matches;\n\n if (!matches || !matches.length)\n return detachIfFinished();\n if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)\n return;\n\n this.completions = new FilteredList(matches);\n\n if (this.exactMatch)\n this.completions.exactMatch = true;\n\n this.completions.setFilter(prefix);\n var filtered = this.completions.filtered;\n if (!filtered.length)\n return detachIfFinished();\n if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)\n return detachIfFinished();\n if (this.autoInsert && filtered.length == 1 && results.finished)\n return this.insertMatch(filtered[0]);\n\n this.openPopup(this.editor, prefix, keepPopupPosition);\n }.bind(this));\n };\n\n this.cancelContextMenu = function() {\n this.editor.$mouseHandler.cancelContextMenu();\n };\n\n this.updateDocTooltip = function() {\n var popup = this.popup;\n var all = popup.data;\n var selected = all && (all[popup.getHoveredRow()] || all[popup.getRow()]);\n var doc = null;\n if (!selected || !this.editor || !this.popup.isOpen)\n return this.hideDocTooltip();\n this.editor.completers.some(function(completer) {\n if (completer.getDocTooltip)\n doc = completer.getDocTooltip(selected);\n return doc;\n });\n if (!doc)\n doc = selected;\n\n if (typeof doc == \"string\")\n doc = {docText: doc};\n if (!doc || !(doc.docHTML || doc.docText))\n return this.hideDocTooltip();\n this.showDocTooltip(doc);\n };\n\n this.showDocTooltip = function(item) {\n if (!this.tooltipNode) {\n this.tooltipNode = dom.createElement(\"div\");\n this.tooltipNode.className = \"ace_tooltip ace_doc-tooltip\";\n this.tooltipNode.style.margin = 0;\n this.tooltipNode.style.pointerEvents = \"auto\";\n this.tooltipNode.tabIndex = -1;\n this.tooltipNode.onblur = this.blurListener.bind(this);\n }\n\n var tooltipNode = this.tooltipNode;\n if (item.docHTML) {\n tooltipNode.innerHTML = item.docHTML;\n } else if (item.docText) {\n tooltipNode.textContent = item.docText;\n }\n\n if (!tooltipNode.parentNode)\n document.body.appendChild(tooltipNode);\n var popup = this.popup;\n var rect = popup.container.getBoundingClientRect();\n tooltipNode.style.top = popup.container.style.top;\n tooltipNode.style.bottom = popup.container.style.bottom;\n\n if (window.innerWidth - rect.right < 320) {\n tooltipNode.style.right = window.innerWidth - rect.left + \"px\";\n tooltipNode.style.left = \"\";\n } else {\n tooltipNode.style.left = (rect.right + 1) + \"px\";\n tooltipNode.style.right = \"\";\n }\n tooltipNode.style.display = \"block\";\n };\n\n this.hideDocTooltip = function() {\n this.tooltipTimer.cancel();\n if (!this.tooltipNode) return;\n var el = this.tooltipNode;\n if (!this.editor.isFocused() && document.activeElement == el)\n this.editor.focus();\n this.tooltipNode = null;\n if (el.parentNode)\n el.parentNode.removeChild(el);\n };\n\n}).call(Autocomplete.prototype);\n\nAutocomplete.startCommand = {\n name: \"startAutocomplete\",\n exec: function(editor) {\n if (!editor.completer)\n editor.completer = new Autocomplete();\n editor.completer.autoInsert = false;\n editor.completer.autoSelect = true;\n editor.completer.showPopup(editor);\n editor.completer.cancelContextMenu();\n },\n bindKey: \"Ctrl-Space|Ctrl-Shift-Space|Alt-Space\"\n};\n\nvar FilteredList = function(array, filterText) {\n this.all = array;\n this.filtered = array;\n this.filterText = filterText || \"\";\n this.exactMatch = false;\n};\n(function(){\n this.setFilter = function(str) {\n if (str.length > this.filterText && str.lastIndexOf(this.filterText, 0) === 0)\n var matches = this.filtered;\n else\n var matches = this.all;\n\n this.filterText = str;\n matches = this.filterCompletions(matches, this.filterText);\n matches = matches.sort(function(a, b) {\n return b.exactMatch - a.exactMatch || b.score - a.score;\n });\n var prev = null;\n matches = matches.filter(function(item){\n var caption = item.snippet || item.caption || item.value;\n if (caption === prev) return false;\n prev = caption;\n return true;\n });\n\n this.filtered = matches;\n };\n this.filterCompletions = function(items, needle) {\n var results = [];\n var upper = needle.toUpperCase();\n var lower = needle.toLowerCase();\n loop: for (var i = 0, item; item = items[i]; i++) {\n var caption = item.value || item.caption || item.snippet;\n if (!caption) continue;\n var lastIndex = -1;\n var matchMask = 0;\n var penalty = 0;\n var index, distance;\n\n if (this.exactMatch) {\n if (needle !== caption.substr(0, needle.length))\n continue loop;\n }else{\n for (var j = 0; j < needle.length; j++) {\n var i1 = caption.indexOf(lower[j], lastIndex + 1);\n var i2 = caption.indexOf(upper[j], lastIndex + 1);\n index = (i1 >= 0) ? ((i2 < 0 || i1 < i2) ? i1 : i2) : i2;\n if (index < 0)\n continue loop;\n distance = index - lastIndex - 1;\n if (distance > 0) {\n if (lastIndex === -1)\n penalty += 10;\n penalty += distance;\n }\n matchMask = matchMask | (1 << index);\n lastIndex = index;\n }\n }\n item.matchMask = matchMask;\n item.exactMatch = penalty ? 0 : 1;\n item.score = (item.score || 0) - penalty;\n results.push(item);\n }\n return results;\n };\n}).call(FilteredList.prototype);\n\nexports.Autocomplete = Autocomplete;\nexports.FilteredList = FilteredList;\n\n});\n\nace.define(\"ace/autocomplete/text_completer\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n var Range = acequire(\"../range\").Range;\n \n var splitRegex = /[^a-zA-Z_0-9\\$\\-\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\w]+/;\n\n function getWordIndex(doc, pos) {\n var textBefore = doc.getTextRange(Range.fromPoints({row: 0, column:0}, pos));\n return textBefore.split(splitRegex).length - 1;\n }\n function wordDistance(doc, pos) {\n var prefixPos = getWordIndex(doc, pos);\n var words = doc.getValue().split(splitRegex);\n var wordScores = Object.create(null);\n \n var currentWord = words[prefixPos];\n\n words.forEach(function(word, idx) {\n if (!word || word === currentWord) return;\n\n var distance = Math.abs(prefixPos - idx);\n var score = words.length - distance;\n if (wordScores[word]) {\n wordScores[word] = Math.max(score, wordScores[word]);\n } else {\n wordScores[word] = score;\n }\n });\n return wordScores;\n }\n\n exports.getCompletions = function(editor, session, pos, prefix, callback) {\n var wordScore = wordDistance(session, pos, prefix);\n var wordList = Object.keys(wordScore);\n callback(null, wordList.map(function(word) {\n return {\n caption: word,\n value: word,\n score: wordScore[word],\n meta: \"local\"\n };\n }));\n };\n});\n\nace.define(\"ace/ext/language_tools\",[\"require\",\"exports\",\"module\",\"ace/snippets\",\"ace/autocomplete\",\"ace/config\",\"ace/lib/lang\",\"ace/autocomplete/util\",\"ace/autocomplete/text_completer\",\"ace/editor\",\"ace/config\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar snippetManager = acequire(\"../snippets\").snippetManager;\nvar Autocomplete = acequire(\"../autocomplete\").Autocomplete;\nvar config = acequire(\"../config\");\nvar lang = acequire(\"../lib/lang\");\nvar util = acequire(\"../autocomplete/util\");\n\nvar textCompleter = acequire(\"../autocomplete/text_completer\");\nvar keyWordCompleter = {\n getCompletions: function(editor, session, pos, prefix, callback) {\n if (session.$mode.completer) {\n return session.$mode.completer.getCompletions(editor, session, pos, prefix, callback);\n }\n var state = editor.session.getState(pos.row);\n var completions = session.$mode.getCompletions(state, session, pos, prefix);\n callback(null, completions);\n }\n};\n\nvar snippetCompleter = {\n getCompletions: function(editor, session, pos, prefix, callback) {\n var snippetMap = snippetManager.snippetMap;\n var completions = [];\n snippetManager.getActiveScopes(editor).forEach(function(scope) {\n var snippets = snippetMap[scope] || [];\n for (var i = snippets.length; i--;) {\n var s = snippets[i];\n var caption = s.name || s.tabTrigger;\n if (!caption)\n continue;\n completions.push({\n caption: caption,\n snippet: s.content,\n meta: s.tabTrigger && !s.name ? s.tabTrigger + \"\\u21E5 \" : \"snippet\",\n type: \"snippet\"\n });\n }\n }, this);\n callback(null, completions);\n },\n getDocTooltip: function(item) {\n if (item.type == \"snippet\" && !item.docHTML) {\n item.docHTML = [\n \"\", lang.escapeHTML(item.caption), \"\", \"
    \",\n lang.escapeHTML(item.snippet)\n ].join(\"\");\n }\n }\n};\n\nvar completers = [snippetCompleter, textCompleter, keyWordCompleter];\nexports.setCompleters = function(val) {\n completers.length = 0;\n if (val) completers.push.apply(completers, val);\n};\nexports.addCompleter = function(completer) {\n completers.push(completer);\n};\nexports.textCompleter = textCompleter;\nexports.keyWordCompleter = keyWordCompleter;\nexports.snippetCompleter = snippetCompleter;\n\nvar expandSnippet = {\n name: \"expandSnippet\",\n exec: function(editor) {\n return snippetManager.expandWithTab(editor);\n },\n bindKey: \"Tab\"\n};\n\nvar onChangeMode = function(e, editor) {\n loadSnippetsForMode(editor.session.$mode);\n};\n\nvar loadSnippetsForMode = function(mode) {\n var id = mode.$id;\n if (!snippetManager.files)\n snippetManager.files = {};\n loadSnippetFile(id);\n if (mode.modes)\n mode.modes.forEach(loadSnippetsForMode);\n};\n\nvar loadSnippetFile = function(id) {\n if (!id || snippetManager.files[id])\n return;\n var snippetFilePath = id.replace(\"mode\", \"snippets\");\n snippetManager.files[id] = {};\n config.loadModule(snippetFilePath, function(m) {\n if (m) {\n snippetManager.files[id] = m;\n if (!m.snippets && m.snippetText)\n m.snippets = snippetManager.parseSnippetFile(m.snippetText);\n snippetManager.register(m.snippets || [], m.scope);\n if (m.includeScopes) {\n snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes;\n m.includeScopes.forEach(function(x) {\n loadSnippetFile(\"ace/mode/\" + x);\n });\n }\n }\n });\n};\n\nvar doLiveAutocomplete = function(e) {\n var editor = e.editor;\n var hasCompleter = editor.completer && editor.completer.activated;\n if (e.command.name === \"backspace\") {\n if (hasCompleter && !util.getCompletionPrefix(editor))\n editor.completer.detach();\n }\n else if (e.command.name === \"insertstring\") {\n var prefix = util.getCompletionPrefix(editor);\n if (prefix && !hasCompleter) {\n if (!editor.completer) {\n editor.completer = new Autocomplete();\n }\n editor.completer.autoInsert = false;\n editor.completer.showPopup(editor);\n }\n }\n};\n\nvar Editor = acequire(\"../editor\").Editor;\nacequire(\"../config\").defineOptions(Editor.prototype, \"editor\", {\n enableBasicAutocompletion: {\n set: function(val) {\n if (val) {\n if (!this.completers)\n this.completers = Array.isArray(val)? val: completers;\n this.commands.addCommand(Autocomplete.startCommand);\n } else {\n this.commands.removeCommand(Autocomplete.startCommand);\n }\n },\n value: false\n },\n enableLiveAutocompletion: {\n set: function(val) {\n if (val) {\n if (!this.completers)\n this.completers = Array.isArray(val)? val: completers;\n this.commands.on('afterExec', doLiveAutocomplete);\n } else {\n this.commands.removeListener('afterExec', doLiveAutocomplete);\n }\n },\n value: false\n },\n enableSnippets: {\n set: function(val) {\n if (val) {\n this.commands.addCommand(expandSnippet);\n this.on(\"changeMode\", onChangeMode);\n onChangeMode(null, this);\n } else {\n this.commands.removeCommand(expandSnippet);\n this.off(\"changeMode\", onChangeMode);\n }\n },\n value: false\n }\n});\n});\n (function() {\n ace.acequire([\"ace/ext/language_tools\"], function() {});\n })();\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/ext/language_tools.js\n// module id = 1178\n// module chunks = 3","ace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"], function(acequire, exports, module) {\n\"use strict\";\n\nexports.isDark = false;\nexports.cssClass = \"ace-tm\";\nexports.cssText = \".ace-tm .ace_gutter {\\\nbackground: #f0f0f0;\\\ncolor: #333;\\\n}\\\n.ace-tm .ace_print-margin {\\\nwidth: 1px;\\\nbackground: #e8e8e8;\\\n}\\\n.ace-tm .ace_fold {\\\nbackground-color: #6B72E6;\\\n}\\\n.ace-tm {\\\nbackground-color: #FFFFFF;\\\ncolor: black;\\\n}\\\n.ace-tm .ace_cursor {\\\ncolor: black;\\\n}\\\n.ace-tm .ace_invisible {\\\ncolor: rgb(191, 191, 191);\\\n}\\\n.ace-tm .ace_storage,\\\n.ace-tm .ace_keyword {\\\ncolor: blue;\\\n}\\\n.ace-tm .ace_constant {\\\ncolor: rgb(197, 6, 11);\\\n}\\\n.ace-tm .ace_constant.ace_buildin {\\\ncolor: rgb(88, 72, 246);\\\n}\\\n.ace-tm .ace_constant.ace_language {\\\ncolor: rgb(88, 92, 246);\\\n}\\\n.ace-tm .ace_constant.ace_library {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_invalid {\\\nbackground-color: rgba(255, 0, 0, 0.1);\\\ncolor: red;\\\n}\\\n.ace-tm .ace_support.ace_function {\\\ncolor: rgb(60, 76, 114);\\\n}\\\n.ace-tm .ace_support.ace_constant {\\\ncolor: rgb(6, 150, 14);\\\n}\\\n.ace-tm .ace_support.ace_type,\\\n.ace-tm .ace_support.ace_class {\\\ncolor: rgb(109, 121, 222);\\\n}\\\n.ace-tm .ace_keyword.ace_operator {\\\ncolor: rgb(104, 118, 135);\\\n}\\\n.ace-tm .ace_string {\\\ncolor: rgb(3, 106, 7);\\\n}\\\n.ace-tm .ace_comment {\\\ncolor: rgb(76, 136, 107);\\\n}\\\n.ace-tm .ace_comment.ace_doc {\\\ncolor: rgb(0, 102, 255);\\\n}\\\n.ace-tm .ace_comment.ace_doc.ace_tag {\\\ncolor: rgb(128, 159, 191);\\\n}\\\n.ace-tm .ace_constant.ace_numeric {\\\ncolor: rgb(0, 0, 205);\\\n}\\\n.ace-tm .ace_variable {\\\ncolor: rgb(49, 132, 149);\\\n}\\\n.ace-tm .ace_xml-pe {\\\ncolor: rgb(104, 104, 91);\\\n}\\\n.ace-tm .ace_entity.ace_name.ace_function {\\\ncolor: #0000A2;\\\n}\\\n.ace-tm .ace_heading {\\\ncolor: rgb(12, 7, 255);\\\n}\\\n.ace-tm .ace_list {\\\ncolor:rgb(185, 6, 144);\\\n}\\\n.ace-tm .ace_meta.ace_tag {\\\ncolor:rgb(0, 22, 142);\\\n}\\\n.ace-tm .ace_string.ace_regex {\\\ncolor: rgb(255, 0, 0)\\\n}\\\n.ace-tm .ace_marker-layer .ace_selection {\\\nbackground: rgb(181, 213, 255);\\\n}\\\n.ace-tm.ace_multiselect .ace_selection.ace_start {\\\nbox-shadow: 0 0 3px 0px white;\\\n}\\\n.ace-tm .ace_marker-layer .ace_step {\\\nbackground: rgb(252, 255, 0);\\\n}\\\n.ace-tm .ace_marker-layer .ace_stack {\\\nbackground: rgb(164, 229, 101);\\\n}\\\n.ace-tm .ace_marker-layer .ace_bracket {\\\nmargin: -1px 0 0 -1px;\\\nborder: 1px solid rgb(192, 192, 192);\\\n}\\\n.ace-tm .ace_marker-layer .ace_active-line {\\\nbackground: rgba(0, 0, 0, 0.07);\\\n}\\\n.ace-tm .ace_gutter-active-line {\\\nbackground-color : #dcdcdc;\\\n}\\\n.ace-tm .ace_marker-layer .ace_selected-word {\\\nbackground: rgb(250, 250, 255);\\\nborder: 1px solid rgb(200, 200, 250);\\\n}\\\n.ace-tm .ace_indent-guide {\\\nbackground: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\\\") right repeat-y;\\\n}\\\n\";\n\nvar dom = acequire(\"../lib/dom\");\ndom.importCssString(exports.cssText, exports.cssClass);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/theme/textmate.js\n// module id = 1179\n// module chunks = 3","ace.define(\"ace/mode/sql_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar SqlHighlightRules = function() {\n\n var keywords = (\n \"select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|\" +\n \"when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|\" +\n \"foreign|not|references|default|null|inner|cross|natural|database|drop|grant\"\n );\n\n var builtinConstants = (\n \"true|false\"\n );\n\n var builtinFunctions = (\n \"avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|\" + \n \"coalesce|ifnull|isnull|nvl\"\n );\n\n var dataTypes = (\n \"int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|\" +\n \"money|real|number|integer\"\n );\n\n var keywordMapper = this.createKeywordMapper({\n \"support.function\": builtinFunctions,\n \"keyword\": keywords,\n \"constant.language\": builtinConstants,\n \"storage.type\": dataTypes\n }, \"identifier\", true);\n\n this.$rules = {\n \"start\" : [ {\n token : \"comment\",\n regex : \"--.*$\"\n }, {\n token : \"comment\",\n start : \"/\\\\*\",\n end : \"\\\\*/\"\n }, {\n token : \"string\", // \" string\n regex : '\".*?\"'\n }, {\n token : \"string\", // ' string\n regex : \"'.*?'\"\n }, {\n token : \"constant.numeric\", // float\n regex : \"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"\n }, {\n token : keywordMapper,\n regex : \"[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b\"\n }, {\n token : \"keyword.operator\",\n regex : \"\\\\+|\\\\-|\\\\/|\\\\/\\\\/|%|<@>|@>|<@|&|\\\\^|~|<|>|<=|=>|==|!=|<>|=\"\n }, {\n token : \"paren.lparen\",\n regex : \"[\\\\(]\"\n }, {\n token : \"paren.rparen\",\n regex : \"[\\\\)]\"\n }, {\n token : \"text\",\n regex : \"\\\\s+\"\n } ]\n };\n this.normalizeRules();\n};\n\noop.inherits(SqlHighlightRules, TextHighlightRules);\n\nexports.SqlHighlightRules = SqlHighlightRules;\n});\n\nace.define(\"ace/mode/sql\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/sql_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar SqlHighlightRules = acequire(\"./sql_highlight_rules\").SqlHighlightRules;\n\nvar Mode = function() {\n this.HighlightRules = SqlHighlightRules;\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.lineCommentStart = \"--\";\n\n this.$id = \"ace/mode/sql\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/mode/sql.js\n// module id = 1182\n// module chunks = 3","ace.define(\"ace/snippets/sql\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.snippetText=\"snippet tbl\\n\tcreate table ${1:table} (\\n\t\t${2:columns}\\n\t);\\nsnippet col\\n\t${1:name}\t${2:type}\t${3:default ''}\t${4:not null}\\nsnippet ccol\\n\t${1:name}\tvarchar2(${2:size})\t${3:default ''}\t${4:not null}\\nsnippet ncol\\n\t${1:name}\tnumber\t${3:default 0}\t${4:not null}\\nsnippet dcol\\n\t${1:name}\tdate\t${3:default sysdate}\t${4:not null}\\nsnippet ind\\n\tcreate index ${3:$1_$2} on ${1:table}(${2:column});\\nsnippet uind\\n\tcreate unique index ${1:name} on ${2:table}(${3:column});\\nsnippet tblcom\\n\tcomment on table ${1:table} is '${2:comment}';\\nsnippet colcom\\n\tcomment on column ${1:table}.${2:column} is '${3:comment}';\\nsnippet addcol\\n\talter table ${1:table} add (${2:column} ${3:type});\\nsnippet seq\\n\tcreate sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\\nsnippet s*\\n\tselect * from ${1:table}\\n\",t.scope=\"sql\"})\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/snippets/sql.js\n// module id = 1183\n// module chunks = 3","ace.define(\"ace/mode/doc_comment_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar DocCommentHighlightRules = function() {\n this.$rules = {\n \"start\" : [ {\n token : \"comment.doc.tag\",\n regex : \"@[\\\\w\\\\d_]+\" // TODO: fix email addresses\n }, \n DocCommentHighlightRules.getTagRule(),\n {\n defaultToken : \"comment.doc\",\n caseInsensitive: true\n }]\n };\n};\n\noop.inherits(DocCommentHighlightRules, TextHighlightRules);\n\nDocCommentHighlightRules.getTagRule = function(start) {\n return {\n token : \"comment.doc.tag.storage.type\",\n regex : \"\\\\b(?:TODO|FIXME|XXX|HACK)\\\\b\"\n };\n}\n\nDocCommentHighlightRules.getStartRule = function(start) {\n return {\n token : \"comment.doc\", // doc comment\n regex : \"\\\\/\\\\*(?=\\\\*)\",\n next : start\n };\n};\n\nDocCommentHighlightRules.getEndRule = function (start) {\n return {\n token : \"comment.doc\", // closing comment\n regex : \"\\\\*\\\\/\",\n next : start\n };\n};\n\n\nexports.DocCommentHighlightRules = DocCommentHighlightRules;\n\n});\n\nace.define(\"ace/mode/sqlserver_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/doc_comment_highlight_rules\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar DocCommentHighlightRules = acequire(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar SqlServerHighlightRules = function() {\n var logicalOperators = \"ALL|AND|ANY|BETWEEN|EXISTS|IN|LIKE|NOT|OR|SOME\";\n logicalOperators += \"|NULL|IS|APPLY|INNER|OUTER|LEFT|RIGHT|JOIN|CROSS\"; //SSMS colors these gray too\n \n\n var builtinFunctions = (\n \"OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|\" +\n \"AVG|CHECKSUM_AGG|COUNT|COUNT_BIG|GROUPING|GROUPING_ID|MAX|MIN|STDEV|STDEVP|SUM|VAR|VARP|\" +\n \"DENSE_RANK|NTILE|RANK|ROW_NUMBER\" +\n \"@@DATEFIRST|@@DBTS|@@LANGID|@@LANGUAGE|@@LOCK_TIMEOUT|@@MAX_CONNECTIONS|@@MAX_PRECISION|@@NESTLEVEL|@@OPTIONS|@@REMSERVER|@@SERVERNAME|@@SERVICENAME|@@SPID|@@TEXTSIZE|@@VERSION|\" +\n \"CAST|CONVERT|PARSE|TRY_CAST|TRY_CONVERT|TRY_PARSE\" +\n \"@@CURSOR_ROWS|@@FETCH_STATUS|CURSOR_STATUS|\" +\n \"@@DATEFIRST|@@LANGUAGE|CURRENT_TIMESTAMP|DATEADD|DATEDIFF|DATEFROMPARTS|DATENAME|DATEPART|DATETIME2FROMPARTS|DATETIMEFROMPARTS|DATETIMEOFFSETFROMPARTS|DAY|EOMONTH|GETDATE|GETUTCDATE|ISDATE|MONTH|SET DATEFIRST|SET DATEFORMAT|SET LANGUAGE|SMALLDATETIMEFROMPARTS|SP_HELPLANGUAGE|SWITCHOFFSET|SYSDATETIME|SYSDATETIMEOFFSET|SYSUTCDATETIME|TIMEFROMPARTS|TODATETIMEOFFSET|YEAR|\" +\n \"CHOOSE|IIF|\" +\n \"ABS|ACOS|ASIN|ATAN|ATN2|CEILING|COS|COT|DEGREES|EXP|FLOOR|LOG|LOG10|PI|POWER|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|SQUARE|TAN|\" +\n \"@@PROCID|APPLOCK_MODE|APPLOCK_TEST|APP_NAME|ASSEMBLYPROPERTY|COLUMNPROPERTY|COL_LENGTH|COL_NAME|DATABASEPROPERTYEX|DATABASE_PRINCIPAL_ID|DB_ID|DB_NAME|FILEGROUPPROPERTY|FILEGROUP_ID|FILEGROUP_NAME|FILEPROPERTY|FILE_ID|FILE_IDEX|FILE_NAME|FULLTEXTCATALOGPROPERTY|FULLTEXTSERVICEPROPERTY|INDEXKEY_PROPERTY|INDEXPROPERTY|INDEX_COL|OBJECTPROPERTY|OBJECTPROPERTYEX|OBJECT_DEFINITION|OBJECT_ID|OBJECT_NAME|OBJECT_SCHEMA_NAME|ORIGINAL_DB_NAME|PARSENAME|SCHEMA_ID|SCHEMA_NAME|SCOPE_IDENTITY|SERVERPROPERTY|STATS_DATE|TYPEPROPERTY|TYPE_ID|TYPE_NAME|\" +\n \"CERTENCODED|CERTPRIVATEKEY|CURRENT_USER|DATABASE_PRINCIPAL_ID|HAS_PERMS_BY_NAME|IS_MEMBER|IS_ROLEMEMBER|IS_SRVROLEMEMBER|ORIGINAL_LOGIN|PERMISSIONS|PWDCOMPARE|PWDENCRYPT|SCHEMA_ID|SCHEMA_NAME|SESSION_USER|SUSER_ID|SUSER_NAME|SUSER_SID|SUSER_SNAME|SYS.FN_BUILTIN_PERMISSIONS|SYS.FN_GET_AUDIT_FILE|SYS.FN_MY_PERMISSIONS|SYSTEM_USER|USER_ID|USER_NAME|\" +\n \"ASCII|CHAR|CHARINDEX|CONCAT|DIFFERENCE|FORMAT|LEN|LOWER|LTRIM|NCHAR|PATINDEX|QUOTENAME|REPLACE|REPLICATE|REVERSE|RTRIM|SOUNDEX|SPACE|STR|STUFF|SUBSTRING|UNICODE|UPPER|\" +\n \"$PARTITION|@@ERROR|@@IDENTITY|@@PACK_RECEIVED|@@ROWCOUNT|@@TRANCOUNT|BINARY_CHECKSUM|CHECKSUM|CONNECTIONPROPERTY|CONTEXT_INFO|CURRENT_REQUEST_ID|ERROR_LINE|ERROR_MESSAGE|ERROR_NUMBER|ERROR_PROCEDURE|ERROR_SEVERITY|ERROR_STATE|FORMATMESSAGE|GETANSINULL|GET_FILESTREAM_TRANSACTION_CONTEXT|HOST_ID|HOST_NAME|ISNULL|ISNUMERIC|MIN_ACTIVE_ROWVERSION|NEWID|NEWSEQUENTIALID|ROWCOUNT_BIG|XACT_STATE|\" +\n \"@@CONNECTIONS|@@CPU_BUSY|@@IDLE|@@IO_BUSY|@@PACKET_ERRORS|@@PACK_RECEIVED|@@PACK_SENT|@@TIMETICKS|@@TOTAL_ERRORS|@@TOTAL_READ|@@TOTAL_WRITE|FN_VIRTUALFILESTATS|\" +\n \"PATINDEX|TEXTPTR|TEXTVALID|\" +\n \"COALESCE|NULLIF\"\n );\n var dataTypes = (\"BIGINT|BINARY|BIT|CHAR|CURSOR|DATE|DATETIME|DATETIME2|DATETIMEOFFSET|DECIMAL|FLOAT|HIERARCHYID|IMAGE|INTEGER|INT|MONEY|NCHAR|NTEXT|NUMERIC|NVARCHAR|REAL|SMALLDATETIME|SMALLINT|SMALLMONEY|SQL_VARIANT|TABLE|TEXT|TIME|TIMESTAMP|TINYINT|UNIQUEIDENTIFIER|VARBINARY|VARCHAR|XML\");\n var builtInStoredProcedures = \"sp_addextendedproc|sp_addextendedproperty|sp_addmessage|sp_addtype|sp_addumpdevice|sp_add_data_file_recover_suspect_db|sp_add_log_file_recover_suspect_db|sp_altermessage|sp_attach_db|sp_attach_single_file_db|sp_autostats|sp_bindefault|sp_bindrule|sp_bindsession|sp_certify_removable|sp_clean_db_file_free_space|sp_clean_db_free_space|sp_configure|sp_control_plan_guide|sp_createstats|sp_create_plan_guide|sp_create_plan_guide_from_handle|sp_create_removable|sp_cycle_errorlog|sp_datatype_info|sp_dbcmptlevel|sp_dbmmonitoraddmonitoring|sp_dbmmonitorchangealert|sp_dbmmonitorchangemonitoring|sp_dbmmonitordropalert|sp_dbmmonitordropmonitoring|sp_dbmmonitorhelpalert|sp_dbmmonitorhelpmonitoring|sp_dbmmonitorresults|sp_db_increased_partitions|sp_delete_backuphistory|sp_depends|sp_describe_first_result_set|sp_describe_undeclared_parameters|sp_detach_db|sp_dropdevice|sp_dropextendedproc|sp_dropextendedproperty|sp_dropmessage|sp_droptype|sp_execute|sp_executesql|sp_getapplock|sp_getbindtoken|sp_help|sp_helpconstraint|sp_helpdb|sp_helpdevice|sp_helpextendedproc|sp_helpfile|sp_helpfilegroup|sp_helpindex|sp_helplanguage|sp_helpserver|sp_helpsort|sp_helpstats|sp_helptext|sp_helptrigger|sp_indexoption|sp_invalidate_textptr|sp_lock|sp_monitor|sp_prepare|sp_prepexec|sp_prepexecrpc|sp_procoption|sp_recompile|sp_refreshview|sp_releaseapplock|sp_rename|sp_renamedb|sp_resetstatus|sp_sequence_get_range|sp_serveroption|sp_setnetname|sp_settriggerorder|sp_spaceused|sp_tableoption|sp_unbindefault|sp_unbindrule|sp_unprepare|sp_updateextendedproperty|sp_updatestats|sp_validname|sp_who|sys.sp_merge_xtp_checkpoint_files|sys.sp_xtp_bind_db_resource_pool|sys.sp_xtp_checkpoint_force_garbage_collection|sys.sp_xtp_control_proc_exec_stats|sys.sp_xtp_control_query_exec_stats|sys.sp_xtp_unbind_db_resource_pool\";\n var keywords = \"ABSOLUTE|ACTION|ADA|ADD|ADMIN|AFTER|AGGREGATE|ALIAS|ALL|ALLOCATE|ALTER|AND|ANY|ARE|ARRAY|AS|ASC|ASENSITIVE|ASSERTION|ASYMMETRIC|AT|ATOMIC|AUTHORIZATION|BACKUP|BEFORE|BEGIN|BETWEEN|BIT_LENGTH|BLOB|BOOLEAN|BOTH|BREADTH|BREAK|BROWSE|BULK|BY|CALL|CALLED|CARDINALITY|CASCADE|CASCADED|CASE|CATALOG|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CHECKPOINT|CLASS|CLOB|CLOSE|CLUSTERED|COALESCE|COLLATE|COLLATION|COLLECT|COLUMN|COMMIT|COMPLETION|COMPUTE|CONDITION|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONTAINS|CONTAINSTABLE|CONTINUE|CORR|CORRESPONDING|COVAR_POP|COVAR_SAMP|CREATE|CROSS|CUBE|CUME_DIST|CURRENT|CURRENT_CATALOG|CURRENT_DATE|CURRENT_DEFAULT_TRANSFORM_GROUP|CURRENT_PATH|CURRENT_ROLE|CURRENT_SCHEMA|CURRENT_TIME|CURRENT_TRANSFORM_GROUP_FOR_TYPE|CYCLE|DATA|DATABASE|DBCC|DEALLOCATE|DEC|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DELETE|DENY|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DETERMINISTIC|DIAGNOSTICS|DICTIONARY|DISCONNECT|DISK|DISTINCT|DISTRIBUTED|DOMAIN|DOUBLE|DROP|DUMP|DYNAMIC|EACH|ELEMENT|ELSE|END|END-EXEC|EQUALS|ERRLVL|ESCAPE|EVERY|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXIT|EXTERNAL|EXTRACT|FETCH|FILE|FILLFACTOR|FILTER|FIRST|FOR|FOREIGN|FORTRAN|FOUND|FREE|FREETEXT|FREETEXTTABLE|FROM|FULL|FULLTEXTTABLE|FUNCTION|FUSION|GENERAL|GET|GLOBAL|GO|GOTO|GRANT|GROUP|HAVING|HOLD|HOLDLOCK|HOST|HOUR|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IGNORE|IMMEDIATE|IN|INCLUDE|INDEX|INDICATOR|INITIALIZE|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INTEGER|INTERSECT|INTERSECTION|INTERVAL|INTO|IS|ISOLATION|ITERATE|JOIN|KEY|KILL|LANGUAGE|LARGE|LAST|LATERAL|LEADING|LESS|LEVEL|LIKE|LIKE_REGEX|LIMIT|LINENO|LN|LOAD|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOCATOR|MAP|MATCH|MEMBER|MERGE|METHOD|MINUTE|MOD|MODIFIES|MODIFY|MODULE|MULTISET|NAMES|NATIONAL|NATURAL|NCLOB|NEW|NEXT|NO|NOCHECK|NONCLUSTERED|NONE|NORMALIZE|NOT|NULL|NULLIF|OBJECT|OCCURRENCES_REGEX|OCTET_LENGTH|OF|OFF|OFFSETS|OLD|ON|ONLY|OPEN|OPERATION|OPTION|OR|ORDER|ORDINALITY|OUT|OUTER|OUTPUT|OVER|OVERLAPS|OVERLAY|PAD|PARAMETER|PARAMETERS|PARTIAL|PARTITION|PASCAL|PATH|PERCENT|PERCENTILE_CONT|PERCENTILE_DISC|PERCENT_RANK|PIVOT|PLAN|POSITION|POSITION_REGEX|POSTFIX|PRECISION|PREFIX|PREORDER|PREPARE|PRESERVE|PRIMARY|PRINT|PRIOR|PRIVILEGES|PROC|PROCEDURE|PUBLIC|RAISERROR|RANGE|READ|READS|READTEXT|RECONFIGURE|RECURSIVE|REF|REFERENCES|REFERENCING|REGR_AVGX|REGR_AVGY|REGR_COUNT|REGR_INTERCEPT|REGR_R2|REGR_SLOPE|REGR_SXX|REGR_SXY|REGR_SYY|RELATIVE|RELEASE|REPLICATION|RESTORE|RESTRICT|RESULT|RETURN|RETURNS|REVERT|REVOKE|ROLE|ROLLBACK|ROLLUP|ROUTINE|ROW|ROWCOUNT|ROWGUIDCOL|ROWS|RULE|SAVE|SAVEPOINT|SCHEMA|SCOPE|SCROLL|SEARCH|SECOND|SECTION|SECURITYAUDIT|SELECT|SEMANTICKEYPHRASETABLE|SEMANTICSIMILARITYDETAILSTABLE|SEMANTICSIMILARITYTABLE|SENSITIVE|SEQUENCE|SESSION|SET|SETS|SETUSER|SHUTDOWN|SIMILAR|SIZE|SOME|SPECIFIC|SPECIFICTYPE|SQL|SQLCA|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STATE|STATEMENT|STATIC|STATISTICS|STDDEV_POP|STDDEV_SAMP|STRUCTURE|SUBMULTISET|SUBSTRING_REGEX|SYMMETRIC|SYSTEM|TABLESAMPLE|TEMPORARY|TERMINATE|TEXTSIZE|THAN|THEN|TIMEZONE_HOUR|TIMEZONE_MINUTE|TO|TOP|TRAILING|TRAN|TRANSACTION|TRANSLATE|TRANSLATE_REGEX|TRANSLATION|TREAT|TRIGGER|TRIM|TRUNCATE|TSEQUAL|UESCAPE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNPIVOT|UPDATE|UPDATETEXT|USAGE|USE|USER|USING|VALUE|VALUES|VARIABLE|VARYING|VAR_POP|VAR_SAMP|VIEW|WAITFOR|WHEN|WHENEVER|WHERE|WHILE|WIDTH_BUCKET|WINDOW|WITH|WITHIN|WITHIN GROUP|WITHOUT|WORK|WRITE|WRITETEXT|XMLAGG|XMLATTRIBUTES|XMLBINARY|XMLCAST|XMLCOMMENT|XMLCONCAT|XMLDOCUMENT|XMLELEMENT|XMLEXISTS|XMLFOREST|XMLITERATE|XMLNAMESPACES|XMLPARSE|XMLPI|XMLQUERY|XMLSERIALIZE|XMLTABLE|XMLTEXT|XMLVALIDATE|ZONE\";\n keywords += \"|KEEPIDENTITY|KEEPDEFAULTS|IGNORE_CONSTRAINTS|IGNORE_TRIGGERS|XLOCK|FORCESCAN|FORCESEEK|HOLDLOCK|NOLOCK|NOWAIT|PAGLOCK|READCOMMITTED|READCOMMITTEDLOCK|READPAST|READUNCOMMITTED|REPEATABLEREAD|ROWLOCK|SERIALIZABLE|SNAPSHOT|SPATIAL_WINDOW_MAX_CELLS|TABLOCK|TABLOCKX|UPDLOCK|XLOCK|IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX|EXPAND|VIEWS|FAST|FORCE|KEEP|KEEPFIXED|MAXDOP|MAXRECURSION|OPTIMIZE|PARAMETERIZATION|SIMPLE|FORCED|RECOMPILE|ROBUST|PLAN|SPATIAL_WINDOW_MAX_CELLS|NOEXPAND|HINT\";\n keywords += \"|LOOP|HASH|MERGE|REMOTE\";\n keywords += \"|TRY|CATCH|THROW\";\n keywords += \"|TYPE\";\n keywords = keywords.split('|');\n keywords = keywords.filter(function(value, index, self) {\n return logicalOperators.split('|').indexOf(value) === -1 && builtinFunctions.split('|').indexOf(value) === -1 && dataTypes.split('|').indexOf(value) === -1;\n });\n keywords = keywords.sort().join('|');\n \n \n var keywordMapper = this.createKeywordMapper({\n \"constant.language\": logicalOperators,\n \"storage.type\": dataTypes,\n \"support.function\": builtinFunctions,\n \"support.storedprocedure\": builtInStoredProcedures,\n \"keyword\": keywords\n }, \"identifier\", true);\n var setStatements = \"SET ANSI_DEFAULTS|SET ANSI_NULLS|SET ANSI_NULL_DFLT_OFF|SET ANSI_NULL_DFLT_ON|SET ANSI_PADDING|SET ANSI_WARNINGS|SET ARITHABORT|SET ARITHIGNORE|SET CONCAT_NULL_YIELDS_NULL|SET CURSOR_CLOSE_ON_COMMIT|SET DATEFIRST|SET DATEFORMAT|SET DEADLOCK_PRIORITY|SET FIPS_FLAGGER|SET FMTONLY|SET FORCEPLAN|SET IDENTITY_INSERT|SET IMPLICIT_TRANSACTIONS|SET LANGUAGE|SET LOCK_TIMEOUT|SET NOCOUNT|SET NOEXEC|SET NUMERIC_ROUNDABORT|SET OFFSETS|SET PARSEONLY|SET QUERY_GOVERNOR_COST_LIMIT|SET QUOTED_IDENTIFIER|SET REMOTE_PROC_TRANSACTIONS|SET ROWCOUNT|SET SHOWPLAN_ALL|SET SHOWPLAN_TEXT|SET SHOWPLAN_XML|SET STATISTICS IO|SET STATISTICS PROFILE|SET STATISTICS TIME|SET STATISTICS XML|SET TEXTSIZE|SET XACT_ABORT\".split('|');\n var isolationLevels = \"READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SNAPSHOP|SERIALIZABLE\".split('|');\n for (var i = 0; i < isolationLevels.length; i++) {\n setStatements.push('SET TRANSACTION ISOLATION LEVEL ' + isolationLevels[i]);\n }\n \n \n this.$rules = {\n start: [{\n token: \"string.start\",\n regex: \"'\",\n next: [{\n token: \"constant.language.escape\",\n regex: /''/\n }, {\n token: \"string.end\",\n next: \"start\",\n regex: \"'\"\n }, {\n defaultToken: \"string\"\n }]\n },\n DocCommentHighlightRules.getStartRule(\"doc-start\"), {\n token: \"comment\",\n regex: \"--.*$\"\n }, {\n token: \"comment\",\n start: \"/\\\\*\",\n end: \"\\\\*/\"\n }, {\n token: \"constant.numeric\", // float\n regex: \"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"\n }, {\n token: keywordMapper,\n regex: \"@{0,2}[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b(?!])\" //up to 2 @symbols for some built in functions\n }, {\n token: \"constant.class\",\n regex: \"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\\\b\"\n }, {\n token: \"keyword.operator\",\n regex: \"\\\\+|\\\\-|\\\\/|\\\\/\\\\/|%|<@>|@>|<@|&|\\\\^|~|<|>|<=|=>|==|!=|<>|=|\\\\*\"\n }, {\n token: \"paren.lparen\",\n regex: \"[\\\\(]\"\n }, {\n token: \"paren.rparen\",\n regex: \"[\\\\)]\"\n }, {\n token: \"punctuation\",\n regex: \",|;\"\n }, {\n token: \"text\",\n regex: \"\\\\s+\"\n }],\n comment: [\n DocCommentHighlightRules.getTagRule(), {\n token: \"comment\",\n regex: \"\\\\*\\\\/\",\n next: \"no_regex\"\n }, {\n defaultToken: \"comment\",\n caseInsensitive: true\n }]\n };\n for (var i = 0; i < setStatements.length; i++) {\n this.$rules.start.unshift({\n token: \"set.statement\",\n regex: setStatements[i]\n });\n }\n \n this.embedRules(DocCommentHighlightRules, \"doc-\", [DocCommentHighlightRules.getEndRule(\"start\")]);\n this.normalizeRules();\n var completions = [];\n var addCompletions = function(arr, meta) {\n arr.forEach(function(v) {\n completions.push({\n name: v,\n value: v,\n score: 0,\n meta: meta\n });\n });\n };\n addCompletions(builtInStoredProcedures.split('|'), 'procedure');\n addCompletions(logicalOperators.split('|'), 'operator');\n addCompletions(builtinFunctions.split('|'), 'function');\n addCompletions(dataTypes.split('|'), 'type');\n addCompletions(setStatements, 'statement');\n addCompletions(keywords.split('|'), 'keyword');\n \n this.completions = completions;\n};\n\noop.inherits(SqlServerHighlightRules, TextHighlightRules);\n\nexports.SqlHighlightRules = SqlServerHighlightRules;\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(\n this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start)\n );\n this.foldingStopMarker = new RegExp(\n this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end)\n );\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\{|\\[)[^\\}\\]]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{]*(\\}|\\])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe= /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n \n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n \n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n \n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n \n return fw;\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n \n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n } else if (foldStyle != \"all\")\n range = null;\n }\n \n return range;\n }\n\n if (foldStyle === \"markbegin\")\n return;\n\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n \n this.getSectionRange = function(session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n \n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n } else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n } else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n \n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function(session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n \n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth--;\n else depth++;\n\n if (!depth) break;\n }\n\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/folding/sqlserver\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./cstyle\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function() {};\n\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\bCASE\\b|\\bBEGIN\\b)|^\\s*(\\/\\*)/i;\n this.startRegionRe = /^\\s*(\\/\\*|--)#?region\\b/;\n \n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n if (match[1]) return this.getBeginEndBlock(session, row, i, match[1]);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n }\n else if (foldStyle != \"all\") range = null;\n }\n \n return range;\n }\n \n if (foldStyle === \"markbegin\") return;\n return;\n };\n this.getBeginEndBlock = function(session, row, column, matchSequence) {\n var start = {\n row: row,\n column: column + matchSequence.length\n };\n var maxRow = session.getLength();\n var line;\n \n var depth = 1;\n var re = /(\\bCASE\\b|\\bBEGIN\\b)|(\\bEND\\b)/i;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth++;\n else depth--;\n \n if (!depth) break;\n }\n var endRow = row;\n if (endRow > start.row) {\n return new Range(start.row, start.column, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/sqlserver\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/sqlserver_highlight_rules\",\"ace/mode/folding/sqlserver\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar SqlServerHighlightRules = acequire(\"./sqlserver_highlight_rules\").SqlHighlightRules;\nvar SqlServerFoldMode = acequire(\"./folding/sqlserver\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = SqlServerHighlightRules;\n this.foldingRules = new SqlServerFoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n this.lineCommentStart = \"--\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n this.getCompletions = function(state, session, pos, prefix) {\n return session.$mode.$highlightRules.completions;\n };\n \n this.$id = \"ace/mode/sql\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/mode/sqlserver.js\n// module id = 1184\n// module chunks = 3","ace.define(\"ace/mode/doc_comment_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar DocCommentHighlightRules = function() {\n this.$rules = {\n \"start\" : [ {\n token : \"comment.doc.tag\",\n regex : \"@[\\\\w\\\\d_]+\" // TODO: fix email addresses\n }, \n DocCommentHighlightRules.getTagRule(),\n {\n defaultToken : \"comment.doc\",\n caseInsensitive: true\n }]\n };\n};\n\noop.inherits(DocCommentHighlightRules, TextHighlightRules);\n\nDocCommentHighlightRules.getTagRule = function(start) {\n return {\n token : \"comment.doc.tag.storage.type\",\n regex : \"\\\\b(?:TODO|FIXME|XXX|HACK)\\\\b\"\n };\n}\n\nDocCommentHighlightRules.getStartRule = function(start) {\n return {\n token : \"comment.doc\", // doc comment\n regex : \"\\\\/\\\\*(?=\\\\*)\",\n next : start\n };\n};\n\nDocCommentHighlightRules.getEndRule = function (start) {\n return {\n token : \"comment.doc\", // closing comment\n regex : \"\\\\*\\\\/\",\n next : start\n };\n};\n\n\nexports.DocCommentHighlightRules = DocCommentHighlightRules;\n\n});\n\nace.define(\"ace/mode/javascript_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/doc_comment_highlight_rules\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar DocCommentHighlightRules = acequire(\"./doc_comment_highlight_rules\").DocCommentHighlightRules;\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar identifierRe = \"[a-zA-Z\\\\$_\\u00a1-\\uffff][a-zA-Z\\\\d\\\\$_\\u00a1-\\uffff]*\";\n\nvar JavaScriptHighlightRules = function(options) {\n var keywordMapper = this.createKeywordMapper({\n \"variable.language\":\n \"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|\" + // Constructors\n \"Namespace|QName|XML|XMLList|\" + // E4X\n \"ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|\" +\n \"Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|\" +\n \"Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|\" + // Errors\n \"SyntaxError|TypeError|URIError|\" +\n \"decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|\" + // Non-constructor functions\n \"isNaN|parseFloat|parseInt|\" +\n \"JSON|Math|\" + // Other\n \"this|arguments|prototype|window|document\" , // Pseudo\n \"keyword\":\n \"const|yield|import|get|set|async|await|\" +\n \"break|case|catch|continue|default|delete|do|else|finally|for|function|\" +\n \"if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|\" +\n \"__parent__|__count__|escape|unescape|with|__proto__|\" +\n \"class|enum|extends|super|export|implements|private|public|interface|package|protected|static\",\n \"storage.type\":\n \"const|let|var|function\",\n \"constant.language\":\n \"null|Infinity|NaN|undefined\",\n \"support.function\":\n \"alert\",\n \"constant.language.boolean\": \"true|false\"\n }, \"identifier\");\n var kwBeforeRe = \"case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void\";\n\n var escapedRe = \"\\\\\\\\(?:x[0-9a-fA-F]{2}|\" + // hex\n \"u[0-9a-fA-F]{4}|\" + // unicode\n \"u{[0-9a-fA-F]{1,6}}|\" + // es6 unicode\n \"[0-2][0-7]{0,2}|\" + // oct\n \"3[0-7][0-7]?|\" + // oct\n \"[4-7][0-7]?|\" + //oct\n \".)\";\n\n this.$rules = {\n \"no_regex\" : [\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n comments(\"no_regex\"),\n {\n token : \"string\",\n regex : \"'(?=.)\",\n next : \"qstring\"\n }, {\n token : \"string\",\n regex : '\"(?=.)',\n next : \"qqstring\"\n }, {\n token : \"constant.numeric\", // hex\n regex : /0(?:[xX][0-9a-fA-F]+|[bB][01]+)\\b/\n }, {\n token : \"constant.numeric\", // float\n regex : /[+-]?\\d[\\d_]*(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b/\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"support.function\",\n \"punctuation.operator\", \"entity.name.function\", \"text\",\"keyword.operator\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(prototype)(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"entity.name.function\", \"text\", \"keyword.operator\", \"text\", \"storage.type\",\n \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\",\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(\\\\s+)(\\\\w+)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(function)(\\\\s+)(\" + identifierRe + \")(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"entity.name.function\", \"text\", \"punctuation.operator\",\n \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\s*)(:)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : [\n \"text\", \"text\", \"storage.type\", \"text\", \"paren.lparen\"\n ],\n regex : \"(:)(\\\\s*)(function)(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : \"keyword\",\n regex : \"(?:\" + kwBeforeRe + \")\\\\b\",\n next : \"start\"\n }, {\n token : [\"support.constant\"],\n regex : /that\\b/\n }, {\n token : [\"storage.type\", \"punctuation.operator\", \"support.function.firebug\"],\n regex : /(console)(\\.)(warn|info|log|error|time|trace|timeEnd|assert)\\b/\n }, {\n token : keywordMapper,\n regex : identifierRe\n }, {\n token : \"punctuation.operator\",\n regex : /[.](?![.])/,\n next : \"property\"\n }, {\n token : \"keyword.operator\",\n regex : /--|\\+\\+|\\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\\|\\||\\?:|[!$%&*+\\-~\\/^]=?/,\n next : \"start\"\n }, {\n token : \"punctuation.operator\",\n regex : /[?:,;.]/,\n next : \"start\"\n }, {\n token : \"paren.lparen\",\n regex : /[\\[({]/,\n next : \"start\"\n }, {\n token : \"paren.rparen\",\n regex : /[\\])}]/\n }, {\n token: \"comment\",\n regex: /^#!.*$/\n }\n ],\n property: [{\n token : \"text\",\n regex : \"\\\\s+\"\n }, {\n token : [\n \"storage.type\", \"punctuation.operator\", \"entity.name.function\", \"text\",\n \"keyword.operator\", \"text\",\n \"storage.type\", \"text\", \"entity.name.function\", \"text\", \"paren.lparen\"\n ],\n regex : \"(\" + identifierRe + \")(\\\\.)(\" + identifierRe +\")(\\\\s*)(=)(\\\\s*)(function)(?:(\\\\s+)(\\\\w+))?(\\\\s*)(\\\\()\",\n next: \"function_arguments\"\n }, {\n token : \"punctuation.operator\",\n regex : /[.](?![.])/\n }, {\n token : \"support.function\",\n regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\\b(?=\\()/\n }, {\n token : \"support.function.dom\",\n regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\\b(?=\\()/\n }, {\n token : \"support.constant\",\n regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\\b/\n }, {\n token : \"identifier\",\n regex : identifierRe\n }, {\n regex: \"\",\n token: \"empty\",\n next: \"no_regex\"\n }\n ],\n \"start\": [\n DocCommentHighlightRules.getStartRule(\"doc-start\"),\n comments(\"start\"),\n {\n token: \"string.regexp\",\n regex: \"\\\\/\",\n next: \"regex\"\n }, {\n token : \"text\",\n regex : \"\\\\s+|^$\",\n next : \"start\"\n }, {\n token: \"empty\",\n regex: \"\",\n next: \"no_regex\"\n }\n ],\n \"regex\": [\n {\n token: \"regexp.keyword.operator\",\n regex: \"\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)\"\n }, {\n token: \"string.regexp\",\n regex: \"/[sxngimy]*\",\n next: \"no_regex\"\n }, {\n token : \"invalid\",\n regex: /\\{\\d+\\b,?\\d*\\}[+*]|[+*$^?][+*]|[$^][?]|\\?{3,}/\n }, {\n token : \"constant.language.escape\",\n regex: /\\(\\?[:=!]|\\)|\\{\\d+\\b,?\\d*\\}|[+*]\\?|[()$^+*?.]/\n }, {\n token : \"constant.language.delimiter\",\n regex: /\\|/\n }, {\n token: \"constant.language.escape\",\n regex: /\\[\\^?/,\n next: \"regex_character_class\"\n }, {\n token: \"empty\",\n regex: \"$\",\n next: \"no_regex\"\n }, {\n defaultToken: \"string.regexp\"\n }\n ],\n \"regex_character_class\": [\n {\n token: \"regexp.charclass.keyword.operator\",\n regex: \"\\\\\\\\(?:u[\\\\da-fA-F]{4}|x[\\\\da-fA-F]{2}|.)\"\n }, {\n token: \"constant.language.escape\",\n regex: \"]\",\n next: \"regex\"\n }, {\n token: \"constant.language.escape\",\n regex: \"-\"\n }, {\n token: \"empty\",\n regex: \"$\",\n next: \"no_regex\"\n }, {\n defaultToken: \"string.regexp.charachterclass\"\n }\n ],\n \"function_arguments\": [\n {\n token: \"variable.parameter\",\n regex: identifierRe\n }, {\n token: \"punctuation.operator\",\n regex: \"[, ]+\"\n }, {\n token: \"punctuation.operator\",\n regex: \"$\"\n }, {\n token: \"empty\",\n regex: \"\",\n next: \"no_regex\"\n }\n ],\n \"qqstring\" : [\n {\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"string\",\n regex : \"\\\\\\\\$\",\n next : \"qqstring\"\n }, {\n token : \"string\",\n regex : '\"|$',\n next : \"no_regex\"\n }, {\n defaultToken: \"string\"\n }\n ],\n \"qstring\" : [\n {\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"string\",\n regex : \"\\\\\\\\$\",\n next : \"qstring\"\n }, {\n token : \"string\",\n regex : \"'|$\",\n next : \"no_regex\"\n }, {\n defaultToken: \"string\"\n }\n ]\n };\n \n \n if (!options || !options.noES6) {\n this.$rules.no_regex.unshift({\n regex: \"[{}]\", onMatch: function(val, state, stack) {\n this.next = val == \"{\" ? this.nextState : \"\";\n if (val == \"{\" && stack.length) {\n stack.unshift(\"start\", state);\n }\n else if (val == \"}\" && stack.length) {\n stack.shift();\n this.next = stack.shift();\n if (this.next.indexOf(\"string\") != -1 || this.next.indexOf(\"jsx\") != -1)\n return \"paren.quasi.end\";\n }\n return val == \"{\" ? \"paren.lparen\" : \"paren.rparen\";\n },\n nextState: \"start\"\n }, {\n token : \"string.quasi.start\",\n regex : /`/,\n push : [{\n token : \"constant.language.escape\",\n regex : escapedRe\n }, {\n token : \"paren.quasi.start\",\n regex : /\\${/,\n push : \"start\"\n }, {\n token : \"string.quasi.end\",\n regex : /`/,\n next : \"pop\"\n }, {\n defaultToken: \"string.quasi\"\n }]\n });\n \n if (!options || options.jsx != false)\n JSX.call(this);\n }\n \n this.embedRules(DocCommentHighlightRules, \"doc-\",\n [ DocCommentHighlightRules.getEndRule(\"no_regex\") ]);\n \n this.normalizeRules();\n};\n\noop.inherits(JavaScriptHighlightRules, TextHighlightRules);\n\nfunction JSX() {\n var tagRegex = identifierRe.replace(\"\\\\d\", \"\\\\d\\\\-\");\n var jsxTag = {\n onMatch : function(val, state, stack) {\n var offset = val.charAt(1) == \"/\" ? 2 : 1;\n if (offset == 1) {\n if (state != this.nextState)\n stack.unshift(this.next, this.nextState, 0);\n else\n stack.unshift(this.next);\n stack[2]++;\n } else if (offset == 2) {\n if (state == this.nextState) {\n stack[1]--;\n if (!stack[1] || stack[1] < 0) {\n stack.shift();\n stack.shift();\n }\n }\n }\n return [{\n type: \"meta.tag.punctuation.\" + (offset == 1 ? \"\" : \"end-\") + \"tag-open.xml\",\n value: val.slice(0, offset)\n }, {\n type: \"meta.tag.tag-name.xml\",\n value: val.substr(offset)\n }];\n },\n regex : \"\", \n onMatch : function(value, currentState, stack) {\n if (currentState == stack[0])\n stack.shift();\n if (value.length == 2) {\n if (stack[0] == this.nextState)\n stack[1]--;\n if (!stack[1] || stack[1] < 0) {\n stack.splice(0, 2);\n }\n }\n this.next = stack[0] || \"start\";\n return [{type: this.token, value: value}];\n },\n nextState: \"jsx\"\n }, \n jsxJsRule,\n comments(\"jsxAttributes\"),\n {\n token : \"entity.other.attribute-name.xml\",\n regex : tagRegex\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\"\n }, {\n token : \"text.tag-whitespace.xml\",\n regex : \"\\\\s+\"\n }, {\n token : \"string.attribute-value.xml\",\n regex : \"'\",\n stateName : \"jsx_attr_q\",\n push : [\n {token : \"string.attribute-value.xml\", regex: \"'\", next: \"pop\"},\n {include : \"reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }, {\n token : \"string.attribute-value.xml\",\n regex : '\"',\n stateName : \"jsx_attr_qq\",\n push : [\n {token : \"string.attribute-value.xml\", regex: '\"', next: \"pop\"},\n {include : \"reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n },\n jsxTag\n ];\n this.$rules.reference = [{\n token : \"constant.language.escape.reference.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }];\n}\n\nfunction comments(next) {\n return [\n {\n token : \"comment\", // multi line comment\n regex : /\\/\\*/,\n next: [\n DocCommentHighlightRules.getTagRule(),\n {token : \"comment\", regex : \"\\\\*\\\\/\", next : next || \"pop\"},\n {defaultToken : \"comment\", caseInsensitive: true}\n ]\n }, {\n token : \"comment\",\n regex : \"\\\\/\\\\/\",\n next: [\n DocCommentHighlightRules.getTagRule(),\n {token : \"comment\", regex : \"$|^\", next : next || \"pop\"},\n {defaultToken : \"comment\", caseInsensitive: true}\n ]\n }\n ];\n}\nexports.JavaScriptHighlightRules = JavaScriptHighlightRules;\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar Range = acequire(\"../range\").Range;\n\nvar MatchingBraceOutdent = function() {};\n\n(function() {\n\n this.checkOutdent = function(line, input) {\n if (! /^\\s+$/.test(line))\n return false;\n\n return /^\\s*\\}/.test(input);\n };\n\n this.autoOutdent = function(doc, row) {\n var line = doc.getLine(row);\n var match = line.match(/^(\\s*\\})/);\n\n if (!match) return 0;\n\n var column = match[1].length;\n var openBracePos = doc.findMatchingBracket({row: row, column: column});\n\n if (!openBracePos || openBracePos.row == row) return 0;\n\n var indent = this.$getIndent(doc.getLine(openBracePos.row));\n doc.replace(new Range(row, 0, row, column-1), indent);\n };\n\n this.$getIndent = function(line) {\n return line.match(/^\\s*/)[0];\n };\n\n}).call(MatchingBraceOutdent.prototype);\n\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Range = acequire(\"../../range\").Range;\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(\n this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start)\n );\n this.foldingStopMarker = new RegExp(\n this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end)\n );\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n \n this.foldingStartMarker = /(\\{|\\[)[^\\}\\]]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{]*(\\}|\\])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe= /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n \n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n \n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n \n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n \n return fw;\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n \n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n \n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n \n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n \n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n } else if (foldStyle != \"all\")\n range = null;\n }\n \n return range;\n }\n\n if (foldStyle === \"markbegin\")\n return;\n\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n \n this.getSectionRange = function(session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n \n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n } else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n } else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n \n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function(session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n \n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m) continue;\n if (m[1]) depth--;\n else depth++;\n\n if (!depth) break;\n }\n\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/javascript\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/worker/worker_client\",\"ace/mode/behaviour/cstyle\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar CstyleBehaviour = acequire(\"./behaviour/cstyle\").CstyleBehaviour;\nvar CStyleFoldMode = acequire(\"./folding/cstyle\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = JavaScriptHighlightRules;\n \n this.$outdent = new MatchingBraceOutdent();\n this.$behaviour = new CstyleBehaviour();\n this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.lineCommentStart = \"//\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n var indent = this.$getIndent(line);\n\n var tokenizedLine = this.getTokenizer().getLineTokens(line, state);\n var tokens = tokenizedLine.tokens;\n var endState = tokenizedLine.state;\n\n if (tokens.length && tokens[tokens.length-1].type == \"comment\") {\n return indent;\n }\n\n if (state == \"start\" || state == \"no_regex\") {\n var match = line.match(/^.*(?:\\bcase\\b.*:|[\\{\\(\\[])\\s*$/);\n if (match) {\n indent += tab;\n }\n } else if (state == \"doc-start\") {\n if (endState == \"start\" || endState == \"no_regex\") {\n return \"\";\n }\n var match = line.match(/^\\s*(\\/?)\\*/);\n if (match) {\n if (match[1]) {\n indent += \" \";\n }\n indent += \"* \";\n }\n }\n\n return indent;\n };\n\n this.checkOutdent = function(state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n\n this.autoOutdent = function(state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], require(\"../worker/javascript\"), \"JavaScriptWorker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"annotate\", function(results) {\n session.setAnnotations(results.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/javascript\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/xml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\n\nvar XmlHighlightRules = function(normalize) {\n var tagRegex = \"[_:a-zA-Z\\xc0-\\uffff][-_:.a-zA-Z0-9\\xc0-\\uffff]*\";\n\n this.$rules = {\n start : [\n {token : \"string.cdata.xml\", regex : \"<\\\\!\\\\[CDATA\\\\[\", next : \"cdata\"},\n {\n token : [\"punctuation.xml-decl.xml\", \"keyword.xml-decl.xml\"],\n regex : \"(<\\\\?)(xml)(?=[\\\\s])\", next : \"xml_decl\", caseInsensitive: true\n },\n {\n token : [\"punctuation.instruction.xml\", \"keyword.instruction.xml\"],\n regex : \"(<\\\\?)(\" + tagRegex + \")\", next : \"processing_instruction\"\n },\n {token : \"comment.xml\", regex : \"<\\\\!--\", next : \"comment\"},\n {\n token : [\"xml-pe.doctype.xml\", \"xml-pe.doctype.xml\"],\n regex : \"(<\\\\!)(DOCTYPE)(?=[\\\\s])\", next : \"doctype\", caseInsensitive: true\n },\n {include : \"tag\"},\n {token : \"text.end-tag-open.xml\", regex: \"\",\n next : \"start\"\n }],\n\n processing_instruction : [\n {token : \"punctuation.instruction.xml\", regex : \"\\\\?>\", next : \"start\"},\n {defaultToken : \"instruction.xml\"}\n ],\n\n doctype : [\n {include : \"whitespace\"},\n {include : \"string\"},\n {token : \"xml-pe.doctype.xml\", regex : \">\", next : \"start\"},\n {token : \"xml-pe.xml\", regex : \"[-_a-zA-Z0-9:]+\"},\n {token : \"punctuation.int-subset\", regex : \"\\\\[\", push : \"int_subset\"}\n ],\n\n int_subset : [{\n token : \"text.xml\",\n regex : \"\\\\s+\"\n }, {\n token: \"punctuation.int-subset.xml\",\n regex: \"]\",\n next: \"pop\"\n }, {\n token : [\"punctuation.markup-decl.xml\", \"keyword.markup-decl.xml\"],\n regex : \"(<\\\\!)(\" + tagRegex + \")\",\n push : [{\n token : \"text\",\n regex : \"\\\\s+\"\n },\n {\n token : \"punctuation.markup-decl.xml\",\n regex : \">\",\n next : \"pop\"\n },\n {include : \"string\"}]\n }],\n\n cdata : [\n {token : \"string.cdata.xml\", regex : \"\\\\]\\\\]>\", next : \"start\"},\n {token : \"text.xml\", regex : \"\\\\s+\"},\n {token : \"text.xml\", regex : \"(?:[^\\\\]]|\\\\](?!\\\\]>))+\"}\n ],\n\n comment : [\n {token : \"comment.xml\", regex : \"-->\", next : \"start\"},\n {defaultToken : \"comment.xml\"}\n ],\n\n reference : [{\n token : \"constant.language.escape.reference.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n\n attr_reference : [{\n token : \"constant.language.escape.reference.attribute-value.xml\",\n regex : \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n\n tag : [{\n token : [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.tag-name.xml\"],\n regex : \"(?:(<)|(\", next : \"start\"}\n ]\n }],\n\n tag_whitespace : [\n {token : \"text.tag-whitespace.xml\", regex : \"\\\\s+\"}\n ],\n whitespace : [\n {token : \"text.whitespace.xml\", regex : \"\\\\s+\"}\n ],\n string: [{\n token : \"string.xml\",\n regex : \"'\",\n push : [\n {token : \"string.xml\", regex: \"'\", next: \"pop\"},\n {defaultToken : \"string.xml\"}\n ]\n }, {\n token : \"string.xml\",\n regex : '\"',\n push : [\n {token : \"string.xml\", regex: '\"', next: \"pop\"},\n {defaultToken : \"string.xml\"}\n ]\n }],\n\n attributes: [{\n token : \"entity.other.attribute-name.xml\",\n regex : \"(?:\" + tagRegex + \":)?\" + tagRegex + \"\"\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\"\n }, {\n include: \"tag_whitespace\"\n }, {\n include: \"attribute_value\"\n }],\n\n attribute_value: [{\n token : \"string.attribute-value.xml\",\n regex : \"'\",\n push : [\n {token : \"string.attribute-value.xml\", regex: \"'\", next: \"pop\"},\n {include : \"attr_reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }, {\n token : \"string.attribute-value.xml\",\n regex : '\"',\n push : [\n {token : \"string.attribute-value.xml\", regex: '\"', next: \"pop\"},\n {include : \"attr_reference\"},\n {defaultToken : \"string.attribute-value.xml\"}\n ]\n }]\n };\n\n if (this.constructor === XmlHighlightRules)\n this.normalizeRules();\n};\n\n\n(function() {\n\n this.embedTagRules = function(HighlightRules, prefix, tag){\n this.$rules.tag.unshift({\n token : [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex : \"(<)(\" + tag + \"(?=\\\\s|>|$))\",\n next: [\n {include : \"attributes\"},\n {token : \"meta.tag.punctuation.tag-close.xml\", regex : \"/?>\", next : prefix + \"start\"}\n ]\n });\n\n this.$rules[tag + \"-end\"] = [\n {include : \"attributes\"},\n {token : \"meta.tag.punctuation.tag-close.xml\", regex : \"/?>\", next: \"start\",\n onMatch : function(value, currentState, stack) {\n stack.splice(0);\n return this.token;\n }}\n ]\n\n this.embedRules(HighlightRules, prefix, [{\n token: [\"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex : \"(|$))\",\n next: tag + \"-end\"\n }, {\n token: \"string.cdata.xml\",\n regex : \"<\\\\!\\\\[CDATA\\\\[\"\n }, {\n token: \"string.cdata.xml\",\n regex : \"\\\\]\\\\]>\"\n }]);\n };\n\n}).call(TextHighlightRules.prototype);\n\noop.inherits(XmlHighlightRules, TextHighlightRules);\n\nexports.XmlHighlightRules = XmlHighlightRules;\n});\n\nace.define(\"ace/mode/behaviour/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Behaviour = acequire(\"../behaviour\").Behaviour;\nvar TokenIterator = acequire(\"../../token_iterator\").TokenIterator;\nvar lang = acequire(\"../../lib/lang\");\n\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n\nvar XmlBehaviour = function () {\n\n this.add(\"string_dquotes\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '\"' || text == \"'\") {\n var quote = text;\n var selected = session.doc.getTextRange(editor.getSelectionRange());\n if (selected !== \"\" && selected !== \"'\" && selected != '\"' && editor.getWrapBehavioursEnabled()) {\n return {\n text: quote + selected + quote,\n selection: false\n };\n }\n\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n\n if (rightChar == quote && (is(token, \"attribute-value\") || is(token, \"string\"))) {\n return {\n text: \"\",\n selection: [1, 1]\n };\n }\n\n if (!token)\n token = iterator.stepBackward();\n\n if (!token)\n return;\n\n while (is(token, \"tag-whitespace\") || is(token, \"whitespace\")) {\n token = iterator.stepBackward();\n }\n var rightSpace = !rightChar || rightChar.match(/\\s/);\n if (is(token, \"attribute-equals\") && (rightSpace || rightChar == '>') || (is(token, \"decl-attribute-equals\") && (rightSpace || rightChar == '?'))) {\n return {\n text: quote + quote,\n selection: [1, 1]\n };\n }\n }\n });\n\n this.add(\"string_dquotes\", \"deletion\", function(state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && (selected == '\"' || selected == \"'\")) {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n if (rightChar == selected) {\n range.end.column++;\n return range;\n }\n }\n });\n\n this.add(\"autoclosing\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '>') {\n var position = editor.getSelectionRange().start;\n var iterator = new TokenIterator(session, position.row, position.column);\n var token = iterator.getCurrentToken() || iterator.stepBackward();\n if (!token || !(is(token, \"tag-name\") || is(token, \"tag-whitespace\") || is(token, \"attribute-name\") || is(token, \"attribute-equals\") || is(token, \"attribute-value\")))\n return;\n if (is(token, \"reference.attribute-value\"))\n return;\n if (is(token, \"attribute-value\")) {\n var firstChar = token.value.charAt(0);\n if (firstChar == '\"' || firstChar == \"'\") {\n var lastChar = token.value.charAt(token.value.length - 1);\n var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;\n if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)\n return;\n }\n }\n while (!is(token, \"tag-name\")) {\n token = iterator.stepBackward();\n if (token.value == \"<\") {\n token = iterator.stepForward();\n break;\n }\n }\n\n var tokenRow = iterator.getCurrentTokenRow();\n var tokenColumn = iterator.getCurrentTokenColumn();\n if (is(iterator.stepBackward(), \"end-tag-open\"))\n return;\n\n var element = token.value;\n if (tokenRow == position.row)\n element = element.substring(0, position.column - tokenColumn);\n\n if (this.voidElements.hasOwnProperty(element.toLowerCase()))\n return;\n\n return {\n text: \">\" + \"\",\n selection: [1, 1]\n };\n }\n });\n\n this.add(\"autoindent\", \"insertion\", function (state, action, editor, session, text) {\n if (text == \"\\n\") {\n var cursor = editor.getCursorPosition();\n var line = session.getLine(cursor.row);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n\n if (token && token.type.indexOf(\"tag-close\") !== -1) {\n if (token.value == \"/>\")\n return;\n while (token && token.type.indexOf(\"tag-name\") === -1) {\n token = iterator.stepBackward();\n }\n\n if (!token) {\n return;\n }\n\n var tag = token.value;\n var row = iterator.getCurrentTokenRow();\n token = iterator.stepBackward();\n if (!token || token.type.indexOf(\"end-tag\") !== -1) {\n return;\n }\n\n if (this.voidElements && !this.voidElements[tag]) {\n var nextToken = session.getTokenAt(cursor.row, cursor.column+1);\n var line = session.getLine(row);\n var nextIndent = this.$getIndent(line);\n var indent = nextIndent + session.getTabString();\n\n if (nextToken && nextToken.value === \" -1;\n}\n\n(function() {\n\n this.getFoldWidget = function(session, foldStyle, row) {\n var tag = this._getFirstTagInLine(session, row);\n\n if (!tag)\n return \"\";\n\n if (tag.closing || (!tag.tagName && tag.selfClosing))\n return foldStyle == \"markbeginend\" ? \"end\" : \"\";\n\n if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))\n return \"\";\n\n if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))\n return \"\";\n\n return \"start\";\n };\n this._getFirstTagInLine = function(session, row) {\n var tokens = session.getTokens(row);\n var tag = new Tag();\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (is(token, \"tag-open\")) {\n tag.end.column = tag.start.column + token.value.length;\n tag.closing = is(token, \"end-tag-open\");\n token = tokens[++i];\n if (!token)\n return null;\n tag.tagName = token.value;\n tag.end.column += token.value.length;\n for (i++; i < tokens.length; i++) {\n token = tokens[i];\n tag.end.column += token.value.length;\n if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n break;\n }\n }\n return tag;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n return tag;\n }\n tag.start.column += token.value.length;\n }\n\n return null;\n };\n\n this._findEndTagInLine = function(session, row, tagName, startColumn) {\n var tokens = session.getTokens(row);\n var column = 0;\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n column += token.value.length;\n if (column < startColumn)\n continue;\n if (is(token, \"end-tag-open\")) {\n token = tokens[i + 1];\n if (token && token.value == tagName)\n return true;\n }\n }\n return false;\n };\n this._readTagForward = function(iterator) {\n var token = iterator.getCurrentToken();\n if (!token)\n return null;\n\n var tag = new Tag();\n do {\n if (is(token, \"tag-open\")) {\n tag.closing = is(token, \"end-tag-open\");\n tag.start.row = iterator.getCurrentTokenRow();\n tag.start.column = iterator.getCurrentTokenColumn();\n } else if (is(token, \"tag-name\")) {\n tag.tagName = token.value;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == \"/>\";\n tag.end.row = iterator.getCurrentTokenRow();\n tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;\n iterator.stepForward();\n return tag;\n }\n } while(token = iterator.stepForward());\n\n return null;\n };\n \n this._readTagBackward = function(iterator) {\n var token = iterator.getCurrentToken();\n if (!token)\n return null;\n\n var tag = new Tag();\n do {\n if (is(token, \"tag-open\")) {\n tag.closing = is(token, \"end-tag-open\");\n tag.start.row = iterator.getCurrentTokenRow();\n tag.start.column = iterator.getCurrentTokenColumn();\n iterator.stepBackward();\n return tag;\n } else if (is(token, \"tag-name\")) {\n tag.tagName = token.value;\n } else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == \"/>\";\n tag.end.row = iterator.getCurrentTokenRow();\n tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;\n }\n } while(token = iterator.stepBackward());\n\n return null;\n };\n \n this._pop = function(stack, tag) {\n while (stack.length) {\n \n var top = stack[stack.length-1];\n if (!tag || top.tagName == tag.tagName) {\n return stack.pop();\n }\n else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {\n stack.pop();\n continue;\n } else {\n return null;\n }\n }\n };\n \n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var firstTag = this._getFirstTagInLine(session, row);\n \n if (!firstTag)\n return null;\n \n var isBackward = firstTag.closing || firstTag.selfClosing;\n var stack = [];\n var tag;\n \n if (!isBackward) {\n var iterator = new TokenIterator(session, row, firstTag.start.column);\n var start = {\n row: row,\n column: firstTag.start.column + firstTag.tagName.length + 2\n };\n if (firstTag.start.row == firstTag.end.row)\n start.column = firstTag.end.column;\n while (tag = this._readTagForward(iterator)) {\n if (tag.selfClosing) {\n if (!stack.length) {\n tag.start.column += tag.tagName.length + 2;\n tag.end.column -= 2;\n return Range.fromPoints(tag.start, tag.end);\n } else\n continue;\n }\n \n if (tag.closing) {\n this._pop(stack, tag);\n if (stack.length == 0)\n return Range.fromPoints(start, tag.start);\n }\n else {\n stack.push(tag);\n }\n }\n }\n else {\n var iterator = new TokenIterator(session, row, firstTag.end.column);\n var end = {\n row: row,\n column: firstTag.start.column\n };\n \n while (tag = this._readTagBackward(iterator)) {\n if (tag.selfClosing) {\n if (!stack.length) {\n tag.start.column += tag.tagName.length + 2;\n tag.end.column -= 2;\n return Range.fromPoints(tag.start, tag.end);\n } else\n continue;\n }\n \n if (!tag.closing) {\n this._pop(stack, tag);\n if (stack.length == 0) {\n tag.start.column += tag.tagName.length + 2;\n if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)\n tag.start.column = tag.end.column;\n return Range.fromPoints(tag.start, end);\n }\n }\n else {\n stack.push(tag);\n }\n }\n }\n \n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/xml_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/xml\",\"ace/worker/worker_client\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextMode = acequire(\"./text\").Mode;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\nvar XmlBehaviour = acequire(\"./behaviour/xml\").XmlBehaviour;\nvar XmlFoldMode = acequire(\"./folding/xml\").FoldMode;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\n\nvar Mode = function() {\n this.HighlightRules = XmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.foldingRules = new XmlFoldMode();\n};\n\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.voidElements = lang.arrayToMap([]);\n\n this.blockComment = {start: \"\"};\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], require(\"../worker/xml\"), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"error\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n \n this.$id = \"ace/mode/xml\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/css_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar supportType = exports.supportType = \"align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index\";\nvar supportFunction = exports.supportFunction = \"rgb|rgba|url|attr|counter|counters\";\nvar supportConstant = exports.supportConstant = \"absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero\";\nvar supportConstantColor = exports.supportConstantColor = \"aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow\";\nvar supportConstantFonts = exports.supportConstantFonts = \"arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace\";\n\nvar numRe = exports.numRe = \"\\\\-?(?:(?:[0-9]+)|(?:[0-9]*\\\\.[0-9]+))\";\nvar pseudoElements = exports.pseudoElements = \"(\\\\:+)\\\\b(after|before|first-letter|first-line|moz-selection|selection)\\\\b\";\nvar pseudoClasses = exports.pseudoClasses = \"(:)\\\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|acequired|root|target|valid|visited)\\\\b\";\n\nvar CssHighlightRules = function() {\n\n var keywordMapper = this.createKeywordMapper({\n \"support.function\": supportFunction,\n \"support.constant\": supportConstant,\n \"support.type\": supportType,\n \"support.constant.color\": supportConstantColor,\n \"support.constant.fonts\": supportConstantFonts\n }, \"text\", true);\n\n this.$rules = {\n \"start\" : [{\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token: \"paren.lparen\",\n regex: \"\\\\{\",\n push: \"ruleset\"\n }, {\n token: \"string\",\n regex: \"@.*?{\",\n push: \"media\"\n }, {\n token: \"keyword\",\n regex: \"#[a-z0-9-_]+\"\n }, {\n token: \"variable\",\n regex: \"\\\\.[a-z0-9-_]+\"\n }, {\n token: \"string\",\n regex: \":[a-z0-9-_]+\"\n }, {\n token: \"constant\",\n regex: \"[a-z0-9-_]+\"\n }, {\n caseInsensitive: true\n }],\n\n \"media\" : [{\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token: \"paren.lparen\",\n regex: \"\\\\{\",\n push: \"ruleset\"\n }, {\n token: \"string\",\n regex: \"\\\\}\",\n next: \"pop\"\n }, {\n token: \"keyword\",\n regex: \"#[a-z0-9-_]+\"\n }, {\n token: \"variable\",\n regex: \"\\\\.[a-z0-9-_]+\"\n }, {\n token: \"string\",\n regex: \":[a-z0-9-_]+\"\n }, {\n token: \"constant\",\n regex: \"[a-z0-9-_]+\"\n }, {\n caseInsensitive: true\n }],\n\n \"comment\" : [{\n token : \"comment\",\n regex : \"\\\\*\\\\/\",\n next : \"pop\"\n }, {\n defaultToken : \"comment\"\n }],\n\n \"ruleset\" : [\n {\n token : \"paren.rparen\",\n regex : \"\\\\}\",\n next: \"pop\"\n }, {\n token : \"comment\", // multi line comment\n regex : \"\\\\/\\\\*\",\n push : \"comment\"\n }, {\n token : \"string\", // single line\n regex : '[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]'\n }, {\n token : \"string\", // single line\n regex : \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"\n }, {\n token : [\"constant.numeric\", \"keyword\"],\n regex : \"(\" + numRe + \")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)\"\n }, {\n token : \"constant.numeric\",\n regex : numRe\n }, {\n token : \"constant.numeric\", // hex6 color\n regex : \"#[a-f0-9]{6}\"\n }, {\n token : \"constant.numeric\", // hex3 color\n regex : \"#[a-f0-9]{3}\"\n }, {\n token : [\"punctuation\", \"entity.other.attribute-name.pseudo-element.css\"],\n regex : pseudoElements\n }, {\n token : [\"punctuation\", \"entity.other.attribute-name.pseudo-class.css\"],\n regex : pseudoClasses\n }, {\n token : [\"support.function\", \"string\", \"support.function\"],\n regex : \"(url\\\\()(.*)(\\\\))\"\n }, {\n token : keywordMapper,\n regex : \"\\\\-?[a-zA-Z_][a-zA-Z0-9_\\\\-]*\"\n }, {\n caseInsensitive: true\n }]\n };\n\n this.normalizeRules();\n};\n\noop.inherits(CssHighlightRules, TextHighlightRules);\n\nexports.CssHighlightRules = CssHighlightRules;\n\n});\n\nace.define(\"ace/mode/css_completions\",[\"require\",\"exports\",\"module\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar propertyMap = {\n \"background\": {\"#$0\": 1},\n \"background-color\": {\"#$0\": 1, \"transparent\": 1, \"fixed\": 1},\n \"background-image\": {\"url('/$0')\": 1},\n \"background-repeat\": {\"repeat\": 1, \"repeat-x\": 1, \"repeat-y\": 1, \"no-repeat\": 1, \"inherit\": 1},\n \"background-position\": {\"bottom\":2, \"center\":2, \"left\":2, \"right\":2, \"top\":2, \"inherit\":2},\n \"background-attachment\": {\"scroll\": 1, \"fixed\": 1},\n \"background-size\": {\"cover\": 1, \"contain\": 1},\n \"background-clip\": {\"border-box\": 1, \"padding-box\": 1, \"content-box\": 1},\n \"background-origin\": {\"border-box\": 1, \"padding-box\": 1, \"content-box\": 1},\n \"border\": {\"solid $0\": 1, \"dashed $0\": 1, \"dotted $0\": 1, \"#$0\": 1},\n \"border-color\": {\"#$0\": 1},\n \"border-style\": {\"solid\":2, \"dashed\":2, \"dotted\":2, \"double\":2, \"groove\":2, \"hidden\":2, \"inherit\":2, \"inset\":2, \"none\":2, \"outset\":2, \"ridged\":2},\n \"border-collapse\": {\"collapse\": 1, \"separate\": 1},\n \"bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"clear\": {\"left\": 1, \"right\": 1, \"both\": 1, \"none\": 1},\n \"color\": {\"#$0\": 1, \"rgb(#$00,0,0)\": 1},\n \"cursor\": {\"default\": 1, \"pointer\": 1, \"move\": 1, \"text\": 1, \"wait\": 1, \"help\": 1, \"progress\": 1, \"n-resize\": 1, \"ne-resize\": 1, \"e-resize\": 1, \"se-resize\": 1, \"s-resize\": 1, \"sw-resize\": 1, \"w-resize\": 1, \"nw-resize\": 1},\n \"display\": {\"none\": 1, \"block\": 1, \"inline\": 1, \"inline-block\": 1, \"table-cell\": 1},\n \"empty-cells\": {\"show\": 1, \"hide\": 1},\n \"float\": {\"left\": 1, \"right\": 1, \"none\": 1},\n \"font-family\": {\"Arial\":2,\"Comic Sans MS\":2,\"Consolas\":2,\"Courier New\":2,\"Courier\":2,\"Georgia\":2,\"Monospace\":2,\"Sans-Serif\":2, \"Segoe UI\":2,\"Tahoma\":2,\"Times New Roman\":2,\"Trebuchet MS\":2,\"Verdana\": 1},\n \"font-size\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"font-weight\": {\"bold\": 1, \"normal\": 1},\n \"font-style\": {\"italic\": 1, \"normal\": 1},\n \"font-variant\": {\"normal\": 1, \"small-caps\": 1},\n \"height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"letter-spacing\": {\"normal\": 1},\n \"line-height\": {\"normal\": 1},\n \"list-style-type\": {\"none\": 1, \"disc\": 1, \"circle\": 1, \"square\": 1, \"decimal\": 1, \"decimal-leading-zero\": 1, \"lower-roman\": 1, \"upper-roman\": 1, \"lower-greek\": 1, \"lower-latin\": 1, \"upper-latin\": 1, \"georgian\": 1, \"lower-alpha\": 1, \"upper-alpha\": 1},\n \"margin\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"margin-bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"max-height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"max-width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"min-height\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"min-width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"overflow\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"overflow-x\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"overflow-y\": {\"hidden\": 1, \"visible\": 1, \"auto\": 1, \"scroll\": 1},\n \"padding\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-bottom\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"padding-left\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"page-break-after\": {\"auto\": 1, \"always\": 1, \"avoid\": 1, \"left\": 1, \"right\": 1},\n \"page-break-before\": {\"auto\": 1, \"always\": 1, \"avoid\": 1, \"left\": 1, \"right\": 1},\n \"position\": {\"absolute\": 1, \"relative\": 1, \"fixed\": 1, \"static\": 1},\n \"right\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"table-layout\": {\"fixed\": 1, \"auto\": 1},\n \"text-decoration\": {\"none\": 1, \"underline\": 1, \"line-through\": 1, \"blink\": 1},\n \"text-align\": {\"left\": 1, \"right\": 1, \"center\": 1, \"justify\": 1},\n \"text-transform\": {\"capitalize\": 1, \"uppercase\": 1, \"lowercase\": 1, \"none\": 1},\n \"top\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"vertical-align\": {\"top\": 1, \"bottom\": 1},\n \"visibility\": {\"hidden\": 1, \"visible\": 1},\n \"white-space\": {\"nowrap\": 1, \"normal\": 1, \"pre\": 1, \"pre-line\": 1, \"pre-wrap\": 1},\n \"width\": {\"px\": 1, \"em\": 1, \"%\": 1},\n \"word-spacing\": {\"normal\": 1},\n \"filter\": {\"alpha(opacity=$0100)\": 1},\n\n \"text-shadow\": {\"$02px 2px 2px #777\": 1},\n \"text-overflow\": {\"ellipsis-word\": 1, \"clip\": 1, \"ellipsis\": 1},\n \"-moz-border-radius\": 1,\n \"-moz-border-radius-topright\": 1,\n \"-moz-border-radius-bottomright\": 1,\n \"-moz-border-radius-topleft\": 1,\n \"-moz-border-radius-bottomleft\": 1,\n \"-webkit-border-radius\": 1,\n \"-webkit-border-top-right-radius\": 1,\n \"-webkit-border-top-left-radius\": 1,\n \"-webkit-border-bottom-right-radius\": 1,\n \"-webkit-border-bottom-left-radius\": 1,\n \"-moz-box-shadow\": 1,\n \"-webkit-box-shadow\": 1,\n \"transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1},\n \"-moz-transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1},\n \"-webkit-transform\": {\"rotate($00deg)\": 1, \"skew($00deg)\": 1 }\n};\n\nvar CssCompletions = function() {\n\n};\n\n(function() {\n\n this.completionsDefined = false;\n\n this.defineCompletions = function() {\n if (document) {\n var style = document.createElement('c').style;\n\n for (var i in style) {\n if (typeof style[i] !== 'string')\n continue;\n\n var name = i.replace(/[A-Z]/g, function(x) {\n return '-' + x.toLowerCase();\n });\n\n if (!propertyMap.hasOwnProperty(name))\n propertyMap[name] = 1;\n }\n }\n\n this.completionsDefined = true;\n }\n\n this.getCompletions = function(state, session, pos, prefix) {\n if (!this.completionsDefined) {\n this.defineCompletions();\n }\n\n var token = session.getTokenAt(pos.row, pos.column);\n\n if (!token)\n return [];\n if (state==='ruleset'){\n var line = session.getLine(pos.row).substr(0, pos.column);\n if (/:[^;]+$/.test(line)) {\n /([\\w\\-]+):[^:]*$/.test(line);\n\n return this.getPropertyValueCompletions(state, session, pos, prefix);\n } else {\n return this.getPropertyCompletions(state, session, pos, prefix);\n }\n }\n\n return [];\n };\n\n this.getPropertyCompletions = function(state, session, pos, prefix) {\n var properties = Object.keys(propertyMap);\n return properties.map(function(property){\n return {\n caption: property,\n snippet: property + ': $0',\n meta: \"property\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getPropertyValueCompletions = function(state, session, pos, prefix) {\n var line = session.getLine(pos.row).substr(0, pos.column);\n var property = (/([\\w\\-]+):[^:]*$/.exec(line) || {})[1];\n\n if (!property)\n return [];\n var values = [];\n if (property in propertyMap && typeof propertyMap[property] === \"object\") {\n values = Object.keys(propertyMap[property]);\n }\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"property value\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n}).call(CssCompletions.prototype);\n\nexports.CssCompletions = CssCompletions;\n});\n\nace.define(\"ace/mode/behaviour/css\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/mode/behaviour/cstyle\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar Behaviour = acequire(\"../behaviour\").Behaviour;\nvar CstyleBehaviour = acequire(\"./cstyle\").CstyleBehaviour;\nvar TokenIterator = acequire(\"../../token_iterator\").TokenIterator;\n\nvar CssBehaviour = function () {\n\n this.inherit(CstyleBehaviour);\n\n this.add(\"colon\", \"insertion\", function (state, action, editor, session, text) {\n if (text === ':') {\n var cursor = editor.getCursorPosition();\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.value.match(/\\s+/)) {\n token = iterator.stepBackward();\n }\n if (token && token.type === 'support.type') {\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n if (rightChar === ':') {\n return {\n text: '',\n selection: [1, 1]\n }\n }\n if (!line.substring(cursor.column).match(/^\\s*;/)) {\n return {\n text: ':;',\n selection: [1, 1]\n }\n }\n }\n }\n });\n\n this.add(\"colon\", \"deletion\", function (state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && selected === ':') {\n var cursor = editor.getCursorPosition();\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.value.match(/\\s+/)) {\n token = iterator.stepBackward();\n }\n if (token && token.type === 'support.type') {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.end.column, range.end.column + 1);\n if (rightChar === ';') {\n range.end.column ++;\n return range;\n }\n }\n }\n });\n\n this.add(\"semicolon\", \"insertion\", function (state, action, editor, session, text) {\n if (text === ';') {\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n if (rightChar === ';') {\n return {\n text: '',\n selection: [1, 1]\n }\n }\n }\n });\n\n}\noop.inherits(CssBehaviour, CstyleBehaviour);\n\nexports.CssBehaviour = CssBehaviour;\n});\n\nace.define(\"ace/mode/css\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/css_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/worker/worker_client\",\"ace/mode/css_completions\",\"ace/mode/behaviour/css\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\nvar MatchingBraceOutdent = acequire(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar CssCompletions = acequire(\"./css_completions\").CssCompletions;\nvar CssBehaviour = acequire(\"./behaviour/css\").CssBehaviour;\nvar CStyleFoldMode = acequire(\"./folding/cstyle\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = CssHighlightRules;\n this.$outdent = new MatchingBraceOutdent();\n this.$behaviour = new CssBehaviour();\n this.$completer = new CssCompletions();\n this.foldingRules = new CStyleFoldMode();\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.foldingRules = \"cStyle\";\n this.blockComment = {start: \"/*\", end: \"*/\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n var indent = this.$getIndent(line);\n var tokens = this.getTokenizer().getLineTokens(line, state).tokens;\n if (tokens.length && tokens[tokens.length-1].type == \"comment\") {\n return indent;\n }\n\n var match = line.match(/^.*\\{\\s*$/);\n if (match) {\n indent += tab;\n }\n\n return indent;\n };\n\n this.checkOutdent = function(state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n\n this.autoOutdent = function(state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n\n this.getCompletions = function(state, session, pos, prefix) {\n return this.$completer.getCompletions(state, session, pos, prefix);\n };\n\n this.createWorker = function(session) {\n var worker = new WorkerClient([\"ace\"], require(\"../worker/css\"), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n worker.on(\"annotate\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/css\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n\n});\n\nace.define(\"ace/mode/html_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/css_highlight_rules\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/xml_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\n\nvar tagMap = lang.createMap({\n a : 'anchor',\n button \t : 'form',\n form : 'form',\n img : 'image',\n input : 'form',\n label : 'form',\n option : 'form',\n script : 'script',\n select : 'form',\n textarea : 'form',\n style : 'style',\n table : 'table',\n tbody : 'table',\n td : 'table',\n tfoot : 'table',\n th : 'table',\n tr : 'table'\n});\n\nvar HtmlHighlightRules = function() {\n XmlHighlightRules.call(this);\n\n this.addRules({\n attributes: [{\n include : \"tag_whitespace\"\n }, {\n token : \"entity.other.attribute-name.xml\",\n regex : \"[-_a-zA-Z0-9:.]+\"\n }, {\n token : \"keyword.operator.attribute-equals.xml\",\n regex : \"=\",\n push : [{\n include: \"tag_whitespace\"\n }, {\n token : \"string.unquoted.attribute-value.html\",\n regex : \"[^<>='\\\"`\\\\s]+\",\n next : \"pop\"\n }, {\n token : \"empty\",\n regex : \"\",\n next : \"pop\"\n }]\n }, {\n include : \"attribute_value\"\n }],\n tag: [{\n token : function(start, tag) {\n var group = tagMap[tag];\n return [\"meta.tag.punctuation.\" + (start == \"<\" ? \"\" : \"end-\") + \"tag-open.xml\",\n \"meta.tag\" + (group ? \".\" + group : \"\") + \".tag-name.xml\"];\n },\n regex : \"(\", next : \"start\"}\n ]\n });\n\n this.embedTagRules(CssHighlightRules, \"css-\", \"style\");\n this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), \"js-\", \"script\");\n\n if (this.constructor === HtmlHighlightRules)\n this.normalizeRules();\n};\n\noop.inherits(HtmlHighlightRules, XmlHighlightRules);\n\nexports.HtmlHighlightRules = HtmlHighlightRules;\n});\n\nace.define(\"ace/mode/folding/mixed\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(defaultMode, subModes) {\n this.defaultMode = defaultMode;\n this.subModes = subModes;\n};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n\n\n this.$getMode = function(state) {\n if (typeof state != \"string\") \n state = state[0];\n for (var key in this.subModes) {\n if (state.indexOf(key) === 0)\n return this.subModes[key];\n }\n return null;\n };\n \n this.$tryMode = function(state, session, foldStyle, row) {\n var mode = this.$getMode(state);\n return (mode ? mode.getFoldWidget(session, foldStyle, row) : \"\");\n };\n\n this.getFoldWidget = function(session, foldStyle, row) {\n return (\n this.$tryMode(session.getState(row-1), session, foldStyle, row) ||\n this.$tryMode(session.getState(row), session, foldStyle, row) ||\n this.defaultMode.getFoldWidget(session, foldStyle, row)\n );\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var mode = this.$getMode(session.getState(row-1));\n \n if (!mode || !mode.getFoldWidget(session, foldStyle, row))\n mode = this.$getMode(session.getState(row));\n \n if (!mode || !mode.getFoldWidget(session, foldStyle, row))\n mode = this.defaultMode;\n \n return mode.getFoldWidgetRange(session, foldStyle, row);\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/folding/html\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/mixed\",\"ace/mode/folding/xml\",\"ace/mode/folding/cstyle\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar MixedFoldMode = acequire(\"./mixed\").FoldMode;\nvar XmlFoldMode = acequire(\"./xml\").FoldMode;\nvar CStyleFoldMode = acequire(\"./cstyle\").FoldMode;\n\nvar FoldMode = exports.FoldMode = function(voidElements, optionalTags) {\n MixedFoldMode.call(this, new XmlFoldMode(voidElements, optionalTags), {\n \"js-\": new CStyleFoldMode(),\n \"css-\": new CStyleFoldMode()\n });\n};\n\noop.inherits(FoldMode, MixedFoldMode);\n\n});\n\nace.define(\"ace/mode/html_completions\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar TokenIterator = acequire(\"../token_iterator\").TokenIterator;\n\nvar commonAttributes = [\n \"accesskey\",\n \"class\",\n \"contenteditable\",\n \"contextmenu\",\n \"dir\",\n \"draggable\",\n \"dropzone\",\n \"hidden\",\n \"id\",\n \"inert\",\n \"itemid\",\n \"itemprop\",\n \"itemref\",\n \"itemscope\",\n \"itemtype\",\n \"lang\",\n \"spellcheck\",\n \"style\",\n \"tabindex\",\n \"title\",\n \"translate\"\n];\n\nvar eventAttributes = [\n \"onabort\",\n \"onblur\",\n \"oncancel\",\n \"oncanplay\",\n \"oncanplaythrough\",\n \"onchange\",\n \"onclick\",\n \"onclose\",\n \"oncontextmenu\",\n \"oncuechange\",\n \"ondblclick\",\n \"ondrag\",\n \"ondragend\",\n \"ondragenter\",\n \"ondragleave\",\n \"ondragover\",\n \"ondragstart\",\n \"ondrop\",\n \"ondurationchange\",\n \"onemptied\",\n \"onended\",\n \"onerror\",\n \"onfocus\",\n \"oninput\",\n \"oninvalid\",\n \"onkeydown\",\n \"onkeypress\",\n \"onkeyup\",\n \"onload\",\n \"onloadeddata\",\n \"onloadedmetadata\",\n \"onloadstart\",\n \"onmousedown\",\n \"onmousemove\",\n \"onmouseout\",\n \"onmouseover\",\n \"onmouseup\",\n \"onmousewheel\",\n \"onpause\",\n \"onplay\",\n \"onplaying\",\n \"onprogress\",\n \"onratechange\",\n \"onreset\",\n \"onscroll\",\n \"onseeked\",\n \"onseeking\",\n \"onselect\",\n \"onshow\",\n \"onstalled\",\n \"onsubmit\",\n \"onsuspend\",\n \"ontimeupdate\",\n \"onvolumechange\",\n \"onwaiting\"\n];\n\nvar globalAttributes = commonAttributes.concat(eventAttributes);\n\nvar attributeMap = {\n \"html\": {\"manifest\": 1},\n \"head\": {},\n \"title\": {},\n \"base\": {\"href\": 1, \"target\": 1},\n \"link\": {\"href\": 1, \"hreflang\": 1, \"rel\": {\"stylesheet\": 1, \"icon\": 1}, \"media\": {\"all\": 1, \"screen\": 1, \"print\": 1}, \"type\": {\"text/css\": 1, \"image/png\": 1, \"image/jpeg\": 1, \"image/gif\": 1}, \"sizes\": 1},\n \"meta\": {\"http-equiv\": {\"content-type\": 1}, \"name\": {\"description\": 1, \"keywords\": 1}, \"content\": {\"text/html; charset=UTF-8\": 1}, \"charset\": 1},\n \"style\": {\"type\": 1, \"media\": {\"all\": 1, \"screen\": 1, \"print\": 1}, \"scoped\": 1},\n \"script\": {\"charset\": 1, \"type\": {\"text/javascript\": 1}, \"src\": 1, \"defer\": 1, \"async\": 1},\n \"noscript\": {\"href\": 1},\n \"body\": {\"onafterprint\": 1, \"onbeforeprint\": 1, \"onbeforeunload\": 1, \"onhashchange\": 1, \"onmessage\": 1, \"onoffline\": 1, \"onpopstate\": 1, \"onredo\": 1, \"onresize\": 1, \"onstorage\": 1, \"onundo\": 1, \"onunload\": 1},\n \"section\": {},\n \"nav\": {},\n \"article\": {\"pubdate\": 1},\n \"aside\": {},\n \"h1\": {},\n \"h2\": {},\n \"h3\": {},\n \"h4\": {},\n \"h5\": {},\n \"h6\": {},\n \"header\": {},\n \"footer\": {},\n \"address\": {},\n \"main\": {},\n \"p\": {},\n \"hr\": {},\n \"pre\": {},\n \"blockquote\": {\"cite\": 1},\n \"ol\": {\"start\": 1, \"reversed\": 1},\n \"ul\": {},\n \"li\": {\"value\": 1},\n \"dl\": {},\n \"dt\": {},\n \"dd\": {},\n \"figure\": {},\n \"figcaption\": {},\n \"div\": {},\n \"a\": {\"href\": 1, \"target\": {\"_blank\": 1, \"top\": 1}, \"ping\": 1, \"rel\": {\"nofollow\": 1, \"alternate\": 1, \"author\": 1, \"bookmark\": 1, \"help\": 1, \"license\": 1, \"next\": 1, \"noreferrer\": 1, \"prefetch\": 1, \"prev\": 1, \"search\": 1, \"tag\": 1}, \"media\": 1, \"hreflang\": 1, \"type\": 1},\n \"em\": {},\n \"strong\": {},\n \"small\": {},\n \"s\": {},\n \"cite\": {},\n \"q\": {\"cite\": 1},\n \"dfn\": {},\n \"abbr\": {},\n \"data\": {},\n \"time\": {\"datetime\": 1},\n \"code\": {},\n \"var\": {},\n \"samp\": {},\n \"kbd\": {},\n \"sub\": {},\n \"sup\": {},\n \"i\": {},\n \"b\": {},\n \"u\": {},\n \"mark\": {},\n \"ruby\": {},\n \"rt\": {},\n \"rp\": {},\n \"bdi\": {},\n \"bdo\": {},\n \"span\": {},\n \"br\": {},\n \"wbr\": {},\n \"ins\": {\"cite\": 1, \"datetime\": 1},\n \"del\": {\"cite\": 1, \"datetime\": 1},\n \"img\": {\"alt\": 1, \"src\": 1, \"height\": 1, \"width\": 1, \"usemap\": 1, \"ismap\": 1},\n \"iframe\": {\"name\": 1, \"src\": 1, \"height\": 1, \"width\": 1, \"sandbox\": {\"allow-same-origin\": 1, \"allow-top-navigation\": 1, \"allow-forms\": 1, \"allow-scripts\": 1}, \"seamless\": {\"seamless\": 1}},\n \"embed\": {\"src\": 1, \"height\": 1, \"width\": 1, \"type\": 1},\n \"object\": {\"param\": 1, \"data\": 1, \"type\": 1, \"height\" : 1, \"width\": 1, \"usemap\": 1, \"name\": 1, \"form\": 1, \"classid\": 1},\n \"param\": {\"name\": 1, \"value\": 1},\n \"video\": {\"src\": 1, \"autobuffer\": 1, \"autoplay\": {\"autoplay\": 1}, \"loop\": {\"loop\": 1}, \"controls\": {\"controls\": 1}, \"width\": 1, \"height\": 1, \"poster\": 1, \"muted\": {\"muted\": 1}, \"preload\": {\"auto\": 1, \"metadata\": 1, \"none\": 1}},\n \"audio\": {\"src\": 1, \"autobuffer\": 1, \"autoplay\": {\"autoplay\": 1}, \"loop\": {\"loop\": 1}, \"controls\": {\"controls\": 1}, \"muted\": {\"muted\": 1}, \"preload\": {\"auto\": 1, \"metadata\": 1, \"none\": 1 }},\n \"source\": {\"src\": 1, \"type\": 1, \"media\": 1},\n \"track\": {\"kind\": 1, \"src\": 1, \"srclang\": 1, \"label\": 1, \"default\": 1},\n \"canvas\": {\"width\": 1, \"height\": 1},\n \"map\": {\"name\": 1},\n \"area\": {\"shape\": 1, \"coords\": 1, \"href\": 1, \"hreflang\": 1, \"alt\": 1, \"target\": 1, \"media\": 1, \"rel\": 1, \"ping\": 1, \"type\": 1},\n \"svg\": {},\n \"math\": {},\n \"table\": {\"summary\": 1},\n \"caption\": {},\n \"colgroup\": {\"span\": 1},\n \"col\": {\"span\": 1},\n \"tbody\": {},\n \"thead\": {},\n \"tfoot\": {},\n \"tr\": {},\n \"td\": {\"headers\": 1, \"rowspan\": 1, \"colspan\": 1},\n \"th\": {\"headers\": 1, \"rowspan\": 1, \"colspan\": 1, \"scope\": 1},\n \"form\": {\"accept-charset\": 1, \"action\": 1, \"autocomplete\": 1, \"enctype\": {\"multipart/form-data\": 1, \"application/x-www-form-urlencoded\": 1}, \"method\": {\"get\": 1, \"post\": 1}, \"name\": 1, \"novalidate\": 1, \"target\": {\"_blank\": 1, \"top\": 1}},\n \"fieldset\": {\"disabled\": 1, \"form\": 1, \"name\": 1},\n \"legend\": {},\n \"label\": {\"form\": 1, \"for\": 1},\n \"input\": {\n \"type\": {\"text\": 1, \"password\": 1, \"hidden\": 1, \"checkbox\": 1, \"submit\": 1, \"radio\": 1, \"file\": 1, \"button\": 1, \"reset\": 1, \"image\": 31, \"color\": 1, \"date\": 1, \"datetime\": 1, \"datetime-local\": 1, \"email\": 1, \"month\": 1, \"number\": 1, \"range\": 1, \"search\": 1, \"tel\": 1, \"time\": 1, \"url\": 1, \"week\": 1},\n \"accept\": 1, \"alt\": 1, \"autocomplete\": {\"on\": 1, \"off\": 1}, \"autofocus\": {\"autofocus\": 1}, \"checked\": {\"checked\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"formaction\": 1, \"formenctype\": {\"application/x-www-form-urlencoded\": 1, \"multipart/form-data\": 1, \"text/plain\": 1}, \"formmethod\": {\"get\": 1, \"post\": 1}, \"formnovalidate\": {\"formnovalidate\": 1}, \"formtarget\": {\"_blank\": 1, \"_self\": 1, \"_parent\": 1, \"_top\": 1}, \"height\": 1, \"list\": 1, \"max\": 1, \"maxlength\": 1, \"min\": 1, \"multiple\": {\"multiple\": 1}, \"name\": 1, \"pattern\": 1, \"placeholder\": 1, \"readonly\": {\"readonly\": 1}, \"acequired\": {\"acequired\": 1}, \"size\": 1, \"src\": 1, \"step\": 1, \"width\": 1, \"files\": 1, \"value\": 1},\n \"button\": {\"autofocus\": 1, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"formaction\": 1, \"formenctype\": 1, \"formmethod\": 1, \"formnovalidate\": 1, \"formtarget\": 1, \"name\": 1, \"value\": 1, \"type\": {\"button\": 1, \"submit\": 1}},\n \"select\": {\"autofocus\": 1, \"disabled\": 1, \"form\": 1, \"multiple\": {\"multiple\": 1}, \"name\": 1, \"size\": 1, \"readonly\":{\"readonly\": 1}},\n \"datalist\": {},\n \"optgroup\": {\"disabled\": 1, \"label\": 1},\n \"option\": {\"disabled\": 1, \"selected\": 1, \"label\": 1, \"value\": 1},\n \"textarea\": {\"autofocus\": {\"autofocus\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"maxlength\": 1, \"name\": 1, \"placeholder\": 1, \"readonly\": {\"readonly\": 1}, \"acequired\": {\"acequired\": 1}, \"rows\": 1, \"cols\": 1, \"wrap\": {\"on\": 1, \"off\": 1, \"hard\": 1, \"soft\": 1}},\n \"keygen\": {\"autofocus\": 1, \"challenge\": {\"challenge\": 1}, \"disabled\": {\"disabled\": 1}, \"form\": 1, \"keytype\": {\"rsa\": 1, \"dsa\": 1, \"ec\": 1}, \"name\": 1},\n \"output\": {\"for\": 1, \"form\": 1, \"name\": 1},\n \"progress\": {\"value\": 1, \"max\": 1},\n \"meter\": {\"value\": 1, \"min\": 1, \"max\": 1, \"low\": 1, \"high\": 1, \"optimum\": 1},\n \"details\": {\"open\": 1},\n \"summary\": {},\n \"command\": {\"type\": 1, \"label\": 1, \"icon\": 1, \"disabled\": 1, \"checked\": 1, \"radiogroup\": 1, \"command\": 1},\n \"menu\": {\"type\": 1, \"label\": 1},\n \"dialog\": {\"open\": 1}\n};\n\nvar elements = Object.keys(attributeMap);\n\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n\nfunction findTagName(session, pos) {\n var iterator = new TokenIterator(session, pos.row, pos.column);\n var token = iterator.getCurrentToken();\n while (token && !is(token, \"tag-name\")){\n token = iterator.stepBackward();\n }\n if (token)\n return token.value;\n}\n\nfunction findAttributeName(session, pos) {\n var iterator = new TokenIterator(session, pos.row, pos.column);\n var token = iterator.getCurrentToken();\n while (token && !is(token, \"attribute-name\")){\n token = iterator.stepBackward();\n }\n if (token)\n return token.value;\n}\n\nvar HtmlCompletions = function() {\n\n};\n\n(function() {\n\n this.getCompletions = function(state, session, pos, prefix) {\n var token = session.getTokenAt(pos.row, pos.column);\n\n if (!token)\n return [];\n if (is(token, \"tag-name\") || is(token, \"tag-open\") || is(token, \"end-tag-open\"))\n return this.getTagCompletions(state, session, pos, prefix);\n if (is(token, \"tag-whitespace\") || is(token, \"attribute-name\"))\n return this.getAttributeCompletions(state, session, pos, prefix);\n if (is(token, \"attribute-value\"))\n return this.getAttributeValueCompletions(state, session, pos, prefix);\n var line = session.getLine(pos.row).substr(0, pos.column);\n if (/&[a-z]*$/i.test(line))\n return this.getHTMLEntityCompletions(state, session, pos, prefix);\n\n return [];\n };\n\n this.getTagCompletions = function(state, session, pos, prefix) {\n return elements.map(function(element){\n return {\n value: element,\n meta: \"tag\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getAttributeCompletions = function(state, session, pos, prefix) {\n var tagName = findTagName(session, pos);\n if (!tagName)\n return [];\n var attributes = globalAttributes;\n if (tagName in attributeMap) {\n attributes = attributes.concat(Object.keys(attributeMap[tagName]));\n }\n return attributes.map(function(attribute){\n return {\n caption: attribute,\n snippet: attribute + '=\"$0\"',\n meta: \"attribute\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getAttributeValueCompletions = function(state, session, pos, prefix) {\n var tagName = findTagName(session, pos);\n var attributeName = findAttributeName(session, pos);\n \n if (!tagName)\n return [];\n var values = [];\n if (tagName in attributeMap && attributeName in attributeMap[tagName] && typeof attributeMap[tagName][attributeName] === \"object\") {\n values = Object.keys(attributeMap[tagName][attributeName]);\n }\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"attribute value\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n this.getHTMLEntityCompletions = function(state, session, pos, prefix) {\n var values = ['Aacute;', 'aacute;', 'Acirc;', 'acirc;', 'acute;', 'AElig;', 'aelig;', 'Agrave;', 'agrave;', 'alefsym;', 'Alpha;', 'alpha;', 'amp;', 'and;', 'ang;', 'Aring;', 'aring;', 'asymp;', 'Atilde;', 'atilde;', 'Auml;', 'auml;', 'bdquo;', 'Beta;', 'beta;', 'brvbar;', 'bull;', 'cap;', 'Ccedil;', 'ccedil;', 'cedil;', 'cent;', 'Chi;', 'chi;', 'circ;', 'clubs;', 'cong;', 'copy;', 'crarr;', 'cup;', 'curren;', 'Dagger;', 'dagger;', 'dArr;', 'darr;', 'deg;', 'Delta;', 'delta;', 'diams;', 'divide;', 'Eacute;', 'eacute;', 'Ecirc;', 'ecirc;', 'Egrave;', 'egrave;', 'empty;', 'emsp;', 'ensp;', 'Epsilon;', 'epsilon;', 'equiv;', 'Eta;', 'eta;', 'ETH;', 'eth;', 'Euml;', 'euml;', 'euro;', 'exist;', 'fnof;', 'forall;', 'frac12;', 'frac14;', 'frac34;', 'frasl;', 'Gamma;', 'gamma;', 'ge;', 'gt;', 'hArr;', 'harr;', 'hearts;', 'hellip;', 'Iacute;', 'iacute;', 'Icirc;', 'icirc;', 'iexcl;', 'Igrave;', 'igrave;', 'image;', 'infin;', 'int;', 'Iota;', 'iota;', 'iquest;', 'isin;', 'Iuml;', 'iuml;', 'Kappa;', 'kappa;', 'Lambda;', 'lambda;', 'lang;', 'laquo;', 'lArr;', 'larr;', 'lceil;', 'ldquo;', 'le;', 'lfloor;', 'lowast;', 'loz;', 'lrm;', 'lsaquo;', 'lsquo;', 'lt;', 'macr;', 'mdash;', 'micro;', 'middot;', 'minus;', 'Mu;', 'mu;', 'nabla;', 'nbsp;', 'ndash;', 'ne;', 'ni;', 'not;', 'notin;', 'nsub;', 'Ntilde;', 'ntilde;', 'Nu;', 'nu;', 'Oacute;', 'oacute;', 'Ocirc;', 'ocirc;', 'OElig;', 'oelig;', 'Ograve;', 'ograve;', 'oline;', 'Omega;', 'omega;', 'Omicron;', 'omicron;', 'oplus;', 'or;', 'ordf;', 'ordm;', 'Oslash;', 'oslash;', 'Otilde;', 'otilde;', 'otimes;', 'Ouml;', 'ouml;', 'para;', 'part;', 'permil;', 'perp;', 'Phi;', 'phi;', 'Pi;', 'pi;', 'piv;', 'plusmn;', 'pound;', 'Prime;', 'prime;', 'prod;', 'prop;', 'Psi;', 'psi;', 'quot;', 'radic;', 'rang;', 'raquo;', 'rArr;', 'rarr;', 'rceil;', 'rdquo;', 'real;', 'reg;', 'rfloor;', 'Rho;', 'rho;', 'rlm;', 'rsaquo;', 'rsquo;', 'sbquo;', 'Scaron;', 'scaron;', 'sdot;', 'sect;', 'shy;', 'Sigma;', 'sigma;', 'sigmaf;', 'sim;', 'spades;', 'sub;', 'sube;', 'sum;', 'sup;', 'sup1;', 'sup2;', 'sup3;', 'supe;', 'szlig;', 'Tau;', 'tau;', 'there4;', 'Theta;', 'theta;', 'thetasym;', 'thinsp;', 'THORN;', 'thorn;', 'tilde;', 'times;', 'trade;', 'Uacute;', 'uacute;', 'uArr;', 'uarr;', 'Ucirc;', 'ucirc;', 'Ugrave;', 'ugrave;', 'uml;', 'upsih;', 'Upsilon;', 'upsilon;', 'Uuml;', 'uuml;', 'weierp;', 'Xi;', 'xi;', 'Yacute;', 'yacute;', 'yen;', 'Yuml;', 'yuml;', 'Zeta;', 'zeta;', 'zwj;', 'zwnj;'];\n\n return values.map(function(value){\n return {\n caption: value,\n snippet: value,\n meta: \"html entity\",\n score: Number.MAX_VALUE\n };\n });\n };\n\n}).call(HtmlCompletions.prototype);\n\nexports.HtmlCompletions = HtmlCompletions;\n});\n\nace.define(\"ace/mode/html\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/javascript\",\"ace/mode/css\",\"ace/mode/html_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/html\",\"ace/mode/html_completions\",\"ace/worker/worker_client\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptMode = acequire(\"./javascript\").Mode;\nvar CssMode = acequire(\"./css\").Mode;\nvar HtmlHighlightRules = acequire(\"./html_highlight_rules\").HtmlHighlightRules;\nvar XmlBehaviour = acequire(\"./behaviour/xml\").XmlBehaviour;\nvar HtmlFoldMode = acequire(\"./folding/html\").FoldMode;\nvar HtmlCompletions = acequire(\"./html_completions\").HtmlCompletions;\nvar WorkerClient = acequire(\"../worker/worker_client\").WorkerClient;\nvar voidElements = [\"area\", \"base\", \"br\", \"col\", \"embed\", \"hr\", \"img\", \"input\", \"keygen\", \"link\", \"meta\", \"menuitem\", \"param\", \"source\", \"track\", \"wbr\"];\nvar optionalEndTags = [\"li\", \"dt\", \"dd\", \"p\", \"rt\", \"rp\", \"optgroup\", \"option\", \"colgroup\", \"td\", \"th\"];\n\nvar Mode = function(options) {\n this.fragmentContext = options && options.fragmentContext;\n this.HighlightRules = HtmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.$completer = new HtmlCompletions();\n \n this.createModeDelegates({\n \"js-\": JavaScriptMode,\n \"css-\": CssMode\n });\n \n this.foldingRules = new HtmlFoldMode(this.voidElements, lang.arrayToMap(optionalEndTags));\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n\n this.blockComment = {start: \"\"};\n\n this.voidElements = lang.arrayToMap(voidElements);\n\n this.getNextLineIndent = function(state, line, tab) {\n return this.$getIndent(line);\n };\n\n this.checkOutdent = function(state, line, input) {\n return false;\n };\n\n this.getCompletions = function(state, session, pos, prefix) {\n return this.$completer.getCompletions(state, session, pos, prefix);\n };\n\n this.createWorker = function(session) {\n if (this.constructor != Mode)\n return;\n var worker = new WorkerClient([\"ace\"], require(\"../worker/html\"), \"Worker\");\n worker.attachToDocument(session.getDocument());\n\n if (this.fragmentContext)\n worker.call(\"setOptions\", [{context: this.fragmentContext}]);\n\n worker.on(\"error\", function(e) {\n session.setAnnotations(e.data);\n });\n\n worker.on(\"terminate\", function() {\n session.clearAnnotations();\n });\n\n return worker;\n };\n\n this.$id = \"ace/mode/html\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\nace.define(\"ace/mode/markdown_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text_highlight_rules\",\"ace/mode/javascript_highlight_rules\",\"ace/mode/xml_highlight_rules\",\"ace/mode/html_highlight_rules\",\"ace/mode/css_highlight_rules\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar lang = acequire(\"../lib/lang\");\nvar TextHighlightRules = acequire(\"./text_highlight_rules\").TextHighlightRules;\nvar JavaScriptHighlightRules = acequire(\"./javascript_highlight_rules\").JavaScriptHighlightRules;\nvar XmlHighlightRules = acequire(\"./xml_highlight_rules\").XmlHighlightRules;\nvar HtmlHighlightRules = acequire(\"./html_highlight_rules\").HtmlHighlightRules;\nvar CssHighlightRules = acequire(\"./css_highlight_rules\").CssHighlightRules;\n\nvar escaped = function(ch) {\n return \"(?:[^\" + lang.escapeRegExp(ch) + \"\\\\\\\\]|\\\\\\\\.)*\";\n}\n\nfunction github_embed(tag, prefix) {\n return { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\" + tag + \"\\\\s*$\",\n push : prefix + \"start\"\n };\n}\n\nvar MarkdownHighlightRules = function() {\n HtmlHighlightRules.call(this);\n\n this.$rules[\"start\"].unshift({\n token : \"empty_line\",\n regex : '^$',\n next: \"allowBlock\"\n }, { // h1\n token: \"markup.heading.1\",\n regex: \"^=+(?=\\\\s*$)\"\n }, { // h2\n token: \"markup.heading.2\",\n regex: \"^\\\\-+(?=\\\\s*$)\"\n }, {\n token : function(value) {\n return \"markup.heading.\" + value.length;\n },\n regex : /^#{1,6}(?=\\s*[^ #]|\\s+#.)/,\n next : \"header\"\n },\n github_embed(\"(?:javascript|js)\", \"jscode-\"),\n github_embed(\"xml\", \"xmlcode-\"),\n github_embed(\"html\", \"htmlcode-\"),\n github_embed(\"css\", \"csscode-\"),\n { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\\\\s*\\\\S*(?:{.*?\\\\})?\\\\s*$\",\n next : \"githubblock\"\n }, { // block quote\n token : \"string.blockquote\",\n regex : \"^\\\\s*>\\\\s*(?:[*+-]|\\\\d+\\\\.)?\\\\s+\",\n next : \"blockquote\"\n }, { // HR * - _\n token : \"constant\",\n regex : \"^ {0,2}(?:(?: ?\\\\* ?){3,}|(?: ?\\\\- ?){3,}|(?: ?\\\\_ ?){3,})\\\\s*$\",\n next: \"allowBlock\"\n }, { // list\n token : \"markup.list\",\n regex : \"^\\\\s{0,3}(?:[*+-]|\\\\d+\\\\.)\\\\s+\",\n next : \"listblock-start\"\n }, {\n include : \"basic\"\n });\n\n this.addRules({\n \"basic\" : [{\n token : \"constant.language.escape\",\n regex : /\\\\[\\\\`*_{}\\[\\]()#+\\-.!]/\n }, { // code span `\n token : \"support.function\",\n regex : \"(`+)(.*?[^`])(\\\\1)\"\n }, { // reference\n token : [\"text\", \"constant\", \"text\", \"url\", \"string\", \"text\"],\n regex : \"^([ ]{0,3}\\\\[)([^\\\\]]+)(\\\\]:\\\\s*)([^ ]+)(\\\\s*(?:[\\\"][^\\\"]+[\\\"])?(\\\\s*))$\"\n }, { // link by reference\n token : [\"text\", \"string\", \"text\", \"constant\", \"text\"],\n regex : \"(\\\\[)(\" + escaped(\"]\") + \")(\\\\]\\\\s*\\\\[)(\"+ escaped(\"]\") + \")(\\\\])\"\n }, { // link by url\n token : [\"text\", \"string\", \"text\", \"markup.underline\", \"string\", \"text\"],\n regex : \"(\\\\[)(\" + // [\n escaped(\"]\") + // link text\n \")(\\\\]\\\\()\"+ // ](\n '((?:[^\\\\)\\\\s\\\\\\\\]|\\\\\\\\.|\\\\s(?=[^\"]))*)' + // href\n '(\\\\s*\"' + escaped('\"') + '\"\\\\s*)?' + // \"title\"\n \"(\\\\))\" // )\n }, { // strong ** __\n token : \"string.strong\",\n regex : \"([*]{2}|[_]{2}(?=\\\\S))(.*?\\\\S[*_]*)(\\\\1)\"\n }, { // emphasis * _\n token : \"string.emphasis\",\n regex : \"([*]|[_](?=\\\\S))(.*?\\\\S[*_]*)(\\\\1)\"\n }, { //\n token : [\"text\", \"url\", \"text\"],\n regex : \"(<)(\"+\n \"(?:https?|ftp|dict):[^'\\\">\\\\s]+\"+\n \"|\"+\n \"(?:mailto:)?[-.\\\\w]+\\\\@[-a-z0-9]+(?:\\\\.[-a-z0-9]+)*\\\\.[a-z]+\"+\n \")(>)\"\n }],\n \"allowBlock\": [\n {token : \"support.function\", regex : \"^ {4}.+\", next : \"allowBlock\"},\n {token : \"empty_line\", regex : '^$', next: \"allowBlock\"},\n {token : \"empty\", regex : \"\", next : \"start\"}\n ],\n\n \"header\" : [{\n regex: \"$\",\n next : \"start\"\n }, {\n include: \"basic\"\n }, {\n defaultToken : \"heading\"\n } ],\n\n \"listblock-start\" : [{\n token : \"support.variable\",\n regex : /(?:\\[[ x]\\])?/,\n next : \"listblock\"\n }],\n\n \"listblock\" : [ { // Lists only escape on completely blank lines.\n token : \"empty_line\",\n regex : \"^$\",\n next : \"start\"\n }, { // list\n token : \"markup.list\",\n regex : \"^\\\\s{0,3}(?:[*+-]|\\\\d+\\\\.)\\\\s+\",\n next : \"listblock-start\"\n }, {\n include : \"basic\", noEscape: true\n }, { // Github style block\n token : \"support.function\",\n regex : \"^\\\\s*```\\\\s*[a-zA-Z]*(?:{.*?\\\\})?\\\\s*$\",\n next : \"githubblock\"\n }, {\n defaultToken : \"list\" //do not use markup.list to allow stling leading `*` differntly\n } ],\n\n \"blockquote\" : [ { // Blockquotes only escape on blank lines.\n token : \"empty_line\",\n regex : \"^\\\\s*$\",\n next : \"start\"\n }, { // block quote\n token : \"string.blockquote\",\n regex : \"^\\\\s*>\\\\s*(?:[*+-]|\\\\d+\\\\.)?\\\\s+\",\n next : \"blockquote\"\n }, {\n include : \"basic\", noEscape: true\n }, {\n defaultToken : \"string.blockquote\"\n } ],\n\n \"githubblock\" : [ {\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"start\"\n }, {\n token : \"support.function\",\n regex : \".+\"\n } ]\n });\n\n this.embedRules(JavaScriptHighlightRules, \"jscode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(HtmlHighlightRules, \"htmlcode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(CssHighlightRules, \"csscode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.embedRules(XmlHighlightRules, \"xmlcode-\", [{\n token : \"support.function\",\n regex : \"^\\\\s*```\",\n next : \"pop\"\n }]);\n\n this.normalizeRules();\n};\noop.inherits(MarkdownHighlightRules, TextHighlightRules);\n\nexports.MarkdownHighlightRules = MarkdownHighlightRules;\n});\n\nace.define(\"ace/mode/folding/markdown\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/folding/fold_mode\",\"ace/range\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../../lib/oop\");\nvar BaseFoldMode = acequire(\"./fold_mode\").FoldMode;\nvar Range = acequire(\"../../range\").Range;\n\nvar FoldMode = exports.FoldMode = function() {};\noop.inherits(FoldMode, BaseFoldMode);\n\n(function() {\n this.foldingStartMarker = /^(?:[=-]+\\s*$|#{1,6} |`{3})/;\n\n this.getFoldWidget = function(session, foldStyle, row) {\n var line = session.getLine(row);\n if (!this.foldingStartMarker.test(line))\n return \"\";\n\n if (line[0] == \"`\") {\n if (session.bgTokenizer.getState(row) == \"start\")\n return \"end\";\n return \"start\";\n }\n\n return \"start\";\n };\n\n this.getFoldWidgetRange = function(session, foldStyle, row) {\n var line = session.getLine(row);\n var startColumn = line.length;\n var maxRow = session.getLength();\n var startRow = row;\n var endRow = row;\n if (!line.match(this.foldingStartMarker))\n return;\n\n if (line[0] == \"`\") {\n if (session.bgTokenizer.getState(row) !== \"start\") {\n while (++row < maxRow) {\n line = session.getLine(row);\n if (line[0] == \"`\" & line.substring(0, 3) == \"```\")\n break;\n }\n return new Range(startRow, startColumn, row, 0);\n } else {\n while (row -- > 0) {\n line = session.getLine(row);\n if (line[0] == \"`\" & line.substring(0, 3) == \"```\")\n break;\n }\n return new Range(row, line.length, startRow, 0);\n }\n }\n\n var token;\n function isHeading(row) {\n token = session.getTokens(row)[0];\n return token && token.type.lastIndexOf(heading, 0) === 0;\n }\n\n var heading = \"markup.heading\";\n function getLevel() {\n var ch = token.value[0];\n if (ch == \"=\") return 6;\n if (ch == \"-\") return 5;\n return 7 - token.value.search(/[^#]/);\n }\n\n if (isHeading(row)) {\n var startHeadingLevel = getLevel();\n while (++row < maxRow) {\n if (!isHeading(row))\n continue;\n var level = getLevel();\n if (level >= startHeadingLevel)\n break;\n }\n\n endRow = row - (!token || [\"=\", \"-\"].indexOf(token.value[0]) == -1 ? 1 : 2);\n\n if (endRow > startRow) {\n while (endRow > startRow && /^\\s*$/.test(session.getLine(endRow)))\n endRow--;\n }\n\n if (endRow > startRow) {\n var endColumn = session.getLine(endRow).length;\n return new Range(startRow, startColumn, endRow, endColumn);\n }\n }\n };\n\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/markdown\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/javascript\",\"ace/mode/xml\",\"ace/mode/html\",\"ace/mode/markdown_highlight_rules\",\"ace/mode/folding/markdown\"], function(acequire, exports, module) {\n\"use strict\";\n\nvar oop = acequire(\"../lib/oop\");\nvar TextMode = acequire(\"./text\").Mode;\nvar JavaScriptMode = acequire(\"./javascript\").Mode;\nvar XmlMode = acequire(\"./xml\").Mode;\nvar HtmlMode = acequire(\"./html\").Mode;\nvar MarkdownHighlightRules = acequire(\"./markdown_highlight_rules\").MarkdownHighlightRules;\nvar MarkdownFoldMode = acequire(\"./folding/markdown\").FoldMode;\n\nvar Mode = function() {\n this.HighlightRules = MarkdownHighlightRules;\n\n this.createModeDelegates({\n \"js-\": JavaScriptMode,\n \"xml-\": XmlMode,\n \"html-\": HtmlMode\n });\n\n this.foldingRules = new MarkdownFoldMode();\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n\n(function() {\n this.type = \"text\";\n this.blockComment = {start: \"\"};\n\n this.getNextLineIndent = function(state, line, tab) {\n if (state == \"listblock\") {\n var match = /^(\\s*)(?:([-+*])|(\\d+)\\.)(\\s+)/.exec(line);\n if (!match)\n return \"\";\n var marker = match[2];\n if (!marker)\n marker = parseInt(match[3], 10) + 1 + \".\";\n return match[1] + marker + match[4];\n } else {\n return this.$getIndent(line);\n }\n };\n this.$id = \"ace/mode/markdown\";\n}).call(Mode.prototype);\n\nexports.Mode = Mode;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/mode/markdown.js\n// module id = 1186\n// module chunks = 3","module.exports.id = 'ace/mode/javascript_worker';\nmodule.exports.src = \"\\\"no use strict\\\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/range\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\\\"Range: [\\\"+this.start.row+\\\"/\\\"+this.start.column+\\\"] -> [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\").replace(/i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/javascript/jshint\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire=\\\"function\\\"==typeof acequire&&acequire;if(!jumped&¤tRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error(\\\"Cannot find module '\\\"+name+\\\"'\\\");throw err.code=\\\"MODULE_NOT_FOUND\\\",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire=\\\"function\\\"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({\\\"/node_modules/browserify/node_modules/events/events.js\\\":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return\\\"function\\\"==typeof arg}function isNumber(arg){return\\\"number\\\"==typeof arg}function isObject(arg){return\\\"object\\\"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError(\\\"n must be a positive number\\\");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),\\\"error\\\"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError('Uncaught, unspecified \\\"error\\\" event.')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");if(this._events||(this._events={}),this._events.newListener&&this.emit(\\\"newListener\\\",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error(\\\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\\\",this._events[type].length),\\\"function\\\"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError(\\\"listener must be a function\\\");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit(\\\"removeListener\\\",type,listener);else if(isObject(list)){for(i=length;i-->0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit(\\\"removeListener\\\",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)\\\"removeListener\\\"!==key&&this.removeAllListeners(key);return this.removeAllListeners(\\\"removeListener\\\"),this._events={},this\\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],\\\"/node_modules/jshint/data/ascii-identifier-data.js\\\":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],\\\"/node_modules/jshint/lodash.js\\\":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return\\\"function\\\"==typeof value||!1}function baseToString(value){return\\\"string\\\"==typeof value?value:null==value?\\\"\\\":value+\\\"\\\"}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&\\\"object\\\"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return\\\"function\\\"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:\\\"object\\\"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return\\\"function\\\"!=valType&&\\\"object\\\"!=valType&&\\\"function\\\"!=othType&&\\\"object\\\"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,\\\"__wrapped__\\\"),othWrapped=othIsObj&&hasOwnProperty.call(other,\\\"__wrapped__\\\");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+\\\"\\\";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+\\\"\\\";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(\\\"number\\\"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if(\\\"function\\\"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for(\\\"function\\\"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer=\\\"function\\\"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return\\\"function\\\"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+\\\"\\\"}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor=\\\"constructor\\\"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&\\\"constructor\\\"in object&&\\\"constructor\\\"in other&&!(\\\"function\\\"==typeof objCtor&&objCtor instanceof objCtor&&\\\"function\\\"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&\\\"string\\\"==typeof array[0]&&hasOwnProperty.call(array,\\\"index\\\")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return\\\"function\\\"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if(\\\"number\\\"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq=\\\"string\\\"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if(\\\"string\\\"==type&&reIsPlainProp.test(value)||\\\"number\\\"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return\\\"number\\\"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,\\\"constructor\\\")&&(Ctor=value.constructor,\\\"function\\\"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,\\\"$1\\\"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if(\\\"number\\\"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&\\\"number\\\"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex=\\\"number\\\"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,\\\"string\\\"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),(\\\"function\\\"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if(\\\"function\\\"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&\\\"boolean\\\"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:\\\"function\\\"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer=\\\"function\\\"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return\\\"function\\\"==type||!!value&&\\\"object\\\"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return\\\"number\\\"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return\\\"string\\\"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto=\\\"function\\\"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+\\\"\\\";for(var key in object)skipIndexes&&isIndex(key,length)||\\\"constructor\\\"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,\\\"\\\\\\\\$&\\\"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION=\\\"3.7.0\\\",FUNC_ERROR_TEXT=\\\"Expected a function\\\",argsTag=\\\"[object Arguments]\\\",arrayTag=\\\"[object Array]\\\",boolTag=\\\"[object Boolean]\\\",dateTag=\\\"[object Date]\\\",errorTag=\\\"[object Error]\\\",funcTag=\\\"[object Function]\\\",mapTag=\\\"[object Map]\\\",numberTag=\\\"[object Number]\\\",objectTag=\\\"[object Object]\\\",regexpTag=\\\"[object RegExp]\\\",setTag=\\\"[object Set]\\\",stringTag=\\\"[object String]\\\",weakMapTag=\\\"[object WeakMap]\\\",arrayBufferTag=\\\"[object ArrayBuffer]\\\",float32Tag=\\\"[object Float32Array]\\\",float64Tag=\\\"[object Float64Array]\\\",int8Tag=\\\"[object Int8Array]\\\",int16Tag=\\\"[object Int16Array]\\\",int32Tag=\\\"[object Int32Array]\\\",uint8Tag=\\\"[object Uint8Array]\\\",uint8ClampedTag=\\\"[object Uint8ClampedArray]\\\",uint16Tag=\\\"[object Uint16Array]\\\",uint32Tag=\\\"[object Uint32Array]\\\",reIsDeepProp=/\\\\.|\\\\[(?:[^[\\\\]]+|([\\\"'])(?:(?!\\\\1)[^\\\\n\\\\\\\\]|\\\\\\\\.)*?)\\\\1\\\\]/,reIsPlainProp=/^\\\\w*$/,rePropName=/[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\n\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]/g,reRegExpChars=/[.*+?^${}()|[\\\\]\\\\/\\\\\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\\\\\(\\\\\\\\)?/g,reFlags=/\\\\w*$/,reIsHostCtor=/^\\\\[object .+?Constructor\\\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={\\\"function\\\":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&\\\"object\\\"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\\\"^\\\"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),\\\"xo\\\")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\\\bthis\\\\b/.test(function(){return this}),support.funcNames=\\\"string\\\"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty(\\\"length\\\"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return\\\"function\\\"==typeof Ctor&&Ctor.prototype===object||\\\"function\\\"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\\n}).call(this)}).call(this,\\\"undefined\\\"!=typeof global?global:\\\"undefined\\\"!=typeof self?self:\\\"undefined\\\"!=typeof window?window:{})},{}],\\\"/node_modules/jshint/src/jshint.js\\\":[function(_dereq_,module,exports){var _=_dereq_(\\\"../lodash\\\"),events=_dereq_(\\\"events\\\"),vars=_dereq_(\\\"./vars.js\\\"),messages=_dereq_(\\\"./messages.js\\\"),Lexer=_dereq_(\\\"./lex.js\\\").Lexer,reg=_dereq_(\\\"./reg.js\\\"),state=_dereq_(\\\"./state.js\\\").state,style=_dereq_(\\\"./style.js\\\"),options=_dereq_(\\\"./options.js\\\"),scopeManager=_dereq_(\\\"./scope-manager.js\\\"),JSHINT=function(){\\\"use strict\\\";function checkOption(name,t){return name=name.trim(),/^[+-]W\\\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||\\\"jslint\\\"===t.type||_.has(options.removed,name)?!0:(error(\\\"E001\\\",t,name),!1)}function isString(obj){return\\\"[object String]\\\"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\\\{([^{}]*)\\\\}/g,function(a,b){var r=data[b];return\\\"string\\\"==typeof r||\\\"number\\\"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict=\\\"global\\\"),state.inES6()||warning(\\\"W134\\\",state.tokens.next,\\\"module\\\",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict=\\\"global\\\")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict=\\\"global\\\"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:\\\"JSHintError\\\",line:line,character:chr,message:message+\\\" (\\\"+percentage+\\\"% scanned).\\\",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\\\d{3}/.test(code)?msg=messages.errors[code]:/I\\\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},\\\"(end)\\\"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:\\\"(error)\\\",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||\\\"\\\",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit(\\\"E043\\\",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:\\\"(internal)\\\",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\\\s+)?[^\\\\s,:]+(?:\\\\s*:\\\\s*(-\\\\s+)?[^\\\\s,]+)?/g)||[],predef={};if(\\\"globals\\\"===nt.type){body.forEach(function(g,idx){g=g.split(\\\":\\\");var key=(g[0]||\\\"\\\").trim(),val=(g[1]||\\\"\\\").trim();if(\\\"-\\\"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error(\\\"E002\\\",nt),void 0}\\\"-\\\"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]=\\\"true\\\"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}\\\"exported\\\"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error(\\\"E002\\\",nt),void 0}state.funct[\\\"(scope)\\\"].addExported(e)}),\\\"members\\\"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||'\\\"'!==ch1&&\\\"'\\\"!==ch1||(m=m.substr(1,m.length-2).replace('\\\\\\\\\\\"','\\\"')),membersOnly[m]=!1}));var numvals=[\\\"maxstatements\\\",\\\"maxparams\\\",\\\"maxdepth\\\",\\\"maxcomplexity\\\",\\\"maxerr\\\",\\\"maxlen\\\",\\\"indent\\\"];(\\\"jshint\\\"===nt.type||\\\"jslint\\\"===nt.type)&&(body.forEach(function(g){g=g.split(\\\":\\\");var key=(g[0]||\\\"\\\").trim(),val=(g[1]||\\\"\\\").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if(\\\"false\\\"!==val){if(val=+val,\\\"number\\\"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error(\\\"E032\\\",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]=\\\"indent\\\"===key?4:!1;else{if(\\\"validthis\\\"===key)return state.funct[\\\"(global)\\\"]?void error(\\\"E009\\\"):\\\"true\\\"!==val&&\\\"false\\\"!==val?void error(\\\"E002\\\",nt):(state.option.validthis=\\\"true\\\"===val,void 0);if(\\\"quotmark\\\"!==key)if(\\\"shadow\\\"!==key)if(\\\"unused\\\"!==key)if(\\\"latedef\\\"!==key)if(\\\"ignore\\\"!==key)if(\\\"strict\\\"!==key){\\\"module\\\"===key&&(hasParsedCode(state.funct)||error(\\\"E055\\\",state.tokens.next,\\\"module\\\"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if(\\\"esversion\\\"===key){switch(val){case\\\"5\\\":state.inES5(!0)&&warning(\\\"I003\\\");case\\\"3\\\":case\\\"6\\\":state.option.moz=!1,state.option.esversion=+val;break;case\\\"2015\\\":state.option.moz=!1,state.option.esversion=6;break;default:error(\\\"E002\\\",nt)}return hasParsedCode(state.funct)||error(\\\"E055\\\",state.tokens.next,\\\"esversion\\\"),void 0}var match=/^([+-])(W\\\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]=\\\"-\\\"===match[1],void 0;var tn;return\\\"true\\\"===val||\\\"false\\\"===val?(\\\"jslint\\\"===nt.type?(tn=options.renamed[key]||key,state.option[tn]=\\\"true\\\"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]=\\\"true\\\"===val,\\\"newcap\\\"===key&&(state.option[\\\"(explicitNewcap)\\\"]=!0),void 0):(error(\\\"E002\\\",nt),void 0)}switch(val){case\\\"true\\\":state.option.moz=!1,state.option.esversion=esversions[key];break;case\\\"false\\\":state.option.moz||(state.option.esversion=5);break;default:error(\\\"E002\\\",nt)}}else switch(val){case\\\"true\\\":state.option.strict=!0;break;case\\\"false\\\":state.option.strict=!1;break;case\\\"func\\\":case\\\"global\\\":case\\\"implied\\\":state.option.strict=val;break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"line\\\":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.latedef=!0;break;case\\\"false\\\":state.option.latedef=!1;break;case\\\"nofunc\\\":state.option.latedef=\\\"nofunc\\\";break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.unused=!0;break;case\\\"false\\\":state.option.unused=!1;break;case\\\"vars\\\":case\\\"strict\\\":state.option.unused=val;break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":state.option.shadow=!0;break;case\\\"outer\\\":state.option.shadow=\\\"outer\\\";break;case\\\"false\\\":case\\\"inner\\\":state.option.shadow=\\\"inner\\\";break;default:error(\\\"E002\\\",nt)}else switch(val){case\\\"true\\\":case\\\"false\\\":state.option.quotmark=\\\"true\\\"===val;break;case\\\"double\\\":case\\\"single\\\":state.option.quotmark=val;break;default:error(\\\"E002\\\",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||\\\"(end)\\\"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while(\\\"(endline)\\\"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case\\\"(number)\\\":\\\".\\\"===state.tokens.next.id&&warning(\\\"W005\\\",state.tokens.curr);break;case\\\"-\\\":(\\\"-\\\"===state.tokens.next.id||\\\"--\\\"===state.tokens.next.id)&&warning(\\\"W006\\\");break;case\\\"+\\\":(\\\"+\\\"===state.tokens.next.id||\\\"++\\\"===state.tokens.next.id)&&warning(\\\"W007\\\")}for(id&&state.tokens.next.id!==id&&(t?\\\"(end)\\\"===state.tokens.next.id?error(\\\"E019\\\",t,t.id):error(\\\"E020\\\",state.tokens.next,id,t.id,t.line,state.tokens.next.value):(\\\"(identifier)\\\"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning(\\\"W116\\\",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit(\\\"E041\\\",state.tokens.curr.line),\\\"(end)\\\"===state.tokens.next.id||\\\"(error)\\\"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)\\\"falls through\\\"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if(\\\"(endline)\\\"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return\\\";\\\"===next.id||\\\"}\\\"===next.id||\\\":\\\"===next.id?!0:isInfix(next)===isInfix(curr)||\\\"yield\\\"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&\\\"unary\\\"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||\\\"let\\\"!==state.tokens.next.value||\\\"(\\\"!==peek(0).value||(state.inMoz()||warning(\\\"W118\\\",state.tokens.next,\\\"let expressions\\\"),isLetExpr=!0,state.funct[\\\"(scope)\\\"].stack(),advance(\\\"let\\\"),advance(\\\"(\\\"),state.tokens.prev.fud(),advance(\\\")\\\")),\\\"(end)\\\"===state.tokens.next.id&&error(\\\"E006\\\",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains([\\\"]\\\",\\\")\\\"],state.tokens.prev.id)&&_.contains([\\\"[\\\",\\\"(\\\"],state.tokens.curr.id);if(isDangerous&&warning(\\\"W014\\\",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct[\\\"(verb)\\\"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error(\\\"E030\\\",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||\\\"(template)\\\"===state.tokens.next.type)&&!isEndOfExpr();)isArray=\\\"Array\\\"===state.tokens.curr.value,isObject=\\\"Object\\\"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&(\\\"new\\\"!==left.value||left.first&&left.first.value&&\\\".\\\"===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&\\\"(\\\"===state.tokens.curr.id&&\\\")\\\"===state.tokens.next.id&&warning(\\\"W009\\\",state.tokens.curr),isObject&&\\\"(\\\"===state.tokens.curr.id&&\\\")\\\"===state.tokens.next.id&&warning(\\\"W010\\\",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error(\\\"E033\\\",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct[\\\"(scope)\\\"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning(\\\"W014\\\",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning(\\\"E022\\\",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning(\\\"I001\\\"),comma.first=!1),warning(\\\"W014\\\",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(\\\",\\\")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case\\\"break\\\":case\\\"case\\\":case\\\"catch\\\":case\\\"continue\\\":case\\\"default\\\":case\\\"do\\\":case\\\"else\\\":case\\\"finally\\\":case\\\"for\\\":case\\\"if\\\":case\\\"in\\\":case\\\"instanceof\\\":case\\\"return\\\":case\\\"switch\\\":case\\\"throw\\\":case\\\"try\\\":case\\\"var\\\":case\\\"let\\\":case\\\"while\\\":case\\\"with\\\":return error(\\\"E024\\\",state.tokens.next,state.tokens.next.value),!1}if(\\\"(punctuator)\\\"===state.tokens.next.type)switch(state.tokens.next.value){case\\\"}\\\":case\\\"]\\\":case\\\",\\\":if(opts.allowTrailing)return!0;case\\\")\\\":return error(\\\"E024\\\",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&\\\"object\\\"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>=\\\"a\\\"&&\\\"z\\\">=c||c>=\\\"A\\\"&&\\\"Z\\\">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud=\\\"function\\\"==typeof f?f:function(){return this.arity=\\\"unary\\\",this.right=expression(150),(\\\"++\\\"===this.id||\\\"--\\\"===this.id)&&(state.option.plusplus?warning(\\\"W016\\\",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||\\\".\\\"===this.right.id||\\\"[\\\"===this.right.id||warning(\\\"W017\\\",this),this.right&&this.right.isMetaProperty?error(\\\"E031\\\",this):this.right&&this.right.identifier&&state.funct[\\\"(scope)\\\"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return\\\"function\\\"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),\\\"in\\\"!==s&&\\\"instanceof\\\"!==s||\\\"!\\\"!==left.id||warning(\\\"W018\\\",left,\\\"!\\\"),\\\"function\\\"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:\\\"arrow\\\",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,\\\"NaN\\\")||isIdentifier(right,\\\"NaN\\\")?warning(\\\"W019\\\",this):f&&f.apply(this,[left,right]),left&&right||quit(\\\"E041\\\",state.tokens.curr.line),\\\"!\\\"===left.id&&warning(\\\"W018\\\",left,\\\"!\\\"),\\\"!\\\"===right.id&&warning(\\\"W018\\\",right,\\\"!\\\"),this},x}function isPoorRelation(node){return node&&(\\\"(number)\\\"===node.type&&0===+node.value||\\\"(string)\\\"===node.type&&\\\"\\\"===node.value||\\\"null\\\"===node.type&&!state.option.eqnull||\\\"true\\\"===node.type||\\\"false\\\"===node.type||\\\"undefined\\\"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,\\\"(identifier)\\\"===right.type&&\\\"typeof\\\"===right.value&&\\\"(string)\\\"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return\\\"this\\\"===left.type&&null===state.funct[\\\"(context)\\\"]?isGlobal=!0:\\\"(identifier)\\\"===left.type&&(state.option.node&&\\\"global\\\"===left.value?isGlobal=!0:!state.option.browser||\\\"window\\\"!==left.value&&\\\"document\\\"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return\\\"object\\\"==typeof obj?\\\"prototype\\\"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&\\\"object\\\"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=[\\\"Array\\\",\\\"ArrayBuffer\\\",\\\"Boolean\\\",\\\"Collator\\\",\\\"DataView\\\",\\\"Date\\\",\\\"DateTimeFormat\\\",\\\"Error\\\",\\\"EvalError\\\",\\\"Float32Array\\\",\\\"Float64Array\\\",\\\"Function\\\",\\\"Infinity\\\",\\\"Intl\\\",\\\"Int16Array\\\",\\\"Int32Array\\\",\\\"Int8Array\\\",\\\"Iterator\\\",\\\"Number\\\",\\\"NumberFormat\\\",\\\"Object\\\",\\\"RangeError\\\",\\\"ReferenceError\\\",\\\"RegExp\\\",\\\"StopIteration\\\",\\\"String\\\",\\\"SyntaxError\\\",\\\"TypeError\\\",\\\"Uint16Array\\\",\\\"Uint32Array\\\",\\\"Uint8Array\\\",\\\"Uint8ClampedArray\\\",\\\"URIError\\\"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning(\\\"W121\\\",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct[\\\"(scope)\\\"].block.reassign(left.value,left),\\\".\\\"===left.id?((!left.left||\\\"arguments\\\"===left.left.value&&!state.isStrict())&&warning(\\\"E031\\\",assignToken),state.nameStack.set(state.tokens.prev),!0):\\\"{\\\"===left.id||\\\"[\\\"===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct[\\\"(scope)\\\"].block.modify(t.id,t.token)}):\\\"{\\\"!==left.id&&left.left?\\\"arguments\\\"!==left.left.value||state.isStrict()||warning(\\\"E031\\\",assignToken):warning(\\\"E031\\\",assignToken),\\\"[\\\"===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error(\\\"E031\\\",assignToken),!0):left.identifier&&!isReserved(left)?(\\\"exception\\\"===state.funct[\\\"(scope)\\\"].labeltype(left.value)&&warning(\\\"W022\\\",left),state.nameStack.set(left),!0):(left===state.syntax[\\\"function\\\"]&&warning(\\\"W023\\\",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,\\\"function\\\"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error(\\\"E031\\\",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led=\\\"function\\\"==typeof f?f:function(left){return state.option.bitwise&&warning(\\\"W016\\\",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning(\\\"W016\\\",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error(\\\"E031\\\",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning(\\\"W016\\\",this,this.id):left.identifier&&!isReserved(left)||\\\".\\\"===left.id||\\\"[\\\"===left.id||warning(\\\"W017\\\",this),left.isMetaProperty?error(\\\"E031\\\",this):left&&left.identifier&&state.funct[\\\"(scope)\\\"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&\\\"undefined\\\"===val?val:(warning(\\\"W024\\\",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if(\\\"...\\\"===state.tokens.next.value){if(state.inES6(!0)||warning(\\\"W119\\\",state.tokens.next,\\\"spread/rest operator\\\",\\\"6\\\"),advance(),checkPunctuator(state.tokens.next,\\\"...\\\"))for(warning(\\\"E024\\\",state.tokens.next,\\\"...\\\");checkPunctuator(state.tokens.next,\\\"...\\\");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning(\\\"E024\\\",state.tokens.curr,\\\"...\\\"),void 0)}error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),\\\";\\\"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(\\\";\\\"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while(\\\"(end)\\\"!==t.id&&\\\"(comment)\\\"===t.id);if(t.reach)return;if(\\\"(endline)\\\"!==t.id){if(\\\"function\\\"===t.id){state.option.latedef===!0&&warning(\\\"W026\\\",t);break}warning(\\\"W027\\\",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(\\\";\\\"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&\\\"(end)\\\"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,\\\"}\\\");sameLine&&!blockEnd?errorAt(\\\"E058\\\",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt(\\\"W033\\\",state.tokens.curr.line,state.tokens.curr.character)}else advance(\\\";\\\")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(\\\";\\\"===t.id)return advance(\\\";\\\"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&\\\":\\\"===peek().id&&(warning(\\\"W024\\\",t,t.id),res=!1),t.identifier&&!res&&\\\":\\\"===peek().id&&(advance(),advance(\\\":\\\"),hasOwnScope=!0,state.funct[\\\"(scope)\\\"].stack(),state.funct[\\\"(scope)\\\"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||\\\"{\\\"===state.tokens.next.value||warning(\\\"W028\\\",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),\\\"{\\\"===t.id){var iscase=\\\"case\\\"===state.funct[\\\"(verb)\\\"]&&\\\":\\\"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&\\\"function\\\"===r.value||\\\"(punctuator)\\\"===r.type&&r.left&&r.left.identifier&&\\\"function\\\"===r.left.value||state.isStrict()||\\\"global\\\"!==state.option.strict||warning(\\\"E007\\\"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&\\\"(\\\"===r.id&&\\\"new\\\"===r.left.id&&warning(\\\"W031\\\",t):warning(\\\"W030\\\",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct[\\\"(scope)\\\"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&\\\"(end)\\\"!==state.tokens.next.id;)\\\";\\\"===state.tokens.next.id?(p=peek(),(!p||\\\"(\\\"!==p.id&&\\\"[\\\"!==p.id)&&warning(\\\"W032\\\"),advance(\\\";\\\")):a.push(statement());return a}function directives(){for(var i,p,pn;\\\"(string)\\\"===state.tokens.next.id;){if(p=peek(0),\\\"(endline)\\\"===p.id){i=1;do pn=peek(i++);while(\\\"(endline)\\\"===pn.id);if(\\\";\\\"===pn.id)p=pn;else{if(\\\"[\\\"===pn.value||\\\".\\\"===pn.value)break;state.option.asi&&\\\"(\\\"!==pn.value||warning(\\\"W033\\\",state.tokens.next)}}else{if(\\\".\\\"===p.id||\\\"[\\\"===p.id)break;\\\";\\\"!==p.id&&warning(\\\"W033\\\",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||\\\"use strict\\\"===directive&&\\\"implied\\\"===state.option.strict)&&warning(\\\"W034\\\",state.tokens.curr,directive),state.directive[directive]=!0,\\\";\\\"===p.id&&advance(\\\";\\\")}state.isStrict()&&(state.option[\\\"(explicitNewcap)\\\"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct[\\\"(metrics)\\\"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),\\\"{\\\"===state.tokens.next.id){if(advance(\\\"{\\\"),state.funct[\\\"(scope)\\\"].stack(),line=state.tokens.curr.line,\\\"}\\\"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct[\\\"(context)\\\"][\\\"(global)\\\"]&&(m[\\\"use strict\\\"]||state.isStrict()||warning(\\\"E007\\\"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance(\\\"}\\\",t),isfunc&&(state.funct[\\\"(scope)\\\"].validateParams(),m&&(state.directive=m)),state.funct[\\\"(scope)\\\"].unstack(),indent=old_indent}else if(ordinary)state.funct[\\\"(noblockscopedvar)\\\"]=\\\"for\\\"!==state.tokens.next.id,state.funct[\\\"(scope)\\\"].stack(),(!stmt||state.option.curly)&&warning(\\\"W116\\\",state.tokens.next,\\\"{\\\",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct[\\\"(scope)\\\"].unstack(),delete state.funct[\\\"(noblockscopedvar)\\\"];else if(isfunc){if(state.funct[\\\"(scope)\\\"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error(\\\"W118\\\",state.tokens.curr,\\\"function closure expressions\\\"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct[\\\"(context)\\\"][\\\"(global)\\\"]&&(m[\\\"use strict\\\"]||state.isStrict()||warning(\\\"E007\\\")),state.funct[\\\"(scope)\\\"].unstack()}else error(\\\"E021\\\",state.tokens.next,\\\"{\\\",state.tokens.next.value);switch(state.funct[\\\"(verb)\\\"]){case\\\"break\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"throw\\\":if(iscase)break;default:state.funct[\\\"(verb)\\\"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning(\\\"W035\\\",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&\\\"boolean\\\"!=typeof membersOnly[m]&&warning(\\\"W036\\\",state.tokens.curr,m),\\\"number\\\"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct[\\\"(comparray)\\\"].stack();var reversed=!1;return\\\"for\\\"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning(\\\"W116\\\",state.tokens.next,\\\"for\\\",state.tokens.next.value),state.funct[\\\"(comparray)\\\"].setState(\\\"use\\\"),res.right=expression(10)),advance(\\\"for\\\"),\\\"each\\\"===state.tokens.next.value&&(advance(\\\"each\\\"),state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"for each\\\")),advance(\\\"(\\\"),state.funct[\\\"(comparray)\\\"].setState(\\\"define\\\"),res.left=expression(130),_.contains([\\\"in\\\",\\\"of\\\"],state.tokens.next.value)?advance():error(\\\"E045\\\",state.tokens.curr),state.funct[\\\"(comparray)\\\"].setState(\\\"generate\\\"),expression(10),advance(\\\")\\\"),\\\"if\\\"===state.tokens.next.value&&(advance(\\\"if\\\"),advance(\\\"(\\\"),state.funct[\\\"(comparray)\\\"].setState(\\\"filter\\\"),res.filter=expression(10),advance(\\\")\\\")),reversed||(state.funct[\\\"(comparray)\\\"].setState(\\\"use\\\"),res.right=expression(10)),advance(\\\"]\\\"),state.funct[\\\"(comparray)\\\"].unstack(),res}function isMethod(){return state.funct[\\\"(statement)\\\"]&&\\\"class\\\"===state.funct[\\\"(statement)\\\"].type||state.funct[\\\"(context)\\\"]&&\\\"class\\\"===state.funct[\\\"(context)\\\"][\\\"(verb)\\\"]}function isPropertyName(token){return token.identifier||\\\"(string)\\\"===token.id||\\\"(number)\\\"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return\\\"object\\\"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?\\\"object\\\"==typeof id&&(\\\"(string)\\\"===id.id||\\\"(identifier)\\\"===id.id?id=id.value:\\\"(number)\\\"===id.id&&(id=\\\"\\\"+id.value)):\\\"(string)\\\"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):\\\"(number)\\\"===state.tokens.next.id&&(id=\\\"\\\"+state.tokens.next.value,preserve||advance()),\\\"hasOwnProperty\\\"===id&&warning(\\\"W001\\\"),id}function functionparams(options){function addParam(addParamArgs){state.funct[\\\"(scope)\\\"].addParam.apply(state.funct[\\\"(scope)\\\"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct[\\\"(scope)\\\"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance(\\\"(\\\"),\\\")\\\"===state.tokens.next.id)return advance(\\\")\\\"),void 0;for(;;){arity++;var currentParams=[];if(_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,\\\"...\\\")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[\\\",\\\",\\\")\\\"]);)advance();if(pastDefault&&\\\"=\\\"!==state.tokens.next.id&&error(\\\"W138\\\",state.tokens.current),\\\"=\\\"===state.tokens.next.id&&(state.inES6()||warning(\\\"W119\\\",state.tokens.next,\\\"default parameters\\\",\\\"6\\\"),advance(\\\"=\\\"),pastDefault=!0,expression(10)),currentParams.forEach(addParam),\\\",\\\"!==state.tokens.next.id)return advance(\\\")\\\",next),{arity:arity,params:paramsIds};pastRest&&warning(\\\"W131\\\",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={\\\"(name)\\\":name,\\\"(breakage)\\\":0,\\\"(loopage)\\\":0,\\\"(tokens)\\\":{},\\\"(properties)\\\":{},\\\"(catch)\\\":!1,\\\"(global)\\\":!1,\\\"(line)\\\":null,\\\"(character)\\\":null,\\\"(metrics)\\\":null,\\\"(statement)\\\":null,\\\"(context)\\\":null,\\\"(scope)\\\":null,\\\"(comparray)\\\":null,\\\"(generator)\\\":null,\\\"(arrow)\\\":null,\\\"(params)\\\":null};return token&&_.extend(funct,{\\\"(line)\\\":token.line,\\\"(character)\\\":token.character,\\\"(metrics)\\\":createMetrics(token)}),_.extend(funct,overwrites),funct[\\\"(context)\\\"]&&(funct[\\\"(scope)\\\"]=funct[\\\"(context)\\\"][\\\"(scope)\\\"],funct[\\\"(comparray)\\\"]=funct[\\\"(context)\\\"][\\\"(comparray)\\\"]),funct}function isFunctor(token){return\\\"(scope)\\\"in token}function hasParsedCode(funct){return funct[\\\"(global)\\\"]&&!funct[\\\"(verb)\\\"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:\\\"(template)\\\",type:\\\"(template)\\\",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator=\\\"generator\\\"===options.type,isArrow=\\\"arrow\\\"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{\\\"(statement)\\\":statement,\\\"(context)\\\":state.funct,\\\"(arrow)\\\":isArrow,\\\"(generator)\\\":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct[\\\"(scope)\\\"].stack(\\\"functionouter\\\");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct[\\\"(scope)\\\"].block.add(internallyAccessibleName,classExprBinding?\\\"class\\\":\\\"function\\\",state.tokens.curr,!1),state.funct[\\\"(scope)\\\"].stack(\\\"functionparams\\\");var paramsInfo=functionparams(options);return paramsInfo?(state.funct[\\\"(params)\\\"]=paramsInfo.params,state.funct[\\\"(metrics)\\\"].arity=paramsInfo.arity,state.funct[\\\"(metrics)\\\"].verifyMaxParametersPerFunction()):state.funct[\\\"(metrics)\\\"].arity=0,isArrow&&(state.inES6(!0)||warning(\\\"W119\\\",state.tokens.curr,\\\"arrow function syntax (=>)\\\",\\\"6\\\"),options.loneArg||advance(\\\"=>\\\")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&\\\"yielded\\\"!==state.funct[\\\"(generator)\\\"]&&warning(\\\"W124\\\",state.tokens.curr),state.funct[\\\"(metrics)\\\"].verifyMaxStatementsPerFunction(),state.funct[\\\"(metrics)\\\"].verifyMaxComplexityPerFunction(),state.funct[\\\"(unusedOption)\\\"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct[\\\"(last)\\\"]=state.tokens.curr.line,state.funct[\\\"(lastcharacter)\\\"]=state.tokens.curr.character,state.funct[\\\"(scope)\\\"].unstack(),state.funct[\\\"(scope)\\\"].unstack(),state.funct=state.funct[\\\"(context)\\\"],ignoreLoopFunc||state.option.loopfunc||!state.funct[\\\"(loopage)\\\"]||f[\\\"(isCapturing)\\\"]&&warning(\\\"W083\\\",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning(\\\"W071\\\",functionStartToken,this.statementCount)\\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning(\\\"W072\\\",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning(\\\"W073\\\",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning(\\\"W074\\\",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct[\\\"(metrics)\\\"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,\\\",\\\"===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case\\\"=\\\":case\\\"+=\\\":case\\\"-=\\\":case\\\"*=\\\":case\\\"%=\\\":case\\\"&=\\\":case\\\"|=\\\":case\\\"^=\\\":case\\\"/=\\\":paren||state.option.boss||warning(\\\"W084\\\")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning(\\\"W078\\\",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,\\\".\\\")){var left=state.tokens.curr.id;advance(\\\".\\\");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error(\\\"E057\\\",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning(\\\"W104\\\",state.tokens.curr,isAssignment?\\\"destructuring assignment\\\":\\\"destructuring binding\\\",\\\"6\\\"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"{\\\"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,\\\",\\\"))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,\\\"(\\\")){var is_rest=checkPunctuator(state.tokens.next,\\\"...\\\");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning(\\\"E030\\\",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance(\\\"(\\\"),nextInnerDE(),advance(\\\")\\\")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,\\\"[\\\")?(advance(\\\"[\\\"),expression(10),advance(\\\"]\\\"),advance(\\\":\\\"),nextInnerDE()):\\\"(string)\\\"===state.tokens.next.id||\\\"(number)\\\"===state.tokens.next.id?(advance(),advance(\\\":\\\"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,\\\":\\\")?(advance(\\\":\\\"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,\\\"[\\\")){openingParsed||advance(\\\"[\\\"),checkPunctuator(state.tokens.next,\\\"]\\\")&&warning(\\\"W137\\\",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,\\\"]\\\");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,\\\",\\\")&&(warning(\\\"W130\\\",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,\\\"=\\\")&&(checkPunctuator(state.tokens.prev,\\\"...\\\")?advance(\\\"]\\\"):advance(\\\"=\\\"),\\\"undefined\\\"===state.tokens.next.id&&warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\\\"]\\\")||advance(\\\",\\\");advance(\\\"]\\\")}else if(checkPunctuator(firstToken,\\\"{\\\")){for(openingParsed||advance(\\\"{\\\"),checkPunctuator(state.tokens.next,\\\"}\\\")&&warning(\\\"W137\\\",state.tokens.curr);!checkPunctuator(state.tokens.next,\\\"}\\\")&&(assignmentProperty(),checkPunctuator(state.tokens.next,\\\"=\\\")&&(advance(\\\"=\\\"),\\\"undefined\\\"===state.tokens.next.id&&warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\\\"}\\\")||(advance(\\\",\\\"),!checkPunctuator(state.tokens.next,\\\"}\\\"))););advance(\\\"}\\\")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning(\\\"W080\\\",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet=\\\"let\\\"===type,isConst=\\\"const\\\"===type;for(state.inES6()||warning(\\\"W104\\\",state.tokens.curr,type,\\\"6\\\"),isLet&&\\\"(\\\"===state.tokens.next.value?(state.inMoz()||warning(\\\"W118\\\",state.tokens.next,\\\"let block\\\"),advance(\\\"(\\\"),state.funct[\\\"(scope)\\\"].stack(),letblock=!0):state.funct[\\\"(noblockscopedvar)\\\"]&&error(\\\"E048\\\",state.tokens.curr,isConst?\\\"Const\\\":\\\"Let\\\"),statement.first=[];;){var names=[];_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&\\\"=\\\"!==state.tokens.next.id&&warning(\\\"E012\\\",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct[\\\"(scope)\\\"].block.isGlobal()&&predefined[t.id]===!1&&warning(\\\"W079\\\",t.token,t.id),t.id&&!state.funct[\\\"(noblockscopedvar)\\\"]&&(state.funct[\\\"(scope)\\\"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct[\\\"(scope)\\\"].setExported(t.token.value,t.token)));if(\\\"=\\\"===state.tokens.next.id&&(advance(\\\"=\\\"),prefix||\\\"undefined\\\"!==state.tokens.next.id||warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),!prefix&&\\\"=\\\"===peek(0).id&&state.tokens.next.identifier&&warning(\\\"W120\\\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),\\\",\\\"!==state.tokens.next.id)break;comma()}return letblock&&(advance(\\\")\\\"),block(!0,!0),statement.block=!0,state.funct[\\\"(scope)\\\"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"class\\\",\\\"6\\\"),isStatement?(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"class\\\",token:state.tokens.curr})):state.tokens.next.identifier&&\\\"extends\\\"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;\\\"extends\\\"===state.tokens.next.value&&(advance(\\\"extends\\\"),c.heritage=expression(10)),state.inClassBody=!0,advance(\\\"{\\\"),c.body=classbody(c),advance(\\\"}\\\"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;\\\"}\\\"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,\\\";\\\"!==name.id){if(\\\"*\\\"===name.id&&(isGenerator=!0,advance(\\\"*\\\"),name=state.tokens.next),\\\"[\\\"===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning(\\\"W052\\\",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&\\\"static\\\"===name.value&&(checkPunctuator(state.tokens.next,\\\"*\\\")&&(isGenerator=!0,advance(\\\"*\\\")),(isPropertyName(state.tokens.next)||\\\"[\\\"===state.tokens.next.id)&&(computed=\\\"[\\\"===state.tokens.next.id,isStatic=!0,name=state.tokens.next,\\\"[\\\"===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||\\\"get\\\"!==name.value&&\\\"set\\\"!==name.value||(isPropertyName(state.tokens.next)||\\\"[\\\"===state.tokens.next.id)&&(computed=\\\"[\\\"===state.tokens.next.id,getset=name,name=state.tokens.next,\\\"[\\\"===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,\\\"(\\\")){for(error(\\\"E054\\\",state.tokens.next,state.tokens.next.value);\\\"}\\\"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,\\\"(\\\");)advance();\\\"(\\\"!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):(\\\"constructor\\\"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&\\\"constructor\\\"===name.value){var propDesc=\\\"get\\\"===getset.value?\\\"class getter method\\\":\\\"class setter method\\\";error(\\\"E049\\\",name,propDesc,\\\"constructor\\\")}else\\\"prototype\\\"===name.value&&error(\\\"E049\\\",name,\\\"class method\\\",\\\"prototype\\\");propertyName(name),doFunction({statement:c,type:isGenerator?\\\"generator\\\":null,classExprBinding:c.namedExpr?c.name:null})}else warning(\\\"W032\\\"),advance(\\\";\\\");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=[\\\"key\\\",\\\"class method\\\",\\\"static class method\\\"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&\\\"__proto__\\\"!==name?warning(\\\"W075\\\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName=\\\"get\\\"===accessorType?\\\"getterToken\\\":\\\"setterToken\\\",msg=\\\"\\\";isClass?(isStatic&&(msg+=\\\"static \\\"),msg+=accessorType+\\\"ter method\\\"):msg=\\\"key\\\",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&\\\"__proto__\\\"!==name&&warning(\\\"W075\\\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance(\\\"[\\\"),state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"computed property names\\\",\\\"6\\\");var value=expression(10);return advance(\\\"]\\\"),value}function checkPunctuators(token,values){return\\\"(punctuator)\\\"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return\\\"(punctuator)\\\"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning(\\\"W104\\\",state.tokens.curr,\\\"destructuring assignment\\\",\\\"6\\\"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance(\\\"{\\\"),\\\"}\\\"!==state.tokens.next.id)for(;;){if(\\\"(end)\\\"===state.tokens.next.id)error(\\\"E026\\\",state.tokens.next,t.line);else{if(\\\"}\\\"===state.tokens.next.id){warning(\\\"W094\\\",state.tokens.curr);break}\\\",\\\"===state.tokens.next.id?error(\\\"E028\\\",state.tokens.next):\\\"(string)\\\"!==state.tokens.next.id&&warning(\\\"W095\\\",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning(\\\"W075\\\",state.tokens.next,\\\"key\\\",state.tokens.next.value):\\\"__proto__\\\"===state.tokens.next.value&&!state.option.proto||\\\"__iterator__\\\"===state.tokens.next.value&&!state.option.iterator?warning(\\\"W096\\\",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(\\\":\\\"),jsonValue(),\\\",\\\"!==state.tokens.next.id)break;advance(\\\",\\\")}advance(\\\"}\\\")}function jsonArray(){var t=state.tokens.next;if(advance(\\\"[\\\"),\\\"]\\\"!==state.tokens.next.id)for(;;){if(\\\"(end)\\\"===state.tokens.next.id)error(\\\"E027\\\",state.tokens.next,t.line);else{if(\\\"]\\\"===state.tokens.next.id){warning(\\\"W094\\\",state.tokens.curr);break}\\\",\\\"===state.tokens.next.id&&error(\\\"E028\\\",state.tokens.next)}if(jsonValue(),\\\",\\\"!==state.tokens.next.id)break;advance(\\\",\\\")}advance(\\\"]\\\")}switch(state.tokens.next.id){case\\\"{\\\":jsonObject();break;case\\\"[\\\":jsonArray();break;case\\\"true\\\":case\\\"false\\\":case\\\"null\\\":case\\\"(number)\\\":case\\\"(string)\\\":advance();break;case\\\"-\\\":advance(\\\"-\\\"),advance(\\\"(number)\\\");break;default:error(\\\"E003\\\",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={\\\"<\\\":!0,\\\"<=\\\":!0,\\\"==\\\":!0,\\\"===\\\":!0,\\\"!==\\\":!0,\\\"!=\\\":!0,\\\">\\\":!0,\\\">=\\\":!0,\\\"+\\\":!0,\\\"-\\\":!0,\\\"*\\\":!0,\\\"/\\\":!0,\\\"%\\\":!0},functionicity=[\\\"closure\\\",\\\"exception\\\",\\\"global\\\",\\\"label\\\",\\\"outer\\\",\\\"unused\\\",\\\"var\\\"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=[\\\"xml\\\",\\\"unknown\\\"],typeofValues.es3=[\\\"undefined\\\",\\\"boolean\\\",\\\"number\\\",\\\"string\\\",\\\"function\\\",\\\"object\\\"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat(\\\"symbol\\\"),type(\\\"(number)\\\",function(){return this}),type(\\\"(string)\\\",function(){return this}),state.syntax[\\\"(identifier)\\\"]={type:\\\"(identifier)\\\",lbp:0,identifier:!0,nud:function(){var v=this.value;return\\\"=>\\\"===state.tokens.next.id?this:(state.funct[\\\"(comparray)\\\"].check(v)||state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),this)},led:function(){error(\\\"E033\\\",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax[\\\"(template)\\\"]=_.extend({type:\\\"(template)\\\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(template middle)\\\"]=_.extend({type:\\\"(template middle)\\\",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(template tail)\\\"]=_.extend({type:\\\"(template tail)\\\",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\\\"(no subst template)\\\"]=_.extend({type:\\\"(template)\\\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type(\\\"(regexp)\\\",function(){return this}),delim(\\\"(endline)\\\"),delim(\\\"(begin)\\\"),delim(\\\"(end)\\\").reach=!0,delim(\\\"(error)\\\").reach=!0,delim(\\\"}\\\").reach=!0,delim(\\\")\\\"),delim(\\\"]\\\"),delim('\\\"').reach=!0,delim(\\\"'\\\").reach=!0,delim(\\\";\\\"),delim(\\\":\\\").reach=!0,delim(\\\"#\\\"),reserve(\\\"else\\\"),reserve(\\\"case\\\").reach=!0,reserve(\\\"catch\\\"),reserve(\\\"default\\\").reach=!0,reserve(\\\"finally\\\"),reservevar(\\\"arguments\\\",function(x){state.isStrict()&&state.funct[\\\"(global)\\\"]&&warning(\\\"E008\\\",x)}),reservevar(\\\"eval\\\"),reservevar(\\\"false\\\"),reservevar(\\\"Infinity\\\"),reservevar(\\\"null\\\"),reservevar(\\\"this\\\",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct[\\\"(statement)\\\"]&&state.funct[\\\"(name)\\\"].charAt(0)>\\\"Z\\\"||state.funct[\\\"(global)\\\"])&&warning(\\\"W040\\\",x)}),reservevar(\\\"true\\\"),reservevar(\\\"undefined\\\"),assignop(\\\"=\\\",\\\"assign\\\",20),assignop(\\\"+=\\\",\\\"assignadd\\\",20),assignop(\\\"-=\\\",\\\"assignsub\\\",20),assignop(\\\"*=\\\",\\\"assignmult\\\",20),assignop(\\\"/=\\\",\\\"assigndiv\\\",20).nud=function(){error(\\\"E014\\\")},assignop(\\\"%=\\\",\\\"assignmod\\\",20),bitwiseassignop(\\\"&=\\\"),bitwiseassignop(\\\"|=\\\"),bitwiseassignop(\\\"^=\\\"),bitwiseassignop(\\\"<<=\\\"),bitwiseassignop(\\\">>=\\\"),bitwiseassignop(\\\">>>=\\\"),infix(\\\",\\\",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning(\\\"W127\\\"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),\\\",\\\"!==state.tokens.next.value||!comma())break}return that},10,!0),infix(\\\"?\\\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(\\\":\\\"),that[\\\"else\\\"]=expression(10),that},30);var orPrecendence=40;infix(\\\"||\\\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix(\\\"&&\\\",\\\"and\\\",50),bitwise(\\\"|\\\",\\\"bitor\\\",70),bitwise(\\\"^\\\",\\\"bitxor\\\",80),bitwise(\\\"&\\\",\\\"bitand\\\",90),relation(\\\"==\\\",function(left,right){var eqnull=state.option.eqnull&&(\\\"null\\\"===(left&&left.value)||\\\"null\\\"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning(\\\"W116\\\",this,\\\"===\\\",\\\"==\\\");break;case isPoorRelation(left):warning(\\\"W041\\\",this,\\\"===\\\",left.value);break;case isPoorRelation(right):warning(\\\"W041\\\",this,\\\"===\\\",right.value);break;case isTypoTypeof(right,left,state):warning(\\\"W122\\\",this,right.value);break;case isTypoTypeof(left,right,state):warning(\\\"W122\\\",this,left.value)}return this}),relation(\\\"===\\\",function(left,right){return isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"!=\\\",function(left,right){var eqnull=state.option.eqnull&&(\\\"null\\\"===(left&&left.value)||\\\"null\\\"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning(\\\"W116\\\",this,\\\"!==\\\",\\\"!=\\\")):isPoorRelation(left)?warning(\\\"W041\\\",this,\\\"!==\\\",left.value):isPoorRelation(right)?warning(\\\"W041\\\",this,\\\"!==\\\",right.value):isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"!==\\\",function(left,right){return isTypoTypeof(right,left,state)?warning(\\\"W122\\\",this,right.value):isTypoTypeof(left,right,state)&&warning(\\\"W122\\\",this,left.value),this}),relation(\\\"<\\\"),relation(\\\">\\\"),relation(\\\"<=\\\"),relation(\\\">=\\\"),bitwise(\\\"<<\\\",\\\"shiftleft\\\",120),bitwise(\\\">>\\\",\\\"shiftright\\\",120),bitwise(\\\">>>\\\",\\\"shiftrightunsigned\\\",120),infix(\\\"in\\\",\\\"in\\\",120),infix(\\\"instanceof\\\",\\\"instanceof\\\",120),infix(\\\"+\\\",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&\\\"(string)\\\"===left.id&&\\\"(string)\\\"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&®.javascriptURL.test(left.value)&&warning(\\\"W050\\\",left),left):that},130),prefix(\\\"+\\\",\\\"num\\\"),prefix(\\\"+++\\\",function(){return warning(\\\"W007\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),infix(\\\"+++\\\",function(left){return warning(\\\"W007\\\"),this.left=left,this.right=expression(130),this},130),infix(\\\"-\\\",\\\"sub\\\",130),prefix(\\\"-\\\",\\\"neg\\\"),prefix(\\\"---\\\",function(){return warning(\\\"W006\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),infix(\\\"---\\\",function(left){return warning(\\\"W006\\\"),this.left=left,this.right=expression(130),this},130),infix(\\\"*\\\",\\\"mult\\\",140),infix(\\\"/\\\",\\\"div\\\",140),infix(\\\"%\\\",\\\"mod\\\",140),suffix(\\\"++\\\"),prefix(\\\"++\\\",\\\"preinc\\\"),state.syntax[\\\"++\\\"].exps=!0,suffix(\\\"--\\\"),prefix(\\\"--\\\",\\\"predec\\\"),state.syntax[\\\"--\\\"].exps=!0,prefix(\\\"delete\\\",function(){var p=expression(10);return p?(\\\".\\\"!==p.id&&\\\"[\\\"!==p.id&&warning(\\\"W051\\\"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix(\\\"~\\\",function(){return state.option.bitwise&&warning(\\\"W016\\\",this,\\\"~\\\"),this.arity=\\\"unary\\\",this.right=expression(150),this}),prefix(\\\"...\\\",function(){return state.inES6(!0)||warning(\\\"W119\\\",this,\\\"spread/rest operator\\\",\\\"6\\\"),state.tokens.next.identifier||\\\"(string)\\\"===state.tokens.next.type||checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"(\\\"])||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix(\\\"!\\\",function(){return this.arity=\\\"unary\\\",this.right=expression(150),this.right||quit(\\\"E041\\\",this.line||0),bang[this.right.id]===!0&&warning(\\\"W018\\\",this,\\\"!\\\"),this}),prefix(\\\"typeof\\\",function(){var p=expression(150);return this.first=this.right=p,p||quit(\\\"E041\\\",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix(\\\"new\\\",function(){var mp=metaProperty(\\\"target\\\",function(){state.inES6(!0)||warning(\\\"W119\\\",state.tokens.prev,\\\"new.target\\\",\\\"6\\\");for(var inFunction,c=state.funct;c&&(inFunction=!c[\\\"(global)\\\"],c[\\\"(arrow)\\\"]);)c=c[\\\"(context)\\\"];inFunction||warning(\\\"W136\\\",state.tokens.prev,\\\"new.target\\\")});if(mp)return mp;var i,c=expression(155);if(c&&\\\"function\\\"!==c.id)if(c.identifier)switch(c[\\\"new\\\"]=!0,c.value){case\\\"Number\\\":case\\\"String\\\":case\\\"Boolean\\\":case\\\"Math\\\":case\\\"JSON\\\":warning(\\\"W053\\\",state.tokens.prev,c.value);break;case\\\"Symbol\\\":state.inES6()&&warning(\\\"W053\\\",state.tokens.prev,c.value);break;case\\\"Function\\\":state.option.evil||warning(\\\"W054\\\");break;case\\\"Date\\\":case\\\"RegExp\\\":case\\\"this\\\":break;default:\\\"function\\\"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&(\\\"A\\\">i||i>\\\"Z\\\")&&!state.funct[\\\"(scope)\\\"].isPredefined(c.value)&&warning(\\\"W055\\\",state.tokens.curr))}else\\\".\\\"!==c.id&&\\\"[\\\"!==c.id&&\\\"(\\\"!==c.id&&warning(\\\"W056\\\",state.tokens.curr);else state.option.supernew||warning(\\\"W057\\\",this);return\\\"(\\\"===state.tokens.next.id||state.option.supernew||warning(\\\"W058\\\",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax[\\\"new\\\"].exps=!0,prefix(\\\"void\\\").exps=!0,infix(\\\".\\\",function(left,that){var m=identifier(!1,!0);return\\\"string\\\"==typeof m&&countMember(m),that.left=left,that.right=m,m&&\\\"hasOwnProperty\\\"===m&&\\\"=\\\"===state.tokens.next.value&&warning(\\\"W001\\\"),!left||\\\"arguments\\\"!==left.value||\\\"callee\\\"!==m&&\\\"caller\\\"!==m?state.option.evil||!left||\\\"document\\\"!==left.value||\\\"write\\\"!==m&&\\\"writeln\\\"!==m||warning(\\\"W060\\\",left):state.option.noarg?warning(\\\"W059\\\",left,m):state.isStrict()&&error(\\\"E008\\\"),state.option.evil||\\\"eval\\\"!==m&&\\\"execScript\\\"!==m||isGlobalEval(left,state)&&warning(\\\"W061\\\"),that},160,!0),infix(\\\"(\\\",function(left,that){state.option.immed&&left&&!left.immed&&\\\"function\\\"===left.id&&warning(\\\"W062\\\");var n=0,p=[];if(left&&\\\"(identifier)\\\"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1===\\\"Array Number String Boolean Date Object Error Symbol\\\".indexOf(left.value)&&(\\\"Math\\\"===left.value?warning(\\\"W063\\\",left):state.option.newcap&&warning(\\\"W064\\\",left)),\\\")\\\"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,\\\",\\\"===state.tokens.next.id;)comma();return advance(\\\")\\\"),\\\"object\\\"==typeof left&&(state.inES5()||\\\"parseInt\\\"!==left.value||1!==n||warning(\\\"W065\\\",state.tokens.curr),state.option.evil||(\\\"eval\\\"===left.value||\\\"Function\\\"===left.value||\\\"execScript\\\"===left.value?(warning(\\\"W061\\\",left),p[0]&&\\\"(string)\\\"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||\\\"(string)\\\"!==p[0].id||\\\"setTimeout\\\"!==left.value&&\\\"setInterval\\\"!==left.value?!p[0]||\\\"(string)\\\"!==p[0].id||\\\".\\\"!==left.value||\\\"window\\\"!==left.left.value||\\\"setTimeout\\\"!==left.right&&\\\"setInterval\\\"!==left.right||(warning(\\\"W066\\\",left),addInternalSrc(left,p[0].value)):(warning(\\\"W066\\\",left),addInternalSrc(left,p[0].value))),left.identifier||\\\".\\\"===left.id||\\\"[\\\"===left.id||\\\"=>\\\"===left.id||\\\"(\\\"===left.id||\\\"&&\\\"===left.id||\\\"||\\\"===left.id||\\\"?\\\"===left.id||state.inES6()&&left[\\\"(name)\\\"]||warning(\\\"W067\\\",that)),that.left=left,that},155,!0).exps=!0,prefix(\\\"(\\\",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do\\\"(\\\"===pn.value?parens+=1:\\\")\\\"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||\\\")\\\"!==pn1.value)&&\\\";\\\"!==pn.value&&\\\"(end)\\\"!==pn.type);if(\\\"function\\\"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),\\\"=>\\\"===pn.value)return doFunction({type:\\\"arrow\\\",parsedOpening:!0});var exprs=[];if(\\\")\\\"!==state.tokens.next.id)for(;exprs.push(expression(10)),\\\",\\\"===state.tokens.next.id;)state.option.nocomma&&warning(\\\"W127\\\"),comma();return advance(\\\")\\\",this),state.option.immed&&exprs[0]&&\\\"function\\\"===exprs[0].id&&\\\"(\\\"!==state.tokens.next.id&&\\\".\\\"!==state.tokens.next.id&&\\\"[\\\"!==state.tokens.next.id&&warning(\\\"W068\\\",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[\\\",\\\"]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&(\\\"{\\\"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||\\\"}\\\"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||\\\"{\\\"===ret.id&&\\\"=>\\\"===preceeding.id||\\\"(number)\\\"===ret.type&&checkPunctuator(pn,\\\".\\\")&&/^\\\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp\\\"),infix(\\\"[\\\",function(left,that){var s,e=expression(10);return e&&\\\"(string)\\\"===e.type&&(state.option.evil||\\\"eval\\\"!==e.value&&\\\"execScript\\\"!==e.value||isGlobalEval(left,state)&&warning(\\\"W061\\\"),countMember(e.value),!state.option.sub&®.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning(\\\"W069\\\",state.tokens.prev,e.value))),advance(\\\"]\\\",that),e&&\\\"hasOwnProperty\\\"===e.value&&\\\"=\\\"===state.tokens.next.value&&warning(\\\"W001\\\"),that.left=left,that.right=e,that},160,!0),prefix(\\\"[\\\",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"array comprehension\\\"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));\\\"(end)\\\"!==state.tokens.next.id;){for(;\\\",\\\"===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning(\\\"W128\\\");do advance(\\\",\\\");while(\\\",\\\"===state.tokens.next.id);continue}warning(\\\"W070\\\")}advance(\\\",\\\")}if(\\\"]\\\"===state.tokens.next.id)break;if(this.first.push(expression(10)),\\\",\\\"!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),\\\"]\\\"===state.tokens.next.id&&!state.inES5()){warning(\\\"W070\\\",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance(\\\"]\\\",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;\\\"}\\\"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||\\\",\\\"!==peekIgnoreEOL().id&&\\\"}\\\"!==peekIgnoreEOL().id)if(\\\":\\\"===peek().id||\\\"get\\\"!==nextVal&&\\\"set\\\"!==nextVal){if(\\\"*\\\"===state.tokens.next.value&&\\\"(punctuator)\\\"===state.tokens.next.type?(state.inES6()||warning(\\\"W104\\\",state.tokens.next,\\\"generator functions\\\",\\\"6\\\"),advance(\\\"*\\\"),isGeneratorMethod=!0):isGeneratorMethod=!1,\\\"[\\\"===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),\\\"string\\\"!=typeof i)break;\\\"(\\\"===state.tokens.next.value?(state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"concise methods\\\",\\\"6\\\"),doFunction({type:isGeneratorMethod?\\\"generator\\\":null})):(advance(\\\":\\\"),expression(10))}else advance(nextVal),state.inES5()||error(\\\"E034\\\"),i=propertyName(),i||state.inES6()||error(\\\"E035\\\"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f[\\\"(params)\\\"],\\\"get\\\"===nextVal&&i&&p?warning(\\\"W076\\\",t,p[0],i):\\\"set\\\"!==nextVal||!i||p&&1===p.length||warning(\\\"W077\\\",t,i);else state.inES6()||warning(\\\"W104\\\",state.tokens.next,\\\"object short notation\\\",\\\"6\\\"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),\\\",\\\"!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),\\\",\\\"===state.tokens.next.id?warning(\\\"W070\\\",state.tokens.curr):\\\"}\\\"!==state.tokens.next.id||state.inES5()||warning(\\\"W070\\\",state.tokens.curr)}return b&&(indent-=state.option.indent),advance(\\\"}\\\",this),checkProperties(props),this},x.fud=function(){error(\\\"E036\\\",state.tokens.curr)}}(delim(\\\"{\\\"));var conststatement=stmt(\\\"const\\\",function(context){return blockVariableStatement(\\\"const\\\",this,context)});conststatement.exps=!0;var letstatement=stmt(\\\"let\\\",function(context){return blockVariableStatement(\\\"let\\\",this,context)});letstatement.exps=!0;var varstatement=stmt(\\\"var\\\",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains([\\\"{\\\",\\\"[\\\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning(\\\"W132\\\",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct[\\\"(global)\\\"]&&(predefined[t.id]===!1?warning(\\\"W079\\\",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning(\\\"W129\\\",t.token,t.id)),t.id&&(\\\"for\\\"===implied?(state.funct[\\\"(scope)\\\"].has(t.id)||report&&warning(\\\"W088\\\",t.token,t.id),state.funct[\\\"(scope)\\\"].block.use(t.id,t.token)):(state.funct[\\\"(scope)\\\"].addlabel(t.id,{type:\\\"var\\\",token:t.token}),lone&&inexport&&state.funct[\\\"(scope)\\\"].setExported(t.id,t.token)),names.push(t.token)));if(\\\"=\\\"===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance(\\\"=\\\"),prefix||!report||state.funct[\\\"(loopage)\\\"]||\\\"undefined\\\"!==state.tokens.next.id||warning(\\\"W080\\\",state.tokens.prev,state.tokens.prev.value),\\\"=\\\"===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct[\\\"(params)\\\"]||-1===state.funct[\\\"(params)\\\"].indexOf(state.tokens.next.value))&&warning(\\\"W120\\\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),\\\",\\\"!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt(\\\"class\\\",function(){return classdef.call(this,!0)}),blockstmt(\\\"function\\\",function(context){var inexport=context&&context.inexport,generator=!1;\\\"*\\\"===state.tokens.next.value&&(advance(\\\"*\\\"),state.inES6({strict:!0})?generator=!0:warning(\\\"W119\\\",state.tokens.curr,\\\"function*\\\",\\\"6\\\")),inblock&&warning(\\\"W082\\\",state.tokens.curr);var i=optionalidentifier();return state.funct[\\\"(scope)\\\"].addlabel(i,{type:\\\"function\\\",token:state.tokens.curr}),void 0===i?warning(\\\"W025\\\"):inexport&&state.funct[\\\"(scope)\\\"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?\\\"generator\\\":null,ignoreLoopFunc:inblock}),\\\"(\\\"===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error(\\\"E039\\\"),this}),prefix(\\\"function\\\",function(){var generator=!1;\\\"*\\\"===state.tokens.next.value&&(state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"function*\\\",\\\"6\\\"),advance(\\\"*\\\"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?\\\"generator\\\":null}),this}),blockstmt(\\\"if\\\",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance(\\\"(\\\");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type=\\\"(punctuator)\\\"===expr.type&&\\\"!\\\"===expr.value?\\\"(negative)\\\":\\\"(positive)\\\"),advance(\\\")\\\",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&\\\"(negative)\\\"===forinifcheck.type&&s&&s[0]&&\\\"(identifier)\\\"===s[0].type&&\\\"continue\\\"===s[0].value&&(forinifcheck.type=\\\"(negative-with-continue)\\\"),\\\"else\\\"===state.tokens.next.id&&(advance(\\\"else\\\"),\\\"if\\\"===state.tokens.next.id||\\\"switch\\\"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt(\\\"try\\\",function(){function doCatch(){if(advance(\\\"catch\\\"),advance(\\\"(\\\"),state.funct[\\\"(scope)\\\"].stack(\\\"catchparams\\\"),checkPunctuators(state.tokens.next,[\\\"[\\\",\\\"{\\\"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct[\\\"(scope)\\\"].addParam(token.id,token,\\\"exception\\\")})}else\\\"(identifier)\\\"!==state.tokens.next.type?warning(\\\"E030\\\",state.tokens.next,state.tokens.next.value):state.funct[\\\"(scope)\\\"].addParam(identifier(),state.tokens.curr,\\\"exception\\\");\\\"if\\\"===state.tokens.next.value&&(state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"catch filter\\\"),advance(\\\"if\\\"),expression(0)),advance(\\\")\\\"),block(!1),state.funct[\\\"(scope)\\\"].unstack()}var b;for(block(!0);\\\"catch\\\"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning(\\\"W118\\\",state.tokens.next,\\\"multiple catch blocks\\\"),doCatch(),b=!0;return\\\"finally\\\"===state.tokens.next.id?(advance(\\\"finally\\\"),block(!0),void 0):(b||error(\\\"E021\\\",state.tokens.next,\\\"catch\\\",state.tokens.next.value),this)}),blockstmt(\\\"while\\\",function(){var t=state.tokens.next;return state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,increaseComplexityCount(),advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),block(!0,!0),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1,this}).labelled=!0,blockstmt(\\\"with\\\",function(){var t=state.tokens.next;return state.isStrict()?error(\\\"E010\\\",state.tokens.curr):state.option.withstmt||warning(\\\"W085\\\",state.tokens.curr),advance(\\\"(\\\"),expression(0),advance(\\\")\\\",t),block(!0,!0),this}),blockstmt(\\\"switch\\\",function(){var t=state.tokens.next,g=!1,noindent=!1;\\nfor(state.funct[\\\"(breakage)\\\"]+=1,advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),t=state.tokens.next,advance(\\\"{\\\"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case\\\"case\\\":switch(state.funct[\\\"(verb)\\\"]){case\\\"yield\\\":case\\\"break\\\":case\\\"case\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"switch\\\":case\\\"throw\\\":break;default:state.tokens.curr.caseFallsThrough||warning(\\\"W086\\\",state.tokens.curr,\\\"case\\\")}advance(\\\"case\\\"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(\\\":\\\"),state.funct[\\\"(verb)\\\"]=\\\"case\\\";break;case\\\"default\\\":switch(state.funct[\\\"(verb)\\\"]){case\\\"yield\\\":case\\\"break\\\":case\\\"continue\\\":case\\\"return\\\":case\\\"throw\\\":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning(\\\"W086\\\",state.tokens.curr,\\\"default\\\"))}advance(\\\"default\\\"),g=!0,advance(\\\":\\\");break;case\\\"}\\\":return noindent||(indent-=state.option.indent),advance(\\\"}\\\",t),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(verb)\\\"]=void 0,void 0;case\\\"(end)\\\":return error(\\\"E023\\\",state.tokens.next,\\\"}\\\"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case\\\",\\\":return error(\\\"E040\\\"),void 0;case\\\":\\\":g=!1,statements();break;default:return error(\\\"E025\\\",state.tokens.curr),void 0}else{if(\\\":\\\"!==state.tokens.curr.id)return error(\\\"E021\\\",state.tokens.next,\\\"case\\\",state.tokens.next.value),void 0;advance(\\\":\\\"),error(\\\"E024\\\",state.tokens.curr,\\\":\\\"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt(\\\"debugger\\\",function(){return state.option.debug||warning(\\\"W087\\\",this),this}).exps=!0,function(){var x=stmt(\\\"do\\\",function(){state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance(\\\"while\\\");var t=state.tokens.next;return advance(\\\"(\\\"),checkCondAssignment(expression(0)),advance(\\\")\\\",t),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt(\\\"for\\\",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;\\\"each\\\"===t.value&&(foreachtok=t,advance(\\\"each\\\"),state.inMoz()||warning(\\\"W118\\\",state.tokens.curr,\\\"for each\\\")),increaseComplexityCount(),advance(\\\"(\\\");var nextop,comma,initializer,i=0,inof=[\\\"in\\\",\\\"of\\\"],level=0;checkPunctuators(state.tokens.next,[\\\"{\\\",\\\"[\\\"])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,[\\\"{\\\",\\\"[\\\"])?++level:checkPunctuators(nextop,[\\\"}\\\",\\\"]\\\"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,\\\",\\\")?comma=nextop:!initializer&&checkPunctuator(nextop,\\\"=\\\")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&\\\";\\\"!==nextop.value&&\\\"(end)\\\"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||\\\"of\\\"!==nextop.value||warning(\\\"W104\\\",nextop,\\\"for of\\\",\\\"6\\\");var ok=!(initializer||comma);if(initializer&&error(\\\"W133\\\",comma,nextop.value,\\\"initializer is forbidden\\\"),comma&&error(\\\"W133\\\",comma,nextop.value,\\\"more than one ForBinding\\\"),\\\"var\\\"===state.tokens.next.id?(advance(\\\"var\\\"),state.tokens.curr.fud({prefix:!0})):\\\"let\\\"===state.tokens.next.id||\\\"const\\\"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct[\\\"(scope)\\\"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:\\\"for\\\",ignore:!ok}),advance(nextop.value),expression(20),advance(\\\")\\\",t),\\\"in\\\"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:\\\"(none)\\\"})),state.funct[\\\"(breakage)\\\"]+=1,state.funct[\\\"(loopage)\\\"]+=1,s=block(!0,!0),\\\"in\\\"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&(\\\"object\\\"!=typeof s[0]||\\\"if\\\"!==s[0].value)||\\\"(positive)\\\"===check.type&&s.length>1||\\\"(negative)\\\"===check.type)&&warning(\\\"W089\\\",this)}state.forinifcheckneeded=!1}state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1}else{if(foreachtok&&error(\\\"E045\\\",foreachtok),\\\";\\\"!==state.tokens.next.id)if(\\\"var\\\"===state.tokens.next.id)advance(\\\"var\\\"),state.tokens.curr.fud();else if(\\\"let\\\"===state.tokens.next.id)advance(\\\"let\\\"),letscope=!0,state.funct[\\\"(scope)\\\"].stack(),state.tokens.curr.fud();else for(;expression(0,\\\"for\\\"),\\\",\\\"===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(\\\";\\\"),state.funct[\\\"(loopage)\\\"]+=1,\\\";\\\"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(\\\";\\\"),\\\";\\\"===state.tokens.next.id&&error(\\\"E021\\\",state.tokens.next,\\\")\\\",\\\";\\\"),\\\")\\\"!==state.tokens.next.id)for(;expression(0,\\\"for\\\"),\\\",\\\"===state.tokens.next.id;)comma();advance(\\\")\\\",t),state.funct[\\\"(breakage)\\\"]+=1,block(!0,!0),state.funct[\\\"(breakage)\\\"]-=1,state.funct[\\\"(loopage)\\\"]-=1}return letscope&&state.funct[\\\"(scope)\\\"].unstack(),this}).labelled=!0,stmt(\\\"break\\\",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct[\\\"(breakage)\\\"]&&warning(\\\"W052\\\",state.tokens.next,this.value):(state.funct[\\\"(scope)\\\"].funct.hasBreakLabel(v)||warning(\\\"W090\\\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\\\"continue\\\",function(){var v=state.tokens.next.value;return 0===state.funct[\\\"(breakage)\\\"]&&warning(\\\"W052\\\",state.tokens.next,this.value),state.funct[\\\"(loopage)\\\"]||warning(\\\"W052\\\",state.tokens.next,this.value),state.option.asi||nolinebreak(this),\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct[\\\"(scope)\\\"].funct.hasBreakLabel(v)||warning(\\\"W090\\\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\\\"return\\\",function(){return this.line===startLine(state.tokens.next)?\\\";\\\"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||\\\"(punctuator)\\\"!==this.first.type||\\\"=\\\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\\\"W093\\\",this.first.line,this.first.character)):\\\"(punctuator)\\\"===state.tokens.next.type&&[\\\"[\\\",\\\"{\\\",\\\"+\\\",\\\"-\\\"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix(\\\"yield\\\",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct[\\\"(generator)\\\"]?\\\"(catch)\\\"===state.funct[\\\"(name)\\\"]&&state.funct[\\\"(context)\\\"][\\\"(generator)\\\"]||error(\\\"E046\\\",state.tokens.curr,\\\"yield\\\"):state.inES6()||warning(\\\"W104\\\",state.tokens.curr,\\\"yield\\\",\\\"6\\\"),state.funct[\\\"(generator)\\\"]=\\\"yielded\\\";var delegatingYield=!1;return\\\"*\\\"===state.tokens.next.value&&(delegatingYield=!0,advance(\\\"*\\\")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||\\\";\\\"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),\\\"(punctuator)\\\"!==this.first.type||\\\"=\\\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\\\"W093\\\",this.first.line,this.first.character)),state.inMoz()&&\\\")\\\"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||\\\"yield\\\"===prev.id)&&error(\\\"E050\\\",this)),this})),stmt(\\\"throw\\\",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt(\\\"import\\\",function(){if(state.inES6()||warning(\\\"W119\\\",state.tokens.curr,\\\"import\\\",\\\"6\\\"),\\\"(string)\\\"===state.tokens.next.type)return advance(\\\"(string)\\\"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"const\\\",token:state.tokens.curr}),\\\",\\\"!==state.tokens.next.value)return advance(\\\"from\\\"),advance(\\\"(string)\\\"),this;advance(\\\",\\\")}if(\\\"*\\\"===state.tokens.next.id)advance(\\\"*\\\"),advance(\\\"as\\\"),state.tokens.next.identifier&&(this.name=identifier(),state.funct[\\\"(scope)\\\"].addlabel(this.name,{type:\\\"const\\\",token:state.tokens.curr}));else for(advance(\\\"{\\\");;){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}var importName;if(\\\"default\\\"===state.tokens.next.type?(importName=\\\"default\\\",advance(\\\"default\\\")):importName=identifier(),\\\"as\\\"===state.tokens.next.value&&(advance(\\\"as\\\"),importName=identifier()),state.funct[\\\"(scope)\\\"].addlabel(importName,{type:\\\"const\\\",token:state.tokens.curr}),\\\",\\\"!==state.tokens.next.value){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);break}advance(\\\",\\\")}return advance(\\\"from\\\"),advance(\\\"(string)\\\"),this}).exps=!0,stmt(\\\"export\\\",function(){var token,identifier,ok=!0;if(state.inES6()||(warning(\\\"W119\\\",state.tokens.curr,\\\"export\\\",\\\"6\\\"),ok=!1),state.funct[\\\"(scope)\\\"].block.isGlobal()||(error(\\\"E053\\\",state.tokens.curr),ok=!1),\\\"*\\\"===state.tokens.next.value)return advance(\\\"*\\\"),advance(\\\"from\\\"),advance(\\\"(string)\\\"),this;if(\\\"default\\\"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance(\\\"default\\\");var exportType=state.tokens.next.id;return(\\\"function\\\"===exportType||\\\"class\\\"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct[\\\"(scope)\\\"].addlabel(identifier,{type:exportType,token:token}),state.funct[\\\"(scope)\\\"].setExported(identifier,token)),this}if(\\\"{\\\"===state.tokens.next.value){advance(\\\"{\\\");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),\\\"as\\\"===state.tokens.next.value&&(advance(\\\"as\\\"),state.tokens.next.identifier||error(\\\"E030\\\",state.tokens.next,state.tokens.next.value),advance()),\\\",\\\"!==state.tokens.next.value){if(\\\"}\\\"===state.tokens.next.value){advance(\\\"}\\\");break}error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);break}advance(\\\",\\\")}return\\\"from\\\"===state.tokens.next.value?(advance(\\\"from\\\"),advance(\\\"(string)\\\")):ok&&exportedTokens.forEach(function(token){state.funct[\\\"(scope)\\\"].setExported(token.value,token)}),this}if(\\\"var\\\"===state.tokens.next.id)advance(\\\"var\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"let\\\"===state.tokens.next.id)advance(\\\"let\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"const\\\"===state.tokens.next.id)advance(\\\"const\\\"),state.tokens.curr.fud({inexport:!0});else if(\\\"function\\\"===state.tokens.next.id)this.block=!0,advance(\\\"function\\\"),state.syntax[\\\"function\\\"].fud({inexport:!0});else if(\\\"class\\\"===state.tokens.next.id){this.block=!0,advance(\\\"class\\\");var classNameToken=state.tokens.next;state.syntax[\\\"class\\\"].fud(),state.funct[\\\"(scope)\\\"].setExported(classNameToken.value,classNameToken)}else error(\\\"E024\\\",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord(\\\"abstract\\\"),FutureReservedWord(\\\"boolean\\\"),FutureReservedWord(\\\"byte\\\"),FutureReservedWord(\\\"char\\\"),FutureReservedWord(\\\"class\\\",{es5:!0,nud:classdef}),FutureReservedWord(\\\"double\\\"),FutureReservedWord(\\\"enum\\\",{es5:!0}),FutureReservedWord(\\\"export\\\",{es5:!0}),FutureReservedWord(\\\"extends\\\",{es5:!0}),FutureReservedWord(\\\"final\\\"),FutureReservedWord(\\\"float\\\"),FutureReservedWord(\\\"goto\\\"),FutureReservedWord(\\\"implements\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"import\\\",{es5:!0}),FutureReservedWord(\\\"int\\\"),FutureReservedWord(\\\"interface\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"long\\\"),FutureReservedWord(\\\"native\\\"),FutureReservedWord(\\\"package\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"private\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"protected\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"public\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"short\\\"),FutureReservedWord(\\\"static\\\",{es5:!0,strictOnly:!0}),FutureReservedWord(\\\"super\\\",{es5:!0}),FutureReservedWord(\\\"synchronized\\\"),FutureReservedWord(\\\"transient\\\"),FutureReservedWord(\\\"volatile\\\");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,[\\\"[\\\",\\\"{\\\"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,[\\\"[\\\",\\\"{\\\"])?bracketStack+=1:checkPunctuators(pn,[\\\"]\\\",\\\"}\\\"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&\\\"for\\\"===pn.value&&!checkPunctuator(prev,\\\".\\\")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,[\\\"}\\\",\\\"]\\\"])){if(\\\"=\\\"===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if(\\\".\\\"===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,\\\";\\\")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&\\\"(end)\\\"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode=\\\"use\\\",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning(\\\"W098\\\",v.token,v.raw_text||v.value),v.undef&&state.funct[\\\"(scope)\\\"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains([\\\"use\\\",\\\"define\\\",\\\"generate\\\",\\\"filter\\\"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&\\\"use\\\"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&\\\"define\\\"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&\\\"generate\\\"===_current.mode?(state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),!0):_current&&\\\"filter\\\"===_current.mode?(use(v)&&state.funct[\\\"(scope)\\\"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\\\/\\\\\\\\^$*+?.()|[\\\\]{}]/g,\\\"\\\\\\\\$&\\\")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||\\\"object\\\"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope=\\\"(main)\\\"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;\\\"-\\\"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],(\\\"esversion\\\"===optionKey&&5===o[optionKey]||\\\"es5\\\"===optionKey&&o[optionKey])&&warning(\\\"I003\\\"),\\\"newcap\\\"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj[\\\"(explicitNewcap)\\\"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on(\\\"warning\\\",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on(\\\"error\\\",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor(\\\"(global)\\\",null,{\\\"(global)\\\":!0,\\\"(scope)\\\":scopeManagerInst,\\\"(comparray)\\\":arrayComprehension(),\\\"(metrics)\\\":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt(\\\"E004\\\",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(\\\" \\\").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax[\\\"(begin)\\\"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+\\\"[\\\\\\\\s\\\\\\\\S]*?\\\"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,\\\"ig\\\"),s=s.replace(reIgnore,function(match){return match.replace(/./g,\\\" \\\")}))})),lex=new Lexer(s),lex.on(\\\"warning\\\",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\\\"error\\\",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\\\"fatal\\\",function(ev){quit(\\\"E041\\\",ev.line,ev.from)}),lex.on(\\\"Identifier\\\",function(ev){emitter.emit(\\\"Identifier\\\",ev)}),lex.on(\\\"String\\\",function(ev){emitter.emit(\\\"String\\\",ev)}),lex.on(\\\"Number\\\",function(ev){emitter.emit(\\\"Number\\\",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case\\\"{\\\":case\\\"[\\\":destructuringAssignOrJsonValue();break;default:directives(),state.directive[\\\"use strict\\\"]&&\\\"global\\\"!==state.option.strict&&warning(\\\"W097\\\",state.tokens.prev),statements()}\\\"(end)\\\"!==state.tokens.next.id&&quit(\\\"E041\\\",state.tokens.curr.line),state.funct[\\\"(scope)\\\"].unstack()}catch(err){if(!err||\\\"JSHintError\\\"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:\\\"(main)\\\",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if(\\\"(main)\\\"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct[\\\"(scope)\\\"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct[\\\"(scope)\\\"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f[\\\"(name)\\\"],fu.param=f[\\\"(params)\\\"],fu.line=f[\\\"(line)\\\"],fu.character=f[\\\"(character)\\\"],fu.last=f[\\\"(last)\\\"],fu.lastcharacter=f[\\\"(lastcharacter)\\\"],fu.metrics={complexity:f[\\\"(metrics)\\\"].ComplexityCount,parameters:f[\\\"(metrics)\\\"].arity,statements:f[\\\"(metrics)\\\"].statementCount},data.functions.push(fu)}var unuseds=state.funct[\\\"(scope)\\\"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if(\\\"number\\\"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();\\\"object\\\"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{\\\"../lodash\\\":\\\"/node_modules/jshint/lodash.js\\\",\\\"./lex.js\\\":\\\"/node_modules/jshint/src/lex.js\\\",\\\"./messages.js\\\":\\\"/node_modules/jshint/src/messages.js\\\",\\\"./options.js\\\":\\\"/node_modules/jshint/src/options.js\\\",\\\"./reg.js\\\":\\\"/node_modules/jshint/src/reg.js\\\",\\\"./scope-manager.js\\\":\\\"/node_modules/jshint/src/scope-manager.js\\\",\\\"./state.js\\\":\\\"/node_modules/jshint/src/state.js\\\",\\\"./style.js\\\":\\\"/node_modules/jshint/src/style.js\\\",\\\"./vars.js\\\":\\\"/node_modules/jshint/src/vars.js\\\",events:\\\"/node_modules/browserify/node_modules/events/events.js\\\"}],\\\"/node_modules/jshint/src/lex.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;\\\"string\\\"==typeof lines&&(lines=lines.replace(/\\\\r\\\\n/g,\\\"\\\\n\\\").replace(/\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")),lines[0]&&\\\"#!\\\"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf(\\\"node\\\")&&(state.option.node=!0),lines[0]=\\\"\\\"),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input=\\\"\\\",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=\\\" \\\";this.ignoreLinterErrors=!1}var _=_dereq_(\\\"../lodash\\\"),events=_dereq_(\\\"events\\\"),reg=_dereq_(\\\"./reg.js\\\"),state=_dereq_(\\\"./state.js\\\").state,unicodeData=_dereq_(\\\"../data/ascii-identifier-data.js\\\"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(\\\" \\\").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case\\\".\\\":if(/^[0-9]$/.test(this.peek(1)))return null;if(\\\".\\\"===this.peek(1)&&\\\".\\\"===this.peek(2))return{type:Token.Punctuator,value:\\\"...\\\"};case\\\"(\\\":case\\\")\\\":case\\\";\\\":case\\\",\\\":case\\\"[\\\":case\\\"]\\\":case\\\":\\\":case\\\"~\\\":case\\\"?\\\":return{type:Token.Punctuator,value:ch1};case\\\"{\\\":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case\\\"}\\\":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case\\\"#\\\":return{type:Token.Punctuator,value:ch1};case\\\"\\\":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\">\\\"===ch3&&\\\"=\\\"===ch4?{type:Token.Punctuator,value:\\\">>>=\\\"}:\\\"=\\\"===ch1&&\\\"=\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"===\\\"}:\\\"!\\\"===ch1&&\\\"=\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"!==\\\"}:\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\">\\\"===ch3?{type:Token.Punctuator,value:\\\">>>\\\"}:\\\"<\\\"===ch1&&\\\"<\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\"<<=\\\"}:\\\">\\\"===ch1&&\\\">\\\"===ch2&&\\\"=\\\"===ch3?{type:Token.Punctuator,value:\\\">>=\\\"}:\\\"=\\\"===ch1&&\\\">\\\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&\\\"+-<>&|\\\".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:\\\"<>=!+-*%&|^\\\".indexOf(ch1)>=0?\\\"=\\\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:\\\"/\\\"===ch1?\\\"=\\\"===ch2?{type:Token.Punctuator,value:\\\"/=\\\"}:{type:Token.Punctuator,value:\\\"/\\\"}:null},scanComments:function(){function commentToken(label,body,opt){var special=[\\\"jshint\\\",\\\"jslint\\\",\\\"members\\\",\\\"member\\\",\\\"globals\\\",\\\"global\\\",\\\"exported\\\"],isSpecial=!1,value=label+body,commentType=\\\"plain\\\";return opt=opt||{},opt.isMultiline&&(value+=\\\"*/\\\"),body=body.replace(/\\\\n/g,\\\" \\\"),\\\"/*\\\"===label&®.fallsThrough.test(body)&&(isSpecial=!0,commentType=\\\"falls through\\\"),special.forEach(function(str){if(!isSpecial&&(\\\"//\\\"!==label||\\\"jshint\\\"===str)&&(\\\" \\\"===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||\\\" \\\"!==body.charAt(0)||\\\" \\\"!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+\\\" \\\"+str,body=body.substr(str.length+1)),isSpecial))switch(str){case\\\"member\\\":commentType=\\\"members\\\";break;case\\\"global\\\":commentType=\\\"globals\\\";break;default:var options=body.split(\\\":\\\").map(function(v){return v.replace(/^\\\\s+/,\\\"\\\").replace(/\\\\s+$/,\\\"\\\")});if(2===options.length)switch(options[0]){case\\\"ignore\\\":switch(options[1]){case\\\"start\\\":self.ignoringLinterErrors=!0,isSpecial=!1;break;case\\\"end\\\":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if(\\\"*\\\"===ch1&&\\\"/\\\"===ch2)return this.trigger(\\\"error\\\",{code:\\\"E018\\\",line:startLine,character:startChar}),this.skip(2),null;if(\\\"/\\\"!==ch1||\\\"*\\\"!==ch2&&\\\"/\\\"!==ch2)return null;if(\\\"/\\\"===ch2)return this.skip(this.input.length),commentToken(\\\"//\\\",rest);var body=\\\"\\\";if(\\\"*\\\"===ch2){for(this.inComment=!0,this.skip(2);\\\"*\\\"!==this.peek()||\\\"/\\\"!==this.peek(1);)if(\\\"\\\"===this.peek()){if(body+=\\\"\\\\n\\\",!this.nextLine())return this.trigger(\\\"error\\\",{code:\\\"E017\\\",line:startLine,character:startChar}),this.inComment=!1,commentToken(\\\"/*\\\",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken(\\\"/*\\\",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=[\\\"if\\\",\\\"in\\\",\\\"do\\\",\\\"var\\\",\\\"for\\\",\\\"new\\\",\\\"try\\\",\\\"let\\\",\\\"this\\\",\\\"else\\\",\\\"case\\\",\\\"void\\\",\\\"with\\\",\\\"enum\\\",\\\"while\\\",\\\"break\\\",\\\"catch\\\",\\\"throw\\\",\\\"const\\\",\\\"yield\\\",\\\"class\\\",\\\"super\\\",\\\"return\\\",\\\"typeof\\\",\\\"delete\\\",\\\"switch\\\",\\\"export\\\",\\\"import\\\",\\\"default\\\",\\\"finally\\\",\\\"extends\\\",\\\"function\\\",\\\"continue\\\",\\\"debugger\\\",\\\"instanceof\\\"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id=\\\"\\\",index=0,readUnicodeEscapeSequence=function(){if(index+=1,\\\"u\\\"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,\\\"\\\\\\\\u\\\"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case\\\"true\\\":case\\\"false\\\":type=Token.BooleanLiteral;break;case\\\"null\\\":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return\\\"$\\\"===ch||\\\"_\\\"===ch||\\\"\\\\\\\\\\\"===ch||ch>=\\\"a\\\"&&\\\"z\\\">=ch||ch>=\\\"A\\\"&&\\\"Z\\\">=ch}var bad,index=0,value=\\\"\\\",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if(\\\".\\\"!==char&&!isDecimalDigit(char))return null;if(\\\".\\\"!==char){for(value=this.peek(index),index+=1,char=this.peek(index),\\\"0\\\"===value&&((\\\"x\\\"===char||\\\"X\\\"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),(\\\"o\\\"===char||\\\"O\\\"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger(\\\"warning\\\",{code:\\\"W119\\\",line:this.line,character:this.char,data:[\\\"Octal integer literal\\\",\\\"6\\\"]}),index+=1,value+=char),(\\\"b\\\"===char||\\\"B\\\"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger(\\\"warning\\\",{code:\\\"W119\\\",line:this.line,character:this.char,data:[\\\"Binary integer literal\\\",\\\"6\\\"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if(\\\".\\\"===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if(\\\"e\\\"===char||\\\"E\\\"===char){if(value+=char,index+=1,char=this.peek(index),(\\\"+\\\"===char||\\\"-\\\"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case\\\"'\\\":this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\'\\\"]},checks,function(){return state.jsonMode});break;case\\\"b\\\":char=\\\"\\\\\\\\b\\\";break;case\\\"f\\\":char=\\\"\\\\\\\\f\\\";break;case\\\"n\\\":char=\\\"\\\\\\\\n\\\";break;case\\\"r\\\":char=\\\"\\\\\\\\r\\\";break;case\\\"t\\\":char=\\\"\\\\\\\\t\\\";break;case\\\"0\\\":char=\\\"\\\\\\\\0\\\";var n=parseInt(this.peek(1),10);this.triggerAsync(\\\"warning\\\",{code:\\\"W115\\\",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case\\\"u\\\":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger(\\\"warning\\\",{code:\\\"W052\\\",line:this.line,character:this.char,data:[\\\"u\\\"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case\\\"v\\\":this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\v\\\"]},checks,function(){return state.jsonMode}),char=\\\"\\u000b\\\";break;case\\\"x\\\":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync(\\\"warning\\\",{code:\\\"W114\\\",line:this.line,character:this.char,data:[\\\"\\\\\\\\x-\\\"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case\\\"\\\\\\\\\\\":char=\\\"\\\\\\\\\\\\\\\\\\\";break;case'\\\"':char='\\\\\\\\\\\"';break;case\\\"/\\\":break;case\\\"\\\":allowNewLine=!0,char=\\\"\\\"}return{\\\"char\\\":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value=\\\"\\\",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if(\\\"`\\\"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,\\\"char\\\":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||\\\"}\\\"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;\\\"`\\\"!==this.peek();){for(;\\\"\\\"===(ch=this.peek());)if(value+=\\\"\\\\n\\\",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger(\\\"error\\\",{code:\\\"E052\\\",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if(\\\"$\\\"===ch&&\\\"{\\\"===this.peek(1))return value+=\\\"${\\\",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\\nif(\\\"\\\\\\\\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else\\\"`\\\"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if('\\\"'!==quote&&\\\"'\\\"!==quote)return null;this.triggerAsync(\\\"warning\\\",{code:\\\"W108\\\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&'\\\"'!==quote});var value=\\\"\\\",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(\\\"\\\"===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync(\\\"warning\\\",{code:\\\"W043\\\",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync(\\\"warning\\\",{code:\\\"W042\\\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger(\\\"warning\\\",{code:\\\"W112\\\",line:this.line,character:this.char}),!this.nextLine())return this.trigger(\\\"error\\\",{code:\\\"E029\\\",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(\\\" \\\">char&&this.trigger(\\\"warning\\\",{code:\\\"W113\\\",line:this.line,character:this.char,data:[\\\"\\\"]}),\\\"\\\\\\\\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body=\\\"\\\",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){\\\" \\\">char&&(malformed=!0,this.trigger(\\\"warning\\\",{code:\\\"W048\\\",line:this.line,character:this.char})),\\\"<\\\"===char&&(malformed=!0,this.trigger(\\\"warning\\\",{code:\\\"W049\\\",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||\\\"/\\\"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)\\\"]\\\"===char&&(\\\"\\\\\\\\\\\"!==this.peek(index-1)||\\\"\\\\\\\\\\\"===this.peek(index-2))&&(isCharSet=!1),\\\"\\\\\\\\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if(\\\"\\\\\\\\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),\\\"/\\\"===char){index+=1;continue}if(\\\"[\\\"===char){index+=1;continue}}if(\\\"[\\\"!==char){if(\\\"/\\\"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger(\\\"error\\\",{code:\\\"E015\\\",line:this.line,character:this.from}),void this.trigger(\\\"fatal\\\",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(\\\"\\\"))}catch(err){malformed=!0,this.trigger(\\\"error\\\",{code:\\\"E016\\\",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\\\s/.test(this.peek()))for(start=this.char;/\\\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith(\\\"/*\\\",\\\"//\\\")||this.inComment&&endsWith(\\\"*/\\\")||(this.input=\\\"\\\")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger(\\\"warning\\\",{code:\\\"W125\\\",line:this.line,character:char+1}),this.input=this.input.replace(/\\\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger(\\\"warning\\\",{code:\\\"W100\\\",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen=0;--i){var scopeLabels=_scopeStack[i][\\\"(labels)\\\"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(usages)\\\"][labelName])return current[\\\"(usages)\\\"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if(\\\"outer\\\"===state.option.shadow)for(var isGlobal=\\\"global\\\"===_currentFunctBody[\\\"(type)\\\"],isNewFunction=\\\"functionparams\\\"===_current[\\\"(type)\\\"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem[\\\"(labels)\\\"][labelName]&&warning(\\\"W123\\\",token,labelName),stackItem[\\\"(breakLabels)\\\"][labelName]&&warning(\\\"W123\\\",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&\\\"function\\\"===type||\\\"function\\\"!==type)&&warning(\\\"W003\\\",token,labelName)}var _current,_scopeStack=[];_newScope(\\\"global\\\"),_current[\\\"(predefined)\\\"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt=\\\"last-param\\\"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:[\\\"var\\\"],\\\"last-param\\\":[\\\"var\\\",\\\"param\\\"],strict:[\\\"var\\\",\\\"param\\\",\\\"last-param\\\"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning(\\\"W098\\\",{line:line,from:chr},raw_name),(unused_opt||\\\"var\\\"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(\\\" \\\").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0][\\\"(predefined)\\\"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||\\\"functionparams\\\"!==previousScope[\\\"(type)\\\"]||(_current[\\\"(isFuncBody)\\\"]=!0,_current[\\\"(context)\\\"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams=\\\"functionparams\\\"===_current[\\\"(type)\\\"],isUnstackingFunctionOuter=\\\"functionouter\\\"===_current[\\\"(type)\\\"],currentUsages=_current[\\\"(usages)\\\"],currentLabels=_current[\\\"(labels)\\\"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf(\\\"__proto__\\\")&&usedLabelNameList.push(\\\"__proto__\\\"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel[\\\"(type)\\\"];if(usedLabel[\\\"(useOutsideOfScope)\\\"]&&!state.option.funcscope){var usedTokens=usage[\\\"(tokens)\\\"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel[\\\"(function)\\\"]===usedTokens[j][\\\"(function)\\\"]&&error(\\\"W038\\\",usedTokens[j],usedLabelName)}if(_current[\\\"(labels)\\\"][usedLabelName][\\\"(unused)\\\"]=!1,\\\"const\\\"===usedLabelType&&usage[\\\"(modified)\\\"])for(j=0;usage[\\\"(modified)\\\"].length>j;j++)error(\\\"E013\\\",usage[\\\"(modified)\\\"][j],usedLabelName);if((\\\"function\\\"===usedLabelType||\\\"class\\\"===usedLabelType)&&usage[\\\"(reassigned)\\\"])for(j=0;usage[\\\"(reassigned)\\\"].length>j;j++)error(\\\"W021\\\",usage[\\\"(reassigned)\\\"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct[\\\"(isCapturing)\\\"]=!0),subScope)if(subScope[\\\"(usages)\\\"][usedLabelName]){var subScopeUsage=subScope[\\\"(usages)\\\"][usedLabelName];subScopeUsage[\\\"(modified)\\\"]=subScopeUsage[\\\"(modified)\\\"].concat(usage[\\\"(modified)\\\"]),subScopeUsage[\\\"(tokens)\\\"]=subScopeUsage[\\\"(tokens)\\\"].concat(usage[\\\"(tokens)\\\"]),subScopeUsage[\\\"(reassigned)\\\"]=subScopeUsage[\\\"(reassigned)\\\"].concat(usage[\\\"(reassigned)\\\"]),subScopeUsage[\\\"(onlyUsedSubFunction)\\\"]=!1}else subScope[\\\"(usages)\\\"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope[\\\"(usages)\\\"][usedLabelName][\\\"(onlyUsedSubFunction)\\\"]=!0);else if(\\\"boolean\\\"==typeof _current[\\\"(predefined)\\\"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current[\\\"(predefined)\\\"][usedLabelName]===!1&&usage[\\\"(reassigned)\\\"])for(j=0;usage[\\\"(reassigned)\\\"].length>j;j++)warning(\\\"W020\\\",usage[\\\"(reassigned)\\\"][j])}else if(usage[\\\"(tokens)\\\"])for(j=0;usage[\\\"(tokens)\\\"].length>j;j++){var undefinedToken=usage[\\\"(tokens)\\\"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning(\\\"W117\\\",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],\\\"var\\\")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName][\\\"(blockscoped)\\\"]||\\\"exception\\\"===currentLabels[defLabelName][\\\"(type)\\\"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope[\\\"(labels)\\\"][defLabelName]=currentLabels[defLabelName],\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]&&(subScope[\\\"(labels)\\\"][defLabelName][\\\"(useOutsideOfScope)\\\"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope[\\\"(isFuncBody)\\\"]||\\\"global\\\"===scope[\\\"(type)\\\"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||\\\"param\\\",\\\"exception\\\"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&\\\"exception\\\"!==previouslyDefinedLabelType&&(state.option.node||warning(\\\"W002\\\",state.tokens.next,labelName))}if(_.has(_current[\\\"(labels)\\\"],labelName)?_current[\\\"(labels)\\\"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":token,\\\"(unused)\\\":!0},_current[\\\"(params)\\\"].push(labelName)),_.has(_current[\\\"(usages)\\\"],labelName)){var usage=_current[\\\"(usages)\\\"][labelName];usage[\\\"(onlyUsedSubFunction)\\\"]?_latedefWarning(type,labelName,token):warning(\\\"E056\\\",token,labelName,type)}},validateParams:function(){if(\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody[\\\"(parent)\\\"];currentFunctParamScope[\\\"(params)\\\"]&¤tFunctParamScope[\\\"(params)\\\"].forEach(function(labelName){var label=currentFunctParamScope[\\\"(labels)\\\"][labelName];label&&label.duplicated&&(isStrict?warning(\\\"E011\\\",label[\\\"(token)\\\"],labelName):state.option.shadow!==!0&&warning(\\\"W004\\\",label[\\\"(token)\\\"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf(\\\"__proto__\\\")&&list.push(\\\"__proto__\\\"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return\\\"__proto__\\\"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName][\\\"(type)\\\"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0][\\\"(labels)\\\"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName][\\\"(unused)\\\"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope[\\\"(type)\\\"])break;if(_.has(scope[\\\"(labels)\\\"],labelName)&&!scope[\\\"(labels)\\\"][labelName][\\\"(blockscoped)\\\"])return scope[\\\"(labels)\\\"][labelName][\\\"(unused)\\\"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped=\\\"let\\\"===type||\\\"const\\\"===type||\\\"class\\\"===type,isexported=\\\"global\\\"===(isblockscoped?_current:_currentFunctBody)[\\\"(type)\\\"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current[\\\"(labels)\\\"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||\\\"global\\\"===_current[\\\"(type)\\\"]||(declaredInCurrentScope=!!_currentFunctBody[\\\"(parent)\\\"][\\\"(labels)\\\"][labelName]),!declaredInCurrentScope&&_current[\\\"(usages)\\\"][labelName]){var usage=_current[\\\"(usages)\\\"][labelName];usage[\\\"(onlyUsedSubFunction)\\\"]?_latedefWarning(type,labelName,token):warning(\\\"E056\\\",token,labelName,type)}declaredInCurrentScope?warning(\\\"E011\\\",token,labelName):\\\"outer\\\"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning(\\\"W004\\\",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning(\\\"E011\\\",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&\\\"__proto__\\\"!==labelName&&\\\"global\\\"!==_currentFunctBody[\\\"(type)\\\"]&&warning(\\\"W004\\\",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),\\\"global\\\"===_currentFunctBody[\\\"(type)\\\"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(labels)\\\"][labelName]&&(!onlyBlockscoped||current[\\\"(labels)\\\"][labelName][\\\"(blockscoped)\\\"]))return current[\\\"(labels)\\\"][labelName][\\\"(type)\\\"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&\\\"functionparams\\\"===scopeCheck[\\\"(type)\\\"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\\\"(breakLabels)\\\"][labelName])return!0;if(\\\"functionparams\\\"===current[\\\"(type)\\\"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":tok,\\\"(blockscoped)\\\":!1,\\\"(function)\\\":_currentFunctBody,\\\"(unused)\\\":unused}}},block:{isGlobal:function(){return\\\"global\\\"===_current[\\\"(type)\\\"]},use:function(labelName,token){var paramScope=_currentFunctBody[\\\"(parent)\\\"];paramScope&¶mScope[\\\"(labels)\\\"][labelName]&&\\\"param\\\"===paramScope[\\\"(labels)\\\"][labelName][\\\"(type)\\\"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope[\\\"(labels)\\\"][labelName][\\\"(unused)\\\"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token[\\\"(function)\\\"]=_currentFunctBody,_current[\\\"(usages)\\\"][labelName][\\\"(tokens)\\\"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current[\\\"(usages)\\\"][labelName][\\\"(reassigned)\\\"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current[\\\"(usages)\\\"][labelName][\\\"(modified)\\\"].push(token)},add:function(labelName,type,tok,unused){_current[\\\"(labels)\\\"][labelName]={\\\"(type)\\\":type,\\\"(token)\\\":tok,\\\"(blockscoped)\\\":!0,\\\"(unused)\\\":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning(\\\"E011\\\",token,labelName):\\\"outer\\\"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning(\\\"W004\\\",token,labelName):_checkOuterShadow(labelName,token)),_current[\\\"(breakLabels)\\\"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{\\\"../lodash\\\":\\\"/node_modules/jshint/lodash.js\\\",events:\\\"/node_modules/browserify/node_modules/events/events.js\\\"}],\\\"/node_modules/jshint/src/state.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";var NameStack=_dereq_(\\\"./name-stack.js\\\"),state={syntax:{},isStrict:function(){return this.directive[\\\"use strict\\\"]||this.inClassBody||this.option.module||\\\"implied\\\"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab=\\\"\\\",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{\\\"./name-stack.js\\\":\\\"/node_modules/jshint/src/name-stack.js\\\"}],\\\"/node_modules/jshint/src/style.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";exports.register=function(linter){linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"proto\\\")||\\\"__proto__\\\"===data.name&&linter.warn(\\\"W103\\\",{line:data.line,\\\"char\\\":data.char,data:[data.name,\\\"6\\\"]})}),linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"iterator\\\")||\\\"__iterator__\\\"===data.name&&linter.warn(\\\"W103\\\",{line:data.line,\\\"char\\\":data.char,data:[data.name]})}),linter.on(\\\"Identifier\\\",function(data){linter.getOption(\\\"camelcase\\\")&&data.name.replace(/^_+|_+$/g,\\\"\\\").indexOf(\\\"_\\\")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn(\\\"W106\\\",{line:data.line,\\\"char\\\":data.from,data:[data.name]})}),linter.on(\\\"String\\\",function(data){var code,quotmark=linter.getOption(\\\"quotmark\\\");quotmark&&(\\\"single\\\"===quotmark&&\\\"'\\\"!==data.quote&&(code=\\\"W109\\\"),\\\"double\\\"===quotmark&&'\\\"'!==data.quote&&(code=\\\"W108\\\"),quotmark===!0&&(linter.getCache(\\\"quotmark\\\")||linter.setCache(\\\"quotmark\\\",data.quote),linter.getCache(\\\"quotmark\\\")!==data.quote&&(code=\\\"W110\\\")),code&&linter.warn(code,{line:data.line,\\\"char\\\":data.char}))}),linter.on(\\\"Number\\\",function(data){\\\".\\\"===data.value.charAt(0)&&linter.warn(\\\"W008\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]}),\\\".\\\"===data.value.substr(data.value.length-1)&&linter.warn(\\\"W047\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn(\\\"W046\\\",{line:data.line,\\\"char\\\":data.char,data:[data.value]})}),linter.on(\\\"String\\\",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\\\s*:/i;linter.getOption(\\\"scripturl\\\")||re.test(data.value)&&linter.warn(\\\"W107\\\",{line:data.line,\\\"char\\\":data.char})})}},{}],\\\"/node_modules/jshint/src/vars.js\\\":[function(_dereq_,module,exports){\\\"use strict\\\";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,\\\"throws\\\":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},[\\\"/node_modules/jshint/src/jshint.js\\\"])}),ace.define(\\\"ace/mode/javascript_worker\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/worker/mirror\\\",\\\"ace/mode/javascript/jshint\\\"],function(acequire,exports,module){\\\"use strict\\\";function startRegex(arr){return RegExp(\\\"^(\\\"+arr.join(\\\"|\\\")+\\\")\\\")}var oop=acequire(\\\"../lib/oop\\\"),Mirror=acequire(\\\"../worker/mirror\\\").Mirror,lint=acequire(\\\"./javascript/jshint\\\").JSHINT,disabledWarningsRe=startRegex([\\\"Bad for in variable '(.+)'.\\\",'Missing \\\"use strict\\\"']),errorsRe=startRegex([\\\"Unexpected\\\",\\\"Expected \\\",\\\"Confusing (plus|minus)\\\",\\\"\\\\\\\\{a\\\\\\\\} unterminated regular expression\\\",\\\"Unclosed \\\",\\\"Unmatched \\\",\\\"Unbegun comment\\\",\\\"Bad invocation\\\",\\\"Missing space after\\\",\\\"Missing operator at\\\"]),infoRe=startRegex([\\\"Expected an assignment\\\",\\\"Bad escapement of EOL\\\",\\\"Unexpected comma\\\",\\\"Unexpected space\\\",\\\"Missing radix parameter.\\\",\\\"A leading decimal point can\\\",\\\"\\\\\\\\['{a}'\\\\\\\\] is better written in dot notation.\\\",\\\"'{a}' used out of scope\\\"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval(\\\"throw 0;\\\"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\\\n/,\\\"\\\\n\\\"),!value)return this.sender.emit(\\\"annotate\\\",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?\\\"warning\\\":\\\"error\\\";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type=\\\"warning\\\";if(\\\"Missing semicolon.\\\"==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\\\S/)),\\\"error\\\"==maxErrorLevel&&str&&/[\\\\w\\\\d{(['\\\"]/.test(str)?(error.reason='Missing \\\";\\\" before statement',type=\\\"error\\\"):type=\\\"info\\\"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type=\\\"info\\\":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):\\\"'{a}' is not defined.\\\"==raw?type=\\\"warning\\\":\\\"'{a}' is defined but never used.\\\"==raw&&(type=\\\"info\\\")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit(\\\"annotate\\\",errors)}}.call(JavaScriptWorker.prototype)}),ace.define(\\\"ace/lib/es5-shim\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\\\"sentinel\\\",{}),\\\"sentinel\\\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\\\"function\\\"!=typeof target)throw new TypeError(\\\"Function.prototype.bind called on incompatible \\\"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\\\"__defineGetter__\\\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\\\"XXX\\\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\\\"[object Array]\\\"==_toString(obj)});var boxedString=Object(\\\"a\\\"),splitString=\\\"a\\\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0,thisp=arguments[1];if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduce of empty array with no initial value\\\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\\\"reduce of empty array with no initial value\\\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):object,length=self.length>>>0;if(\\\"[object Function]\\\"!=_toString(fun))throw new TypeError(fun+\\\" is not a function\\\");if(!length&&1==arguments.length)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\\\"reduceRight of empty array with no initial value\\\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\\\"[object String]\\\"==_toString(this)?this.split(\\\"\\\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\\\"Object.getOwnPropertyDescriptor called on a non-object: \\\";Object.getOwnPropertyDescriptor=function(object,property){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\\\"object\\\"!=typeof prototype)throw new TypeError(\\\"typeof prototype[\\\"+typeof prototype+\\\"] != 'object'\\\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\\\"undefined\\\"==typeof document||doesDefinePropertyWork(document.createElement(\\\"div\\\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\\\"Property description must be an object: \\\",ERR_NON_OBJECT_TARGET=\\\"Object.defineProperty called on non-object: \\\",ERR_ACCESSORS_NOT_SUPPORTED=\\\"getters & setters can not be defined on this javascript engine\\\";Object.defineProperty=function(object,property,descriptor){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\\\"object\\\"!=typeof descriptor&&\\\"function\\\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\\\"value\\\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\\\"get\\\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\\\"set\\\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\\\"function\\\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\\\"\\\";owns(object,name);)name+=\\\"?\\\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\\\"toString\\\",\\\"toLocaleString\\\",\\\"valueOf\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"constructor\\\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\\\"object\\\"!=typeof object&&\\\"function\\\"!=typeof object||null===object)throw new TypeError(\\\"Object.keys called on a non-object\\\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\\\"\\t\\\\n\\u000b\\\\f\\\\r   ᠎              \\\\u2028\\\\u2029\\\";if(!String.prototype.trim||ws.trim()){ws=\\\"[\\\"+ws+\\\"]\\\";var trimBeginRegexp=RegExp(\\\"^\\\"+ws+ws+\\\"*\\\"),trimEndRegexp=RegExp(ws+ws+\\\"*$\\\");String.prototype.trim=function(){return(this+\\\"\\\").replace(trimBeginRegexp,\\\"\\\").replace(trimEndRegexp,\\\"\\\")}}var toObject=function(o){if(null==o)throw new TypeError(\\\"can't convert \\\"+o+\\\" to object\\\");return Object(o)}});\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/brace/worker/javascript.js\n// module id = 1187\n// module chunks = 3","module.exports.id = 'ace/mode/css_worker';\nmodule.exports.src = \"\\\"no use strict\\\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\\\"\\\";testPath;){var alias=paths[testPath];if(\\\"string\\\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\\\"/\\\")+(tail||alias.main||alias.name);if(alias===!1)return\\\"\\\";var i=testPath.lastIndexOf(\\\"/\\\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\\\"log\\\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\\\"error\\\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\\\"!\\\")){var chunks=moduleName.split(\\\"!\\\");return window.normalizeModule(parentId,chunks[0])+\\\"!\\\"+window.normalizeModule(parentId,chunks[1])}if(\\\".\\\"==moduleName.charAt(0)){var base=parentId.split(\\\"/\\\").slice(0,-1).join(\\\"/\\\");for(moduleName=(base?base+\\\"/\\\":\\\"\\\")+moduleName;-1!==moduleName.indexOf(\\\".\\\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\\\"\\\").replace(/\\\\/\\\\.\\\\//,\\\"/\\\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\\\"\\\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\\\"worker.js acequire() accepts only (parentId, id) as arguments\\\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\\\"unable to load \\\"+id);var path=resolveModuleId(id,window.acequire.tlns);return\\\".js\\\"!=path.slice(-3)&&(path+=\\\".js\\\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\\\"string\\\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\\\"function\\\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\\\"require\\\",\\\"exports\\\",\\\"module\\\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\\\"require\\\":return req;case\\\"exports\\\":return module.exports;case\\\"module\\\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\\\"ace/lib/event_emitter\\\").EventEmitter,oop=window.acequire(\\\"ace/lib/oop\\\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\\\"call\\\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\\\"event\\\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\\\"Unknown command:\\\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\\\"ace/lib/es5-shim\\\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\\\"ace/lib/oop\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\\\"ace/lib/lang\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\\\"\\\").reverse().join(\\\"\\\")},exports.stringRepeat=function(string,count){for(var result=\\\"\\\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\\\"\\\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\\\"\\\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\\\"object\\\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\\\"object\\\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\\\"[object Object]\\\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\\\"\\\\\\\\$1\\\")},exports.escapeHTML=function(str){return str.replace(/&/g,\\\"&\\\").replace(/\\\"/g,\\\""\\\").replace(/'/g,\\\"'\\\").replace(/ [\\\"+this.end.row+\\\"/\\\"+this.end.column+\\\"]\\\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\\\"object\\\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\\\"object\\\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\\\"ace/apply_delta\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\\\"\\\";switch(delta.action){case\\\"insert\\\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\\\"remove\\\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\\\"ace/lib/event_emitter\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports){\\\"use strict\\\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\\\"object\\\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\\\"unshift\\\":\\\"push\\\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\\\"ace/anchor\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/lib/event_emitter\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\\\"change\\\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\\\"change\\\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\\\"change\\\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\\\"ace/document\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/lib/oop\\\",\\\"ace/apply_delta\\\",\\\"ace/lib/event_emitter\\\",\\\"ace/range\\\",\\\"ace/anchor\\\"],function(acequire,exports){\\\"use strict\\\";var oop=acequire(\\\"./lib/oop\\\"),applyDelta=acequire(\\\"./apply_delta\\\").applyDelta,EventEmitter=acequire(\\\"./lib/event_emitter\\\").EventEmitter,Range=acequire(\\\"./range\\\").Range,Anchor=acequire(\\\"./anchor\\\").Anchor,Document=function(textOrLines){this.$lines=[\\\"\\\"],0===textOrLines.length?this.$lines=[\\\"\\\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\\\"aaa\\\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\\\"\\\\n\\\").split(\\\"\\\\n\\\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\\\"\\\\n\\\",this._signal(\\\"changeNewLineMode\\\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\\\"windows\\\":return\\\"\\\\r\\\\n\\\";case\\\"unix\\\":return\\\"\\\\n\\\";default:return this.$autoNewLine||\\\"\\\\n\\\"}},this.$autoNewLine=\\\"\\\",this.$newLineMode=\\\"auto\\\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\\\"changeNewLineMode\\\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\\\"\\\\r\\\\n\\\"==text||\\\"\\\\r\\\"==text||\\\"\\\\n\\\"==text},this.getLine=function(row){return this.$lines[row]||\\\"\\\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\\\"\\\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\\\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\\\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\\\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\\\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\\\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\\\"),this.insertMergedLines(position,[\\\"\\\",\\\"\\\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\\\"\\\"]),column=0):(lines=[\\\"\\\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\\\"insert\\\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\\\"remove\\\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\\\"remove\\\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\\\"remove\\\",lines:[\\\"\\\",\\\"\\\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\\\"insert\\\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\\\"change\\\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\\\"\\\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\\\"insert\\\"==delta.action?\\\"remove\\\":\\\"insert\\\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\\\"ace/worker/mirror\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\",\\\"ace/range\\\",\\\"ace/document\\\",\\\"ace/lib/lang\\\"],function(acequire,exports){\\\"use strict\\\";acequire(\\\"../range\\\").Range;var Document=acequire(\\\"../document\\\").Document,lang=acequire(\\\"../lib/lang\\\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\\\"\\\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\\\"change\\\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\\\"insert\\\",start:data[i],lines:data[i+1]};else var d={action:\\\"remove\\\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\\\"ace/mode/css/csslint\\\",[\\\"require\\\",\\\"exports\\\",\\\"module\\\"],function(acequire,exports,module){function objectToString(o){return Object.prototype.toString.call(o)}function clone(parent,circular,depth,prototype){function _clone(parent,depth){if(null===parent)return null;if(0==depth)return parent;var child;if(\\\"object\\\"!=typeof parent)return parent;if(util.isArray(parent))child=[];else if(util.isRegExp(parent))child=RegExp(parent.source,util.getRegExpFlags(parent)),parent.lastIndex&&(child.lastIndex=parent.lastIndex);else if(util.isDate(parent))child=new Date(parent.getTime());else{if(useBuffer&&Buffer.isBuffer(parent))return child=new Buffer(parent.length),parent.copy(child),child;child=prototype===void 0?Object.create(Object.getPrototypeOf(parent)):Object.create(prototype)}if(circular){var index=allParents.indexOf(parent);if(-1!=index)return allChildren[index];allParents.push(parent),allChildren.push(child)}for(var i in parent)child[i]=_clone(parent[i],depth-1);return child}var allParents=[],allChildren=[],useBuffer=\\\"undefined\\\"!=typeof Buffer;return circular===void 0&&(circular=!0),depth===void 0&&(depth=1/0),_clone(parent,depth)}function Reporter(lines,ruleset){this.messages=[],this.stats=[],this.lines=lines,this.ruleset=ruleset}var parserlib={};(function(){function EventTarget(){this._listeners={}}function StringReader(text){this._input=text.replace(/\\\\n\\\\r?/g,\\\"\\\\n\\\"),this._line=1,this._col=1,this._cursor=0}function SyntaxError(message,line,col){this.col=col,this.line=line,this.message=message}function SyntaxUnit(text,line,col,type){this.col=col,this.line=line,this.text=text,this.type=type}function TokenStreamBase(input,tokenData){this._reader=input?new StringReader(\\\"\\\"+input):null,this._token=null,this._tokenData=tokenData,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}EventTarget.prototype={constructor:EventTarget,addListener:function(type,listener){this._listeners[type]||(this._listeners[type]=[]),this._listeners[type].push(listener)},fire:function(event){if(\\\"string\\\"==typeof event&&(event={type:event}),event.target!==void 0&&(event.target=this),event.type===void 0)throw Error(\\\"Event object missing 'type' property.\\\");if(this._listeners[event.type])for(var listeners=this._listeners[event.type].concat(),i=0,len=listeners.length;len>i;i++)listeners[i].call(this,event)},removeListener:function(type,listener){if(this._listeners[type])for(var listeners=this._listeners[type],i=0,len=listeners.length;len>i;i++)if(listeners[i]===listener){listeners.splice(i,1);break}}},StringReader.prototype={constructor:StringReader,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor==this._input.length},peek:function(count){var c=null;return count=count===void 0?1:count,this._cursori;i++)nameMap.push(tokenData[i].name),tokenData[tokenData[i].name]=i,tokenData[i].text&&(typeMap[tokenData[i].text]=i);return tokenData.name=function(tt){return nameMap[tt]},tokenData.type=function(c){return typeMap[c]},tokenData},TokenStreamBase.prototype={constructor:TokenStreamBase,match:function(tokenTypes,channel){tokenTypes instanceof Array||(tokenTypes=[tokenTypes]);\\nfor(var tt=this.get(channel),i=0,len=tokenTypes.length;len>i;)if(tt==tokenTypes[i++])return!0;return this.unget(),!1},mustMatch:function(tokenTypes){var token;if(tokenTypes instanceof Array||(tokenTypes=[tokenTypes]),!this.match.apply(this,arguments))throw token=this.LT(1),new SyntaxError(\\\"Expected \\\"+this._tokenData[tokenTypes[0]].name+\\\" at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol)},advance:function(tokenTypes,channel){for(;0!==this.LA(0)&&!this.match(tokenTypes,channel);)this.get();return this.LA(0)},get:function(channel){var token,info,tokenInfo=this._tokenData,i=(this._reader,0);if(tokenInfo.length,this._lt.length&&this._ltIndex>=0&&this._ltIndex-1&&!tokenInfo[token.type].hide&&(token.channel=tokenInfo[token.type].channel,this._token=token,this._lt.push(token),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),info=tokenInfo[token.type],info&&(info.hide||void 0!==info.channel&&channel!==info.channel)?this.get(channel):token.type},LA:function(index){var tt,total=index;if(index>0){if(index>5)throw Error(\\\"Too much lookahead.\\\");for(;total;)tt=this.get(),total--;for(;index>total;)this.unget(),total++}else if(0>index){if(!this._lt[this._ltIndex+index])throw Error(\\\"Too much lookbehind.\\\");tt=this._lt[this._ltIndex+index].type}else tt=this._token.type;return tt},LT:function(index){return this.LA(index),this._lt[this._ltIndex+index-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(tokenType){return 0>tokenType||tokenType>this._tokenData.length?\\\"UNKNOWN_TOKEN\\\":this._tokenData[tokenType].name},tokenType:function(tokenName){return this._tokenData[tokenName]||-1},unget:function(){if(!this._ltIndexCache.length)throw Error(\\\"Too much lookahead.\\\");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:StringReader,SyntaxError:SyntaxError,SyntaxUnit:SyntaxUnit,EventTarget:EventTarget,TokenStreamBase:TokenStreamBase}})(),function(){function Combinator(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.COMBINATOR_TYPE),this.type=\\\"unknown\\\",/^\\\\s+$/.test(text)?this.type=\\\"descendant\\\":\\\">\\\"==text?this.type=\\\"child\\\":\\\"+\\\"==text?this.type=\\\"adjacent-sibling\\\":\\\"~\\\"==text&&(this.type=\\\"sibling\\\")}function MediaFeature(name,value){SyntaxUnit.call(this,\\\"(\\\"+name+(null!==value?\\\":\\\"+value:\\\"\\\")+\\\")\\\",name.startLine,name.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=name,this.value=value}function MediaQuery(modifier,mediaType,features,line,col){SyntaxUnit.call(this,(modifier?modifier+\\\" \\\":\\\"\\\")+(mediaType?mediaType:\\\"\\\")+(mediaType&&features.length>0?\\\" and \\\":\\\"\\\")+features.join(\\\" and \\\"),line,col,Parser.MEDIA_QUERY_TYPE),this.modifier=modifier,this.mediaType=mediaType,this.features=features}function Parser(options){EventTarget.call(this),this.options=options||{},this._tokenStream=null}function PropertyName(text,hack,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_NAME_TYPE),this.hack=hack}function PropertyValue(parts,line,col){SyntaxUnit.call(this,parts.join(\\\" \\\"),line,col,Parser.PROPERTY_VALUE_TYPE),this.parts=parts}function PropertyValueIterator(value){this._i=0,this._parts=value.parts,this._marks=[],this.value=value}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type=\\\"unknown\\\";var temp;if(/^([+\\\\-]?[\\\\d\\\\.]+)([a-z]+)$/i.test(text))switch(this.type=\\\"dimension\\\",this.value=+RegExp.$1,this.units=RegExp.$2,this.units.toLowerCase()){case\\\"em\\\":case\\\"rem\\\":case\\\"ex\\\":case\\\"px\\\":case\\\"cm\\\":case\\\"mm\\\":case\\\"in\\\":case\\\"pt\\\":case\\\"pc\\\":case\\\"ch\\\":case\\\"vh\\\":case\\\"vw\\\":case\\\"vmax\\\":case\\\"vmin\\\":this.type=\\\"length\\\";break;case\\\"deg\\\":case\\\"rad\\\":case\\\"grad\\\":this.type=\\\"angle\\\";break;case\\\"ms\\\":case\\\"s\\\":this.type=\\\"time\\\";break;case\\\"hz\\\":case\\\"khz\\\":this.type=\\\"frequency\\\";break;case\\\"dpi\\\":case\\\"dpcm\\\":this.type=\\\"resolution\\\"}else/^([+\\\\-]?[\\\\d\\\\.]+)%$/i.test(text)?(this.type=\\\"percentage\\\",this.value=+RegExp.$1):/^([+\\\\-]?\\\\d+)$/i.test(text)?(this.type=\\\"integer\\\",this.value=+RegExp.$1):/^([+\\\\-]?[\\\\d\\\\.]+)$/i.test(text)?(this.type=\\\"number\\\",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type=\\\"color\\\",temp=RegExp.$1,3==temp.length?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\\\\(\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100):/^rgba\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\\\\(\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.red=255*+RegExp.$1/100,this.green=255*+RegExp.$2/100,this.blue=255*+RegExp.$3/100,this.alpha=+RegExp.$4):/^hsl\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\\\\(\\\\s*(\\\\d+)\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*(\\\\d+)%\\\\s*,\\\\s*([\\\\d\\\\.]+)\\\\s*\\\\)/i.test(text)?(this.type=\\\"color\\\",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\\\\([\\\"']?([^\\\\)\\\"']+)[\\\"']?\\\\)/i.test(text)?(this.type=\\\"uri\\\",this.uri=RegExp.$1):/^([^\\\\(]+)\\\\(/i.test(text)?(this.type=\\\"function\\\",this.name=RegExp.$1,this.value=text):/^[\\\"'][^\\\"']*[\\\"']/.test(text)?(this.type=\\\"string\\\",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type=\\\"color\\\",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\\\\,\\\\/]$/.test(text)?(this.type=\\\"operator\\\",this.value=text):/^[a-z\\\\-_\\\\u0080-\\\\uFFFF][a-z0-9\\\\-_\\\\u0080-\\\\uFFFF]*$/i.test(text)&&(this.type=\\\"identifier\\\",this.value=text)}function Selector(parts,line,col){SyntaxUnit.call(this,parts.join(\\\" \\\"),line,col,Parser.SELECTOR_TYPE),this.parts=parts,this.specificity=Specificity.calculate(this)}function SelectorPart(elementName,modifiers,text,line,col){SyntaxUnit.call(this,text,line,col,Parser.SELECTOR_PART_TYPE),this.elementName=elementName,this.modifiers=modifiers}function SelectorSubPart(text,type,line,col){SyntaxUnit.call(this,text,line,col,Parser.SELECTOR_SUB_PART_TYPE),this.type=type,this.args=[]}function Specificity(a,b,c,d){this.a=a,this.b=b,this.c=c,this.d=d}function isHexDigit(c){return null!==c&&h.test(c)}function isDigit(c){return null!==c&&/\\\\d/.test(c)}function isWhitespace(c){return null!==c&&/\\\\s/.test(c)}function isNewLine(c){return null!==c&&nl.test(c)}function isNameStart(c){return null!==c&&/[a-z_\\\\u0080-\\\\uFFFF\\\\\\\\]/i.test(c)}function isNameChar(c){return null!==c&&(isNameStart(c)||/[0-9\\\\-\\\\\\\\]/.test(c))}function isIdentStart(c){return null!==c&&(isNameStart(c)||/\\\\-\\\\\\\\/.test(c))}function mix(receiver,supplier){for(var prop in supplier)supplier.hasOwnProperty(prop)&&(receiver[prop]=supplier[prop]);return receiver}function TokenStream(input){TokenStreamBase.call(this,input,Tokens)}function ValidationError(message,line,col){this.col=col,this.line=line,this.message=message}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:\\\"#f0f8ff\\\",antiquewhite:\\\"#faebd7\\\",aqua:\\\"#00ffff\\\",aquamarine:\\\"#7fffd4\\\",azure:\\\"#f0ffff\\\",beige:\\\"#f5f5dc\\\",bisque:\\\"#ffe4c4\\\",black:\\\"#000000\\\",blanchedalmond:\\\"#ffebcd\\\",blue:\\\"#0000ff\\\",blueviolet:\\\"#8a2be2\\\",brown:\\\"#a52a2a\\\",burlywood:\\\"#deb887\\\",cadetblue:\\\"#5f9ea0\\\",chartreuse:\\\"#7fff00\\\",chocolate:\\\"#d2691e\\\",coral:\\\"#ff7f50\\\",cornflowerblue:\\\"#6495ed\\\",cornsilk:\\\"#fff8dc\\\",crimson:\\\"#dc143c\\\",cyan:\\\"#00ffff\\\",darkblue:\\\"#00008b\\\",darkcyan:\\\"#008b8b\\\",darkgoldenrod:\\\"#b8860b\\\",darkgray:\\\"#a9a9a9\\\",darkgrey:\\\"#a9a9a9\\\",darkgreen:\\\"#006400\\\",darkkhaki:\\\"#bdb76b\\\",darkmagenta:\\\"#8b008b\\\",darkolivegreen:\\\"#556b2f\\\",darkorange:\\\"#ff8c00\\\",darkorchid:\\\"#9932cc\\\",darkred:\\\"#8b0000\\\",darksalmon:\\\"#e9967a\\\",darkseagreen:\\\"#8fbc8f\\\",darkslateblue:\\\"#483d8b\\\",darkslategray:\\\"#2f4f4f\\\",darkslategrey:\\\"#2f4f4f\\\",darkturquoise:\\\"#00ced1\\\",darkviolet:\\\"#9400d3\\\",deeppink:\\\"#ff1493\\\",deepskyblue:\\\"#00bfff\\\",dimgray:\\\"#696969\\\",dimgrey:\\\"#696969\\\",dodgerblue:\\\"#1e90ff\\\",firebrick:\\\"#b22222\\\",floralwhite:\\\"#fffaf0\\\",forestgreen:\\\"#228b22\\\",fuchsia:\\\"#ff00ff\\\",gainsboro:\\\"#dcdcdc\\\",ghostwhite:\\\"#f8f8ff\\\",gold:\\\"#ffd700\\\",goldenrod:\\\"#daa520\\\",gray:\\\"#808080\\\",grey:\\\"#808080\\\",green:\\\"#008000\\\",greenyellow:\\\"#adff2f\\\",honeydew:\\\"#f0fff0\\\",hotpink:\\\"#ff69b4\\\",indianred:\\\"#cd5c5c\\\",indigo:\\\"#4b0082\\\",ivory:\\\"#fffff0\\\",khaki:\\\"#f0e68c\\\",lavender:\\\"#e6e6fa\\\",lavenderblush:\\\"#fff0f5\\\",lawngreen:\\\"#7cfc00\\\",lemonchiffon:\\\"#fffacd\\\",lightblue:\\\"#add8e6\\\",lightcoral:\\\"#f08080\\\",lightcyan:\\\"#e0ffff\\\",lightgoldenrodyellow:\\\"#fafad2\\\",lightgray:\\\"#d3d3d3\\\",lightgrey:\\\"#d3d3d3\\\",lightgreen:\\\"#90ee90\\\",lightpink:\\\"#ffb6c1\\\",lightsalmon:\\\"#ffa07a\\\",lightseagreen:\\\"#20b2aa\\\",lightskyblue:\\\"#87cefa\\\",lightslategray:\\\"#778899\\\",lightslategrey:\\\"#778899\\\",lightsteelblue:\\\"#b0c4de\\\",lightyellow:\\\"#ffffe0\\\",lime:\\\"#00ff00\\\",limegreen:\\\"#32cd32\\\",linen:\\\"#faf0e6\\\",magenta:\\\"#ff00ff\\\",maroon:\\\"#800000\\\",mediumaquamarine:\\\"#66cdaa\\\",mediumblue:\\\"#0000cd\\\",mediumorchid:\\\"#ba55d3\\\",mediumpurple:\\\"#9370d8\\\",mediumseagreen:\\\"#3cb371\\\",mediumslateblue:\\\"#7b68ee\\\",mediumspringgreen:\\\"#00fa9a\\\",mediumturquoise:\\\"#48d1cc\\\",mediumvioletred:\\\"#c71585\\\",midnightblue:\\\"#191970\\\",mintcream:\\\"#f5fffa\\\",mistyrose:\\\"#ffe4e1\\\",moccasin:\\\"#ffe4b5\\\",navajowhite:\\\"#ffdead\\\",navy:\\\"#000080\\\",oldlace:\\\"#fdf5e6\\\",olive:\\\"#808000\\\",olivedrab:\\\"#6b8e23\\\",orange:\\\"#ffa500\\\",orangered:\\\"#ff4500\\\",orchid:\\\"#da70d6\\\",palegoldenrod:\\\"#eee8aa\\\",palegreen:\\\"#98fb98\\\",paleturquoise:\\\"#afeeee\\\",palevioletred:\\\"#d87093\\\",papayawhip:\\\"#ffefd5\\\",peachpuff:\\\"#ffdab9\\\",peru:\\\"#cd853f\\\",pink:\\\"#ffc0cb\\\",plum:\\\"#dda0dd\\\",powderblue:\\\"#b0e0e6\\\",purple:\\\"#800080\\\",red:\\\"#ff0000\\\",rosybrown:\\\"#bc8f8f\\\",royalblue:\\\"#4169e1\\\",saddlebrown:\\\"#8b4513\\\",salmon:\\\"#fa8072\\\",sandybrown:\\\"#f4a460\\\",seagreen:\\\"#2e8b57\\\",seashell:\\\"#fff5ee\\\",sienna:\\\"#a0522d\\\",silver:\\\"#c0c0c0\\\",skyblue:\\\"#87ceeb\\\",slateblue:\\\"#6a5acd\\\",slategray:\\\"#708090\\\",slategrey:\\\"#708090\\\",snow:\\\"#fffafa\\\",springgreen:\\\"#00ff7f\\\",steelblue:\\\"#4682b4\\\",tan:\\\"#d2b48c\\\",teal:\\\"#008080\\\",thistle:\\\"#d8bfd8\\\",tomato:\\\"#ff6347\\\",turquoise:\\\"#40e0d0\\\",violet:\\\"#ee82ee\\\",wheat:\\\"#f5deb3\\\",white:\\\"#ffffff\\\",whitesmoke:\\\"#f5f5f5\\\",yellow:\\\"#ffff00\\\",yellowgreen:\\\"#9acd32\\\",activeBorder:\\\"Active window border.\\\",activecaption:\\\"Active window caption.\\\",appworkspace:\\\"Background color of multiple document interface.\\\",background:\\\"Desktop background.\\\",buttonface:\\\"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttonhighlight:\\\"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttonshadow:\\\"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.\\\",buttontext:\\\"Text on push buttons.\\\",captiontext:\\\"Text in caption, size box, and scrollbar arrow box.\\\",graytext:\\\"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.\\\",greytext:\\\"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.\\\",highlight:\\\"Item(s) selected in a control.\\\",highlighttext:\\\"Text of item(s) selected in a control.\\\",inactiveborder:\\\"Inactive window border.\\\",inactivecaption:\\\"Inactive window caption.\\\",inactivecaptiontext:\\\"Color of text in an inactive caption.\\\",infobackground:\\\"Background color for tooltip controls.\\\",infotext:\\\"Text color for tooltip controls.\\\",menu:\\\"Menu background.\\\",menutext:\\\"Text in menus.\\\",scrollbar:\\\"Scroll bar gray area.\\\",threeddarkshadow:\\\"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedface:\\\"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedhighlight:\\\"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedlightshadow:\\\"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",threedshadow:\\\"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.\\\",window:\\\"Window background.\\\",windowframe:\\\"Window frame.\\\",windowtext:\\\"Text in windows.\\\"};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var prop,proto=new EventTarget,additions={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var count,token,tt,tokenStream=this._tokenStream;for(this.fire(\\\"startstylesheet\\\"),this._charset(),this._skipCruft();tokenStream.peek()==Tokens.IMPORT_SYM;)this._import(),this._skipCruft();for(;tokenStream.peek()==Tokens.NAMESPACE_SYM;)this._namespace(),this._skipCruft();for(tt=tokenStream.peek();tt>Tokens.EOF;){try{switch(tt){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:if(tokenStream.get(),this.options.strict)throw new SyntaxError(\\\"Unknown @ rule.\\\",tokenStream.LT(0).startLine,tokenStream.LT(0).startCol);for(this.fire({type:\\\"error\\\",error:null,message:\\\"Unknown @ rule: \\\"+tokenStream.LT(0).value+\\\".\\\",line:tokenStream.LT(0).startLine,col:tokenStream.LT(0).startCol}),count=0;tokenStream.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE;)count++;for(;count;)tokenStream.advance([Tokens.RBRACE]),count--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(tt){case Tokens.CHARSET_SYM:throw token=tokenStream.LT(1),this._charset(!1),new SyntaxError(\\\"@charset not allowed here.\\\",token.startLine,token.startCol);case Tokens.IMPORT_SYM:throw token=tokenStream.LT(1),this._import(!1),new SyntaxError(\\\"@import not allowed here.\\\",token.startLine,token.startCol);case Tokens.NAMESPACE_SYM:throw token=tokenStream.LT(1),this._namespace(!1),new SyntaxError(\\\"@namespace not allowed here.\\\",token.startLine,token.startCol);default:tokenStream.get(),this._unexpectedToken(tokenStream.token())}}}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col})}tt=tokenStream.peek()}tt!=Tokens.EOF&&this._unexpectedToken(tokenStream.token()),this.fire(\\\"endstylesheet\\\")},_charset:function(emit){var charset,token,line,col,tokenStream=this._tokenStream;tokenStream.match(Tokens.CHARSET_SYM)&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.mustMatch(Tokens.STRING),token=tokenStream.token(),charset=token.value,this._readWhitespace(),tokenStream.mustMatch(Tokens.SEMICOLON),emit!==!1&&this.fire({type:\\\"charset\\\",charset:charset,line:line,col:col}))},_import:function(emit){var uri,importToken,tokenStream=this._tokenStream,mediaList=[];tokenStream.mustMatch(Tokens.IMPORT_SYM),importToken=tokenStream.token(),this._readWhitespace(),tokenStream.mustMatch([Tokens.STRING,Tokens.URI]),uri=tokenStream.token().value.replace(/^(?:url\\\\()?[\\\"']?([^\\\"']+?)[\\\"']?\\\\)?$/,\\\"$1\\\"),this._readWhitespace(),mediaList=this._media_query_list(),tokenStream.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),emit!==!1&&this.fire({type:\\\"import\\\",uri:uri,media:mediaList,line:importToken.startLine,col:importToken.startCol})},_namespace:function(emit){var line,col,prefix,uri,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.NAMESPACE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.match(Tokens.IDENT)&&(prefix=tokenStream.token().value,this._readWhitespace()),tokenStream.mustMatch([Tokens.STRING,Tokens.URI]),uri=tokenStream.token().value.replace(/(?:url\\\\()?[\\\"']([^\\\"']+)[\\\"']\\\\)?/,\\\"$1\\\"),this._readWhitespace(),tokenStream.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),emit!==!1&&this.fire({type:\\\"namespace\\\",prefix:prefix,uri:uri,line:line,col:col})},_media:function(){var line,col,mediaList,tokenStream=this._tokenStream;for(tokenStream.mustMatch(Tokens.MEDIA_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),mediaList=this._media_query_list(),tokenStream.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:\\\"startmedia\\\",media:mediaList,line:line,col:col});;)if(tokenStream.peek()==Tokens.PAGE_SYM)this._page();else if(tokenStream.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(tokenStream.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;tokenStream.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:\\\"endmedia\\\",media:mediaList,line:line,col:col})},_media_query_list:function(){var tokenStream=this._tokenStream,mediaList=[];for(this._readWhitespace(),(tokenStream.peek()==Tokens.IDENT||tokenStream.peek()==Tokens.LPAREN)&&mediaList.push(this._media_query());tokenStream.match(Tokens.COMMA);)this._readWhitespace(),mediaList.push(this._media_query());return mediaList},_media_query:function(){var tokenStream=this._tokenStream,type=null,ident=null,token=null,expressions=[];if(tokenStream.match(Tokens.IDENT)&&(ident=tokenStream.token().value.toLowerCase(),\\\"only\\\"!=ident&&\\\"not\\\"!=ident?(tokenStream.unget(),ident=null):token=tokenStream.token()),this._readWhitespace(),tokenStream.peek()==Tokens.IDENT?(type=this._media_type(),null===token&&(token=tokenStream.token())):tokenStream.peek()==Tokens.LPAREN&&(null===token&&(token=tokenStream.LT(1)),expressions.push(this._media_expression())),null===type&&0===expressions.length)return null;for(this._readWhitespace();tokenStream.match(Tokens.IDENT);)\\\"and\\\"!=tokenStream.token().value.toLowerCase()&&this._unexpectedToken(tokenStream.token()),this._readWhitespace(),expressions.push(this._media_expression());return new MediaQuery(ident,type,expressions,token.startLine,token.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var token,tokenStream=this._tokenStream,feature=null,expression=null;return tokenStream.mustMatch(Tokens.LPAREN),feature=this._media_feature(),this._readWhitespace(),tokenStream.match(Tokens.COLON)&&(this._readWhitespace(),token=tokenStream.LT(1),expression=this._expression()),tokenStream.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(feature,expression?new SyntaxUnit(expression,token.startLine,token.startCol):null)},_media_feature:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(tokenStream.token())},_page:function(){var line,col,tokenStream=this._tokenStream,identifier=null,pseudoPage=null;tokenStream.mustMatch(Tokens.PAGE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),tokenStream.match(Tokens.IDENT)&&(identifier=tokenStream.token().value,\\\"auto\\\"===identifier.toLowerCase()&&this._unexpectedToken(tokenStream.token())),tokenStream.peek()==Tokens.COLON&&(pseudoPage=this._pseudo_page()),this._readWhitespace(),this.fire({type:\\\"startpage\\\",id:identifier,pseudo:pseudoPage,line:line,col:col}),this._readDeclarations(!0,!0),this.fire({type:\\\"endpage\\\",id:identifier,pseudo:pseudoPage,line:line,col:col})},_margin:function(){var line,col,tokenStream=this._tokenStream,marginSym=this._margin_sym();return marginSym?(line=tokenStream.token().startLine,col=tokenStream.token().startCol,this.fire({type:\\\"startpagemargin\\\",margin:marginSym,line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endpagemargin\\\",margin:marginSym,line:line,col:col}),!0):!1},_margin_sym:function(){var tokenStream=this._tokenStream;return tokenStream.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(tokenStream.token()):null},_pseudo_page:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch(Tokens.COLON),tokenStream.mustMatch(Tokens.IDENT),tokenStream.token().value},_font_face:function(){var line,col,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.FONT_FACE_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),this.fire({type:\\\"startfontface\\\",line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endfontface\\\",line:line,col:col})},_viewport:function(){var line,col,tokenStream=this._tokenStream;tokenStream.mustMatch(Tokens.VIEWPORT_SYM),line=tokenStream.token().startLine,col=tokenStream.token().startCol,this._readWhitespace(),this.fire({type:\\\"startviewport\\\",line:line,col:col}),this._readDeclarations(!0),this.fire({type:\\\"endviewport\\\",line:line,col:col})},_operator:function(inFunction){var tokenStream=this._tokenStream,token=null;return(tokenStream.match([Tokens.SLASH,Tokens.COMMA])||inFunction&&tokenStream.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))&&(token=tokenStream.token(),this._readWhitespace()),token?PropertyValuePart.fromToken(token):null},_combinator:function(){var token,tokenStream=this._tokenStream,value=null;return tokenStream.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(token=tokenStream.token(),value=new Combinator(token.value,token.startLine,token.startCol),this._readWhitespace()),value},_unary_operator:function(){var tokenStream=this._tokenStream;return tokenStream.match([Tokens.MINUS,Tokens.PLUS])?tokenStream.token().value:null},_property:function(){var tokenValue,token,line,col,tokenStream=this._tokenStream,value=null,hack=null;return tokenStream.peek()==Tokens.STAR&&this.options.starHack&&(tokenStream.get(),token=tokenStream.token(),hack=token.value,line=token.startLine,col=token.startCol),tokenStream.match(Tokens.IDENT)&&(token=tokenStream.token(),tokenValue=token.value,\\\"_\\\"==tokenValue.charAt(0)&&this.options.underscoreHack&&(hack=\\\"_\\\",tokenValue=tokenValue.substring(1)),value=new PropertyName(tokenValue,hack,line||token.startLine,col||token.startCol),this._readWhitespace()),value},_ruleset:function(){var tt,selectors,tokenStream=this._tokenStream;try{selectors=this._selectors_group()}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;if(this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col}),tt=tokenStream.advance([Tokens.RBRACE]),tt!=Tokens.RBRACE)throw ex;return!0}return selectors&&(this.fire({type:\\\"startrule\\\",selectors:selectors,line:selectors[0].line,col:selectors[0].col}),this._readDeclarations(!0),this.fire({type:\\\"endrule\\\",selectors:selectors,line:selectors[0].line,col:selectors[0].col})),selectors},_selectors_group:function(){var selector,tokenStream=this._tokenStream,selectors=[];if(selector=this._selector(),null!==selector)for(selectors.push(selector);tokenStream.match(Tokens.COMMA);)this._readWhitespace(),selector=this._selector(),null!==selector?selectors.push(selector):this._unexpectedToken(tokenStream.LT(1));return selectors.length?selectors:null},_selector:function(){var tokenStream=this._tokenStream,selector=[],nextSelector=null,combinator=null,ws=null;if(nextSelector=this._simple_selector_sequence(),null===nextSelector)return null;for(selector.push(nextSelector);;)if(combinator=this._combinator(),null!==combinator)selector.push(combinator),nextSelector=this._simple_selector_sequence(),null===nextSelector?this._unexpectedToken(tokenStream.LT(1)):selector.push(nextSelector);else{if(!this._readWhitespace())break;ws=new Combinator(tokenStream.token().value,tokenStream.token().startLine,tokenStream.token().startCol),combinator=this._combinator(),nextSelector=this._simple_selector_sequence(),null===nextSelector?null!==combinator&&this._unexpectedToken(tokenStream.LT(1)):(null!==combinator?selector.push(combinator):selector.push(ws),selector.push(nextSelector))}return new Selector(selector,selector[0].line,selector[0].col)},_simple_selector_sequence:function(){var line,col,tokenStream=this._tokenStream,elementName=null,modifiers=[],selectorText=\\\"\\\",components=[function(){return tokenStream.match(Tokens.HASH)?new SelectorSubPart(tokenStream.token().value,\\\"id\\\",tokenStream.token().startLine,tokenStream.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],i=0,len=components.length,component=null;for(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol,elementName=this._type_selector(),elementName||(elementName=this._universal()),null!==elementName&&(selectorText+=elementName);;){if(tokenStream.peek()===Tokens.S)break;for(;len>i&&null===component;)component=components[i++].call(this);if(null===component){if(\\\"\\\"===selectorText)return null;break}i=0,modifiers.push(component),selectorText+=\\\"\\\"+component,component=null}return\\\"\\\"!==selectorText?new SelectorPart(elementName,modifiers,selectorText,line,col):null},_type_selector:function(){var tokenStream=this._tokenStream,ns=this._namespace_prefix(),elementName=this._element_name();return elementName?(ns&&(elementName.text=ns+elementName.text,elementName.col-=ns.length),elementName):(ns&&(tokenStream.unget(),ns.length>1&&tokenStream.unget()),null)},_class:function(){var token,tokenStream=this._tokenStream;return tokenStream.match(Tokens.DOT)?(tokenStream.mustMatch(Tokens.IDENT),token=tokenStream.token(),new SelectorSubPart(\\\".\\\"+token.value,\\\"class\\\",token.startLine,token.startCol-1)):null},_element_name:function(){var token,tokenStream=this._tokenStream;return tokenStream.match(Tokens.IDENT)?(token=tokenStream.token(),new SelectorSubPart(token.value,\\\"elementName\\\",token.startLine,token.startCol)):null},_namespace_prefix:function(){var tokenStream=this._tokenStream,value=\\\"\\\";return(tokenStream.LA(1)===Tokens.PIPE||tokenStream.LA(2)===Tokens.PIPE)&&(tokenStream.match([Tokens.IDENT,Tokens.STAR])&&(value+=tokenStream.token().value),tokenStream.mustMatch(Tokens.PIPE),value+=\\\"|\\\"),value.length?value:null},_universal:function(){var ns,tokenStream=this._tokenStream,value=\\\"\\\";return ns=this._namespace_prefix(),ns&&(value+=ns),tokenStream.match(Tokens.STAR)&&(value+=\\\"*\\\"),value.length?value:null},_attrib:function(){var ns,token,tokenStream=this._tokenStream,value=null;return tokenStream.match(Tokens.LBRACKET)?(token=tokenStream.token(),value=token.value,value+=this._readWhitespace(),ns=this._namespace_prefix(),ns&&(value+=ns),tokenStream.mustMatch(Tokens.IDENT),value+=tokenStream.token().value,value+=this._readWhitespace(),tokenStream.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(value+=tokenStream.token().value,value+=this._readWhitespace(),tokenStream.mustMatch([Tokens.IDENT,Tokens.STRING]),value+=tokenStream.token().value,value+=this._readWhitespace()),tokenStream.mustMatch(Tokens.RBRACKET),new SelectorSubPart(value+\\\"]\\\",\\\"attribute\\\",token.startLine,token.startCol)):null},_pseudo:function(){var line,col,tokenStream=this._tokenStream,pseudo=null,colons=\\\":\\\";return tokenStream.match(Tokens.COLON)&&(tokenStream.match(Tokens.COLON)&&(colons+=\\\":\\\"),tokenStream.match(Tokens.IDENT)?(pseudo=tokenStream.token().value,line=tokenStream.token().startLine,col=tokenStream.token().startCol-colons.length):tokenStream.peek()==Tokens.FUNCTION&&(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol-colons.length,pseudo=this._functional_pseudo()),pseudo&&(pseudo=new SelectorSubPart(colons+pseudo,\\\"pseudo\\\",line,col))),pseudo},_functional_pseudo:function(){var tokenStream=this._tokenStream,value=null;return tokenStream.match(Tokens.FUNCTION)&&(value=tokenStream.token().value,value+=this._readWhitespace(),value+=this._expression(),tokenStream.mustMatch(Tokens.RPAREN),value+=\\\")\\\"),value},_expression:function(){for(var tokenStream=this._tokenStream,value=\\\"\\\";tokenStream.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]);)value+=tokenStream.token().value,value+=this._readWhitespace();return value.length?value:null},_negation:function(){var line,col,arg,tokenStream=this._tokenStream,value=\\\"\\\",subpart=null;return tokenStream.match(Tokens.NOT)&&(value=tokenStream.token().value,line=tokenStream.token().startLine,col=tokenStream.token().startCol,value+=this._readWhitespace(),arg=this._negation_arg(),value+=arg,value+=this._readWhitespace(),tokenStream.match(Tokens.RPAREN),value+=tokenStream.token().value,subpart=new SelectorSubPart(value,\\\"not\\\",line,col),subpart.args.push(arg)),subpart},_negation_arg:function(){var line,col,part,tokenStream=this._tokenStream,args=[this._type_selector,this._universal,function(){return tokenStream.match(Tokens.HASH)?new SelectorSubPart(tokenStream.token().value,\\\"id\\\",tokenStream.token().startLine,tokenStream.token().startCol):null},this._class,this._attrib,this._pseudo],arg=null,i=0,len=args.length;for(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol;len>i&&null===arg;)arg=args[i].call(this),i++;return null===arg&&this._unexpectedToken(tokenStream.LT(1)),part=\\\"elementName\\\"==arg.type?new SelectorPart(arg,[],\\\"\\\"+arg,line,col):new SelectorPart(null,[arg],\\\"\\\"+arg,line,col)},_declaration:function(){var tokenStream=this._tokenStream,property=null,expr=null,prio=null,invalid=null,propertyName=\\\"\\\";if(property=this._property(),null!==property){tokenStream.mustMatch(Tokens.COLON),this._readWhitespace(),expr=this._expr(),expr&&0!==expr.length||this._unexpectedToken(tokenStream.LT(1)),prio=this._prio(),propertyName=\\\"\\\"+property,(this.options.starHack&&\\\"*\\\"==property.hack||this.options.underscoreHack&&\\\"_\\\"==property.hack)&&(propertyName=property.text);try{this._validateProperty(propertyName,expr)}catch(ex){invalid=ex}return this.fire({type:\\\"property\\\",property:property,value:expr,important:prio,line:property.line,col:property.col,invalid:invalid}),!0}return!1},_prio:function(){var tokenStream=this._tokenStream,result=tokenStream.match(Tokens.IMPORTANT_SYM);return this._readWhitespace(),result},_expr:function(inFunction){var values=(this._tokenStream,[]),value=null,operator=null;if(value=this._term(inFunction),null!==value)for(values.push(value);;){if(operator=this._operator(inFunction),operator&&values.push(operator),value=this._term(inFunction),null===value)break;\\nvalues.push(value)}return values.length>0?new PropertyValue(values,values[0].line,values[0].col):null},_term:function(inFunction){var token,line,col,tokenStream=this._tokenStream,unary=null,value=null,endChar=null;return unary=this._unary_operator(),null!==unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),tokenStream.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(value=this._ie_function(),null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol)):inFunction&&tokenStream.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(token=tokenStream.token(),endChar=token.endChar,value=token.value+this._expr(inFunction).text,null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),tokenStream.mustMatch(Tokens.type(endChar)),value+=endChar,this._readWhitespace()):tokenStream.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(value=tokenStream.token().value,null===unary&&(line=tokenStream.token().startLine,col=tokenStream.token().startCol),this._readWhitespace()):(token=this._hexcolor(),null===token?(null===unary&&(line=tokenStream.LT(1).startLine,col=tokenStream.LT(1).startCol),null===value&&(value=tokenStream.LA(3)==Tokens.EQUALS&&this.options.ieFilters?this._ie_function():this._function())):(value=token.value,null===unary&&(line=token.startLine,col=token.startCol))),null!==value?new PropertyValuePart(null!==unary?unary+value:value,line,col):null},_function:function(){var lt,tokenStream=this._tokenStream,functionText=null,expr=null;if(tokenStream.match(Tokens.FUNCTION)){if(functionText=tokenStream.token().value,this._readWhitespace(),expr=this._expr(!0),functionText+=expr,this.options.ieFilters&&tokenStream.peek()==Tokens.EQUALS)do for(this._readWhitespace()&&(functionText+=tokenStream.token().value),tokenStream.LA(0)==Tokens.COMMA&&(functionText+=tokenStream.token().value),tokenStream.match(Tokens.IDENT),functionText+=tokenStream.token().value,tokenStream.match(Tokens.EQUALS),functionText+=tokenStream.token().value,lt=tokenStream.peek();lt!=Tokens.COMMA&<!=Tokens.S&<!=Tokens.RPAREN;)tokenStream.get(),functionText+=tokenStream.token().value,lt=tokenStream.peek();while(tokenStream.match([Tokens.COMMA,Tokens.S]));tokenStream.match(Tokens.RPAREN),functionText+=\\\")\\\",this._readWhitespace()}return functionText},_ie_function:function(){var lt,tokenStream=this._tokenStream,functionText=null;if(tokenStream.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){functionText=tokenStream.token().value;do for(this._readWhitespace()&&(functionText+=tokenStream.token().value),tokenStream.LA(0)==Tokens.COMMA&&(functionText+=tokenStream.token().value),tokenStream.match(Tokens.IDENT),functionText+=tokenStream.token().value,tokenStream.match(Tokens.EQUALS),functionText+=tokenStream.token().value,lt=tokenStream.peek();lt!=Tokens.COMMA&<!=Tokens.S&<!=Tokens.RPAREN;)tokenStream.get(),functionText+=tokenStream.token().value,lt=tokenStream.peek();while(tokenStream.match([Tokens.COMMA,Tokens.S]));tokenStream.match(Tokens.RPAREN),functionText+=\\\")\\\",this._readWhitespace()}return functionText},_hexcolor:function(){var color,tokenStream=this._tokenStream,token=null;if(tokenStream.match(Tokens.HASH)){if(token=tokenStream.token(),color=token.value,!/#[a-f0-9]{3,6}/i.test(color))throw new SyntaxError(\\\"Expected a hex color but found '\\\"+color+\\\"' at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol);this._readWhitespace()}return token},_keyframes:function(){var token,tt,name,tokenStream=this._tokenStream,prefix=\\\"\\\";for(tokenStream.mustMatch(Tokens.KEYFRAMES_SYM),token=tokenStream.token(),/^@\\\\-([^\\\\-]+)\\\\-/.test(token.value)&&(prefix=RegExp.$1),this._readWhitespace(),name=this._keyframe_name(),this._readWhitespace(),tokenStream.mustMatch(Tokens.LBRACE),this.fire({type:\\\"startkeyframes\\\",name:name,prefix:prefix,line:token.startLine,col:token.startCol}),this._readWhitespace(),tt=tokenStream.peek();tt==Tokens.IDENT||tt==Tokens.PERCENTAGE;)this._keyframe_rule(),this._readWhitespace(),tt=tokenStream.peek();this.fire({type:\\\"endkeyframes\\\",name:name,prefix:prefix,line:token.startLine,col:token.startCol}),this._readWhitespace(),tokenStream.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var tokenStream=this._tokenStream;return tokenStream.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(tokenStream.token())},_keyframe_rule:function(){var keyList=(this._tokenStream,this._key_list());this.fire({type:\\\"startkeyframerule\\\",keys:keyList,line:keyList[0].line,col:keyList[0].col}),this._readDeclarations(!0),this.fire({type:\\\"endkeyframerule\\\",keys:keyList,line:keyList[0].line,col:keyList[0].col})},_key_list:function(){var tokenStream=this._tokenStream,keyList=[];for(keyList.push(this._key()),this._readWhitespace();tokenStream.match(Tokens.COMMA);)this._readWhitespace(),keyList.push(this._key()),this._readWhitespace();return keyList},_key:function(){var token,tokenStream=this._tokenStream;if(tokenStream.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(tokenStream.token());if(tokenStream.match(Tokens.IDENT)){if(token=tokenStream.token(),/from|to/i.test(token.value))return SyntaxUnit.fromToken(token);tokenStream.unget()}this._unexpectedToken(tokenStream.LT(1))},_skipCruft:function(){for(;this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]););},_readDeclarations:function(checkStart,readMargins){var tt,tokenStream=this._tokenStream;this._readWhitespace(),checkStart&&tokenStream.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(tokenStream.match(Tokens.SEMICOLON)||readMargins&&this._margin());else{if(!this._declaration())break;if(!tokenStream.match(Tokens.SEMICOLON))break}this._readWhitespace()}tokenStream.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(ex){if(!(ex instanceof SyntaxError)||this.options.strict)throw ex;if(this.fire({type:\\\"error\\\",error:ex,message:ex.message,line:ex.line,col:ex.col}),tt=tokenStream.advance([Tokens.SEMICOLON,Tokens.RBRACE]),tt==Tokens.SEMICOLON)this._readDeclarations(!1,readMargins);else if(tt!=Tokens.RBRACE)throw ex}},_readWhitespace:function(){for(var tokenStream=this._tokenStream,ws=\\\"\\\";tokenStream.match(Tokens.S);)ws+=tokenStream.token().value;return ws},_unexpectedToken:function(token){throw new SyntaxError(\\\"Unexpected token '\\\"+token.value+\\\"' at line \\\"+token.startLine+\\\", col \\\"+token.startCol+\\\".\\\",token.startLine,token.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(property,value){Validation.validate(property,value)},parse:function(input){this._tokenStream=new TokenStream(input,Tokens),this._stylesheet()},parseStyleSheet:function(input){return this.parse(input)},parseMediaQuery:function(input){this._tokenStream=new TokenStream(input,Tokens);var result=this._media_query();return this._verifyEnd(),result},parsePropertyValue:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._expr();return this._readWhitespace(),this._verifyEnd(),result},parseRule:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._ruleset();return this._readWhitespace(),this._verifyEnd(),result},parseSelector:function(input){this._tokenStream=new TokenStream(input,Tokens),this._readWhitespace();var result=this._selector();return this._readWhitespace(),this._verifyEnd(),result},parseStyleAttribute:function(input){input+=\\\"}\\\",this._tokenStream=new TokenStream(input,Tokens),this._readDeclarations()}};for(prop in additions)additions.hasOwnProperty(prop)&&(proto[prop]=additions[prop]);return proto}();var Properties={\\\"align-items\\\":\\\"flex-start | flex-end | center | baseline | stretch\\\",\\\"align-content\\\":\\\"flex-start | flex-end | center | space-between | space-around | stretch\\\",\\\"align-self\\\":\\\"auto | flex-start | flex-end | center | baseline | stretch\\\",\\\"-webkit-align-items\\\":\\\"flex-start | flex-end | center | baseline | stretch\\\",\\\"-webkit-align-content\\\":\\\"flex-start | flex-end | center | space-between | space-around | stretch\\\",\\\"-webkit-align-self\\\":\\\"auto | flex-start | flex-end | center | baseline | stretch\\\",\\\"alignment-adjust\\\":\\\"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | \\\",\\\"alignment-baseline\\\":\\\"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical\\\",animation:1,\\\"animation-delay\\\":{multi:\\\"