{"version":3,"sources":["vendor/ember-cli/app-prefix.js","bc-frontend/activate/route.js","bc-frontend/activate/template.js","bc-frontend/activatepw/controller.js","bc-frontend/activatepw/route.js","bc-frontend/activatepw/template.js","bc-frontend/ajax-no-auth/service.js","bc-frontend/ajax/service.js","bc-frontend/alerts/storage.js","bc-frontend/app.js","bc-frontend/application/adapter.js","bc-frontend/application/controller.js","bc-frontend/application/route.js","bc-frontend/application/template.js","bc-frontend/blueprints/ember-string-helpers.js","bc-frontend/components/-lf-get-outlet-state.js","bc-frontend/components/basic-dropdown.js","bc-frontend/components/basic-dropdown/content-element.js","bc-frontend/components/basic-dropdown/content.js","bc-frontend/components/basic-dropdown/trigger.js","bc-frontend/components/billing/confirm-cancel-dialog/component.js","bc-frontend/components/billing/confirm-cancel-dialog/template.js","bc-frontend/components/boundary-editor/component.js","bc-frontend/components/boundary-editor/template.js","bc-frontend/components/bubble-chart.js","bc-frontend/components/calibration-tile/component.js","bc-frontend/components/calibration-tile/template.js","bc-frontend/components/change-alert/component.js","bc-frontend/components/change-alert/template.js","bc-frontend/components/change-password-dialog/component.js","bc-frontend/components/change-password-dialog/template.js","bc-frontend/components/collaborator-tile/change/component.js","bc-frontend/components/collaborator-tile/change/template.js","bc-frontend/components/collaborator-tile/component.js","bc-frontend/components/collaborator-tile/remove/component.js","bc-frontend/components/collaborator-tile/remove/template.js","bc-frontend/components/collaborator-tile/template.js","bc-frontend/components/dataset-detail/component.js","bc-frontend/components/dataset-detail/components/calibration/component.js","bc-frontend/components/dataset-detail/components/calibration/template.js","bc-frontend/components/dataset-detail/components/image/component.js","bc-frontend/components/dataset-detail/components/image/template.js","bc-frontend/components/dataset-detail/components/manual-scoring-data/component.js","bc-frontend/components/dataset-detail/components/manual-scoring-data/template.js","bc-frontend/components/dataset-detail/components/photobeam-grid/component.js","bc-frontend/components/dataset-detail/components/photobeam-grid/template.js","bc-frontend/components/dataset-detail/components/table/component.js","bc-frontend/components/dataset-detail/components/table/template.js","bc-frontend/components/dataset-detail/components/video-bound-adjustment/component.js","bc-frontend/components/dataset-detail/components/video-bound-adjustment/template.js","bc-frontend/components/dataset-detail/components/video/component.js","bc-frontend/components/dataset-detail/components/video/template.js","bc-frontend/components/dataset-detail/layouts/analysis/component.js","bc-frontend/components/dataset-detail/layouts/analysis/template.js","bc-frontend/components/dataset-detail/layouts/calibration/component.js","bc-frontend/components/dataset-detail/layouts/calibration/template.js","bc-frontend/components/dataset-detail/layouts/centroid/component.js","bc-frontend/components/dataset-detail/layouts/centroid/template.js","bc-frontend/components/dataset-detail/layouts/component.js","bc-frontend/components/dataset-detail/layouts/manual-scoring-analysis/component.js","bc-frontend/components/dataset-detail/layouts/manual-scoring-analysis/template.js","bc-frontend/components/dataset-detail/layouts/manual-scoring-data/component.js","bc-frontend/components/dataset-detail/layouts/manual-scoring-data/template.js","bc-frontend/components/dataset-detail/layouts/photobeam-activity/component.js","bc-frontend/components/dataset-detail/layouts/photobeam-activity/template.js","bc-frontend/components/dataset-detail/layouts/photobeam-data/component.js","bc-frontend/components/dataset-detail/layouts/photobeam-data/template.js","bc-frontend/components/dataset-detail/layouts/spontaneous-alternation/component.js","bc-frontend/components/dataset-detail/layouts/spontaneous-alternation/template.js","bc-frontend/components/dataset-detail/layouts/template.js","bc-frontend/components/dataset-detail/layouts/video/component.js","bc-frontend/components/dataset-detail/layouts/video/template.js","bc-frontend/components/dataset-detail/layouts/zone-sequence/component.js","bc-frontend/components/dataset-detail/layouts/zone-sequence/template.js","bc-frontend/components/dataset-detail/layouts/zoned-analysis/component.js","bc-frontend/components/dataset-detail/layouts/zoned-analysis/template.js","bc-frontend/components/dataset-detail/template.js","bc-frontend/components/dataset-tile/component.js","bc-frontend/components/dataset-tile/template.js","bc-frontend/components/datasets/archive-dataset-dialog/component.js","bc-frontend/components/datasets/archive-dataset-dialog/template.js","bc-frontend/components/device-preview/bc-test/component.js","bc-frontend/components/device-preview/bc-test/template.js","bc-frontend/components/device-preview/behaviorcloud-camera/component.js","bc-frontend/components/device-preview/behaviorcloud-camera/template.js","bc-frontend/components/device-preview/component.js","bc-frontend/components/device-preview/sandiegoinstruments-activitychamber/component.js","bc-frontend/components/device-preview/sandiegoinstruments-activitychamber/template.js","bc-frontend/components/device-preview/template.js","bc-frontend/components/device-tile/component.js","bc-frontend/components/device-tile/template.js","bc-frontend/components/devices/add-device-dialog/component.js","bc-frontend/components/devices/add-device-dialog/template.js","bc-frontend/components/ember-initials/adorable/component.js","bc-frontend/components/ember-initials/component.js","bc-frontend/components/ember-initials/gravatar/component.js","bc-frontend/components/ember-initials/image/component.js","bc-frontend/components/ember-wormhole.js","bc-frontend/components/empty-state/component.js","bc-frontend/components/empty-state/template.js","bc-frontend/components/fab-button/component.js","bc-frontend/components/fab-button/template.js","bc-frontend/components/horizontal-bar-chart.js","bc-frontend/components/illiquid-model.js","bc-frontend/components/intercom-io.js","bc-frontend/components/ivy-videojs-player.js","bc-frontend/components/ivy-videojs-player/component.js","bc-frontend/components/ivy-videojs.js","bc-frontend/components/ivy-videojs/component.js","bc-frontend/components/ivy-videojs/template.js","bc-frontend/components/jw-player/component.js","bc-frontend/components/jw-player/template.js","bc-frontend/components/liquid-bind.js","bc-frontend/components/liquid-child.js","bc-frontend/components/liquid-container.js","bc-frontend/components/liquid-if.js","bc-frontend/components/liquid-measured.js","bc-frontend/components/liquid-outlet.js","bc-frontend/components/liquid-spacer.js","bc-frontend/components/liquid-sync.js","bc-frontend/components/liquid-unless.js","bc-frontend/components/liquid-versions.js","bc-frontend/components/manual-scoring-configuration-editor/component.js","bc-frontend/components/manual-scoring-configuration-editor/edit-behavior-dialog/component.js","bc-frontend/components/manual-scoring-configuration-editor/edit-behavior-dialog/template.js","bc-frontend/components/manual-scoring-configuration-editor/edit-group-dialog/component.js","bc-frontend/components/manual-scoring-configuration-editor/edit-group-dialog/template.js","bc-frontend/components/manual-scoring-configuration-editor/edit-shortcut-dialog/component.js","bc-frontend/components/manual-scoring-configuration-editor/edit-shortcut-dialog/template.js","bc-frontend/components/manual-scoring-configuration-editor/new-behavior-dialog/component.js","bc-frontend/components/manual-scoring-configuration-editor/new-behavior-dialog/template.js","bc-frontend/components/manual-scoring-configuration-editor/template.js","bc-frontend/components/paper-autocomplete-content.js","bc-frontend/components/paper-autocomplete-dropdown.js","bc-frontend/components/paper-autocomplete-highlight.js","bc-frontend/components/paper-autocomplete-options.js","bc-frontend/components/paper-autocomplete-trigger-container.js","bc-frontend/components/paper-autocomplete-trigger.js","bc-frontend/components/paper-autocomplete.js","bc-frontend/components/paper-backdrop.js","bc-frontend/components/paper-button.js","bc-frontend/components/paper-card-actions.js","bc-frontend/components/paper-card-avatar.js","bc-frontend/components/paper-card-content.js","bc-frontend/components/paper-card-header-headline.js","bc-frontend/components/paper-card-header-subhead.js","bc-frontend/components/paper-card-header-text.js","bc-frontend/components/paper-card-header-title.js","bc-frontend/components/paper-card-header.js","bc-frontend/components/paper-card-icon-actions.js","bc-frontend/components/paper-card-image.js","bc-frontend/components/paper-card-media.js","bc-frontend/components/paper-card-title-media.js","bc-frontend/components/paper-card-title-text.js","bc-frontend/components/paper-card-title.js","bc-frontend/components/paper-card.js","bc-frontend/components/paper-checkbox.js","bc-frontend/components/paper-chips.js","bc-frontend/components/paper-contact-chips.js","bc-frontend/components/paper-content.js","bc-frontend/components/paper-data-table-body.js","bc-frontend/components/paper-data-table-cell.js","bc-frontend/components/paper-data-table-column.js","bc-frontend/components/paper-data-table-dialog-inner.js","bc-frontend/components/paper-data-table-edit-dialog.js","bc-frontend/components/paper-data-table-head.js","bc-frontend/components/paper-data-table-pagination.js","bc-frontend/components/paper-data-table-row.js","bc-frontend/components/paper-data-table.js","bc-frontend/components/paper-dialog-actions.js","bc-frontend/components/paper-dialog-container.js","bc-frontend/components/paper-dialog-content.js","bc-frontend/components/paper-dialog-inner.js","bc-frontend/components/paper-dialog.js","bc-frontend/components/paper-divider.js","bc-frontend/components/paper-form.js","bc-frontend/components/paper-grid-list.js","bc-frontend/components/paper-grid-tile-footer.js","bc-frontend/components/paper-grid-tile.js","bc-frontend/components/paper-icon.js","bc-frontend/components/paper-ink-bar.js","bc-frontend/components/paper-input.js","bc-frontend/components/paper-item.js","bc-frontend/components/paper-list.js","bc-frontend/components/paper-menu-content-inner.js","bc-frontend/components/paper-menu-content.js","bc-frontend/components/paper-menu-item.js","bc-frontend/components/paper-menu.js","bc-frontend/components/paper-optgroup.js","bc-frontend/components/paper-option.js","bc-frontend/components/paper-progress-circular.js","bc-frontend/components/paper-progress-linear.js","bc-frontend/components/paper-radio-group.js","bc-frontend/components/paper-radio-proxiable.js","bc-frontend/components/paper-radio.js","bc-frontend/components/paper-reset-button.js","bc-frontend/components/paper-select-content.js","bc-frontend/components/paper-select-header.js","bc-frontend/components/paper-select-menu-inner.js","bc-frontend/components/paper-select-menu-trigger.js","bc-frontend/components/paper-select-menu.js","bc-frontend/components/paper-select-options.js","bc-frontend/components/paper-select-search.js","bc-frontend/components/paper-select-trigger.js","bc-frontend/components/paper-select.js","bc-frontend/components/paper-sidenav-container.js","bc-frontend/components/paper-sidenav-inner.js","bc-frontend/components/paper-sidenav-toggle.js","bc-frontend/components/paper-sidenav.js","bc-frontend/components/paper-slider.js","bc-frontend/components/paper-snackbar-text.js","bc-frontend/components/paper-speed-dial-actions-action.js","bc-frontend/components/paper-speed-dial-actions.js","bc-frontend/components/paper-speed-dial-trigger.js","bc-frontend/components/paper-speed-dial.js","bc-frontend/components/paper-subheader.js","bc-frontend/components/paper-switch.js","bc-frontend/components/paper-tab.js","bc-frontend/components/paper-table-select.js","bc-frontend/components/paper-tabs.js","bc-frontend/components/paper-toast-inner.js","bc-frontend/components/paper-toast-text.js","bc-frontend/components/paper-toast.js","bc-frontend/components/paper-toaster.js","bc-frontend/components/paper-toolbar-tools.js","bc-frontend/components/paper-toolbar.js","bc-frontend/components/paper-tooltip-inner.js","bc-frontend/components/paper-tooltip.js","bc-frontend/components/paper-virtual-repeat-scroller.js","bc-frontend/components/paper-virtual-repeat.js","bc-frontend/components/pie-chart.js","bc-frontend/components/power-select-multiple.js","bc-frontend/components/power-select-multiple/trigger.js","bc-frontend/components/power-select.js","bc-frontend/components/power-select/before-options.js","bc-frontend/components/power-select/options.js","bc-frontend/components/power-select/placeholder.js","bc-frontend/components/power-select/power-select-group.js","bc-frontend/components/power-select/search-message.js","bc-frontend/components/power-select/trigger.js","bc-frontend/components/s3-upload/component.js","bc-frontend/components/s3-upload/template.js","bc-frontend/components/scatter-chart.js","bc-frontend/components/schema-detail/header/component.js","bc-frontend/components/schema-detail/header/template.js","bc-frontend/components/schema-tile/alternation/component.js","bc-frontend/components/schema-tile/alternation/template.js","bc-frontend/components/schema-tile/analysis/component.js","bc-frontend/components/schema-tile/analysis/template.js","bc-frontend/components/schema-tile/boundary-mask/component.js","bc-frontend/components/schema-tile/boundary-mask/template.js","bc-frontend/components/schema-tile/calibration/component.js","bc-frontend/components/schema-tile/calibration/template.js","bc-frontend/components/schema-tile/centroid/component.js","bc-frontend/components/schema-tile/centroid/template.js","bc-frontend/components/schema-tile/component.js","bc-frontend/components/schema-tile/manual-scoring-analysis/component.js","bc-frontend/components/schema-tile/manual-scoring-analysis/template.js","bc-frontend/components/schema-tile/manual-scoring-data/component.js","bc-frontend/components/schema-tile/manual-scoring-data/template.js","bc-frontend/components/schema-tile/manual-scoring-setup/component.js","bc-frontend/components/schema-tile/manual-scoring-setup/template.js","bc-frontend/components/schema-tile/photobeam-activity/component.js","bc-frontend/components/schema-tile/photobeam-activity/template.js","bc-frontend/components/schema-tile/photobeam-data/component.js","bc-frontend/components/schema-tile/photobeam-data/template.js","bc-frontend/components/schema-tile/template.js","bc-frontend/components/schema-tile/thumbnail/component.js","bc-frontend/components/schema-tile/thumbnail/template.js","bc-frontend/components/schema-tile/trace-path/component.js","bc-frontend/components/schema-tile/trace-path/template.js","bc-frontend/components/schema-tile/tracking-boundary/component.js","bc-frontend/components/schema-tile/tracking-boundary/template.js","bc-frontend/components/schema-tile/video-path/component.js","bc-frontend/components/schema-tile/video-path/template.js","bc-frontend/components/schema-tile/video/component.js","bc-frontend/components/schema-tile/video/template.js","bc-frontend/components/schema-tile/zone-sequence/component.js","bc-frontend/components/schema-tile/zone-sequence/template.js","bc-frontend/components/schema-tile/zone/component.js","bc-frontend/components/schema-tile/zone/template.js","bc-frontend/components/schema-tile/zoned-analysis/component.js","bc-frontend/components/schema-tile/zoned-analysis/template.js","bc-frontend/components/smart-video/component.js","bc-frontend/components/smart-video/template.js","bc-frontend/components/stacked-vertical-bar-chart.js","bc-frontend/components/stripe-checkout.js","bc-frontend/components/test-tile/component.js","bc-frontend/components/test-tile/template.js","bc-frontend/components/tests/archive-test-dialog/component.js","bc-frontend/components/tests/archive-test-dialog/template.js","bc-frontend/components/tests/capture-bulk-dialog/component.js","bc-frontend/components/tests/capture-bulk-dialog/template.js","bc-frontend/components/tests/capture-calibration-dialog/component.js","bc-frontend/components/tests/capture-calibration-dialog/template.js","bc-frontend/components/tests/capture-data-set-dialog/component.js","bc-frontend/components/tests/capture-data-set-dialog/template.js","bc-frontend/components/tests/confirm-abort-dialog/component.js","bc-frontend/components/tests/confirm-abort-dialog/template.js","bc-frontend/components/tests/confirm-skip-dialog/component.js","bc-frontend/components/tests/confirm-skip-dialog/template.js","bc-frontend/components/tests/create-test-dialog/component.js","bc-frontend/components/tests/create-test-dialog/template.js","bc-frontend/components/tests/download-warning-dialog/component.js","bc-frontend/components/tests/download-warning-dialog/template.js","bc-frontend/components/tests/generate-data-dialog/component.js","bc-frontend/components/tests/generate-data-dialog/template.js","bc-frontend/components/tests/manage-sharing-dialog/component.js","bc-frontend/components/tests/manage-sharing-dialog/template.js","bc-frontend/components/tests/next-data-set-dialog/component.js","bc-frontend/components/tests/next-data-set-dialog/template.js","bc-frontend/components/tests/status-dialog/component.js","bc-frontend/components/tests/status-dialog/template.js","bc-frontend/components/tests/unarchive-test-dialog/component.js","bc-frontend/components/tests/unarchive-test-dialog/template.js","bc-frontend/components/tests/upload-data-set-dialog/component.js","bc-frontend/components/tests/upload-data-set-dialog/template.js","bc-frontend/components/time-display/component.js","bc-frontend/components/time-display/template.js","bc-frontend/components/time-series-chart.js","bc-frontend/components/transition-group.js","bc-frontend/components/verb-chart/component.js","bc-frontend/components/verb-chart/segment-spacer/component.js","bc-frontend/components/verb-chart/segment-spacer/template.js","bc-frontend/components/verb-chart/segment/component.js","bc-frontend/components/verb-chart/segment/template.js","bc-frontend/components/verb-chart/template.js","bc-frontend/components/verb-chart/verb/component.js","bc-frontend/components/verb-chart/verb/template.js","bc-frontend/components/vertical-bar-chart.js","bc-frontend/components/video-calibration/auto/component.js","bc-frontend/components/video-calibration/auto/template.js","bc-frontend/components/video-calibration/component.js","bc-frontend/components/video-calibration/empty-state/component.js","bc-frontend/components/video-calibration/empty-state/template.js","bc-frontend/components/video-calibration/manual/component.js","bc-frontend/components/video-calibration/manual/template.js","bc-frontend/components/video-calibration/template.js","bc-frontend/components/virtual-each.js","bc-frontend/components/wait-modal/component.js","bc-frontend/components/wait-modal/template.js","bc-frontend/components/zonemap-editor/component.js","bc-frontend/components/zonemap-editor/template.js","bc-frontend/confirm/route.js","bc-frontend/confirm/template.js","bc-frontend/dashboard/controller.js","bc-frontend/dashboard/route.js","bc-frontend/dashboard/template.js","bc-frontend/data-set-schema/model.js","bc-frontend/data-set-schema/supports-sampling.js","bc-frontend/data-set/ability.js","bc-frontend/data-set/model.js","bc-frontend/data-set/modern-schemas.js","bc-frontend/device/controller.js","bc-frontend/device/dataset/controller.js","bc-frontend/device/dataset/route.js","bc-frontend/device/dataset/template.js","bc-frontend/device/index/template.js","bc-frontend/device/model.js","bc-frontend/device/route.js","bc-frontend/device/template.js","bc-frontend/devices/controller.js","bc-frontend/devices/route.js","bc-frontend/devices/template.js","bc-frontend/ds-updates/service.js","bc-frontend/flash-support/service.js","bc-frontend/forgot-password/route.js","bc-frontend/forgot-password/template.js","bc-frontend/helpers/-paper-underscore.js","bc-frontend/helpers/abs.js","bc-frontend/helpers/acos.js","bc-frontend/helpers/acosh.js","bc-frontend/helpers/add.js","bc-frontend/helpers/and.js","bc-frontend/helpers/app-version.js","bc-frontend/helpers/asin.js","bc-frontend/helpers/asinh.js","bc-frontend/helpers/atan.js","bc-frontend/helpers/atan2.js","bc-frontend/helpers/atanh.js","bc-frontend/helpers/camelize.js","bc-frontend/helpers/can.js","bc-frontend/helpers/cancel-all.js","bc-frontend/helpers/cannot.js","bc-frontend/helpers/capitalize.js","bc-frontend/helpers/cbrt.js","bc-frontend/helpers/ceil.js","bc-frontend/helpers/classify.js","bc-frontend/helpers/clz32.js","bc-frontend/helpers/cos.js","bc-frontend/helpers/cosh.js","bc-frontend/helpers/dasherize.js","bc-frontend/helpers/div.js","bc-frontend/helpers/ember-power-select-is-group.js","bc-frontend/helpers/ember-power-select-is-selected.js","bc-frontend/helpers/ember-power-select-true-string-if-present.js","bc-frontend/helpers/eq.js","bc-frontend/helpers/exp.js","bc-frontend/helpers/expm1.js","bc-frontend/helpers/floor.js","bc-frontend/helpers/format-date.js","bc-frontend/helpers/format-phone.js","bc-frontend/helpers/fround.js","bc-frontend/helpers/gcd.js","bc-frontend/helpers/gt.js","bc-frontend/helpers/gte.js","bc-frontend/helpers/html-safe.js","bc-frontend/helpers/humanize.js","bc-frontend/helpers/hypot.js","bc-frontend/helpers/imul.js","bc-frontend/helpers/is-after.js","bc-frontend/helpers/is-array.js","bc-frontend/helpers/is-before.js","bc-frontend/helpers/is-between.js","bc-frontend/helpers/is-empty.js","bc-frontend/helpers/is-equal.js","bc-frontend/helpers/is-same-or-after.js","bc-frontend/helpers/is-same-or-before.js","bc-frontend/helpers/is-same.js","bc-frontend/helpers/lf-lock-model.js","bc-frontend/helpers/lf-or.js","bc-frontend/helpers/log-e.js","bc-frontend/helpers/log10.js","bc-frontend/helpers/log1p.js","bc-frontend/helpers/log2.js","bc-frontend/helpers/lower-case.js","bc-frontend/helpers/lowercase.js","bc-frontend/helpers/lt.js","bc-frontend/helpers/lte.js","bc-frontend/helpers/max.js","bc-frontend/helpers/min.js","bc-frontend/helpers/mod.js","bc-frontend/helpers/moment-add.js","bc-frontend/helpers/moment-calendar.js","bc-frontend/helpers/moment-duration.js","bc-frontend/helpers/moment-format.js","bc-frontend/helpers/moment-from-now.js","bc-frontend/helpers/moment-from.js","bc-frontend/helpers/moment-subtract.js","bc-frontend/helpers/moment-to-date.js","bc-frontend/helpers/moment-to-now.js","bc-frontend/helpers/moment-to.js","bc-frontend/helpers/moment-unix.js","bc-frontend/helpers/moment.js","bc-frontend/helpers/mult.js","bc-frontend/helpers/not-eq.js","bc-frontend/helpers/not.js","bc-frontend/helpers/now.js","bc-frontend/helpers/number-format.js","bc-frontend/helpers/or.js","bc-frontend/helpers/pad-end.js","bc-frontend/helpers/pad-start.js","bc-frontend/helpers/pad.js","bc-frontend/helpers/perform.js","bc-frontend/helpers/pluralize.js","bc-frontend/helpers/pow.js","bc-frontend/helpers/random.js","bc-frontend/helpers/regexp-replace.js","bc-frontend/helpers/round.js","bc-frontend/helpers/sign.js","bc-frontend/helpers/sin.js","bc-frontend/helpers/singularize.js","bc-frontend/helpers/sqrt.js","bc-frontend/helpers/sub.js","bc-frontend/helpers/substr.js","bc-frontend/helpers/tan.js","bc-frontend/helpers/tanh.js","bc-frontend/helpers/task.js","bc-frontend/helpers/titleize.js","bc-frontend/helpers/transition-to.js","bc-frontend/helpers/trim.js","bc-frontend/helpers/trunc.js","bc-frontend/helpers/truncate.js","bc-frontend/helpers/uc-words.js","bc-frontend/helpers/underscore.js","bc-frontend/helpers/unix.js","bc-frontend/helpers/upper-case.js","bc-frontend/helpers/uppercase.js","bc-frontend/helpers/w.js","bc-frontend/helpers/xor.js","bc-frontend/index/route.js","bc-frontend/initializers/app-version.js","bc-frontend/initializers/clock.js","bc-frontend/initializers/component-router-injector.js","bc-frontend/initializers/container-debug-adapter.js","bc-frontend/initializers/data-adapter.js","bc-frontend/initializers/ember-concurrency.js","bc-frontend/initializers/ember-data.js","bc-frontend/initializers/ember-intercom.js","bc-frontend/initializers/ember-simple-auth.js","bc-frontend/initializers/export-application-global.js","bc-frontend/initializers/injectStore.js","bc-frontend/initializers/key-manager-config.js","bc-frontend/initializers/liquid-fire.js","bc-frontend/initializers/local-storage-adapter.js","bc-frontend/initializers/metrics.js","bc-frontend/initializers/raven.js","bc-frontend/initializers/setup-ember-can.js","bc-frontend/initializers/simple-auth-token.js","bc-frontend/initializers/store.js","bc-frontend/initializers/transforms.js","bc-frontend/initializers/truth-helpers.js","bc-frontend/instance-initializers/ember-data.js","bc-frontend/instance-initializers/ember-simple-auth.js","bc-frontend/instance-initializers/raven-setup.js","bc-frontend/loading/route.js","bc-frontend/loading/template.js","bc-frontend/login/controller.js","bc-frontend/login/route.js","bc-frontend/login/template.js","bc-frontend/mixins/axis-titles.js","bc-frontend/mixins/data-set-route-mixin.js","bc-frontend/mixins/device-preview-mixin.js","bc-frontend/mixins/label-width.js","bc-frontend/mixins/legend.js","bc-frontend/mixins/prevent-transition-mixin.js","bc-frontend/mixins/schema-route-mixin.js","bc-frontend/mixins/test-route-mixin.js","bc-frontend/mixins/transition-mixin.js","bc-frontend/pusher/service.js","bc-frontend/resolver.js","bc-frontend/router.js","bc-frontend/routes/application.js","bc-frontend/services/ajax.js","bc-frontend/services/can.js","bc-frontend/services/clock.js","bc-frontend/services/constants.js","bc-frontend/services/ember-initials-store.js","bc-frontend/services/intercom.js","bc-frontend/services/key-manager.js","bc-frontend/services/liquid-fire-transitions.js","bc-frontend/services/metrics.js","bc-frontend/services/moment.js","bc-frontend/services/paper-sidenav.js","bc-frontend/services/paper-toaster.js","bc-frontend/services/raven.js","bc-frontend/services/routing.js","bc-frontend/services/session.js","bc-frontend/services/sniffer.js","bc-frontend/services/text-measurer.js","bc-frontend/services/util.js","bc-frontend/session-stores/application.js","bc-frontend/settings/billing/controller.js","bc-frontend/settings/billing/route.js","bc-frontend/settings/billing/template.js","bc-frontend/settings/index/route.js","bc-frontend/settings/index/template.js","bc-frontend/settings/route.js","bc-frontend/settings/template.js","bc-frontend/shared/controller.js","bc-frontend/shared/route.js","bc-frontend/shared/template.js","bc-frontend/templates/components/chart-component.js","bc-frontend/templates/components/stripe-checkout.js","bc-frontend/templates/components/transition-group.js","bc-frontend/test-schema/model.js","bc-frontend/test/ability.js","bc-frontend/test/alternation/controller.js","bc-frontend/test/alternation/route.js","bc-frontend/test/alternation/template.js","bc-frontend/test/analysis/controller.js","bc-frontend/test/analysis/route.js","bc-frontend/test/analysis/template.js","bc-frontend/test/boundary/controller.js","bc-frontend/test/boundary/route.js","bc-frontend/test/boundary/template.js","bc-frontend/test/calibration/controller.js","bc-frontend/test/calibration/route.js","bc-frontend/test/calibration/template.js","bc-frontend/test/centroids/controller.js","bc-frontend/test/centroids/route.js","bc-frontend/test/centroids/template.js","bc-frontend/test/controller.js","bc-frontend/test/data/controller.js","bc-frontend/test/data/route.js","bc-frontend/test/data/template.js","bc-frontend/test/dataset/controller.js","bc-frontend/test/dataset/route.js","bc-frontend/test/dataset/template.js","bc-frontend/test/index/controller.js","bc-frontend/test/index/route.js","bc-frontend/test/index/template.js","bc-frontend/test/manual-analysis/controller.js","bc-frontend/test/manual-analysis/route.js","bc-frontend/test/manual-analysis/template.js","bc-frontend/test/manual-data/controller.js","bc-frontend/test/manual-data/route.js","bc-frontend/test/manual-data/template.js","bc-frontend/test/manual-setup/controller.js","bc-frontend/test/manual-setup/route.js","bc-frontend/test/manual-setup/template.js","bc-frontend/test/model.js","bc-frontend/test/photobeam-activity/controller.js","bc-frontend/test/photobeam-activity/route.js","bc-frontend/test/photobeam-activity/template.js","bc-frontend/test/photobeam/controller.js","bc-frontend/test/photobeam/route.js","bc-frontend/test/photobeam/template.js","bc-frontend/test/route.js","bc-frontend/test/template.js","bc-frontend/test/videos/controller.js","bc-frontend/test/videos/route.js","bc-frontend/test/videos/template.js","bc-frontend/test/zone-sequence/controller.js","bc-frontend/test/zone-sequence/route.js","bc-frontend/test/zone-sequence/template.js","bc-frontend/test/zoned-analysis/controller.js","bc-frontend/test/zoned-analysis/route.js","bc-frontend/test/zoned-analysis/template.js","bc-frontend/test/zones/controller.js","bc-frontend/test/zones/route.js","bc-frontend/test/zones/template.js","bc-frontend/tests/controller.js","bc-frontend/tests/route.js","bc-frontend/tests/template.js","bc-frontend/transitions.js","bc-frontend/transitions/cross-fade.js","bc-frontend/transitions/default.js","bc-frontend/transitions/explode.js","bc-frontend/transitions/fade.js","bc-frontend/transitions/flex-grow.js","bc-frontend/transitions/fly-to.js","bc-frontend/transitions/move-over.js","bc-frontend/transitions/scale.js","bc-frontend/transitions/scroll-then.js","bc-frontend/transitions/to-down.js","bc-frontend/transitions/to-left.js","bc-frontend/transitions/to-right.js","bc-frontend/transitions/to-up.js","bc-frontend/transitions/wait.js","bc-frontend/upload-auth/service.js","bc-frontend/user-session/service.js","bc-frontend/user/model.js","bc-frontend/user/route.js","bc-frontend/user/template.js","bc-frontend/utils/can-use-dom.js","bc-frontend/utils/clamp.js","bc-frontend/utils/color-generator.js","bc-frontend/utils/combo.js","bc-frontend/utils/functions.js","bc-frontend/utils/key-codes.js","bc-frontend/utils/modifier-key-codes.js","bc-frontend/utils/modifier-keys.js","bc-frontend/utils/object-transforms.js","bc-frontend/utils/pad.js","bc-frontend/utils/titleize.js","bc-frontend/vendor/model.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["\"use strict\";\n\n\n","define('bc-frontend/activate/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({\n    ajax: _ember['default'].inject.service(),\n\n    queryParams: {\n      token: {\n        refreshModel: true\n      }\n    },\n\n    model: function model(params) {\n      var user_id = params.user_id;\n      var token = params.token;\n\n      var ajax = this.get('ajax'),\n          payload = {\n        confirm: {\n          id: user_id,\n          token: token\n        }\n      };\n\n      // return this.get('store').findRecord('user', params.user_id);\n      return ajax.request('/api/auth/confirm', {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        return true;\n      }, function () {\n        // do nothing\n      });\n    }\n  });\n});","define(\"bc-frontend/activate/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"62gt2pZM\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\"]]],null,9,4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"            Return to Login\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"login\\\"],null]]],0],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Success!\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Your account is activated and you may begin using BehaviorCloud immediately.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],2],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:600px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,3],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Return to Login\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"login\\\"],null]]],5],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Uh oh, it looks like we ran into an issue activating your account.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This could be because you followed a bad link or because you've already activated your account.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"If you have already activated your account, please return to the login page and log in normally. If you believe you have received this message in error, please contact us at \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"mailto:support@behaviorcloud.com\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"support@behaviorcloud.com\\\"],[\\\"close-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],7],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:600px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,8],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/activate/template.hbs\" } });\n});","define('bc-frontend/activatepw/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: _ember['default'].inject.service(),\n\n    setPassword: function setPassword() {\n      var self = this;\n\n      var _get = this.get('model');\n\n      var user_id = _get.user_id;\n      var token = _get.token;\n      var password = this.get('password');\n\n      var ajax = this.get('ajax'),\n          payload = {\n        confirm: {\n          id: user_id,\n          token: token,\n          password: password\n        }\n      };\n\n      this.set('isPending', true);\n\n      // return this.get('store').findRecord('user', params.user_id);\n      ajax.request('/api/auth/confirm', {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('submitResponse', true);\n      }, function () {\n        self.set('submitResponse', false);\n      })['finally'](function () {\n        self.set('isSubmitted', true);\n      });\n    },\n\n    actions: {\n      setPassword: function setPassword() {\n        this.setPassword();\n      }\n    }\n  });\n});","define('bc-frontend/activatepw/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({\n    queryParams: {\n      token: {\n        refreshModel: true\n      }\n    },\n\n    model: function model(params) {\n      var user_id = params.user_id;\n      var token = params.token;\n\n      return {\n        user_id: user_id,\n        token: token\n      };\n    }\n  });\n});","define(\"bc-frontend/activatepw/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"dEB/8ql2\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSubmitted\\\"]]],null,14,10]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"                Return to Login\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"login\\\"],null]]],0],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Success!\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Your account is activated and you may begin using BehaviorCloud immediately.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],2],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:600px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,3],[\\\"text\\\",\\\"      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                Return to Login\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"login\\\"],null]]],5],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Uh oh, it looks like we ran into an issue activating your account.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This could be because you followed a bad link or because you've already activated your account.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"If you have already activated your account, please return to the login page and log in normally. If you believe you have received this message in error, please contact us at \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"mailto:support@behaviorcloud.com\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"support@behaviorcloud.com\\\"],[\\\"close-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],7],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:600px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,8],[\\\"text\\\",\\\"      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"submitResponse\\\"]]],null,9,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                Activate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"form\\\",[]],[\\\"modifier\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setPassword\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-body-2\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please choose a password to activate your account.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"disabled\\\",\\\"type\\\",\\\"onChange\\\",\\\"label\\\",\\\"autofocus\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"password\\\"]],[\\\"get\\\",[\\\"isPending\\\"]],\\\"password\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"password\\\"]]],null]],null],\\\"Choose a Password\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\\n            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-end-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"type\\\",\\\"primary\\\",\\\"raised\\\",\\\"disabled\\\"],[\\\"submit\\\",true,true,[\\\"get\\\",[\\\"isPending\\\"]]]],11],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],12],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:600px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,13],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/activatepw/template.hbs\" } });\n});","define('bc-frontend/ajax-no-auth/service', ['exports', 'ember-ajax/services/ajax'], function (exports, _emberAjaxServicesAjax) {\n  exports['default'] = _emberAjaxServicesAjax['default'].extend({\n    // host: ENV['apiHost'],\n    contentType: null\n  });\n});\n// app/services/ajax.js","define('bc-frontend/ajax/service', ['exports', 'ember', 'ember-ajax/services/ajax', 'bc-frontend/config/environment'], function (exports, _ember, _emberAjaxServicesAjax, _bcFrontendConfigEnvironment) {\n  exports['default'] = _emberAjaxServicesAjax['default'].extend({\n    session: _ember['default'].inject.service(),\n    host: _bcFrontendConfigEnvironment['default']['apiHost'],\n    headers: _ember['default'].computed('session.session.authenticated.token', {\n      get: function get() {\n        var headers = {};\n        this.get('session').authorize('authorizer:token', function (headerName, headerValue) {\n          headers[headerName] = headerValue;\n        });\n        return headers;\n      }\n    })\n  });\n});\n// app/services/ajax.js","define('bc-frontend/alerts/storage', ['exports', 'ember-local-storage/local/object'], function (exports, _emberLocalStorageLocalObject) {\n\n  var Storage = _emberLocalStorageLocalObject['default'].extend();\n\n  // Uncomment if you would like to set initialState\n  // Storage.reopenClass({\n  //   initialState() {\n  //     return {};\n  //   }\n  // });\n\n  exports['default'] = Storage;\n});","define('bc-frontend/app', ['exports', 'ember', 'bc-frontend/resolver', 'ember-load-initializers', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendResolver, _emberLoadInitializers, _bcFrontendConfigEnvironment) {\n\n  var App = undefined;\n\n  _ember['default'].MODEL_FACTORY_INJECTIONS = true;\n\n  App = _ember['default'].Application.extend({\n    modulePrefix: _bcFrontendConfigEnvironment['default'].modulePrefix,\n    podModulePrefix: _bcFrontendConfigEnvironment['default'].podModulePrefix,\n    Resolver: _bcFrontendResolver['default']\n  });\n\n  (0, _emberLoadInitializers['default'])(App, _bcFrontendConfigEnvironment['default'].modulePrefix);\n\n  exports['default'] = App;\n});","define('bc-frontend/application/adapter', ['exports', 'ember-data', 'ember-simple-auth/mixins/data-adapter-mixin', 'bc-frontend/config/environment'], function (exports, _emberData, _emberSimpleAuthMixinsDataAdapterMixin, _bcFrontendConfigEnvironment) {\n  exports['default'] = _emberData['default'].RESTAdapter.extend(_emberSimpleAuthMixinsDataAdapterMixin['default'], {\n    namespace: 'api',\n    coalesceFindRequests: true,\n    plugin: [],\n    authorizer: 'authorizer:token',\n    host: _bcFrontendConfigEnvironment['default']['apiHost']\n  });\n});","define('bc-frontend/application/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    session: _ember['default'].inject.service(),\n    userSession: _ember['default'].inject.service()\n  });\n});","define('bc-frontend/application/route', ['exports', 'ember', 'ember-simple-auth/mixins/application-route-mixin', 'ember-cli-routing-service/routes/transition-to-listener'], function (exports, _ember, _emberSimpleAuthMixinsApplicationRouteMixin, _emberCliRoutingServiceRoutesTransitionToListener) {\n  exports['default'] = _emberCliRoutingServiceRoutesTransitionToListener['default'].extend(_emberSimpleAuthMixinsApplicationRouteMixin['default'], {\n    dsUpdates: _ember['default'].inject.service(),\n\n    sessionInvalidated: function sessionInvalidated() {\n      // default invalidation sometimes leaves the last route\n      this.transitionTo('/');\n      window.location.replace('/');\n    },\n\n    activate: function activate() {\n      this.get('dsUpdates').initialize();\n    }\n  });\n});","define(\"bc-frontend/application/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"nn2HEwgm\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,14,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"full-screen layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-start\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"img\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"login-logo\\\"],[\\\"static-attr\\\",\\\"src\\\",\\\"/logo.png\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n    \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"menu\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"onClick\\\",\\\"class\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"get\\\",[\\\"toggleAction\\\"]]],null],\\\"hide-gt-sm\\\"]],2]],\\\"locals\\\":[\\\"toggleAction\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-sidenav-toggle\\\"],null,[[\\\"name\\\"],[\\\"left\\\"]],3],[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            BehaviorCloud\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-toolbar-tools\\\"],null,null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            Log Out\\\\n            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"exit_to_app\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            My Patients\\\\n            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"list\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"tests\\\"],null]]],7],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"get\\\",[\\\"session\\\",\\\"invalidate\\\"]]],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"userSession\\\",\\\"user\\\",\\\"displayName\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-toolbar-tools\\\"],null,null,10],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"toolbar\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-toolbar\\\"],null,null,11],[\\\"block\\\",[\\\"paper-content\\\"],null,[[\\\"padding\\\"],[true]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-sidenav\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"open\\\",\\\"onToggle\\\"],[\\\"md-whiteframe-z2\\\",\\\"left\\\",[\\\"get\\\",[\\\"leftSideBarOpen\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"leftSideBarOpen\\\"]]],null]],null]]],12],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-toolbar\\\"],null,null,5],[\\\"block\\\",[\\\"paper-content\\\"],null,[[\\\"class\\\"],[\\\"flex content-area\\\"]],1],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-sidenav-container\\\"],null,[[\\\"class\\\"],[\\\"site-nav-container\\\"]],13],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/application/template.hbs\" } });\n});","define('bc-frontend/blueprints/ember-string-helpers', ['exports', 'ember-string-helpers/blueprints/ember-string-helpers'], function (exports, _emberStringHelpersBlueprintsEmberStringHelpers) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersBlueprintsEmberStringHelpers['default'];\n    }\n  });\n});","define(\"bc-frontend/components/-lf-get-outlet-state\", [\"exports\", \"liquid-fire/components/-lf-get-outlet-state\"], function (exports, _liquidFireComponentsLfGetOutletState) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLfGetOutletState[\"default\"];\n    }\n  });\n});","define('bc-frontend/components/basic-dropdown', ['exports', 'ember-basic-dropdown/components/basic-dropdown'], function (exports, _emberBasicDropdownComponentsBasicDropdown) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberBasicDropdownComponentsBasicDropdown['default'];\n    }\n  });\n});","define('bc-frontend/components/basic-dropdown/content-element', ['exports', 'ember-basic-dropdown/components/basic-dropdown/content-element'], function (exports, _emberBasicDropdownComponentsBasicDropdownContentElement) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberBasicDropdownComponentsBasicDropdownContentElement['default'];\n    }\n  });\n});","define('bc-frontend/components/basic-dropdown/content', ['exports', 'ember-basic-dropdown/components/basic-dropdown/content'], function (exports, _emberBasicDropdownComponentsBasicDropdownContent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberBasicDropdownComponentsBasicDropdownContent['default'];\n    }\n  });\n});","define('bc-frontend/components/basic-dropdown/trigger', ['exports', 'ember-basic-dropdown/components/basic-dropdown/trigger'], function (exports, _emberBasicDropdownComponentsBasicDropdownTrigger) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberBasicDropdownComponentsBasicDropdownTrigger['default'];\n    }\n  });\n});","define('bc-frontend/components/billing/confirm-cancel-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    actions: {\n      confirm: function confirm() {\n        this.sendAction('onConfirm');\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/billing/confirm-cancel-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"78mp7i7M\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Yes, Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Never Mind\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Cancel subscription?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Are you sure you want to cancel your BehaviorCloud subscription?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/billing/confirm-cancel-dialog/template.hbs\" } });\n});","define('bc-frontend/components/boundary-editor/component', ['exports', 'ember'], function (exports, _ember) {\n\n  var DEFAULT_WIDTH = 640,\n      DEFAULT_HEIGHT = 480;\n\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: 'div',\n    classNames: ['zonemap-editor'],\n    backgroundUri: null,\n    existingBoundary: null,\n    disabled: false,\n\n    fabricCanvas: null,\n\n    _setup: (function () {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', function () {\n        _this._setupFabric();\n        _this.loadBackground();\n        _this.loadBoundary();\n        _this.registerWithParent();\n      });\n    }).on('didInsertElement'),\n\n    _setupFabric: function _setupFabric() {\n      if (_ember['default'].isEmpty(this.get('fabricCanvas'))) {\n        var canvas = new window.fabric.Canvas(this.$('canvas')[0]);\n        canvas.setDimensions({ width: null, height: null }, { cssOnly: true });\n        canvas.setDimensions({ width: DEFAULT_WIDTH, height: DEFAULT_HEIGHT }, { backstoreOnly: true });\n        canvas.centeredScaling = false;\n        canvas.renderOnAddRemove = false;\n        this.set('fabricCanvas', canvas);\n      }\n    },\n\n    _boundaryUpdated: _ember['default'].computed('existingBoundary', function () {\n      var existingBoundary = this.get('existingBoundary'),\n          fabricCanvas = this.get('fabricCanvas');\n\n      if (existingBoundary && fabricCanvas) {\n        this.loadBoundary();\n      }\n    }),\n\n    loadBackground: function loadBackground() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          backgroundUri = this.get('backgroundUri');\n\n      if (!fabricCanvas || !backgroundUri) {\n        return;\n      }\n\n      fabricCanvas.setBackgroundImage(backgroundUri, this.afterBackground.bind(this, fabricCanvas), {\n        // Needed to position backgroundImage at 0/0\n        originX: 'left',\n        originY: 'top'\n      });\n    },\n\n    afterBackground: function afterBackground(canvas) {\n      canvas.setDimensions({\n        width: canvas.backgroundImage.width,\n        height: canvas.backgroundImage.height\n      }, { backstoreOnly: true });\n      canvas.renderAll();\n    },\n\n    loadBoundary: function loadBoundary() {\n      var self = this,\n          boundaryUri = this.get('existingBoundary'),\n          fabricCanvas = this.get('fabricCanvas');\n\n      if (!boundaryUri || !fabricCanvas) {\n        self.addObservers();\n        return;\n      }\n\n      window.fabric.loadSVGFromURL(boundaryUri, function (objects) {\n        objects.forEach(function (object) {\n          fabricCanvas.add(object);\n          object.setCoords();\n        });\n        fabricCanvas.renderAll();\n        self.addObservers();\n      }, function (element, object) {\n        var transformObject = getObjectTransformer();\n        transformObject(object, element.getAttribute('transform'));\n        return object;\n      });\n    },\n\n    addObservers: function addObservers() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      fabricCanvas.on('object:added', this.canvasUpdated.bind(this));\n      fabricCanvas.on('object:modified', this.canvasUpdated.bind(this));\n    },\n\n    canvasUpdated: function canvasUpdated() {\n      this.sendAction('onChange');\n    },\n\n    registerWithParent: function registerWithParent() {\n      this.sendAction('onRegister', this);\n    },\n\n    randomColor: function randomColor() {\n      return '#' + Math.floor(Math.random() * 16777215).toString(16);\n    },\n\n    createShape: function createShape(shape) {\n      var fabricCanvas = this.get('fabricCanvas'),\n          shapeObj = null,\n          centerX = fabricCanvas.backgroundImage.width / 2,\n          centerY = fabricCanvas.backgroundImage.height / 2;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      if (shape === 'circle') {\n        shapeObj = new fabric.Circle({\n          radius: 50,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      } else if (shape === 'square') {\n        shapeObj = new fabric.Rect({\n          width: 100,\n          height: 100,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      } else if (shape === 'triangle') {\n        shapeObj = new fabric.Triangle({\n          width: 100,\n          height: 100,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      }\n\n      var numObjects = fabricCanvas._objects.length + 1;\n      shapeObj.id = 'Unlabeled' + numObjects;\n\n      fabricCanvas.add(shapeObj);\n      fabricCanvas.setActiveObject(shapeObj);\n      fabricCanvas.renderAll();\n    },\n\n    deleteSelection: function deleteSelection() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        activeObject.remove();\n        fabricCanvas.renderAll();\n      }\n    },\n\n    bumpSelection: function bumpSelection(direction) {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        switch (direction) {\n          case \"up\":\n            activeObject.setTop(activeObject.getTop() - 1);\n            break;\n          case \"right\":\n            activeObject.setLeft(activeObject.getLeft() + 1);\n            break;\n          case \"down\":\n            activeObject.setTop(activeObject.getTop() + 1);\n            break;\n          case \"left\":\n            activeObject.setLeft(activeObject.getLeft() - 1);\n            break;\n        }\n      }\n\n      fabricCanvas.renderAll();\n    },\n\n    createClone: function createClone() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          self = this;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        activeObject.clone(function (obj) {\n          obj.setLeft(obj.getLeft() + 10);\n          obj.setTop(obj.getTop() + 10);\n          obj.setFill(self.randomColor());\n          var numObjects = fabricCanvas._objects.length + 1;\n          obj.id = 'Unlabeled' + numObjects;\n          fabricCanvas.add(obj);\n          fabricCanvas.setActiveObject(obj);\n          fabricCanvas.renderAll();\n        });\n      }\n    },\n\n    /* To support deleting using delete/backspace */\n    didRender: function didRender() {\n      this.$().attr({ tabindex: 1 });\n    },\n    keyDown: function keyDown(event) {\n      if (document.activeElement.classList.contains('zonemap-editor')) {\n        if (event.keyCode === 8 || event.keyCode === 46) {\n          this.deleteSelection();\n          return false;\n        } else if (event.keyCode === 37) {\n          this.bumpSelection('left');\n          return false;\n        } else if (event.keyCode === 38) {\n          this.bumpSelection('up');\n          return false;\n        } else if (event.keyCode === 39) {\n          this.bumpSelection('right');\n          return false;\n        } else if (event.keyCode === 40) {\n          this.bumpSelection('down');\n          return false;\n        }\n      }\n    },\n\n    /* Export functions */\n    exportSVG: function exportSVG() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          width = fabricCanvas.backgroundImage.width,\n          height = fabricCanvas.backgroundImage.height;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      return fabricCanvas.toSVG({\n        width: width,\n        height: height,\n        viewBox: {\n          x: 0,\n          y: 0,\n          width: width,\n          height: height\n        }\n      }, function (svg) {\n        if (svg.indexOf('<image') >= 0) {\n          return '';\n        }\n        return svg;\n      });\n    },\n\n    actions: {\n      createCircle: function createCircle() {\n        this.createShape('circle');\n      },\n      createSquare: function createSquare() {\n        this.createShape('square');\n      },\n      createTriangle: function createTriangle() {\n        this.createShape('triangle');\n      },\n      createClone: function createClone() {\n        this.createClone();\n      },\n      deleteSelection: function deleteSelection() {\n        this.deleteSelection();\n      },\n      saveBoundary: function saveBoundary() {},\n      updateZoneLabel: function updateZoneLabel(label) {\n        this.updateZoneLabel(label);\n      }\n    }\n  });\n\n  function getObjectTransformer() {\n    var number = fabric.reNum,\n        commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)',\n        skewX = '(?:(skewX)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n        skewY = '(?:(skewY)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n        rotate = '(?:(rotate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        scale = '(?:(scale)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        translate = '(?:(translate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        matrix = '(?:(matrix)\\\\s*\\\\(\\\\s*' + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + '\\\\s*\\\\))',\n        transform = '(?:' + matrix + '|' + translate + '|' + scale + '|' + rotate + '|' + skewX + '|' + skewY + ')',\n        transforms = '(?:' + transform + '(?:' + commaWsp + '*' + transform + ')*' + ')',\n        transformList = '^\\\\s*(?:' + transforms + '?)\\\\s*$',\n\n    // http://www.w3.org/TR/SVG/coords.html#TransformAttribute\n    reTransformList = new RegExp(transformList),\n\n    // == end transform regexp\n    reTransform = new RegExp(transform, 'g');\n    return function (obj, attributeValue) {\n      // return if no argument was given or\n      // an argument does not match transform attribute regexp\n      if (!attributeValue || attributeValue && !reTransformList.test(attributeValue)) {\n        return;\n      }\n\n      var offset = [0, 0],\n          scale = [1, 1],\n          rotation = 0;\n\n      attributeValue.replace(reTransform, function (match) {\n        var m = new RegExp(transform).exec(match).filter(function (match) {\n          // match !== '' && match != null\n          return !!match;\n        }),\n            operation = m[1],\n            args = m.slice(2).map(parseFloat);\n        switch (operation) {\n          case 'translate':\n            offset[0] += args[0];\n            offset[1] += args[1];\n            break;\n          case 'rotate':\n            rotation += args[0];\n            break;\n          case 'scale':\n            scale = [args[0], args[1]];\n            break;\n          case 'skewX':\n            //skewXMatrix(matrix, args);\n            break;\n          case 'skewY':\n            //skewYMatrix(matrix, args);\n            break;\n        }\n      });\n\n      obj.setScaleX(scale[0]);\n      obj.setScaleY(scale[1]);\n      obj.left = obj.left * scale[0];\n      obj.top = obj.top * scale[1];\n\n      obj.rotate(rotation);\n\n      obj.left = obj.left + offset[0];\n      obj.top = obj.top + offset[1];\n\n      obj.transformMatrix = null;\n\n      obj.setCoords();\n      return;\n    };\n  }\n});\n/* globals fabric */","define(\"bc-frontend/components/boundary-editor/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"yCfcZ91F\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"zonemap-editor__toolbar layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createCircle\\\"],null]]],4],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createTriangle\\\"],null]]],3],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createSquare\\\"],null]]],2],[\\\"text\\\",\\\"     \\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createClone\\\"],null]]],1],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"deleteSelection\\\"],null]]],0],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"stretchy-wrapper\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"canvas\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"delete\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"content_copy\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"stop\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"play_arrow\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"fiber_manual_record\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/boundary-editor/template.hbs\" } });\n});","define('bc-frontend/components/bubble-chart', ['exports', 'ember-charts/components/bubble-chart'], function (exports, _emberChartsComponentsBubbleChart) {\n  exports['default'] = _emberChartsComponentsBubbleChart['default'];\n});","define('bc-frontend/components/calibration-tile/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/calibration-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"wHrBn1pg\", \"block\": \"{\\\"statements\\\":[[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/calibration-tile/template.hbs\" } });\n});","define('bc-frontend/components/change-alert/component', ['exports', 'ember', 'ember-local-storage'], function (exports, _ember, _emberLocalStorage) {\n  exports['default'] = _ember['default'].Component.extend({\n    alerts: (0, _emberLocalStorage.storageFor)('alerts'),\n\n    showAlert: _ember['default'].computed('alerts', 'alertKey', function () {\n      var alerts = this.get('alerts');\n      return !alerts.get(this.get('alertKey'));\n    }),\n\n    dismissAlert: function dismissAlert() {\n      var alerts = this.get('alerts');\n      alerts.set(this.get('alertKey'), true);\n      this.set('showAlert', false);\n    },\n\n    actions: {\n      dismiss: function dismiss() {\n        this.dismissAlert();\n      }\n    }\n  });\n});","define(\"bc-frontend/components/change-alert/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"8Bip0PCX\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showAlert\\\"]]],null,3]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"close\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"warning\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"title\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"summary\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-secondary-container\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"dismiss\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\"],[\\\"md-2-line\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/change-alert/template.hbs\" } });\n});","define('bc-frontend/components/change-password-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n\n    oldPassword: '',\n    newPassword: '',\n    confirmNewPassword: '',\n\n    errorText: '',\n\n    isPending: false,\n\n    changePassword: function changePassword() {\n      var self = this,\n          ajax = this.get('ajax'),\n          oldPassword = this.get('oldPassword'),\n          newPassword = this.get('newPassword'),\n          payload = {\n        auth: {\n          oldPassword: oldPassword,\n          newPassword: newPassword\n        }\n      };\n\n      this.set('isPending', true);\n      ajax.request('/api/auth/change_password', {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n      }, function () {\n        self.set('errorText', 'Please check your old password and try again.');\n        self.set('isPending', false);\n      });\n    },\n\n    isPopulated: _ember['default'].computed.and('oldPassword', 'newPassword', 'confirmNewPassword'),\n    isMatched: _ember['default'].computed('newPassword', 'confirmNewPassword', function () {\n      return this.get('newPassword') === this.get('confirmNewPassword');\n    }),\n    isValid: _ember['default'].computed.and('isPopulated', 'isMatched'),\n\n    notMatched: _ember['default'].computed.not('isMatched'),\n    showMismatchError: _ember['default'].computed.and('isPopulated', 'notMatched'),\n\n    notValid: _ember['default'].computed.not('isValid'),\n    notPending: _ember['default'].computed.not('isPending'),\n\n    disableSubmission: _ember['default'].computed.or('notValid', 'isPending'),\n    showError: _ember['default'].computed.and('errorText', 'notPending'),\n\n    actions: {\n      confirm: function confirm() {\n        this.changePassword();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/change-password-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"uV1ysXNa\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-30\\\"]],5]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"disabled\\\",\\\"onClick\\\"],[true,[\\\"get\\\",[\\\"disableSubmission\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"dialog-error\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"errorText\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Change Password\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showError\\\"]]],null,3],[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"disabled\\\",\\\"type\\\",\\\"autofocus\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],\\\"password\\\",true,[\\\"get\\\",[\\\"oldPassword\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"oldPassword\\\"]]],null]],null],\\\"Old password\\\",true]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"disabled\\\",\\\"type\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],\\\"password\\\",[\\\"get\\\",[\\\"newPassword\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"newPassword\\\"]]],null]],null],\\\"New password\\\",true]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"disabled\\\",\\\"type\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],\\\"password\\\",[\\\"get\\\",[\\\"confirmNewPassword\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"confirmNewPassword\\\"]]],null]],null],\\\"Confirm new password\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,4],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/change-password-dialog/template.hbs\" } });\n});","define('bc-frontend/components/collaborator-tile/change/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    actions: {\n      confirm: function confirm() {\n        this.sendAction('onChange');\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/collaborator-tile/change/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"fFAzueoY\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Change collabortor permissions\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/collaborator-tile/change/template.hbs\" } });\n});","define('bc-frontend/components/collaborator-tile/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    userSession: _ember['default'].inject.service(),\n\n    displayPerm: _ember['default'].computed('collaborator.permissions', function () {\n      var permissions = this.get('collaborator.permissions');\n\n      if (permissions.indexOf('delete_test') >= 0 || permissions.indexOf('manage_test') >= 0) {\n        return 'Admin';\n      } else if (permissions.indexOf('change_test') >= 0) {\n        return 'Read/Write';\n      } else {\n        return 'Read Only';\n      }\n    }),\n\n    isMe: _ember['default'].computed('userSession.userId', 'collaborator.id', function () {\n      var userId = this.get('userSession.userId'),\n          collaboratorId = this.get('collaborator.id');\n\n      return userId == collaboratorId;\n    }),\n\n    actions: {\n      setPermission: function setPermission(permission) {\n        var collaborator = this.get('collaborator');\n        this.sendAction('onChange', collaborator, permission);\n      },\n      removeCollaborator: function removeCollaborator() {\n        var collaborator = this.get('collaborator');\n        this.sendAction('onRemove', collaborator);\n      }\n    }\n  });\n});","define('bc-frontend/components/collaborator-tile/remove/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    actions: {\n      confirm: function confirm() {\n        this.sendAction('onRemove');\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/collaborator-tile/remove/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"aPxk/ale\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Remove\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Remove collaborator?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/collaborator-tile/remove/template.hbs\" } });\n});","define(\"bc-frontend/components/collaborator-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Si2F5WYQ\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"nothing\\\"]]],null]],null]]],10]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"delete\\\"],null],false],[\\\"text\\\",\\\" Remove collaborator\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"visibility\\\"],null],false],[\\\"text\\\",\\\" Read only\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"edit\\\"],null],false],[\\\"text\\\",\\\" Read/write\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"group_add\\\"],null],false],[\\\"text\\\",\\\" Admin\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setPermission\\\",\\\"admin\\\"],null]]],3],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setPermission\\\",\\\"readwrite\\\"],null]]],2],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setPermission\\\",\\\"readonly\\\"],null]]],1],[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"removeCollaborator\\\"],null]]],0]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"displayPerm\\\"]],false],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"arrow_drop_down\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\"],[true]],5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,6],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],4]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,[[\\\"position\\\"],[\\\"cascade cascade\\\"]],7],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"(you)\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ember-initials\\\"],null,[[\\\"name\\\",\\\"class\\\"],[[\\\"get\\\",[\\\"collaborator\\\",\\\"displayName\\\"]],\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"collaborator\\\",\\\"displayName\\\"]],false],[\\\"text\\\",\\\" \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isMe\\\"]]],null,9],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"collaborator\\\",\\\"email\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isMe\\\"]]],null,8]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/collaborator-tile/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    dataSet: null,\n    schema: _ember['default'].computed.alias('dataSet.schema'),\n    schemaSlug: _ember['default'].computed.alias('schema.slug'),\n\n    tileKey: _ember['default'].computed('schemaSlug', function () {\n      var schemaSlug = this.get('schemaSlug');\n      if (schemaSlug) {\n        return 'dataset-detail/layouts/' + schemaSlug;\n      }\n      return null;\n    }),\n\n    actions: {\n      modifiedChanged: function modifiedChanged(flag) {\n        this.sendAction('onModifiedChanged', flag);\n      }\n    }\n  });\n});","define('bc-frontend/components/dataset-detail/components/calibration/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/components/calibration/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"yyIzdD9v\", \"block\": \"{\\\"statements\\\":[[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/calibration/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/image/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    model: null,\n    classNames: ['dataset-image'],\n    uri: _ember['default'].computed.reads('model.uri')\n  });\n});","define(\"bc-frontend/components/dataset-detail/components/image/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"wUYoTzC3\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"open-element\\\",\\\"img\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"uri\\\"]],null],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/image/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/manual-scoring-data/component', ['exports', 'ember', 'moment'], function (exports, _ember, _moment) {\n  exports['default'] = _ember['default'].Component.extend({\n    ajax: _ember['default'].inject.service(),\n    ajaxNoAuth: _ember['default'].inject.service(),\n    keyManager: _ember['default'].inject.service(),\n\n    model: null,\n    uri: _ember['default'].computed.reads('model.uri'),\n\n    // have to do wonky computed workaround to initialize model to an object\n    // or else all instances of the editor component will share the same singleton\n    configurationModel: _ember['default'].computed(function () {\n      return _ember['default'].Object.create({\n        subjects: [],\n        verbGroup: [],\n        verbs: []\n      });\n    }),\n\n    src: _ember['default'].computed('video', function () {\n      return {\n        src: this.get('video'),\n        type: 'video/mp4'\n      };\n    }),\n\n    playerSetup: {\n      controls: true\n    },\n\n    videoStart: _ember['default'].computed('model.meta', function () {\n      var recorded = (0, _moment['default'])(this.get('model.metaData.recordTs')),\n          cleared = (0, _moment['default'])(this.get('model.metaData.insertedTs'));\n\n      return cleared.diff(recorded, 'seconds');\n    }),\n\n    dataModified: false,\n\n    dataModifiedObserver: _ember['default'].observer('dataModified', function () {\n      this.sendAction('onModifiedChanged', this.get('dataModified'));\n    }),\n\n    scoringModel: _ember['default'].computed(function () {\n      return [];\n    }),\n\n    scoringSort: ['time'],\n    sortedScoringModel: _ember['default'].computed.sort('scoringModel', 'scoringSort'),\n\n    recordTS: _ember['default'].computed('model.metaData.insertedTs', function () {\n      var recordTS = this.get('model.metaData.insertedTs');\n      return (0, _moment['default'])(recordTS);\n    }),\n    timePosition: _ember['default'].computed.reads('recordTS'),\n\n    stateHistory: _ember['default'].computed('sortedScoringModel', 'recordTS', 'endTS', function () {\n      var lastState = this.get('configurationModel.verbs').map(function (verb) {\n        var verbCopy = Object.assign({}, verb);\n        verbCopy.state = verb.groupDefault;\n        return verbCopy;\n      });\n      var lastTS = this.get('recordTS');\n      var lastChange = null;\n      var endTS = this.get('endTS');\n\n      if (!lastTS || !endTS) {\n        return [];\n      }\n\n      var states = this.get('sortedScoringModel').map(function (change) {\n        var state = {\n          start: lastTS,\n          end: change.time,\n          state: lastState.map(function (verb) {\n            return verb.state;\n          }),\n          change: lastChange\n        };\n\n        lastTS = change.time;\n\n        // TODO: update lastState and clear other group members\n        var groupId = null;\n        lastState.forEach(function (verb) {\n          if (verb.id === change.verb) {\n            verb.state = change.verbValue;\n            groupId = verb.groupId;\n          }\n        });\n        lastState.forEach(function (verb) {\n          if (verb.id !== change.verb && (groupId && verb.groupId === groupId || verb.instantaneous)) {\n            verb.state = false;\n          }\n        });\n        lastChange = change;\n\n        return state;\n      });\n\n      states.pushObject({\n        start: lastTS,\n        end: endTS,\n        state: lastState.map(function (verb) {\n          return verb.state;\n        }),\n        change: lastChange\n      });\n\n      return states;\n    }),\n\n    verbState: function verbState(verb) {\n      var verbIndex = this.get('configurationModel.verbs').indexOf(verb),\n          position = this.get('timePosition');\n\n      var state = this.get('stateHistory').reduce(function (value, state) {\n        if (value) return value;\n        if (state.start <= position && state.end > position) return state;\n        return null;\n      }, null);\n\n      return state.state[verbIndex];\n    },\n\n    _setup: (function () {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', function () {\n        _this.loadConfiguration();\n        _this.loadData();\n        _this.setupKeyBindings();\n      });\n    }).on('didInsertElement'),\n\n    setupKeyBindings: function setupKeyBindings() {\n      this.get('keyManager').register({\n        keys: ['backspace'],\n        name: 'manual-scoring-backspace',\n        downCallback: _ember['default'].run.bind(this, function () {\n          this.send('deleteSegment');\n        }),\n        priority: 10\n      });\n      this.get('keyManager').register({\n        keys: ['delete'],\n        name: 'manual-scoring-delete',\n        downCallback: _ember['default'].run.bind(this, function () {\n          this.send('deleteSegment');\n        }),\n        priority: 10\n      });\n    },\n\n    setupVerbKeyBindings: function setupVerbKeyBindings() {\n      var _this2 = this;\n\n      var keyManager = this.get('keyManager');\n\n      this.get('configurationModel.verbs').forEach(function (verb) {\n        if (verb.key) {\n          var key = verb.key;\n\n          keyManager.register({\n            keys: [key],\n            name: 'manual-scoring-' + key,\n            downCallback: _ember['default'].run.bind(_this2, function (verb) {\n              this.send('toggleVerb', verb);\n            }, verb),\n            priority: 10\n          });\n        }\n      });\n    },\n\n    loadConfiguration: function loadConfiguration() {\n      var self = this,\n          ajax = this.get('ajaxNoAuth'),\n          url = this.get('configuration');\n\n      if (url) {\n        ajax.request(url).then(function (result) {\n          var groupMap = {};\n\n          var model = _ember['default'].Object.create({\n            subjects: [],\n            verbGroup: result.verbGroup.map(function (group) {\n              return _ember['default'].Object.create(group);\n            }),\n            verbs: result.verbs.map(function (verb) {\n              return _ember['default'].Object.create(verb);\n            })\n          });\n\n          model.verbGroup.forEach(function (group) {\n            groupMap[group.id] = group;\n          });\n          model.verbs.forEach(function (verb) {\n            verb.set('group', groupMap[verb.groupId]);\n          });\n\n          self.set('configurationModel', model);\n\n          self.setupVerbKeyBindings();\n        });\n      }\n    },\n\n    loadData: function loadData() {\n      var self = this,\n          ajax = this.get('ajaxNoAuth'),\n          url = this.get('model.url');\n\n      if (url) {\n        ajax.request(url).then(function (result) {\n          var scoringModel = result.map(function (change) {\n            return _ember['default'].Object.create({\n              time: (0, _moment['default'])(change.time),\n              verb: change.verb,\n              verbValue: change.verbValue,\n              selected: false\n            });\n          });\n\n          self.set('scoringModel', scoringModel);\n        });\n      }\n    },\n\n    willDestroyElement: function willDestroyElement() {\n      this.removeKeyBindings();\n    },\n\n    removeKeyBindings: function removeKeyBindings() {\n      var keyManager = this.get('keyManager');\n\n      keyManager.deregister({ name: 'manual-scoring-backspace' });\n      keyManager.deregister({ name: 'manual-scoring-delete' });\n\n      this.get('configurationModel.verbs').forEach(function (verb) {\n        if (verb.key) {\n          var key = verb.key;\n\n          keyManager.deregister({ name: 'manual-scoring-' + key });\n        }\n      });\n    },\n\n    exportData: function exportData() {\n      return this.get('scoringModel').map(function (change) {\n        return {\n          time: change.time,\n          verb: change.verb,\n          verbValue: change.verbValue\n        };\n      });\n    },\n\n    saveData: function saveData() {\n      var self = this,\n          data = this.exportData(),\n          dsId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + dsId + '/data';\n\n      var payload = {\n        data: data\n      };\n\n      this.set('isSaving', true);\n\n      ajax.request(requestUri, {\n        method: 'put',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('dataModified', false);\n        self.set('isSaving', false);\n      }, function () {\n        alert('Failed to save data. Please try again momentarily.');\n        self.set('isSaving', false);\n      });\n    },\n\n    appendVerb: function appendVerb(verb) {\n      var timePosition = this.get('timePosition');\n      var scoringModel = this.get('scoringModel');\n      var lastState = this.verbState(verb);\n\n      // If this verb is already active and we're in a group,\n      // no need to do anything.\n      if (lastState && verb.groupId) {\n        return;\n      }\n\n      scoringModel.pushObject(_ember['default'].Object.create({\n        time: timePosition,\n        verb: verb.id,\n        verbValue: verb.instantaneous || !lastState,\n        selected: false\n      }));\n\n      this.set('dataModified', true);\n    },\n\n    selectSegment: function selectSegment(segment) {\n      this.get('scoringModel').forEach(function (change) {\n        change.set('selected', false);\n      });\n\n      if (segment.change) {\n        segment.change.set('selected', true);\n      }\n    },\n\n    deleteSegment: function deleteSegment() {\n      var _this3 = this;\n\n      var changesToDelete = this.get('scoringModel').filter(function (change) {\n        return change.selected;\n      });\n\n      changesToDelete.forEach(function (change) {\n        _this3.get('scoringModel').removeObject(change);\n      });\n\n      this.set('dataModified', true);\n    },\n\n    actions: {\n      setPosition: function setPosition(position) {\n        var recordTS = this.get('recordTS');\n        this.set('timePosition', (0, _moment['default'])(recordTS).add(position, 'seconds'));\n      },\n      setDuration: function setDuration(duration) {\n        var recordTS = this.get('recordTS');\n        this.set('endTS', (0, _moment['default'])(recordTS).add(duration, 'seconds'));\n      },\n      toggleVerb: function toggleVerb(verb) {\n        this.appendVerb(verb);\n      },\n      selectSegment: function selectSegment(segment) {\n        this.selectSegment(segment);\n      },\n      deleteSegment: function deleteSegment() {\n        this.deleteSegment();\n      },\n      saveData: function saveData() {\n        this.saveData();\n      },\n      playerReady: function playerReady(player, component) {\n        component.sendActionOnPlayerEvent(player, 'timeupdate');\n        component.sendActionOnPlayerEvent(player, 'durationchange');\n        component.sendActionOnPlayerEvent(player, 'loadeddata');\n      },\n      playerTimeUpdate: function playerTimeUpdate(player) {\n        var duration = player.duration();\n        if (duration && !this.get('endTS')) {\n          this.send('setDuration', duration);\n        }\n        this.send('setPosition', player.currentTime());\n      },\n      playerDurationChange: function playerDurationChange(player) {\n        this.send('setDuration', player.duration());\n      },\n      playerLoadedData: function playerLoadedData(player) {\n        player.hasStarted(true);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/dataset-detail/components/manual-scoring-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"dpGgAnKr\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manual Scoring\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"model\\\",\\\"test\\\"]]],null],[\\\"get\\\",[\\\"dataModified\\\"]]],null]],null,9],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex layout-wrap\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-gt-xs-60 flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ivy-videojs\\\"],null,[[\\\"src\\\",\\\"fluid\\\",\\\"setup\\\",\\\"ready\\\",\\\"loadeddata\\\",\\\"timeupdate\\\",\\\"durationchange\\\",\\\"offsetStart\\\"],[[\\\"get\\\",[\\\"src\\\"]],true,[\\\"get\\\",[\\\"playerSetup\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerReady\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerLoadedData\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerTimeUpdate\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerDurationChange\\\"],null],[\\\"get\\\",[\\\"videoStart\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"verb-chart\\\"],null,[[\\\"data\\\",\\\"verbs\\\",\\\"minTS\\\",\\\"maxTS\\\",\\\"position\\\",\\\"onSelectSegment\\\"],[[\\\"get\\\",[\\\"stateHistory\\\"]],[\\\"get\\\",[\\\"configurationModel\\\",\\\"verbs\\\"]],[\\\"get\\\",[\\\"recordTS\\\"]],[\\\"get\\\",[\\\"endTS\\\"]],[\\\"get\\\",[\\\"timePosition\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"selectSegment\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,[[\\\"class\\\"],[\\\"flex-gt-xs-40 flex-100\\\"]],5],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"Timed event\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Instantaneous\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ember-initials\\\"],null,[[\\\"name\\\",\\\"class\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"key\\\"]],\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"key\\\"]]],null,2],[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"verb\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"instantaneous\\\"]]],null,1,0],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"toggleVerb\\\",[\\\"get\\\",[\\\"verb\\\"]]],null]]],3]],\\\"locals\\\":[\\\"verb\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"configurationModel\\\",\\\"verbs\\\"]]],null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,7,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveData\\\"],null]]],8]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/manual-scoring-data/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/photobeam-grid/component', ['exports', 'ember', 'ember-data', 'npm:base64-js', 'moment'], function (exports, _ember, _emberData, _npmBase64Js, _moment) {\n  function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }\n\n  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n  function hexStringToBinArray(str) {\n    if (!str) {\n      return new []();\n    }\n\n    var a = [];\n\n    for (var i = 0, len = str.length; i < len; i += 1) {\n      var bin = parseInt(str.substr(i, 1), 16);\n\n      for (var mask = 8; mask > 0; mask >>= 1) {\n        a.push(!!(bin & mask));\n      }\n    }\n\n    return a;\n  }\n\n  exports['default'] = _ember['default'].Component.extend({\n    ajaxNoAuth: _ember['default'].inject.service(),\n\n    isPlaying: false,\n    playbackTimer: null,\n    playStartTime: null,\n    playOffsetTime: null,\n\n    activeSample: _ember['default'].computed('model.isReceiving', 'model.lastSample', 'dataRows', 'dataRows.isFulfilled', 'sampleIndex', function () {\n      if (this.get('model.isReceiving')) {\n        return this.get('model.lastSample');\n      }\n\n      var dataRows = this.get('dataRows');\n\n      if (dataRows && dataRows.get('isFulfilled')) {\n        var sampleIndex = this.get('sampleIndex');\n        return dataRows.get('content.' + sampleIndex);\n      }\n\n      return {};\n    }),\n    activeSampleTime: _ember['default'].computed.alias('activeSample.t'),\n    activeSampleRelativeTime: _ember['default'].computed('activeSampleTime', 'firstSampleTime', function () {\n      var activeSampleTime = this.get('activeSampleTime'),\n          firstSampleTime = this.get('firstSampleTime');\n\n      if (activeSampleTime || firstSampleTime) {\n        return (0, _moment['default'])(activeSampleTime).diff((0, _moment['default'])(firstSampleTime));\n      }\n    }),\n    displayTime: _ember['default'].computed('activeSampleRelativeTime', function () {\n      return _moment['default'].duration(this.get('activeSampleRelativeTime')).format(\"HH:mm:ss.SSS\", { trim: false });\n    }),\n\n    totalSamples: _ember['default'].computed.alias('dataRows.length'),\n    minSampleIndex: _ember['default'].computed('dataRows', 'dataRows.isFulfilled', 'firstSampleTime', function () {\n      var dataRows = this.get('dataRows'),\n          firstSampleTime = (0, _moment['default'])(this.get('firstSampleTime'));\n\n      var minIndex = 0;\n\n      if (!dataRows.get('isFulfilled')) return minIndex;\n\n      dataRows.every(function (dataRow, dataIndex) {\n        var st = (0, _moment['default'])(dataRow.t);\n\n        if (st >= firstSampleTime) {\n          minIndex = dataIndex;\n          return false;\n        }\n        return true;\n      });\n\n      return minIndex;\n    }),\n    maxSampleIndex: _ember['default'].computed('totalSamples', function () {\n      var totalSamples = this.get('totalSamples');\n      if (totalSamples) {\n        return totalSamples - 1;\n      }\n    }),\n    sampleIndex: _ember['default'].computed.reads('minSampleIndex'),\n\n    // firstSample: Ember.computed.alias('dataRows.firstObject'),\n    // firstSampleTime: Ember.computed.alias('firstSample.t'),\n    firstSampleTime: _ember['default'].computed.alias('model.collecting'),\n\n    dataRows: _ember['default'].computed('model.url', function () {\n      var url = this.get('model.url');\n\n      if (!url) {\n        return null;\n      }\n\n      var ajax = this.get('ajaxNoAuth');\n\n      var ajaxPromise = ajax.request(url).then(function (result) {\n        return result;\n      }, function () {\n        return _ember['default'].A([]);\n      });\n\n      return _emberData['default'].PromiseArray.create({\n        promise: ajaxPromise\n      });\n    }),\n\n    isWaiting: _ember['default'].computed('activeSample', function () {\n      return _ember['default'].keys(this.get('activeSample')).length === 0;\n    }),\n\n    displayData: _ember['default'].computed('activeSample', function () {\n      var activeSample = this.get('activeSample');\n\n      // TODO: render some stuff\n      var oMap = function oMap(o, f) {\n        return Object.assign.apply(Object, _toConsumableArray(Object.keys(o).map(function (k) {\n          return _defineProperty({}, k, f(o[k]));\n        })));\n      };\n\n      return oMap(activeSample, function (x) {\n        return hexStringToBinArray(x);\n      });\n    }),\n\n    startPlayback: function startPlayback() {\n      this.setProperties({\n        playStartTime: this.get('activeSampleTime'),\n        playOffsetTime: 0\n      });\n      var timer = _ember['default'].run.later(this, this.playbackTimerCallback, 100);\n      this.set('playbackTimer', timer);\n    },\n\n    stopPlayback: function stopPlayback() {\n      _ember['default'].run.cancel(this.get('playbackTimer'));\n    },\n\n    playbackTimerCallback: function playbackTimerCallback() {\n      var playOffsetTime = this.get('playOffsetTime') + 0.1,\n          playStartTime = (0, _moment['default'])(this.get('playStartTime')),\n          maxSampleIndex = this.get('maxSampleIndex'),\n          sampleIndex = this.get('sampleIndex'),\n          dataRows = this.get('dataRows');\n\n      this.set('playOffsetTime', playOffsetTime);\n      playStartTime.add(playOffsetTime, 's');\n\n      var sample = this.get('activeSample');\n      while (playStartTime > (0, _moment['default'])(sample.t) && sampleIndex < maxSampleIndex) {\n        sampleIndex++;\n        sample = dataRows.get('content.' + sampleIndex);\n      }\n\n      this.set('sampleIndex', sampleIndex);\n\n      if (sampleIndex < maxSampleIndex) {\n        var timer = _ember['default'].run.later(this, this.playbackTimerCallback, 100);\n        this.set('playbackTimer', timer);\n      } else {\n        this.set('isPlaying', false);\n      }\n    },\n\n    willDestroyElement: function willDestroyElement() {\n      var isPlaying = this.get('isPlaying'),\n          playbackTimer = this.get('playbackTimer');\n\n      if (isPlaying) _ember['default'].run.cancel(playbackTimer);\n\n      this._super.apply(this, arguments);\n    },\n\n    actions: {\n      togglePlay: function togglePlay() {\n        var isPlaying = !this.get('isPlaying');\n\n        if (isPlaying) {\n          // start the timer callback\n          this.startPlayback();\n        } else {\n          // stop the timer callback\n          this.stopPlayback();\n        }\n\n        this.set('isPlaying', isPlaying);\n      },\n      setIndex: function setIndex(index) {\n        if (this.get('isPlaying')) this.send('togglePlay');\n\n        this.set('sampleIndex', index);\n      }\n    }\n  });\n});\n\n// import DataPreviewPusherMixin from 'bc-frontend/mixins/device-preview-mixin';","define(\"bc-frontend/components/dataset-detail/components/photobeam-grid/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"S9QPZoBs\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-70 flex-offset-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"originDevice\\\",\\\"label\\\"]],false],[\\\"text\\\",\\\" \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"realtimeId\\\"]]],null,36],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isWaiting\\\"]]],null,35,32],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"play_circle_outline\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"pause_circle_filled\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isPlaying\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"togglePlay\\\"],null]]],2],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-slider\\\"],null,[[\\\"class\\\",\\\"min\\\",\\\"max\\\",\\\"value\\\",\\\"onChange\\\"],[\\\"flex\\\",[\\\"get\\\",[\\\"minSampleIndex\\\"]],[\\\"get\\\",[\\\"maxSampleIndex\\\"]],[\\\"get\\\",[\\\"sampleIndex\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setIndex\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"displayTime\\\"]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,5,4]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"comment\\\",\\\" bottom z axis \\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x2\\\"]]],null,6],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,9,8]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,12,11]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y2\\\"]]],null,13],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,16,15]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,19,18]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,22,21]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y2\\\"]]],null,23],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,26,25]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,29,28]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"comment\\\",\\\" top z axis \\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x2\\\"]]],null,30],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"ul\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beams_container layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x2\\\"]]],null,31],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"comment\\\",\\\" top x axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x\\\"]]],null,27],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" y y axis display \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y2\\\"]]],null,24],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y\\\"]]],null,20],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"dynamic-attr\\\",\\\"style\\\",[\\\"helper\\\",[\\\"html-safe\\\"],[[\\\"helper\\\",[\\\"concat\\\"],[\\\"width:\\\",[\\\"helper\\\",[\\\"mult\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x\\\",\\\"length\\\"]],2],null],\\\"vw;\\\"],null]],null],null],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y\\\"]]],null,17],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"y2\\\"]]],null,14],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" bottom x axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x\\\"]]],null,10],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"displayData\\\",\\\"x2\\\"]]],null,7],[\\\"text\\\",\\\"      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"isReceiving\\\"]]],null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Loading data...\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Waiting on first data point...\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"isReceiving\\\"]]],null,34,33],[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-progress-circular\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"- Ch \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"realtimeId\\\"]],false]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/photobeam-grid/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/table/component', ['exports', 'ember', 'ember-data'], function (exports, _ember, _emberData) {\n  exports['default'] = _ember['default'].Component.extend({\n    ajaxNoAuth: _ember['default'].inject.service(),\n\n    model: null,\n    url: _ember['default'].computed.reads('model.url'),\n\n    dataRows: _ember['default'].computed(function () {\n      var ajax = this.get('ajaxNoAuth'),\n          url = this.get('url');\n\n      if (!url) {\n        return _ember['default'].A([]);\n      }\n\n      var ajaxPromise = ajax.request(url).then(function (result) {\n        return result;\n      }, function () {\n        return _ember['default'].A([]);\n      });\n\n      return _emberData['default'].PromiseArray.create({\n        promise: ajaxPromise\n      });\n    })\n  });\n});","define(\"bc-frontend/components/dataset-detail/components/table/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"5RGfoDl1\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-data-table\\\"],null,[[\\\"class\\\"],[\\\"full-screen-table\\\"]],8]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"append\\\",[\\\"get\\\",[\\\"columnValue\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"row\\\",\\\"cell\\\"],null,null,0],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"columnHead\\\",\\\"columnValue\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"helper\\\",[\\\"-each-in\\\"],[[\\\"get\\\",[\\\"dataRow\\\"]]],null]],null,1]],\\\"locals\\\":[\\\"row\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"body\\\",\\\"row\\\"],null,null,2]],\\\"locals\\\":[\\\"dataRow\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataRows\\\"]]],null,3]],\\\"locals\\\":[\\\"body\\\"]},{\\\"statements\\\":[[\\\"append\\\",[\\\"get\\\",[\\\"columnHead\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"block\\\",[\\\"head\\\",\\\"column\\\"],null,null,5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"columnHead\\\",\\\"columnValue\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"helper\\\",[\\\"-each-in\\\"],[[\\\"get\\\",[\\\"dataRows\\\",\\\"firstObject\\\"]]],null]],null,6]],\\\"locals\\\":[\\\"head\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"table\\\",\\\"head\\\"],null,null,7],[\\\"block\\\",[\\\"table\\\",\\\"body\\\"],null,null,4]],\\\"locals\\\":[\\\"table\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/table/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/video-bound-adjustment/component', ['exports', 'ember', 'moment'], function (exports, _ember, _moment) {\n  exports['default'] = _ember['default'].Component.extend({\n    ajax: _ember['default'].inject.service(),\n    ajaxNoAuth: _ember['default'].inject.service(),\n    userSession: _ember['default'].inject.service(),\n\n    model: null,\n    url: _ember['default'].computed.reads('model.url'),\n    test: _ember['default'].computed.alias('model.test'),\n    testSchema: _ember['default'].computed.alias('test.schema'),\n    testSchemaSlug: _ember['default'].computed.alias('testSchema.slug'),\n\n    testRequiresCleared: _ember['default'].computed.equal('testSchemaSlug', 'video_auto'),\n\n    src: _ember['default'].computed('url', function () {\n      return {\n        src: this.get('url'),\n        type: 'video/mp4'\n      };\n    }),\n\n    playerSetup: {\n      controls: true\n    },\n\n    dataModified: false,\n\n    dataModifiedObserver: _ember['default'].observer('dataModified', function () {\n      this.sendAction('onModifiedChanged', this.get('dataModified'));\n    }),\n\n    subject: _ember['default'].computed.reads('model.subject'),\n    isSaving: false,\n    videoDuration: null,\n    showUpgradePrompt: false,\n\n    canSave: _ember['default'].computed('isSaving', 'videoDuration', function () {\n      var isSaving = this.get('isSaving'),\n          videoDuration = this.get('videoDuration');\n      return videoDuration !== null && !isSaving;\n    }),\n\n    position: 0.0,\n    duration: 0.0,\n    cleared: 0.0,\n    inserted: 0.0,\n\n    player: null,\n\n    // _setup: function() {\n    // }.on('didInsertElement'),\n\n    trySaveData: function trySaveData() {\n      var _this = this;\n\n      var self = this;\n\n      this.set('isSaving', true);\n\n      this.checkOverage(this.get('videoDuration')).then(function (proceed) {\n        if (proceed) {\n          _this.saveData();\n        } else {\n          _this.set('isSaving', false);\n        }\n      });\n    },\n\n    saveData: function saveData() {\n      this.set('isSaving', true);\n\n      var clearing = (0, _moment['default'])();\n\n      var model = this.get('model');\n      model.set('clearing', clearing.toDate());\n      model.set('inserting', (0, _moment['default'])(clearing).add(this.get('cleared'), 'seconds').toDate());\n      model.set('collecting', (0, _moment['default'])(clearing).add(this.get('inserted'), 'seconds').toDate());\n      model.set('complete', (0, _moment['default'])(clearing).add(this.get('duration'), 'seconds').toDate());\n      model.set('subject', this.get('subject'));\n      model.set('duration', this.get('duration') - this.get('inserted'));\n\n      // model.save().then(function() {\n      //   self.set('dataModified', false);\n      //   self.set('isSaving', false);\n      // });\n\n      /* TEMPORARY WORKAROUND UNTIL NORMAL PUT/PATCH-BASED SAVES\n         ARE WORKING */\n      var ajax = this.get('ajax'),\n          dsId = model.get('id');\n      ajax.request('/api/dataSets/' + dsId + '/meta', {\n        method: 'put',\n        data: JSON.stringify({ dataSet: model.serialize() }),\n        contentType: 'application/json'\n      }).then(function () {\n        model.reload();\n      });\n    },\n\n    checkOverage: function checkOverage(duration) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId');\n\n      return ajax.request('/api/users/' + userId + '/get_overage_cost?time=' + duration).then(function (response) {\n        var upgradeNeeded = response.user.upgradeNeeded;\n\n        if (upgradeNeeded) {\n          self.set('showUpgradePrompt', true);\n          return false;\n        } else {\n          return true;\n        }\n      }, function (error) {\n        if (error.errors[0].status === \"400\") {\n          self.set('showUpgradePrompt', true);\n          return false;\n        }\n        alert(\"We were unable to communicate with the server. Please try again momentarily.\");\n        return false;\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.set('showUpgradePrompt', false);\n        self.saveData();\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    actions: {\n      setPosition: function setPosition(position) {\n        this.set('position', position);\n      },\n      setDuration: function setDuration(duration) {\n        this.set('duration', duration);\n        this.set('videoDuration', duration);\n      },\n      saveData: function saveData() {\n        this.trySaveData();\n      },\n      playerReady: function playerReady(player, component) {\n        this.set('player', player);\n        component.sendActionOnPlayerEvent(player, 'timeupdate');\n        component.sendActionOnPlayerEvent(player, 'durationchange');\n        component.sendActionOnPlayerEvent(player, 'loadeddata');\n      },\n      playerTimeUpdate: function playerTimeUpdate(player) {\n        var duration = player.duration();\n        if (duration && !this.get('duration')) {\n          this.send('setDuration', duration);\n        }\n        this.send('setPosition', player.currentTime());\n      },\n      playerDurationChange: function playerDurationChange(player) {\n        var duration = player.duration();\n        this.send('setDuration', duration);\n      },\n      playerLoadedData: function playerLoadedData(player) {\n        player.hasStarted(true);\n      },\n      setClear: function setClear() {\n        this.set('cleared', this.get('position'));\n      },\n      setInsert: function setInsert() {\n        this.set('inserted', this.get('position'));\n      },\n      scrollCleared: function scrollCleared(value) {\n        this.set('cleared', value);\n        this.get('player').currentTime(value);\n        if (this.get('inserted') < value) {\n          this.set('inserted', value);\n        }\n      },\n      scrollInserted: function scrollInserted(value) {\n        this.set('inserted', value);\n        this.get('player').currentTime(value);\n        if (this.get('cleared') > value) {\n          this.set('cleared', value);\n        }\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      },\n      cancel: function cancel() {\n        this.set('showUpgradePrompt', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/dataset-detail/components/video-bound-adjustment/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Iwwmo8wN\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Finalize Upload\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"model\\\",\\\"test\\\"]]],null]],null,16],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex layout-wrap\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-gt-xs-60 flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ivy-videojs\\\"],null,[[\\\"src\\\",\\\"fluid\\\",\\\"setup\\\",\\\"ready\\\",\\\"loadeddata\\\",\\\"timeupdate\\\",\\\"durationchange\\\"],[[\\\"get\\\",[\\\"src\\\"]],true,[\\\"get\\\",[\\\"playerSetup\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerReady\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerLoadedData\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerTimeUpdate\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playerDurationChange\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"testRequiresCleared\\\"]]],null,10],[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout layout-align-center-center video-adjust\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Inserted\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-slider\\\"],null,[[\\\"class\\\",\\\"min\\\",\\\"max\\\",\\\"value\\\",\\\"step\\\",\\\"onChange\\\"],[\\\"flex\\\",0,[\\\"get\\\",[\\\"duration\\\"]],[\\\"get\\\",[\\\"inserted\\\"]],0.1,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"scrollInserted\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,[[\\\"class\\\"],[\\\"flex-gt-xs-40 flex-100\\\"]],9],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUpgradePrompt\\\"]]],null,4],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subscribe to a paid BehaviorCloud plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You have exhausted your free plan hours. Please subscribe to continue.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,2],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"pin_drop\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Set inserted timestamp\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Consider subject inserted now\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"border_clear\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Set cleared timestamp\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Consider arena cleared now\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setClear\\\"],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"label\\\",\\\"value\\\",\\\"onChange\\\",\\\"class\\\"],[\\\"Subject\\\",[\\\"get\\\",[\\\"subject\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"subject\\\"]]],null]],null],\\\"flex\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,null,8],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"testRequiresCleared\\\"]]],null,7],[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setInsert\\\"],null]]],5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout layout-align-center-center video-adjust\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Cleared\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-slider\\\"],null,[[\\\"class\\\",\\\"min\\\",\\\"max\\\",\\\"value\\\",\\\"step\\\",\\\"onChange\\\"],[\\\"flex\\\",0,[\\\"get\\\",[\\\"duration\\\"]],[\\\"get\\\",[\\\"cleared\\\"]],0.1,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"scrollCleared\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Save and Finalize\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,12,11]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please wait...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"canSave\\\"]]],null,14,13]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"canSave\\\"]]],null],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveData\\\"],null]]],15]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/video-bound-adjustment/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/components/video/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    model: null,\n    uri: _ember['default'].computed.reads('model.uri')\n  });\n});","define(\"bc-frontend/components/dataset-detail/components/video/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"XGy2Vkyk\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"isReceiving\\\"]]],null,3,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width: 100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"video\\\",[]],[\\\"static-attr\\\",\\\"id\\\",\\\"video-preview\\\"],[\\\"static-attr\\\",\\\"controls\\\",\\\"\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"source\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"uri\\\"]],null],[\\\"static-attr\\\",\\\"type\\\",\\\"video/mp4\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"DATASET-DETAIL.COMPONENTS.VIDEO: LIVE DESTINATION MODE NOT IMPLEMENTED\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"device-preview/behaviorcloud-camera\\\"],null,[[\\\"device\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"originDevice\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"isOrigin\\\"]]],null,2,1]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/components/video/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"EqIYV0E2\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/analysis/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/calibration/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/calibration/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"v5REKlPX\", \"block\": \"{\\\"statements\\\":[[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/calibration/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/centroid/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    videoPath: _ember['default'].computed.alias('dataSet.realSiblings.video-path'),\n    tracePath: _ember['default'].computed.alias('dataSet.realSiblings.trace-path')\n  });\n});","define(\"bc-frontend/components/dataset-detail/layouts/centroid/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"lAKPg+Iz\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"videoPath\\\"]]],null,2,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"tracePath\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Trace\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/image\\\"],null,[[\\\"uri\\\"],[[\\\"get\\\",[\\\"tracePath\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/video\\\"],null,[[\\\"uri\\\"],[[\\\"get\\\",[\\\"videoPath\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/centroid/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    dataSet: null\n  });\n});","define('bc-frontend/components/dataset-detail/layouts/manual-scoring-analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/manual-scoring-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"wEySU92a\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/manual-scoring-analysis/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/manual-scoring-data/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    video: _ember['default'].computed.alias('dataSet.realSiblings.video'),\n    configuration: _ember['default'].computed.alias('dataSet.realSiblings.manual-scoring-setup'),\n\n    actions: {\n      modifiedChanged: function modifiedChanged(flag) {\n        this.sendAction('onModifiedChanged', flag);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/dataset-detail/layouts/manual-scoring-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"PnMSNAVP\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/manual-scoring-data\\\"],null,[[\\\"model\\\",\\\"video\\\",\\\"configuration\\\",\\\"onModifiedChanged\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]],[\\\"get\\\",[\\\"video\\\"]],[\\\"get\\\",[\\\"configuration\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"modifiedChanged\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/manual-scoring-data/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/photobeam-activity/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/photobeam-activity/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"fnD/bdor\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/photobeam-activity/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/photobeam-data/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/photobeam-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"xBSb0p2Q\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/photobeam-grid\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/photobeam-data/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/spontaneous-alternation/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/spontaneous-alternation/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"6C5FAAwQ\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/spontaneous-alternation/template.hbs\" } });\n});","define(\"bc-frontend/components/dataset-detail/layouts/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"ekn2GJb1\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/video/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/video/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Cnxhfm6C\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/video\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/video/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/zone-sequence/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/zone-sequence/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"UgNUa5V+\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/zone-sequence/template.hbs\" } });\n});","define('bc-frontend/components/dataset-detail/layouts/zoned-analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/dataset-detail/layouts/zoned-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"/aqrwRnR\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/table\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/layouts/zoned-analysis/template.hbs\" } });\n});","define(\"bc-frontend/components/dataset-detail/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"v4Nc8QZ+\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"tileKey\\\"]]],null,1,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  Error: Not yet a supported schema\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"component\\\"],[[\\\"get\\\",[\\\"tileKey\\\"]]],[[\\\"dataSet\\\",\\\"onModifiedChanged\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"modifiedChanged\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-detail/template.hbs\" } });\n});","define('bc-frontend/components/dataset-tile/component', ['exports', 'ember', 'bc-frontend/data-set/modern-schemas'], function (exports, _ember, _bcFrontendDataSetModernSchemas) {\n\n  var STATUS_MAP = {\n    aborted: {\n      display: 'Aborted by User',\n      icon: 'stop'\n    },\n    calibrated: {\n      display: 'Running',\n      icon: 'play_arrow'\n    },\n    cleared: {\n      display: 'Please clear arena',\n      icon: 'border_clear',\n      showRealtimeId: true\n    },\n    clearing: {\n      display: 'Please clear arena',\n      icon: 'border_clear',\n      showRealtimeId: true\n    },\n    collecting: {\n      display: 'Running',\n      icon: 'play_arrow',\n      showRealtimeId: true\n    },\n    completed: {\n      display: 'Completed',\n      icon: 'done',\n      showTime: true\n    },\n    converting: {\n      display: 'Analyzing',\n      showProgress: true\n    },\n    error: {\n      display: 'Error',\n      icon: 'close'\n    },\n    inserted: {\n      display: 'Please insert subject',\n      icon: 'input',\n      showRealtimeId: true\n    },\n    inserting: {\n      display: 'Please insert subject',\n      icon: 'input',\n      showRealtimeId: true\n    },\n    queued: {\n      display: 'Queued',\n      icon: 'pause'\n    },\n    append: {\n      display: 'Ready for input',\n      icon: 'input'\n    },\n    uploading: {\n      display: 'Uploading',\n      icon: 'file_upload'\n    },\n    meta: {\n      display: 'Awaiting user input',\n      icon: 'touch_app'\n    },\n    'default': {\n      display: 'Queued',\n      icon: 'pause'\n    }\n  };\n\n  exports['default'] = _ember['default'].Component.extend({\n    model: null,\n    routing: _ember['default'].inject.service(),\n\n    statusMapping: _ember['default'].computed('model.status', function () {\n      var status = this.get('model.status');\n\n      if (!STATUS_MAP.hasOwnProperty(status)) {\n        return STATUS_MAP['default'];\n      }\n      return STATUS_MAP[status];\n    }),\n\n    schema: _ember['default'].computed.alias('model.schema'),\n    schemaSlug: _ember['default'].computed.alias('schema.slug'),\n\n    route: _ember['default'].computed('schemaSlug', function () {\n      var slug = this.get('schemaSlug'),\n          isRealtime = this.get('model.isRealtime');\n\n      if (slug === undefined) {\n        return null;\n      }\n\n      if (isRealtime) {\n        return 'device.dataset';\n      }\n      if (_bcFrontendDataSetModernSchemas['default'].includes(slug)) {\n        return 'test.dataset';\n      }\n      return 'test.data';\n    }),\n\n    actions: {\n      viewModel: function viewModel() {\n        var route = this.get('route'),\n            model = this.get('model');\n        if (route) {\n          this.get('routing').transitionTo(route, model);\n        }\n      }\n    }\n  });\n});","define(\"bc-frontend/components/dataset-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"u08/i8C2\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\",\\\"dummy\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"viewModel\\\"],null],[\\\"get\\\",[\\\"route\\\"]]]],14],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showArchiveModal\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"datasets/archive-dataset-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showArchiveModal\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"unarchive\\\"],null],false],[\\\"text\\\",\\\" Unarchive\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUnarchiveModal\\\"]]],null],true],null]]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"archive\\\"],null],false],[\\\"text\\\",\\\" Archive\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showArchiveModal\\\"]]],null],true],null]]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"deletedAt\\\"]]],null,4,2]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,7],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],5]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"moment-format\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"complete\\\"]],\\\"lll\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"[Chamber \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"originData\\\",\\\"realtimeId\\\"]],false],[\\\"text\\\",\\\"]\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-progress-circular\\\"],null,[[\\\"diameter\\\",\\\"class\\\"],[40,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[[\\\"get\\\",[\\\"statusMapping\\\",\\\"icon\\\"]]],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"statusMapping\\\",\\\"showProgress\\\"]]],null,13,12],[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"statusMapping\\\",\\\"showRealtimeId\\\"]]],null,11],[\\\"text\\\",\\\" \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"displayLabel\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"statusMapping\\\",\\\"display\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"statusMapping\\\",\\\"showTime\\\"]]],null,10],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"manage dataSet\\\",[\\\"get\\\",[\\\"model\\\"]]],null]],null,9]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/dataset-tile/template.hbs\" } });\n});","define('bc-frontend/components/datasets/archive-dataset-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  // import DS from 'ember-data';\n\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    isPending: false,\n\n    archiveDataset: function archiveDataset() {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + modelId + '/archive';\n\n      this.set('isPending', true);\n\n      var payload = {};\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        // self.get('model').reload();\n        self.send('close');\n        self.get('model').unloadRecord();\n      }, function () {\n        alert('Failed to archive dataset. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    actions: {\n      close: function close() {\n        this.sendAction('onClose');\n      },\n      confirm: function confirm() {\n        this.archiveDataset();\n      }\n    }\n  });\n});","define(\"bc-frontend/components/datasets/archive-dataset-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"QArpWrOc\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Confirm\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Archive \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"subject\\\"]],false],[\\\"text\\\",\\\"?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Are you sure you want to archive this dataset?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/datasets/archive-dataset-dialog/template.hbs\" } });\n});","define('bc-frontend/components/device-preview/bc-test/component', ['exports', 'ember', 'bc-frontend/mixins/device-preview-mixin'], function (exports, _ember, _bcFrontendMixinsDevicePreviewMixin) {\n  exports['default'] = _ember['default'].Component.extend(_bcFrontendMixinsDevicePreviewMixin['default'], {\n    isWaiting: true,\n    lastSample: {},\n\n    dataReceived: function dataReceived(payload) {\n      this.set('isWaiting', false);\n      this.set('lastSample', payload);\n    }\n  });\n});","define(\"bc-frontend/components/device-preview/bc-test/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"IYYuenfH\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-70 flex-offset-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"device\\\",\\\"label\\\"]],false],[\\\"text\\\",\\\" [bc_test]\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This is intended to demonstrate a complete data flow from a BC Bridge Device.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isWaiting\\\"]]],null,2,1],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"li\\\",[]],[\\\"flush-element\\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"get\\\",[\\\"key\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\": \\\"],[\\\"append\\\",[\\\"get\\\",[\\\"value\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"key\\\",\\\"value\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"ul\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"helper\\\",[\\\"-each-in\\\"],[[\\\"get\\\",[\\\"lastSample\\\"]]],null]],null,0],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Waiting on first data point...\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/device-preview/bc-test/template.hbs\" } });\n});","define('bc-frontend/components/device-preview/behaviorcloud-camera/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    flashSupport: _ember['default'].inject.service(),\n    model: _ember['default'].computed.alias('device')\n  });\n});","define(\"bc-frontend/components/device-preview/behaviorcloud-camera/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"HcmAJAYs\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"flashSupport\\\",\\\"isSupported\\\"]]],null,5],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"jw-player\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"model\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        It looks like your browser doesn't have Flash available, which is currently required for\\\\n        live preview functionality. If you are seeing this message on a desktop browser,\\\\n        click here to prompt your browser to enable Flash. Otherwise, please try using live\\\\n        preview from a supported desktop browser.\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Missing flash support\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,1],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,2]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-1\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"devices\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,3],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,0]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],4]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/device-preview/behaviorcloud-camera/template.hbs\" } });\n});","define('bc-frontend/components/device-preview/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    store: _ember['default'].inject.service(),\n\n    dataSets: _ember['default'].computed('device.id', function () {\n      return this.get('store').query('dataSet', {\n        device: this.get('device.id')\n      });\n    }),\n\n    isLoading: _ember['default'].computed.alias('dataSets.isPending')\n  });\n});","define('bc-frontend/components/device-preview/sandiegoinstruments-activitychamber/component', ['exports', 'ember', 'bc-frontend/mixins/device-preview-mixin', 'npm:base64-js'], function (exports, _ember, _bcFrontendMixinsDevicePreviewMixin, _npmBase64Js) {\n\n  var MAP_MASK = [{\n    axis: 'x',\n    beams: [[3, 0x01], [2, 0x01], [1, 0x01], [0, 0x01]]\n  }, {\n    axis: 'y',\n    beams: [[3, 0x02], [2, 0x02], [1, 0x02], [0, 0x02], [3, 0x04], [2, 0x04], [1, 0x04], [0, 0x04]]\n  },\n  // [3, 0x08],\n  // [2, 0x08],\n  // [1, 0x08],\n  // [0, 0x08],\n  // [0, 0x20],\n  // [1, 0x20],\n  // [2, 0x20],\n  // [3, 0x20],\n  // [0, 0x10],\n  // [1, 0x10],\n  // [2, 0x10],\n  // [3, 0x10],\n  // [0, 0x80],\n  // [1, 0x80],\n  // [2, 0x80],\n  // [3, 0x80],\n  // [0, 0x40],\n  // [1, 0x40],\n  // [2, 0x40],\n  // [3, 0x40],\n  {\n    axis: 'z',\n    beams: [[31, 0x01], [30, 0x01], [29, 0x01], [28, 0x01], [31, 0x02], [30, 0x02], [29, 0x02], [28, 0x02]]\n  }];\n\n  // [31, 0x04],\n  // [30, 0x04],\n  // [29, 0x04],\n  // [28, 0x04],\n  // [31, 0x08],\n  // [30, 0x08],\n  // [29, 0x08],\n  // [28, 0x08]\n  exports['default'] = _ember['default'].Component.extend(_bcFrontendMixinsDevicePreviewMixin['default'], {\n    isWaiting: true,\n    lastSample: {},\n\n    // isWaiting: false,\n    // lastSample: [\n    //   [true, false, false, false, true, false, false, false, true, false, false, false, true, false, false, false],\n    //   [true, false, false, false, true, false, false, false, true, false, false, false, true, false, false, false],\n    //   [true, false, false, false, true, false, false, false, true, false, false, false, true, false, false, false],\n    // ],\n    mask: MAP_MASK,\n\n    dataReceived: function dataReceived(payload) {\n      var decoded = _npmBase64Js['default'].toByteArray(payload);\n\n      var mapped = MAP_MASK.map(function (axis) {\n        return axis.beams.map(function (beam) {\n          return !!(decoded[beam[0]] & beam[1]);\n        });\n      });\n\n      //debugger;\n\n      this.set('isWaiting', false);\n      this.set('lastSample', mapped);\n    }\n  });\n});","define(\"bc-frontend/components/device-preview/sandiegoinstruments-activitychamber/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"G1TaFuDH\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-70 flex-offset-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"device\\\",\\\"label\\\"]],false],[\\\"text\\\",\\\" [San Diego Instruments PAS]\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isWaiting\\\"]]],null,19,18],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,1,0]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,4,3]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,7,6]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,10,9]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,13,12]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beam active\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"beam\\\"]]],null,16,15]],\\\"locals\\\":[\\\"beam\\\",\\\"beamindex\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"ul\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"beams_container layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"comment\\\",\\\" top z axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"2\\\"]]],null,17],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" top x axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"0\\\"]]],null,14],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" y y axis display \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"1\\\"]]],null,11],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis flex-offset-35 layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"1\\\"]]],null,8],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" bottom x axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"0\\\"]]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"comment\\\",\\\" bottom z axis \\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"axis layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"lastSample\\\",\\\"2\\\"]]],null,2],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Waiting on first data point...\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/device-preview/sandiegoinstruments-activitychamber/template.hbs\" } });\n});","define(\"bc-frontend/components/device-preview/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"dphuWpGd\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isLoading\\\"]]],null,3,2]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  One moment...\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/device-preview/template.hbs\" } });\n});","define('bc-frontend/components/device-tile/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/device-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"ZLc82PRb\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"device\\\",[\\\"get\\\",[\\\"model\\\"]]],null]]],0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"connected\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/device-tile/template.hbs\" } });\n});","define('bc-frontend/components/devices/add-device-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    store: inject.service(),\n\n    //selectedVendor: null,\n    selectedVendor: 'behaviorcloud',\n    deviceId: '',\n    claimKey: '',\n\n    // deviceVendors: Ember.computed(function() {\n    //   return DS.PromiseArray.create({\n    //     promise: this.get('store').findAll('vendor')\n    //   });\n    // }),\n\n    showCamera: false,\n    showBridge: false,\n    typeSelected: _ember['default'].computed.or('showCamera', 'showBridge'),\n\n    isPending: false,\n\n    makeClaim: function makeClaim() {\n      var self = this,\n          vendorSlug = this.get('selectedVendor'),\n          deviceId = this.get('deviceId'),\n          claimKey = this.get('claimKey'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/devices/claim';\n\n      var payload = {\n        device: {\n          vendor: vendorSlug,\n          deviceId: deviceId,\n          signature: claimKey\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (recordJson) {\n        self.sendAction('onClose');\n      }, function (error, more) {\n        alert('Failed to find your device. Please check your entries and try again.');\n      });\n    },\n\n    actions: {\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      },\n      claimDevice: function claimDevice() {\n        this.makeClaim();\n      }\n    }\n  });\n});","define(\"bc-frontend/components/devices/add-device-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"WLd1sQ1m\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"class\\\",\\\"fullscreen\\\"],[true,\\\"flex-50\\\",true]],27]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Close\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Find and Claim\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],3],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\",\\\"primary\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"claimDevice\\\"],null],true]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showBridge\\\"]]],null,4,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Please wait...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex layout-align-begin-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              To start streaming data from your BehaviorCloud Bridge or BehaviorCloud-enabled instrument, you need to claim your device and attach it to your account.\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              Find and claim your device now:\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"deviceId\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"deviceId\\\"]]],null]],null],\\\"Device ID\\\",true]]],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"claimKey\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"claimKey\\\"]]],null]],null],\\\"Claim Key\\\",true]]],false],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              Install the BehaviorCloud Camera app on the Android or iOS device you wish to use as the camera. Once installed, sign in using your account credentials. Your device will automatically be added to your account.\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"applink\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"https://play.google.com/store/apps/details?id=com.behaviorcloud.apps.camera.staging&hl=en&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1\\\"],[\\\"static-attr\\\",\\\"target\\\",\\\"_blank\\\"],[\\\"flush-element\\\"],[\\\"open-element\\\",\\\"img\\\",[]],[\\\"static-attr\\\",\\\"alt\\\",\\\"Get it on Google Play\\\"],[\\\"static-attr\\\",\\\"src\\\",\\\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\\\"],[\\\"static-attr\\\",\\\"id\\\",\\\"badge-img\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"applink\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"https://itunes.apple.com/us/app/behaviorcloud-camera/id1209722664?mt=8\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"display:inline-block;overflow:hidden;background:url(//linkmaker.itunes.apple.com/assets/shared/badges/en-us/appstore-lrg.svg) no-repeat;width:210px;height:62px;background-size:contain;\\\"],[\\\"static-attr\\\",\\\"target\\\",\\\"_blank\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCamera\\\"]]],null,8],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showBridge\\\"]]],null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"See More\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showBridge\\\"]]],null],true],null]]],10],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Stream, collect and analyze third party instrumentation data using BehaviorCloud Bridge.\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Instrument Data\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,13],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"subhead\\\"],null,null,12],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,14]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,15],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,11]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"See More\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCamera\\\"]]],null],true],null]]],17],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Stream and track live video with BehaviorCloud using BehaviorCloud Camera.\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Live Video\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,20],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"subhead\\\"],null,null,19],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,21]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,22],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,18]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-xs-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-xs flex-gt-xs-50\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,23],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex-xs flex-gt-xs-50\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,16],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"typeSelected\\\"]]],null,24,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Add New Device\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isPending\\\"]]],null,25,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,26],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],5]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/devices/add-device-dialog/template.hbs\" } });\n});","define('bc-frontend/components/ember-initials/adorable/component', ['exports', 'ember-initials/components/adorable'], function (exports, _emberInitialsComponentsAdorable) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberInitialsComponentsAdorable['default'];\n    }\n  });\n});","define('bc-frontend/components/ember-initials/component', ['exports', 'ember-initials/components/initials'], function (exports, _emberInitialsComponentsInitials) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberInitialsComponentsInitials['default'];\n    }\n  });\n});","define('bc-frontend/components/ember-initials/gravatar/component', ['exports', 'ember-initials/components/gravatar'], function (exports, _emberInitialsComponentsGravatar) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberInitialsComponentsGravatar['default'];\n    }\n  });\n});","define('bc-frontend/components/ember-initials/image/component', ['exports', 'ember-initials/components/image'], function (exports, _emberInitialsComponentsImage) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberInitialsComponentsImage['default'];\n    }\n  });\n});","define('bc-frontend/components/ember-wormhole', ['exports', 'ember-wormhole/components/ember-wormhole'], function (exports, _emberWormholeComponentsEmberWormhole) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberWormholeComponentsEmberWormhole['default'];\n    }\n  });\n});","define('bc-frontend/components/empty-state/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/empty-state/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"rjIq9op7\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-start-center flex-60 flex-offset-20\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],[[\\\"get\\\",[\\\"flex\\\"]]],null,1],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,0]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/empty-state/template.hbs\" } });\n});","define('bc-frontend/components/fab-button/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    classNames: ['fab-button']\n  });\n});","define(\"bc-frontend/components/fab-button/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"GC5b2XhF\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"fab\\\",\\\"onClick\\\"],[true,[\\\"get\\\",[\\\"onClick\\\"]]]],0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[[\\\"get\\\",[\\\"icon\\\"]]],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/fab-button/template.hbs\" } });\n});","define('bc-frontend/components/horizontal-bar-chart', ['exports', 'ember-charts/components/horizontal-bar-chart'], function (exports, _emberChartsComponentsHorizontalBarChart) {\n  exports['default'] = _emberChartsComponentsHorizontalBarChart['default'];\n});","define(\"bc-frontend/components/illiquid-model\", [\"exports\", \"liquid-fire/components/illiquid-model\"], function (exports, _liquidFireComponentsIlliquidModel) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsIlliquidModel[\"default\"];\n    }\n  });\n});","define('bc-frontend/components/intercom-io', ['exports', 'ember-intercom-io/components/intercom-io'], function (exports, _emberIntercomIoComponentsIntercomIo) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberIntercomIoComponentsIntercomIo['default'];\n    }\n  });\n});","define('bc-frontend/components/ivy-videojs-player', ['exports', 'ivy-videojs/components/ivy-videojs-player'], function (exports, _ivyVideojsComponentsIvyVideojsPlayer) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _ivyVideojsComponentsIvyVideojsPlayer['default'];\n    }\n  });\n});","define('bc-frontend/components/ivy-videojs-player/component', ['exports', 'ember', 'ivy-videojs/components/ivy-videojs-player', 'videojs'], function (exports, _ember, _ivyVideojsComponentsIvyVideojsPlayer, _videojs) {\n  exports['default'] = _ivyVideojsComponentsIvyVideojsPlayer['default'].extend({\n    offsetStart: null,\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n\n      this.updateOffset();\n    },\n\n    onOffsetChange: _ember['default'].observer('offsetStart', function () {\n      this.updateOffset();\n    }),\n\n    updateOffset: function updateOffset() {\n      var start = this.get('offsetStart');\n\n      if (this.get('offsetStart')) {\n        (0, _videojs['default'])(this.element).offset({ start: start });\n      }\n    }\n  });\n});","define('bc-frontend/components/ivy-videojs', ['exports', 'ivy-videojs/components/ivy-videojs'], function (exports, _ivyVideojsComponentsIvyVideojs) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _ivyVideojsComponentsIvyVideojs['default'];\n    }\n  });\n});","define('bc-frontend/components/ivy-videojs/component', ['exports', 'ivy-videojs/components/ivy-videojs', 'videojs'], function (exports, _ivyVideojsComponentsIvyVideojs, _videojs) {\n\n  // Default options for the plugin.\n  var defaults = {};\n\n  /**\n   * Function to invoke when the player is ready.\n   *\n   * This is a great place for your plugin to initialize itself. When this\n   * function is called, the player will have its DOM and child components\n   * in place.\n   *\n   * @function onPlayerReady\n   * @param    {Player} player\n   *           A Video.js player.\n   * @param    {Object} [options={}]\n   *           An object of options left to the plugin author to define.\n   */\n  var onPlayerReady = function onPlayerReady(player) {\n    player.on('timeupdate', function () {\n      var curr = this.currentTime();\n\n      if (curr < 0) {\n        this.currentTime(0);\n        this.play();\n      }\n      if (this._offsetEnd > 0 && curr > this._offsetEnd - this._offsetStart) {\n        this.pause();\n        if (!this._restartBeginning) {\n          this.currentTime(this._offsetEnd - this._offsetStart);\n        } else {\n          this.trigger('loadstart');\n          this.currentTime(0);\n        }\n      }\n    });\n  };\n\n  /**\n   * A video.js plugin.\n   *\n   * In the plugin function, the value of `this` is a video.js `Player`\n   * instance. You cannot rely on the player being in a \"ready\" state here,\n   * depending on how the plugin is invoked. This may or may not be important\n   * to you; if not, remove the wait for \"ready\"!\n   *\n   * @function offset\n   * @param    {Object} [options={}]\n   *           An object of options left to the plugin author to define.\n   */\n  var offset = function offset(options) {\n    var _this = this;\n\n    options = options || {};\n    var Player = this.constructor;\n\n    this._offsetStart = options.start || 0;\n    this._offsetEnd = options.end || 0;\n    this._restartBeginning = options.restart_beginning || false;\n\n    if (!Player.__super__ || !Player.__super__.__offsetInit) {\n      Player.__super__ = {\n        __offsetInit: true,\n        duration: Player.prototype.duration,\n        currentTime: Player.prototype.currentTime,\n        bufferedPercent: Player.prototype.bufferedPercent,\n        remainingTime: Player.prototype.remainingTime\n      };\n\n      Player.prototype.duration = function () {\n        if (this._offsetEnd > 0) {\n          return this._offsetEnd - this._offsetStart;\n        }\n        return Player.__super__.duration.apply(this, arguments) - this._offsetStart;\n      };\n\n      Player.prototype.currentTime = function (seconds) {\n        if (seconds !== undefined) {\n          return Player.__super__.currentTime.call(this, seconds + this._offsetStart) - this._offsetStart;\n        }\n        return Player.__super__.currentTime.apply(this, arguments) - this._offsetStart;\n      };\n\n      Player.prototype.remainingTime = function () {\n        var curr = this.currentTime();\n\n        if (curr < this._offsetStart) {\n          curr = 0;\n        }\n        return this.duration() - curr;\n      };\n\n      Player.prototype.startOffset = function () {\n        return this._offsetStart;\n      };\n\n      Player.prototype.endOffset = function () {\n        if (this._offsetEnd > 0) {\n          return this._offsetEnd;\n        }\n        return this.duration();\n      };\n    }\n\n    this.ready(function () {\n      onPlayerReady(_this, _videojs['default'].mergeOptions(defaults, options));\n    });\n  };\n\n  exports['default'] = _ivyVideojsComponentsIvyVideojs['default'].extend({\n    init: function init() {\n      this._super.apply(this, arguments);\n\n      // Cross-compatibility for Video.js 5 and 6.\n      var registerPlugin = _videojs['default'].registerPlugin || _videojs['default'].plugin;\n\n      // Register the plugin with video.js.\n      registerPlugin('offset', offset);\n    },\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n\n      //debugger;\n    }\n  });\n});","define(\"bc-frontend/components/ivy-videojs/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"1J5dgw3e\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"ivy-videojs-player\\\"],null,[[\\\"abort\\\",\\\"canplay\\\",\\\"canplaythrough\\\",\\\"controls\\\",\\\"durationchange\\\",\\\"emptied\\\",\\\"ended\\\",\\\"error\\\",\\\"fluid\\\",\\\"language\\\",\\\"loadeddata\\\",\\\"loadedmetadata\\\",\\\"loadstart\\\",\\\"loop\\\",\\\"muted\\\",\\\"offsetStart\\\",\\\"pause\\\",\\\"play\\\",\\\"playbackRate\\\",\\\"playing\\\",\\\"poster\\\",\\\"progress\\\",\\\"ratechange\\\",\\\"ready\\\",\\\"resize\\\",\\\"seeked\\\",\\\"seeking\\\",\\\"setup\\\",\\\"src\\\",\\\"stalled\\\",\\\"suspend\\\",\\\"timeupdate\\\",\\\"useractive\\\",\\\"userinactive\\\",\\\"volume\\\",\\\"volumechange\\\",\\\"waiting\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"abort\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"canplay\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"canplaythrough\\\"],null],[\\\"get\\\",[\\\"controls\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"durationchange\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"emptied\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"ended\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"error\\\"],null],[\\\"get\\\",[\\\"fluid\\\"]],[\\\"get\\\",[\\\"language\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"loadeddata\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"loadedmetadata\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"loadstart\\\"],null],[\\\"get\\\",[\\\"loop\\\"]],[\\\"get\\\",[\\\"muted\\\"]],[\\\"get\\\",[\\\"offsetStart\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"pause\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"play\\\"],null],[\\\"get\\\",[\\\"playbackRate\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"playing\\\"],null],[\\\"get\\\",[\\\"poster\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"progress\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"ratechange\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"ready\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"resize\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"seeked\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"seeking\\\"],null],[\\\"get\\\",[\\\"setup\\\"]],[\\\"get\\\",[\\\"src\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"stalled\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"suspend\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"timeupdate\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"useractive\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"userinactive\\\"],null],[\\\"get\\\",[\\\"volume\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"volumechange\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"waiting\\\"],null]]]],false]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/ivy-videojs/template.hbs\" } });\n});","define('bc-frontend/components/jw-player/component', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n\n  var STREAMING_BASE = _bcFrontendConfigEnvironment['default']['streaming-base'];\n\n  exports['default'] = _ember['default'].Component.extend({\n    startStreaming: function startStreaming() {\n      // let deviceId = this.get('model.id'),\n      var deviceUUID = this.get('model.id'),\n          devicePath = STREAMING_BASE + '/' + deviceUUID;\n\n      this.startPlayer(devicePath);\n    },\n\n    startPlayer: function startPlayer(stream) {\n\n      jwplayer('jw-player').setup({\n        height: 480,\n        width: \"100%\",\n        // sources: [{\n        //   file: stream\n        // }],\n        file: stream,\n        rtmp: {\n          bufferlength: 0.1\n        }\n      });\n\n      jwplayer(\"jw-player\").onMeta(function () {\n        // var info = \"\";\n        // for (var key in data) {\n        //     info += key + \" = \" + data[key] + \"<BR>\";\n        // }\n        // document.getElementById(\"status\").innerHTML = info;\n\n        // print(\"event\",event);\n      });\n\n      jwplayer('jw-player').play();\n    },\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n\n      this.startStreaming();\n    }\n  });\n});\n/* globals jwplayer */","define(\"bc-frontend/components/jw-player/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"898Nm1fG\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"id\\\",\\\"jw-player\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/jw-player/template.hbs\" } });\n});","define(\"bc-frontend/components/liquid-bind\", [\"exports\", \"liquid-fire/components/liquid-bind\"], function (exports, _liquidFireComponentsLiquidBind) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidBind[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-child\", [\"exports\", \"liquid-fire/components/liquid-child\"], function (exports, _liquidFireComponentsLiquidChild) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidChild[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-container\", [\"exports\", \"liquid-fire/components/liquid-container\"], function (exports, _liquidFireComponentsLiquidContainer) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidContainer[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-if\", [\"exports\", \"liquid-fire/components/liquid-if\"], function (exports, _liquidFireComponentsLiquidIf) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidIf[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-measured\", [\"exports\", \"liquid-fire/components/liquid-measured\"], function (exports, _liquidFireComponentsLiquidMeasured) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidMeasured[\"default\"];\n    }\n  });\n  Object.defineProperty(exports, \"measure\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidMeasured.measure;\n    }\n  });\n});","define(\"bc-frontend/components/liquid-outlet\", [\"exports\", \"liquid-fire/components/liquid-outlet\"], function (exports, _liquidFireComponentsLiquidOutlet) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidOutlet[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-spacer\", [\"exports\", \"liquid-fire/components/liquid-spacer\"], function (exports, _liquidFireComponentsLiquidSpacer) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidSpacer[\"default\"];\n    }\n  });\n});","define('bc-frontend/components/liquid-sync', ['exports', 'liquid-fire/components/liquid-sync'], function (exports, _liquidFireComponentsLiquidSync) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidSync['default'];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-unless\", [\"exports\", \"liquid-fire/components/liquid-unless\"], function (exports, _liquidFireComponentsLiquidUnless) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidUnless[\"default\"];\n    }\n  });\n});","define(\"bc-frontend/components/liquid-versions\", [\"exports\", \"liquid-fire/components/liquid-versions\"], function (exports, _liquidFireComponentsLiquidVersions) {\n  Object.defineProperty(exports, \"default\", {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireComponentsLiquidVersions[\"default\"];\n    }\n  });\n});","define('bc-frontend/components/manual-scoring-configuration-editor/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    ajaxNoAuth: _ember['default'].inject.service(),\n\n    tagName: 'div',\n    existingConfiguration: null,\n    // have to do wonky computed workaround to initialize model to an object\n    // or else all instances of the editor component will share the same singleton\n    model: _ember['default'].computed(function () {\n      return _ember['default'].Object.create({\n        subjects: [],\n        verbGroup: [],\n        verbs: []\n      });\n    }),\n    subjectIndex: 0,\n    verbIndex: 0,\n    verbGroupIndex: 0,\n\n    disabled: false,\n\n    _setup: (function () {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', function () {\n        _this.loadConfiguration();\n        _this.registerWithParent();\n      });\n    }).on('didInsertElement'),\n\n    exportData: function exportData() {\n      var _get = this.get('model');\n\n      var subjects = _get.subjects;\n      var verbGroup = _get.verbGroup;\n      var verbs = _get.verbs;\n\n      // We can generally export the data as-is EXCEPT for the group object\n      // reference\n      return {\n        subjects: subjects,\n        verbGroup: verbGroup,\n        verbs: verbs.map(function (_ref) {\n          var groupId = _ref.groupId;\n          var groupDefault = _ref.groupDefault;\n          var id = _ref.id;\n          var instantaneous = _ref.instantaneous;\n          var key = _ref.key;\n          var label = _ref.label;\n          return {\n            groupId: groupId,\n            groupDefault: groupDefault,\n            id: id,\n            instantaneous: instantaneous,\n            key: key,\n            label: label\n          };\n        })\n      };\n    },\n\n    loadConfiguration: function loadConfiguration() {\n      var self = this,\n          ajax = this.get('ajaxNoAuth'),\n          url = this.get('existingConfiguration');\n\n      if (url) {\n        ajax.request(url).then(function (result) {\n          var groupMap = {};\n\n          var model = _ember['default'].Object.create({\n            subjects: [],\n            verbGroup: result.verbGroup.map(function (group) {\n              return _ember['default'].Object.create(group);\n            }),\n            verbs: result.verbs.map(function (verb) {\n              return _ember['default'].Object.create(verb);\n            })\n          });\n\n          var maxVerbIndex = 0,\n              maxGroupIndex = 0;\n\n          model.verbGroup.forEach(function (group) {\n            groupMap[group.id] = group;\n            maxGroupIndex = Math.max(maxGroupIndex, group.id);\n          });\n          model.verbs.forEach(function (verb) {\n            verb.set('group', groupMap[verb.groupId]);\n            maxVerbIndex = Math.max(maxVerbIndex, verb.id);\n          });\n\n          self.set('model', model);\n          self.set('verbIndex', maxVerbIndex);\n          self.set('verbGroupIndex', maxGroupIndex);\n        });\n      }\n    },\n\n    registerWithParent: function registerWithParent() {\n      this.sendAction('onRegister', this);\n    },\n\n    addBehavior: function addBehavior(label, behaviorType) {\n      var model = this.get('model'),\n          id = this.get('verbIndex') + 1,\n          key = label.charAt(0).toLowerCase();\n\n      if (model.verbs.filter(function (verb) {\n        return verb.key === key;\n      }).length > 0) {\n        key = null;\n      }\n\n      this.set('verbIndex', id);\n\n      model.verbs.pushObject(_ember['default'].Object.create({\n        id: id,\n        label: label,\n        instantaneous: behaviorType === 'count',\n        groupId: null,\n        group: null,\n        key: key\n      }));\n\n      this.sendAction('onChange');\n    },\n\n    updateBehavior: function updateBehavior(behavior, label) {\n      behavior.set('label', label);\n\n      this.sendAction('onChange');\n    },\n\n    setShortcut: function setShortcut(behavior, shortcut) {\n      if (shortcut) {\n        behavior.set('key', shortcut.charAt(0).toLowerCase());\n      } else {\n        behavior.set('key', null);\n      }\n\n      this.sendAction('onChange');\n    },\n\n    setGroup: function setGroup(behavior, group, groupDefault) {\n      var model = this.get('model');\n\n      // add group if it doesn't yet exist\n      if (model.verbGroup.indexOf(group) < 0) {\n        group.id = this.get('verbGroupIndex') + 1;\n        this.set('verbGroupIndex', group.id);\n        model.verbGroup.pushObject(group);\n      }\n\n      // clear other verbs as default if this one is\n      // assuming the position\n      if (groupDefault) {\n        model.verbs.forEach(function (verb) {\n          if (verb.groupId == group.id) {\n            verb.set('groupDefault', false);\n          }\n        });\n      }\n\n      behavior.set('groupId', group.id);\n      behavior.set('groupDefault', groupDefault);\n      behavior.set('group', group);\n\n      this.sendAction('onChange');\n    },\n\n    clearGroup: function clearGroup(behavior) {\n      var groupId = behavior.groupId;\n      var group = behavior.group;\n\n      behavior.set('groupId', null);\n      behavior.set('group', null);\n\n      this.checkGroup(groupId, group);\n\n      this.sendAction('onChange');\n    },\n\n    checkGroup: function checkGroup(groupId, group) {\n      // depending on whether there are other verbs with this group,\n      // set another verb to default or delete the group entirely.\n      var model = this.get('model');\n      var keep = false;\n\n      model.verbs.forEach(function (verb) {\n        if (verb.groupId === groupId) {\n          if (!keep) {\n            verb.set('groupDefault', true);\n            keep = true;\n          }\n        }\n      });\n\n      if (!keep) {\n        model.verbGroup.removeObject(group);\n      }\n    },\n\n    setDefault: function setDefault(behavior) {\n      var model = this.get('model');\n\n      model.verbs.forEach(function (verb) {\n        if (verb.groupId === behavior.group.id) {\n          verb.set('groupDefault', false);\n        }\n      });\n\n      behavior.set('groupDefault', true);\n\n      this.sendAction('onChange');\n    },\n\n    deleteBehavior: function deleteBehavior(behavior) {\n      var groupId = behavior.groupId;\n      var group = behavior.group;\n\n      var model = this.get('model');\n\n      model.verbs.removeObject(behavior);\n\n      this.checkGroup(groupId, group);\n\n      this.sendAction('onChange');\n    },\n\n    actions: {\n      saveConfiguration: function saveConfiguration() {},\n      addBehavior: function addBehavior(label, behaviorType) {\n        this.addBehavior(label, behaviorType);\n        // Hide the modal\n        this.set('showNewBehavior', false);\n      },\n      updateBehavior: function updateBehavior(behavior, label) {\n        this.updateBehavior(behavior, label);\n        // Hide the modal\n        this.set('showEditBehavior', null);\n      },\n      setShortcut: function setShortcut(behavior, shortcut) {\n        this.setShortcut(behavior, shortcut);\n        // hide the modal\n        this.set('showEditShortcut', null);\n      },\n      setGroup: function setGroup(behavior, group, groupDefault) {\n        this.setGroup(behavior, group, groupDefault);\n        // hide the modal\n        this.set('showEditGroup', null);\n      },\n      clearGroup: function clearGroup(behavior) {\n        this.clearGroup(behavior);\n      },\n      setDefault: function setDefault(behavior) {\n        this.setDefault(behavior);\n      },\n      deleteBehavior: function deleteBehavior(behavior) {\n        this.deleteBehavior(behavior);\n      }\n    }\n  });\n});","define('bc-frontend/components/manual-scoring-configuration-editor/edit-behavior-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    label: _ember['default'].computed.reads('behavior.label'),\n\n    actions: {\n      confirm: function confirm() {\n        var behavior = this.get('behavior'),\n            label = this.get('label');\n\n        this.sendAction('onUpdate', behavior, label);\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/manual-scoring-configuration-editor/edit-behavior-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"xpsav/AA\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\"],[true,true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Update\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"label\\\"]]],null],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Edit Behavior\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\",\\\"autofocus\\\"],[[\\\"get\\\",[\\\"label\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"label\\\"]]],null]],null],\\\"Label\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/manual-scoring-configuration-editor/edit-behavior-dialog/template.hbs\" } });\n});","define('bc-frontend/components/manual-scoring-configuration-editor/edit-group-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    behaviorType: 'duration',\n    groups: _ember['default'].A([]),\n    behavior: null,\n\n    actions: {\n      addGroup: function addGroup(group) {\n        if (group) {\n          this.set('selectedGroup', {\n            label: group\n          });\n        }\n      },\n      confirm: function confirm() {\n        var behavior = this.get('behavior'),\n            group = this.get('selectedGroup'),\n            groupDefault = this.get('groupDefault');\n\n        this.sendAction('onConfirm', behavior, group, groupDefault || !group.id);\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/manual-scoring-configuration-editor/edit-group-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"T7MzcYUQ\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-35\\\"]],7]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Add\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"selectedGroup\\\"]]],null],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Make this behavior the default for this group\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-checkbox\\\"],null,[[\\\"disabled\\\",\\\"value\\\",\\\"onChange\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"selectedGroup\\\",\\\"id\\\"]]],null],[\\\"helper\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"selectedGroup\\\",\\\"id\\\"]],[\\\"get\\\",[\\\"groupDefault\\\"]],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"groupDefault\\\"]]],null]],null]]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-autocomplete-highlight\\\"],null,[[\\\"label\\\",\\\"searchText\\\",\\\"flags\\\"],[[\\\"get\\\",[\\\"group\\\",\\\"label\\\"]],[\\\"get\\\",[\\\"autocomplete\\\",\\\"searchText\\\"]],\\\"i\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"group\\\",\\\"autocomplete\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Set Behavior Group\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Adding a behavior to a group makes its selection mutually exclusive to any other behaviors\\\\n      within the same group\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-autocomplete\\\"],null,[[\\\"onCreate\\\",\\\"options\\\",\\\"allowClear\\\",\\\"searchText\\\",\\\"onSearchTextChange\\\",\\\"selected\\\",\\\"searchField\\\",\\\"labelPath\\\",\\\"placeholder\\\",\\\"noMatchesMessage\\\",\\\"onSelectionChange\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"addGroup\\\"],null],[\\\"get\\\",[\\\"groups\\\"]],true,[\\\"helper\\\",[\\\"readonly\\\"],[[\\\"get\\\",[\\\"groupSearchText\\\"]]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"groupSearchText\\\"]]],null]],null],[\\\"get\\\",[\\\"selectedGroup\\\"]],\\\"label\\\",\\\"label\\\",\\\"Select a group...\\\",\\\"Create a new group?\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"selectedGroup\\\"]]],null]],null]]],5],[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"br\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"selectedGroup\\\"]]],null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,6],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/manual-scoring-configuration-editor/edit-group-dialog/template.hbs\" } });\n});","define('bc-frontend/components/manual-scoring-configuration-editor/edit-shortcut-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    shortcut: _ember['default'].computed.reads('behavior.key'),\n\n    actions: {\n      confirm: function confirm() {\n        var behavior = this.get('behavior'),\n            shortcut = this.get('shortcut');\n\n        this.sendAction('onConfirm', behavior, shortcut);\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/manual-scoring-configuration-editor/edit-shortcut-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"B4Lihnmm\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\"],[true,true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Update\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Set Behavior Hotkey\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"class\\\",\\\"autofocus\\\",\\\"label\\\",\\\"type\\\",\\\"value\\\",\\\"maxlength\\\",\\\"onChange\\\"],[\\\"flex\\\",true,\\\"Hotkey\\\",\\\"text\\\",[\\\"get\\\",[\\\"shortcut\\\"]],1,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"shortcut\\\"]]],null]],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/manual-scoring-configuration-editor/edit-shortcut-dialog/template.hbs\" } });\n});","define('bc-frontend/components/manual-scoring-configuration-editor/new-behavior-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    behaviorType: 'duration',\n\n    actions: {\n      confirm: function confirm() {\n        var label = this.get('label'),\n            behaviorType = this.get('behaviorType');\n\n        this.sendAction('onCreate', label, behaviorType);\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/manual-scoring-configuration-editor/new-behavior-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"mSMAfI/Q\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-35\\\"]],7]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Add\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"label\\\"]],[\\\"get\\\",[\\\"behaviorType\\\"]]],null]],null],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\" Instantaneous event (fecal boli, etc) \\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\" Timed event (moving, grooming, resting) \\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"block\\\",[\\\"group\\\",\\\"radio\\\"],null,[[\\\"value\\\"],[\\\"duration\\\"]],4],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"block\\\",[\\\"group\\\",\\\"radio\\\"],null,[[\\\"value\\\"],[\\\"count\\\"]],3],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"group\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Add Behavior\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\",\\\"autofocus\\\"],[[\\\"get\\\",[\\\"label\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"label\\\"]]],null]],null],\\\"Label\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-radio-group\\\"],null,[[\\\"groupValue\\\",\\\"onChange\\\"],[[\\\"helper\\\",[\\\"readonly\\\"],[[\\\"get\\\",[\\\"behaviorType\\\"]]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"behaviorType\\\"]]],null]],null]]],5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,6],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/manual-scoring-configuration-editor/new-behavior-dialog/template.hbs\" } });\n});","define(\"bc-frontend/components/manual-scoring-configuration-editor/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"ArCs64OL\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,null,28],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"disabled\\\"]]],null]],null,4],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showNewBehavior\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showEditBehavior\\\"]]],null,2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showEditShortcut\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showEditGroup\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"manual-scoring-configuration-editor/edit-group-dialog\\\"],null,[[\\\"behavior\\\",\\\"groups\\\",\\\"onClose\\\",\\\"onConfirm\\\"],[[\\\"get\\\",[\\\"showEditGroup\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"verbGroup\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditGroup\\\"]]],null],null],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setGroup\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"manual-scoring-configuration-editor/edit-shortcut-dialog\\\"],null,[[\\\"behavior\\\",\\\"onClose\\\",\\\"onConfirm\\\"],[[\\\"get\\\",[\\\"showEditShortcut\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditShortcut\\\"]]],null],null],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setShortcut\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"manual-scoring-configuration-editor/edit-behavior-dialog\\\"],null,[[\\\"behavior\\\",\\\"onClose\\\",\\\"onUpdate\\\"],[[\\\"get\\\",[\\\"showEditBehavior\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditBehavior\\\"]]],null],null],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"updateBehavior\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"manual-scoring-configuration-editor/new-behavior-dialog\\\"],null,[[\\\"onClose\\\",\\\"onCreate\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showNewBehavior\\\"]]],null],false],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"addBehavior\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showNewBehavior\\\"]]],null],true],null],\\\"add\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"delete\\\"],null],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Delete\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"border_outer\\\"],null],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Group\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditGroup\\\"]]],null],[\\\"get\\\",[\\\"verb\\\"]]],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"instantaneous\\\"]]],null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"border_clear\\\"],null],false],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Ungroup\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"select_all\\\"],null],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Make group default\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setDefault\\\",[\\\"get\\\",[\\\"verb\\\"]]],null]]],10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"groupDefault\\\"]]],null,11],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"clearGroup\\\",[\\\"get\\\",[\\\"verb\\\"]]],null]]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"keyboard\\\"],null],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Shortcut\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"edit\\\"],null],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Edit\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditBehavior\\\"]]],null],[\\\"get\\\",[\\\"verb\\\"]]],null]]],14],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showEditShortcut\\\"]]],null],[\\\"get\\\",[\\\"verb\\\"]]],null]]],13],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"groupId\\\"]]],null,12,8],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"deleteBehavior\\\",[\\\"get\\\",[\\\"verb\\\"]]],null]]],5]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],16]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,17],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],15]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"Ungrouped\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"(default)\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"verb\\\",\\\"group\\\",\\\"label\\\"]],false],[\\\"text\\\",\\\" group \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"groupDefault\\\"]]],null,20]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Timed event\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Instantaneous\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ember-initials\\\"],null,[[\\\"name\\\",\\\"class\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"key\\\"]],\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"key\\\"]]],null,24],[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"verb\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h4\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"instantaneous\\\"]]],null,23,22],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"verb\\\",\\\"group\\\"]]],null,21,19],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-menu\\\"],null,null,18]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-3-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"none\\\"]]],null]],null]]],25]],\\\"locals\\\":[\\\"verb\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      Please add a behavior.\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"verbs\\\"]]],null,27],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"verbs\\\"]]],null,26],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/manual-scoring-configuration-editor/template.hbs\" } });\n});","define('bc-frontend/components/paper-autocomplete-content', ['exports', 'ember-paper/components/paper-autocomplete-content'], function (exports, _emberPaperComponentsPaperAutocompleteContent) {\n  exports['default'] = _emberPaperComponentsPaperAutocompleteContent['default'];\n});","define('bc-frontend/components/paper-autocomplete-dropdown', ['exports', 'ember-paper/components/paper-autocomplete-dropdown'], function (exports, _emberPaperComponentsPaperAutocompleteDropdown) {\n  exports['default'] = _emberPaperComponentsPaperAutocompleteDropdown['default'];\n});","define('bc-frontend/components/paper-autocomplete-highlight', ['exports', 'ember-paper/components/paper-autocomplete-highlight'], function (exports, _emberPaperComponentsPaperAutocompleteHighlight) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperAutocompleteHighlight['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-autocomplete-options', ['exports', 'ember-paper/components/paper-autocomplete-options'], function (exports, _emberPaperComponentsPaperAutocompleteOptions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperAutocompleteOptions['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-autocomplete-trigger-container', ['exports', 'ember-paper/components/paper-autocomplete-trigger-container'], function (exports, _emberPaperComponentsPaperAutocompleteTriggerContainer) {\n  exports['default'] = _emberPaperComponentsPaperAutocompleteTriggerContainer['default'];\n});","define('bc-frontend/components/paper-autocomplete-trigger', ['exports', 'ember-paper/components/paper-autocomplete-trigger'], function (exports, _emberPaperComponentsPaperAutocompleteTrigger) {\n  exports['default'] = _emberPaperComponentsPaperAutocompleteTrigger['default'];\n});","define('bc-frontend/components/paper-autocomplete', ['exports', 'ember-paper/components/paper-autocomplete'], function (exports, _emberPaperComponentsPaperAutocomplete) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperAutocomplete['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-backdrop', ['exports', 'ember-paper/components/paper-backdrop'], function (exports, _emberPaperComponentsPaperBackdrop) {\n  exports['default'] = _emberPaperComponentsPaperBackdrop['default'];\n});","define('bc-frontend/components/paper-button', ['exports', 'ember-paper/components/paper-button'], function (exports, _emberPaperComponentsPaperButton) {\n  exports['default'] = _emberPaperComponentsPaperButton['default'];\n});","define('bc-frontend/components/paper-card-actions', ['exports', 'ember-paper/components/paper-card-actions'], function (exports, _emberPaperComponentsPaperCardActions) {\n  exports['default'] = _emberPaperComponentsPaperCardActions['default'];\n});","define('bc-frontend/components/paper-card-avatar', ['exports', 'ember-paper/components/paper-card-avatar'], function (exports, _emberPaperComponentsPaperCardAvatar) {\n  exports['default'] = _emberPaperComponentsPaperCardAvatar['default'];\n});","define('bc-frontend/components/paper-card-content', ['exports', 'ember-paper/components/paper-card-content'], function (exports, _emberPaperComponentsPaperCardContent) {\n  exports['default'] = _emberPaperComponentsPaperCardContent['default'];\n});","define('bc-frontend/components/paper-card-header-headline', ['exports', 'ember-paper/components/paper-card-header-headline'], function (exports, _emberPaperComponentsPaperCardHeaderHeadline) {\n  exports['default'] = _emberPaperComponentsPaperCardHeaderHeadline['default'];\n});","define('bc-frontend/components/paper-card-header-subhead', ['exports', 'ember-paper/components/paper-card-header-subhead'], function (exports, _emberPaperComponentsPaperCardHeaderSubhead) {\n  exports['default'] = _emberPaperComponentsPaperCardHeaderSubhead['default'];\n});","define('bc-frontend/components/paper-card-header-text', ['exports', 'ember-paper/components/paper-card-header-text'], function (exports, _emberPaperComponentsPaperCardHeaderText) {\n  exports['default'] = _emberPaperComponentsPaperCardHeaderText['default'];\n});","define('bc-frontend/components/paper-card-header-title', ['exports', 'ember-paper/components/paper-card-header-title'], function (exports, _emberPaperComponentsPaperCardHeaderTitle) {\n  exports['default'] = _emberPaperComponentsPaperCardHeaderTitle['default'];\n});","define('bc-frontend/components/paper-card-header', ['exports', 'ember-paper/components/paper-card-header'], function (exports, _emberPaperComponentsPaperCardHeader) {\n  exports['default'] = _emberPaperComponentsPaperCardHeader['default'];\n});","define('bc-frontend/components/paper-card-icon-actions', ['exports', 'ember-paper/components/paper-card-icon-actions'], function (exports, _emberPaperComponentsPaperCardIconActions) {\n  exports['default'] = _emberPaperComponentsPaperCardIconActions['default'];\n});","define('bc-frontend/components/paper-card-image', ['exports', 'ember-paper/components/paper-card-image'], function (exports, _emberPaperComponentsPaperCardImage) {\n  exports['default'] = _emberPaperComponentsPaperCardImage['default'];\n});","define('bc-frontend/components/paper-card-media', ['exports', 'ember-paper/components/paper-card-media'], function (exports, _emberPaperComponentsPaperCardMedia) {\n  exports['default'] = _emberPaperComponentsPaperCardMedia['default'];\n});","define('bc-frontend/components/paper-card-title-media', ['exports', 'ember-paper/components/paper-card-title-media'], function (exports, _emberPaperComponentsPaperCardTitleMedia) {\n  exports['default'] = _emberPaperComponentsPaperCardTitleMedia['default'];\n});","define('bc-frontend/components/paper-card-title-text', ['exports', 'ember-paper/components/paper-card-title-text'], function (exports, _emberPaperComponentsPaperCardTitleText) {\n  exports['default'] = _emberPaperComponentsPaperCardTitleText['default'];\n});","define('bc-frontend/components/paper-card-title', ['exports', 'ember-paper/components/paper-card-title'], function (exports, _emberPaperComponentsPaperCardTitle) {\n  exports['default'] = _emberPaperComponentsPaperCardTitle['default'];\n});","define('bc-frontend/components/paper-card', ['exports', 'ember-paper/components/paper-card'], function (exports, _emberPaperComponentsPaperCard) {\n  exports['default'] = _emberPaperComponentsPaperCard['default'];\n});","define('bc-frontend/components/paper-checkbox', ['exports', 'ember-paper/components/paper-checkbox'], function (exports, _emberPaperComponentsPaperCheckbox) {\n  exports['default'] = _emberPaperComponentsPaperCheckbox['default'];\n});","define('bc-frontend/components/paper-chips', ['exports', 'ember-paper/components/paper-chips'], function (exports, _emberPaperComponentsPaperChips) {\n  exports['default'] = _emberPaperComponentsPaperChips['default'];\n});","define('bc-frontend/components/paper-contact-chips', ['exports', 'ember-paper/components/paper-contact-chips'], function (exports, _emberPaperComponentsPaperContactChips) {\n  exports['default'] = _emberPaperComponentsPaperContactChips['default'];\n});","define('bc-frontend/components/paper-content', ['exports', 'ember-paper/components/paper-content'], function (exports, _emberPaperComponentsPaperContent) {\n  exports['default'] = _emberPaperComponentsPaperContent['default'];\n});","define('bc-frontend/components/paper-data-table-body', ['exports', 'paper-data-table/components/paper-data-table-body'], function (exports, _paperDataTableComponentsPaperDataTableBody) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableBody['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-cell', ['exports', 'paper-data-table/components/paper-data-table-cell'], function (exports, _paperDataTableComponentsPaperDataTableCell) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableCell['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-column', ['exports', 'paper-data-table/components/paper-data-table-column'], function (exports, _paperDataTableComponentsPaperDataTableColumn) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableColumn['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-dialog-inner', ['exports', 'paper-data-table/components/paper-data-table-dialog-inner'], function (exports, _paperDataTableComponentsPaperDataTableDialogInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableDialogInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-edit-dialog', ['exports', 'paper-data-table/components/paper-data-table-edit-dialog'], function (exports, _paperDataTableComponentsPaperDataTableEditDialog) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableEditDialog['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-head', ['exports', 'paper-data-table/components/paper-data-table-head'], function (exports, _paperDataTableComponentsPaperDataTableHead) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableHead['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-pagination', ['exports', 'paper-data-table/components/paper-data-table-pagination'], function (exports, _paperDataTableComponentsPaperDataTablePagination) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTablePagination['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table-row', ['exports', 'paper-data-table/components/paper-data-table-row'], function (exports, _paperDataTableComponentsPaperDataTableRow) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTableRow['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-data-table', ['exports', 'paper-data-table/components/paper-data-table'], function (exports, _paperDataTableComponentsPaperDataTable) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperDataTable['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-dialog-actions', ['exports', 'ember-paper/components/paper-dialog-actions'], function (exports, _emberPaperComponentsPaperDialogActions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperDialogActions['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-dialog-container', ['exports', 'ember-paper/components/paper-dialog-container'], function (exports, _emberPaperComponentsPaperDialogContainer) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperDialogContainer['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-dialog-content', ['exports', 'ember-paper/components/paper-dialog-content'], function (exports, _emberPaperComponentsPaperDialogContent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperDialogContent['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-dialog-inner', ['exports', 'ember-paper/components/paper-dialog-inner'], function (exports, _emberPaperComponentsPaperDialogInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperDialogInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-dialog', ['exports', 'ember-paper/components/paper-dialog'], function (exports, _emberPaperComponentsPaperDialog) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperDialog['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-divider', ['exports', 'ember-paper/components/paper-divider'], function (exports, _emberPaperComponentsPaperDivider) {\n  exports['default'] = _emberPaperComponentsPaperDivider['default'];\n});","define('bc-frontend/components/paper-form', ['exports', 'ember-paper/components/paper-form'], function (exports, _emberPaperComponentsPaperForm) {\n  exports['default'] = _emberPaperComponentsPaperForm['default'];\n});","define('bc-frontend/components/paper-grid-list', ['exports', 'ember-paper/components/paper-grid-list'], function (exports, _emberPaperComponentsPaperGridList) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperGridList['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-grid-tile-footer', ['exports', 'ember-paper/components/paper-grid-tile-footer'], function (exports, _emberPaperComponentsPaperGridTileFooter) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperGridTileFooter['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-grid-tile', ['exports', 'ember-paper/components/paper-grid-tile'], function (exports, _emberPaperComponentsPaperGridTile) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperGridTile['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-icon', ['exports', 'ember-paper/components/paper-icon'], function (exports, _emberPaperComponentsPaperIcon) {\n  exports['default'] = _emberPaperComponentsPaperIcon['default'];\n});","define('bc-frontend/components/paper-ink-bar', ['exports', 'ember-paper/components/paper-ink-bar'], function (exports, _emberPaperComponentsPaperInkBar) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperInkBar['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-input', ['exports', 'ember-paper/components/paper-input'], function (exports, _emberPaperComponentsPaperInput) {\n  exports['default'] = _emberPaperComponentsPaperInput['default'];\n});","define('bc-frontend/components/paper-item', ['exports', 'ember-paper/components/paper-item'], function (exports, _emberPaperComponentsPaperItem) {\n  exports['default'] = _emberPaperComponentsPaperItem['default'];\n});","define('bc-frontend/components/paper-list', ['exports', 'ember-paper/components/paper-list'], function (exports, _emberPaperComponentsPaperList) {\n  exports['default'] = _emberPaperComponentsPaperList['default'];\n});","define('bc-frontend/components/paper-menu-content-inner', ['exports', 'ember-paper/components/paper-menu-content-inner'], function (exports, _emberPaperComponentsPaperMenuContentInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperMenuContentInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-menu-content', ['exports', 'ember-paper/components/paper-menu-content'], function (exports, _emberPaperComponentsPaperMenuContent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperMenuContent['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-menu-item', ['exports', 'ember-paper/components/paper-menu-item'], function (exports, _emberPaperComponentsPaperMenuItem) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperMenuItem['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-menu', ['exports', 'ember-paper/components/paper-menu'], function (exports, _emberPaperComponentsPaperMenu) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperMenu['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-optgroup', ['exports', 'ember-paper/components/paper-optgroup'], function (exports, _emberPaperComponentsPaperOptgroup) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperOptgroup['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-option', ['exports', 'ember-paper/components/paper-option'], function (exports, _emberPaperComponentsPaperOption) {\n  exports['default'] = _emberPaperComponentsPaperOption['default'];\n});","define('bc-frontend/components/paper-progress-circular', ['exports', 'ember-paper/components/paper-progress-circular'], function (exports, _emberPaperComponentsPaperProgressCircular) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperProgressCircular['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-progress-linear', ['exports', 'ember-paper/components/paper-progress-linear'], function (exports, _emberPaperComponentsPaperProgressLinear) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperProgressLinear['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-radio-group', ['exports', 'ember-paper/components/paper-radio-group'], function (exports, _emberPaperComponentsPaperRadioGroup) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperRadioGroup['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-radio-proxiable', ['exports', 'ember-paper/components/paper-radio-proxiable'], function (exports, _emberPaperComponentsPaperRadioProxiable) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperRadioProxiable['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-radio', ['exports', 'ember-paper/components/paper-radio'], function (exports, _emberPaperComponentsPaperRadio) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperRadio['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-reset-button', ['exports', 'ember-paper/components/paper-reset-button'], function (exports, _emberPaperComponentsPaperResetButton) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperResetButton['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-content', ['exports', 'ember-paper/components/paper-select-content'], function (exports, _emberPaperComponentsPaperSelectContent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectContent['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-header', ['exports', 'ember-paper/components/paper-select-header'], function (exports, _emberPaperComponentsPaperSelectHeader) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectHeader['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-menu-inner', ['exports', 'ember-paper/components/paper-select-menu-inner'], function (exports, _emberPaperComponentsPaperSelectMenuInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectMenuInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-menu-trigger', ['exports', 'ember-paper/components/paper-select-menu-trigger'], function (exports, _emberPaperComponentsPaperSelectMenuTrigger) {\n  exports['default'] = _emberPaperComponentsPaperSelectMenuTrigger['default'];\n});","define('bc-frontend/components/paper-select-menu', ['exports', 'ember-paper/components/paper-select-menu'], function (exports, _emberPaperComponentsPaperSelectMenu) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectMenu['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-options', ['exports', 'ember-paper/components/paper-select-options'], function (exports, _emberPaperComponentsPaperSelectOptions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectOptions['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-search', ['exports', 'ember-paper/components/paper-select-search'], function (exports, _emberPaperComponentsPaperSelectSearch) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectSearch['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select-trigger', ['exports', 'ember-paper/components/paper-select-trigger'], function (exports, _emberPaperComponentsPaperSelectTrigger) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSelectTrigger['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-select', ['exports', 'ember-paper/components/paper-select'], function (exports, _emberPaperComponentsPaperSelect) {\n  exports['default'] = _emberPaperComponentsPaperSelect['default'];\n});","define('bc-frontend/components/paper-sidenav-container', ['exports', 'ember-paper/components/paper-sidenav-container'], function (exports, _emberPaperComponentsPaperSidenavContainer) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSidenavContainer['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-sidenav-inner', ['exports', 'ember-paper/components/paper-sidenav-inner'], function (exports, _emberPaperComponentsPaperSidenavInner) {\n  exports['default'] = _emberPaperComponentsPaperSidenavInner['default'];\n});","define('bc-frontend/components/paper-sidenav-toggle', ['exports', 'ember-paper/components/paper-sidenav-toggle'], function (exports, _emberPaperComponentsPaperSidenavToggle) {\n  exports['default'] = _emberPaperComponentsPaperSidenavToggle['default'];\n});","define('bc-frontend/components/paper-sidenav', ['exports', 'ember-paper/components/paper-sidenav'], function (exports, _emberPaperComponentsPaperSidenav) {\n  exports['default'] = _emberPaperComponentsPaperSidenav['default'];\n});","define('bc-frontend/components/paper-slider', ['exports', 'ember-paper/components/paper-slider'], function (exports, _emberPaperComponentsPaperSlider) {\n  exports['default'] = _emberPaperComponentsPaperSlider['default'];\n});","define('bc-frontend/components/paper-snackbar-text', ['exports', 'ember-paper/components/paper-snackbar-text'], function (exports, _emberPaperComponentsPaperSnackbarText) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSnackbarText['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-speed-dial-actions-action', ['exports', 'ember-paper/components/paper-speed-dial-actions-action'], function (exports, _emberPaperComponentsPaperSpeedDialActionsAction) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSpeedDialActionsAction['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-speed-dial-actions', ['exports', 'ember-paper/components/paper-speed-dial-actions'], function (exports, _emberPaperComponentsPaperSpeedDialActions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSpeedDialActions['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-speed-dial-trigger', ['exports', 'ember-paper/components/paper-speed-dial-trigger'], function (exports, _emberPaperComponentsPaperSpeedDialTrigger) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSpeedDialTrigger['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-speed-dial', ['exports', 'ember-paper/components/paper-speed-dial'], function (exports, _emberPaperComponentsPaperSpeedDial) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperSpeedDial['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-subheader', ['exports', 'ember-paper/components/paper-subheader'], function (exports, _emberPaperComponentsPaperSubheader) {\n  exports['default'] = _emberPaperComponentsPaperSubheader['default'];\n});","define('bc-frontend/components/paper-switch', ['exports', 'ember-paper/components/paper-switch'], function (exports, _emberPaperComponentsPaperSwitch) {\n  exports['default'] = _emberPaperComponentsPaperSwitch['default'];\n});","define('bc-frontend/components/paper-tab', ['exports', 'ember-paper/components/paper-tab'], function (exports, _emberPaperComponentsPaperTab) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperTab['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-table-select', ['exports', 'paper-data-table/components/paper-table-select'], function (exports, _paperDataTableComponentsPaperTableSelect) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _paperDataTableComponentsPaperTableSelect['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-tabs', ['exports', 'ember-paper/components/paper-tabs'], function (exports, _emberPaperComponentsPaperTabs) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperTabs['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-toast-inner', ['exports', 'ember-paper/components/paper-toast-inner'], function (exports, _emberPaperComponentsPaperToastInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperToastInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-toast-text', ['exports', 'ember-paper/components/paper-toast-text'], function (exports, _emberPaperComponentsPaperToastText) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperToastText['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-toast', ['exports', 'ember-paper/components/paper-toast'], function (exports, _emberPaperComponentsPaperToast) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperToast['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-toaster', ['exports', 'ember-paper/components/paper-toaster'], function (exports, _emberPaperComponentsPaperToaster) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperToaster['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-toolbar-tools', ['exports', 'ember-paper/components/paper-toolbar-tools'], function (exports, _emberPaperComponentsPaperToolbarTools) {\n  exports['default'] = _emberPaperComponentsPaperToolbarTools['default'];\n});","define('bc-frontend/components/paper-toolbar', ['exports', 'ember-paper/components/paper-toolbar'], function (exports, _emberPaperComponentsPaperToolbar) {\n  exports['default'] = _emberPaperComponentsPaperToolbar['default'];\n});","define('bc-frontend/components/paper-tooltip-inner', ['exports', 'ember-paper/components/paper-tooltip-inner'], function (exports, _emberPaperComponentsPaperTooltipInner) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperTooltipInner['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-tooltip', ['exports', 'ember-paper/components/paper-tooltip'], function (exports, _emberPaperComponentsPaperTooltip) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperComponentsPaperTooltip['default'];\n    }\n  });\n});","define('bc-frontend/components/paper-virtual-repeat-scroller', ['exports', 'ember-paper/components/paper-virtual-repeat-scroller'], function (exports, _emberPaperComponentsPaperVirtualRepeatScroller) {\n  exports['default'] = _emberPaperComponentsPaperVirtualRepeatScroller['default'];\n});","define('bc-frontend/components/paper-virtual-repeat', ['exports', 'ember-paper/components/paper-virtual-repeat'], function (exports, _emberPaperComponentsPaperVirtualRepeat) {\n  exports['default'] = _emberPaperComponentsPaperVirtualRepeat['default'];\n});","define('bc-frontend/components/pie-chart', ['exports', 'ember-charts/components/pie-chart'], function (exports, _emberChartsComponentsPieChart) {\n  exports['default'] = _emberChartsComponentsPieChart['default'];\n});","define('bc-frontend/components/power-select-multiple', ['exports', 'ember-power-select/components/power-select-multiple'], function (exports, _emberPowerSelectComponentsPowerSelectMultiple) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectMultiple['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select-multiple/trigger', ['exports', 'ember-power-select/components/power-select-multiple/trigger'], function (exports, _emberPowerSelectComponentsPowerSelectMultipleTrigger) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectMultipleTrigger['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select', ['exports', 'ember-power-select/components/power-select'], function (exports, _emberPowerSelectComponentsPowerSelect) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelect['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/before-options', ['exports', 'ember-power-select/components/power-select/before-options'], function (exports, _emberPowerSelectComponentsPowerSelectBeforeOptions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectBeforeOptions['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/options', ['exports', 'ember-power-select/components/power-select/options'], function (exports, _emberPowerSelectComponentsPowerSelectOptions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectOptions['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/placeholder', ['exports', 'ember-power-select/components/power-select/placeholder'], function (exports, _emberPowerSelectComponentsPowerSelectPlaceholder) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectPlaceholder['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/power-select-group', ['exports', 'ember-power-select/components/power-select/power-select-group'], function (exports, _emberPowerSelectComponentsPowerSelectPowerSelectGroup) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectPowerSelectGroup['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/search-message', ['exports', 'ember-power-select/components/power-select/search-message'], function (exports, _emberPowerSelectComponentsPowerSelectSearchMessage) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectSearchMessage['default'];\n    }\n  });\n});","define('bc-frontend/components/power-select/trigger', ['exports', 'ember-power-select/components/power-select/trigger'], function (exports, _emberPowerSelectComponentsPowerSelectTrigger) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectComponentsPowerSelectTrigger['default'];\n    }\n  });\n});","define('bc-frontend/components/s3-upload/component', ['exports', 'ember', 'npm:evaporate', 'npm:aws-sdk', 'bc-frontend/config/environment'], function (exports, _ember, _npmEvaporate, _npmAwsSdk, _bcFrontendConfigEnvironment) {\n\n  var bind = _ember['default'].run.bind;\n  var SUPPORTED_EXTENSIONS = ['avi', 'asf', 'mkv', 'mov', 'mpg', 'mpeg', 'mp2', 'mp4', 'wmv'];\n\n  var evaporateConfig = {\n    aws_key: _bcFrontendConfigEnvironment['default']['s3-upload-key'],\n    bucket: _bcFrontendConfigEnvironment['default']['s3-upload-bucket'],\n    awsRegion: _bcFrontendConfigEnvironment['default']['s3-upload-region'],\n    // customAuth: null\n    computeContentMd5: true,\n    cryptoMd5Method: function cryptoMd5Method(data) {\n      return _npmAwsSdk['default'].util.crypto.md5(data, 'base64');\n    },\n    cryptoHexEncodedHash256: function cryptoHexEncodedHash256(data) {\n      return _npmAwsSdk['default'].util.crypto.sha256(data, 'hex');\n    },\n    onlyRetryForSameFileName: true\n  };\n\n  exports['default'] = _ember['default'].Component.extend({\n    uploadAuth: _ember['default'].inject.service(),\n\n    classNameBindings: ['isHovering:is-hovering', 'isWaiting:s3-upload', 'isWaiting:layout-column'],\n    classNames: ['layout-align-center-center'],\n    acceptTypes: 'video/*',\n    allowMultiple: true,\n\n    isWaiting: _ember['default'].computed.not('uploads.length'),\n\n    multiple: _ember['default'].computed('allowMultiple', function () {\n      return this.get('allowMultiple') ? 'multiple' : null;\n    }),\n    isHovering: false,\n\n    uploads: _ember['default'].computed(function () {\n      return _ember['default'].A([]);\n    }),\n    uploadSort: ['active:desc'],\n    sortedUploads: _ember['default'].computed.sort('uploads', 'uploadSort'),\n    inProgress: _ember['default'].computed.filterBy('uploads', 'active', true),\n\n    setup: (function () {\n      var handleDrag = bind(this, this.handleDrag),\n          handleDrop = bind(this, this.handleDrop),\n          handleChange = bind(this, this.handleChange);\n\n      this.$().on({\n        dragover: handleDrag,\n        dragleave: handleDrag,\n        drop: handleDrop\n      });\n\n      this.$('input:file').on('change', handleChange);\n\n      this.registerComponent();\n    }).on('didInsertElement'),\n\n    handleDrag: function handleDrag(evt) {\n      if (evt.type === 'dragover') {\n        this.startHover();\n      } else {\n        this.stopHover();\n      }\n\n      return false;\n    },\n\n    handleDrop: function handleDrop(evt) {\n      this.stopHover();\n      this.handleFiles(evt.dataTransfer.files);\n      return false;\n    },\n\n    handleChange: function handleChange(evt) {\n      this.handleFiles(evt.target.files || null);\n    },\n\n    handleFiles: function handleFiles(files) {\n      var self = this;\n      var validatedFiles = Array.from(files).filter(function (file) {\n        return file && self.validate(file);\n      });\n\n      if (validatedFiles.length < files.length) {\n        alert(\"A file you've selected for upload does not appear to be a supported format. Please export or convert the files to AVI, MPG, MP4, MKV, WMV, ASF or WEBM and try again.\");\n      }\n\n      if (validatedFiles.length > 0) {\n        self.startUploads(validatedFiles);\n      }\n    },\n\n    startUploads: function startUploads(files) {\n      var self = this,\n          uploadAuth = this.get('uploadAuth'),\n          test = this.get('test'),\n\n      //schemaSlug = this.get('schema'),\n      schemaSlug = 'file',\n          config = Object.assign({\n        customAuthMethod: function customAuthMethod() {/*filler*/}\n      }, evaporateConfig);\n\n      _npmEvaporate['default'].create(config).then(function (evaporate) {\n        files.forEach(function (file) {\n          uploadAuth.authorizeUpload.bind(uploadAuth)(file.name, test, schemaSlug).then(function (authorization) {\n            var upload = _ember['default'].Object.create({\n              fileName: file.name,\n              objectKey: authorization.objectKey,\n              progress: 0,\n              active: true,\n              failed: false,\n              completed: false,\n              reason: ''\n            });\n            self.get('uploads').pushObject(upload);\n            var addConfig = {\n              name: authorization.objectKey,\n              file: file,\n              progress: function progress(progressValue) {\n                // console.log('Progress', progressValue);\n                upload.set('progress', Math.round(progressValue * 100));\n              },\n              complete: function complete() {\n                // console.log('Complete!');\n                uploadAuth.finalizeUpload.bind(uploadAuth, authorization.id)().then(function () {\n                  // self.get('uploads').removeObject(upload);\n                  upload.setProperties({ completed: true, active: false });\n                  self.checkAndClose.bind(self)();\n                });\n              }\n            },\n                override = {\n              customAuthMethod: uploadAuth.signRequest.bind(uploadAuth, authorization.id)\n            };\n\n            evaporate.add(addConfig, override).then(function () {\n              //console.log('File successfully uploaded to:', awsObjectKey);\n            }, function (reason) {\n              //console.log('File did not upload sucessfully:', reason);\n              upload.setProperties({ failed: true, active: false, reason: reason });\n              self.checkAndClose.bind(self)();\n            });\n          });\n        });\n      });\n    },\n\n    checkAndClose: function checkAndClose() {\n      if (!this.get('inProgress.length')) {\n        this.sendAction('onComplete');\n      }\n    },\n\n    validate: function validate(file) {\n      var fileExt = file.name.slice((file.name.lastIndexOf(\".\") - 1 >>> 0) + 2).toLowerCase(),\n          supportedExtensions = SUPPORTED_EXTENSIONS;\n      return supportedExtensions.indexOf(fileExt) >= 0;\n    },\n\n    startHover: function startHover() {\n      this.set('isHovering', true);\n    },\n\n    stopHover: function stopHover() {\n      this.set('isHovering', false);\n    },\n\n    teardown: (function () {\n      var handleDrag = bind(this, this.handleDrag),\n          handleDrop = bind(this, this.handleDrop),\n          handleChange = bind(this, this.handleChange);\n\n      this.$().off({\n        dragover: handleDrag,\n        dragleave: handleDrag,\n        drop: handleDrop\n      });\n\n      this.$('input:file').off('change', handleChange);\n    }).on('willDestroyElement'),\n\n    registerComponent: function registerComponent() {\n      this.sendAction('onInitialized', this.get('uploads'));\n    }\n  });\n});","define(\"bc-frontend/components/s3-upload/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"6JYs6kT5\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"uploads\\\",\\\"length\\\"]]],null,7,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"video_library\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"trigger md-button md-raised md-accent\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    Select Files\\\\n    \\\"],[\\\"open-element\\\",\\\"input\\\",[]],[\\\"static-attr\\\",\\\"type\\\",\\\"file\\\"],[\\\"dynamic-attr\\\",\\\"multiple\\\",[\\\"unknown\\\",[\\\"multiple\\\"]],null],[\\\"dynamic-attr\\\",\\\"accept\\\",[\\\"unknown\\\",[\\\"acceptTypes\\\"]],null],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-progress-linear\\\"],null,[[\\\"value\\\"],[[\\\"get\\\",[\\\"upload\\\",\\\"progress\\\"]]]]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"error_outline\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"check\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"upload\\\",\\\"completed\\\"]]],null,3],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"upload\\\",\\\"failed\\\"]]],null,2],[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"upload\\\",\\\"fileName\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"upload\\\",\\\"active\\\"]]],null,1],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\"],[\\\"md-2-line\\\"]],4]],\\\"locals\\\":[\\\"upload\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"sortedUploads\\\"]]],null,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,[[\\\"class\\\"],[\\\"upload-list\\\"]],6]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/s3-upload/template.hbs\" } });\n});","define('bc-frontend/components/scatter-chart', ['exports', 'ember-charts/components/scatter-chart'], function (exports, _emberChartsComponentsScatterChart) {\n  exports['default'] = _emberChartsComponentsScatterChart['default'];\n});","define('bc-frontend/components/schema-detail/header/component', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    ajax: _ember['default'].inject.service(),\n    session: _ember['default'].inject.service(),\n\n    title: null, // (optional) parameter\n    test: null, // to be supplied as param\n    dataSets: null, // to be supplied at param\n    onRefresh: null, // to be supplied as param\n    targetSchema: null, // to be supplied as param\n\n    schema: _ember['default'].computed.alias('dataSets.firstObject.schema'),\n\n    pendingDataSets: _ember['default'].computed.filter('dataSets', function (item) {\n      var status = item.get('status');\n      return ['queued', 'converting', 'analyzing'].includes(status);\n    }),\n    dataSetsCount: _ember['default'].computed.alias('dataSets.length'),\n    pendingDataSetsCount: _ember['default'].computed.alias('pendingDataSets.length'),\n    hasData: _ember['default'].computed.gte('dataSetsCount', 1),\n    hasPendingData: _ember['default'].computed.gte('pendingDataSetsCount', 1),\n\n    showCollectButton: _ember['default'].computed.alias('model.meta.canCollect'),\n\n    exportLink: _ember['default'].computed('test.id', 'dataSets', 'session.session.authenticated.token', function () {\n      var token = this.get('session.session.authenticated.token'),\n          testId = this.get('test.id'),\n          dataSetSchemaId = this.get('dataSets.firstObject.schema.id'),\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      var requestObj = {\n        'token': token\n      };\n      var q = btoa(decodeURIComponent(encodeURIComponent(JSON.stringify(requestObj))));\n\n      return dataHost + '/api/tests/' + testId + '/csv?q=' + q + '&schema_id=' + dataSetSchemaId;\n    }),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.sendAction('onRefresh');\n        this.set('showGenerateData', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-detail/header/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Gv5QJZbK\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"title\\\"]]],null,14,13],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,12],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateModal\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showDownloadWarning\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/download-warning-dialog\\\"],null,[[\\\"exportLink\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"exportLink\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showDownloadWarning\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"clearExisting\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"targetSchema\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateModal\\\"]]],null],true],null]]],2]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\"],[true]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,5],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],3]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"file_download\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"href\\\"],[true,[\\\"get\\\",[\\\"exportLink\\\"]]]],8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"file_download\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showDownloadWarning\\\"]]],null],true],null]]],10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasPendingData\\\"]]],null,11,9],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"title\\\"]],false]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-detail/header/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/alternation/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n    ajax: _ember['default'].inject.service(),\n\n    actions: {\n      convert: function convert(clearExisting) {\n        var testId = this.get('test.id'),\n            ajax = this.get('ajax'),\n            requestUri = '/api/tests/' + testId + '/convert_bulk';\n\n        var payload = {\n          test: {\n            target: this.schema.slug,\n            clearExisting: clearExisting\n          }\n        };\n\n        ajax.request(requestUri, {\n          method: 'post',\n          data: JSON.stringify(payload),\n          contentType: 'application/json'\n        }).then(function () {});\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/alternation/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"2/MJdXR0\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.alternation\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],15]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",false],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,5],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,3]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,8],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],6]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please generate position data and create zone map first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,13,12]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"map\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,14,11],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,10]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/alternation/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.set('showGenerateAnalysis', false);\n      },\n      regenerateModalClosed: function regenerateModalClosed() {\n        this.set('showRegenerateAnalysis', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"sSZSB5LP\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.analysis\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],17],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"clearExisting\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"analysis\\\",true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"regenerateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"analysis\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null],true],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,7],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,5]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,10],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],8]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,11]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please generate position data first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,15,14]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"view_list\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,16,13],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,12]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/analysis/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/boundary-mask/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/boundary-mask/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"8o2h2R/u\", \"block\": \"{\\\"statements\\\":[],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/boundary-mask/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/calibration/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n    actions: {\n      visitCalibration: function visitCalibration() {\n        this.get('router').transitionTo('test.calibration', this.get('test.id'), 1);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/calibration/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"mroFYMMe\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.calibration\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],12],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-calibration-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"play_circle_filled\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,2,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"visitCalibration\\\"],null]]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"play_circle_filled\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,6,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],true],null]]],7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"test\\\",\\\"liveTest\\\"]]],null,8,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Not calibrated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Calibration captured\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"adjust\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Calibration\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,11,10],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/calibration/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/centroid/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n    ajax: _ember['default'].inject.service(),\n\n    actions: {\n      convert: function convert(clearExisting) {\n        var testId = this.get('test.id'),\n            ajax = this.get('ajax'),\n            requestUri = '/api/tests/' + testId + '/convert_bulk';\n\n        var payload = {\n          test: {\n            target: this.schema.slug,\n            clearExisting: clearExisting\n          }\n        };\n\n        ajax.request(requestUri, {\n          method: 'post',\n          data: JSON.stringify(payload),\n          contentType: 'application/json'\n        }).then(function () {});\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/centroid/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"P7NoL13L\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.centroids\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],15]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",false],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,5],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,3]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,8],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],6]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please calibrate and collect test video first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          None processed\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"count\\\"]],false],[\\\"text\\\",\\\" processed\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,13,12]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"pin_drop\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Raw Position Data\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,14,11],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,10]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/centroid/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    tileKey: _ember['default'].computed('schema', function () {\n      var schemaLabel = this.get('schema.label');\n      var suffix = '';\n\n      if (schemaLabel === 'Calibration Video') {\n        suffix = 'calibration';\n      } else if (schemaLabel === 'Centroid Activity') {\n        suffix = 'centroid';\n      } else if (schemaLabel === 'Tracking Boundary') {\n        suffix = 'tracking-boundary';\n      } else if (schemaLabel === 'Activity Analysis') {\n        suffix = 'analysis';\n      } else if (schemaLabel === 'Zoned Activity Analysis') {\n        suffix = 'zoned-analysis';\n      } else if (schemaLabel === 'Experiment Video') {\n        suffix = 'video';\n      } else if (schemaLabel === 'Zone Map') {\n        suffix = 'zone';\n      } else if (schemaLabel === 'Zoned Sequence Analysis') {\n        suffix = 'zone-sequence';\n      } else if (schemaLabel === 'Boundary Mask') {\n        suffix = 'boundary-mask';\n      } else if (schemaLabel === 'Thumbnail') {\n        suffix = 'thumbnail';\n      } else if (schemaLabel === 'Spontaneous Alternation') {\n        suffix = 'alternation';\n      } else if (schemaLabel === 'Video Path') {\n        suffix = 'video-path';\n      } else if (schemaLabel === 'Trace Path') {\n        suffix = 'trace-path';\n      } else if (schemaLabel === 'Manual Scoring Setup') {\n        suffix = 'manual-scoring-setup';\n      } else if (schemaLabel === 'Manual Scoring Data') {\n        suffix = 'manual-scoring-data';\n      } else if (schemaLabel === 'Manual Scoring Analysis') {\n        suffix = 'manual-scoring-analysis';\n      } else if (schemaLabel === 'Generic Photobeam Data') {\n        suffix = 'photobeam-data';\n      } else if (schemaLabel === 'Photobeam Activity Counts') {\n        suffix = 'photobeam-activity';\n      } else {\n        return null;\n      }\n      return 'schema-tile/' + suffix;\n    })\n  });\n});","define('bc-frontend/components/schema-tile/manual-scoring-analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.set('showGenerateAnalysis', false);\n      },\n      regenerateModalClosed: function regenerateModalClosed() {\n        this.set('showRegenerateAnalysis', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/manual-scoring-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"G03ZcPqy\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.manual-analysis\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],17],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"clearExisting\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"manual-scoring-analysis\\\",true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"regenerateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"manual-scoring-analysis\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null],true],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,7],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,5]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,10],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],8]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,11]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please record manual scoring data first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,15,14]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"view_list\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,16,13],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,12]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/manual-scoring-analysis/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/manual-scoring-data/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/manual-scoring-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"7MyHYbTD\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.manual-data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Please collect test video first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          None recorded\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"count\\\"]],false],[\\\"text\\\",\\\" recorded\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,2,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"pin_drop\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manual Scoring Data\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,3,0],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/manual-scoring-data/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/manual-scoring-setup/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/manual-scoring-setup/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"x2cmxdz7\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.manual-setup\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],6]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"build\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"edit\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"none\\\"]]],null]],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Manual Scoring not yet configured\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Manual Scoring ready\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"settings\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manual Scoring Configuration\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,5,4],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,3]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/manual-scoring-setup/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/photobeam-activity/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.set('showGenerateAnalysis', false);\n      },\n      regenerateModalClosed: function regenerateModalClosed() {\n        this.set('showRegenerateAnalysis', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/photobeam-activity/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"9VJbiqPc\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.photobeam-activity\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],17],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"targetSchema\\\",\\\"test\\\",\\\"clearExisting\\\",\\\"onClose\\\"],[\\\"photobeam-activity\\\",[\\\"get\\\",[\\\"test\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"regenerateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"targetSchema\\\",\\\"test\\\",\\\"onClose\\\"],[\\\"photobeam-activity\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null],true],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,7],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,5]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,10],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],8]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,11]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please collect photobeam data first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,15,14]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"view_list\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,16,13],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,12]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/photobeam-activity/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/photobeam-data/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/photobeam-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"GzYW7pjI\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.photobeam\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],9],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/upload-data-set-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-bulk-dialog\\\"],null,[[\\\"schema\\\",\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]],[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"file_upload\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],true],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"test\\\",\\\"liveTest\\\"]]],null,5,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please calibrate first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"count\\\"]],false],[\\\"text\\\",\\\" collected\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"blur_linear\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Photobeam Data\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,8,7],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,6]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/photobeam-data/template.hbs\" } });\n});","define(\"bc-frontend/components/schema-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"E8JzNx2x\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"tileKey\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"component\\\"],[[\\\"get\\\",[\\\"tileKey\\\"]]],[[\\\"test\\\",\\\"schema\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/thumbnail/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/thumbnail/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"uleBf7l2\", \"block\": \"{\\\"statements\\\":[],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/thumbnail/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/trace-path/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/trace-path/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"oONO4w78\", \"block\": \"{\\\"statements\\\":[],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/trace-path/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/tracking-boundary/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/tracking-boundary/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"RGTCFm7b\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.boundary\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],8]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"edit\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"class\\\",\\\"onClick\\\"],[true,\\\"md-secondary\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"none\\\"]]],null]],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please calibrate first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          No boundary set (optional)\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Boundary set\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,6,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"border_outer\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,7,4],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/tracking-boundary/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/video-path/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/video-path/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"FZQprqLc\", \"block\": \"{\\\"statements\\\":[],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/video-path/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/video/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/video/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"i2b7lELq\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.videos\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],9],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/upload-data-set-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-data-set-dialog\\\"],null,[[\\\"schema\\\",\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]],[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"file_upload\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],true],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"iconButton\\\",\\\"secondary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"test\\\",\\\"liveTest\\\"]]],null,5,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please calibrate first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"count\\\"]],false],[\\\"text\\\",\\\" recorded\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"videocam\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,8,7],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,6]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/video/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/zone-sequence/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n    ajax: _ember['default'].inject.service(),\n\n    actions: {\n      convert: function convert(clearExisting) {\n        var testId = this.get('test.id'),\n            ajax = this.get('ajax'),\n            requestUri = '/api/tests/' + testId + '/convert_bulk';\n\n        var payload = {\n          test: {\n            target: this.schema.slug,\n            clearExisting: clearExisting\n          }\n        };\n\n        ajax.request(requestUri, {\n          method: 'post',\n          data: JSON.stringify(payload),\n          contentType: 'application/json'\n        }).then(function () {});\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/zone-sequence/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"z985KL83\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.zone-sequence\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],15]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",false],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convert\\\",true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,5],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,3]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,8],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],6]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please generate position data and create zone map first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,13,12]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"map\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,14,11],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,10]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/zone-sequence/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/zone/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null\n  });\n});","define(\"bc-frontend/components/schema-tile/zone/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"OsdH5QXt\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.zones\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],8]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"edit\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"iconButton\\\",\\\"class\\\",\\\"onClick\\\"],[true,\\\"md-secondary\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"none\\\"]]],null]],null]]],2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please calibrate first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          No zone map\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Zone map saved\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,6,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"layers\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,7,4],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/zone/template.hbs\" } });\n});","define('bc-frontend/components/schema-tile/zoned-analysis/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.set('showGenerateAnalysis', false);\n      },\n      regenerateModalClosed: function regenerateModalClosed() {\n        this.set('showRegenerateAnalysis', false);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/schema-tile/zoned-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"DgWhXkpG\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"test.zoned-analysis\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"id\\\"]]],null]]],17],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"clearExisting\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"zoned-analysis\\\",true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"regenerateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"zoned-analysis\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Convert New Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"refresh\\\"],null],false],[\\\"text\\\",\\\" Re-generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"content\\\",\\\"menu-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showRegenerateAnalysis\\\"]]],null],true],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,7],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null,5]],\\\"locals\\\":[\\\"content\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\"],[true,true]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"menu\\\",\\\"trigger\\\"],null,null,10],[\\\"block\\\",[\\\"menu\\\",\\\"content\\\"],null,[[\\\"width\\\"],[4]],8]],\\\"locals\\\":[\\\"menu\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-menu\\\"],null,null,11]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please generate position data and create zone map first\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Not generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          Analyzed data generated\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]]],null,15,14]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"view_list\\\"],[[\\\"size\\\",\\\"class\\\"],[36,\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"schema\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]]],null,16,13],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"canCollect\\\"]],[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"schema\\\",\\\"count\\\"]],[\\\"get\\\",[\\\"schema\\\",\\\"remainingDatasetCount\\\"]]],null],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,12]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/schema-tile/zoned-analysis/template.hbs\" } });\n});","define('bc-frontend/components/smart-video/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: null,\n\n    _setup: (function () {\n      this.setBindings();\n    }).on('didRender'),\n\n    setBindings: function setBindings() {\n      var self = this;\n\n      var video = self.$(\"#video-preview\")[0];\n      video.ontimeupdate = self.timeUpdated.bind(self);\n      video.ondurationchange = self.durationChanged.bind(self);\n    },\n\n    removeBindings: function removeBindings() {\n      var video = self.$(\"#video-preview\")[0];\n      video.ontimeupdate = null;\n      video.ondurationchange = null;\n    },\n\n    timeUpdated: function timeUpdated() {\n      this.sendAction('onPositionChanged', this.$(\"#video-preview\")[0].currentTime);\n    },\n\n    durationChanged: function durationChanged() {\n      this.sendAction('onDurationChanged', this.$(\"#video-preview\")[0].duration);\n    },\n\n    _teardown: (function () {\n      this.removeBindings();\n    }).on('willRemoveElement')\n  });\n});","define(\"bc-frontend/components/smart-video/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"aAmlIOuy\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"video\\\",[]],[\\\"static-attr\\\",\\\"id\\\",\\\"video-preview\\\"],[\\\"static-attr\\\",\\\"controls\\\",\\\"\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"source\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"uri\\\"]],null],[\\\"static-attr\\\",\\\"type\\\",\\\"video/mp4\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/smart-video/template.hbs\" } });\n});","define('bc-frontend/components/stacked-vertical-bar-chart', ['exports', 'ember-charts/components/stacked-vertical-bar-chart'], function (exports, _emberChartsComponentsStackedVerticalBarChart) {\n  exports['default'] = _emberChartsComponentsStackedVerticalBarChart['default'];\n});","define('bc-frontend/components/stripe-checkout', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n\n  /**\n   * Stripe checkout component for accepting payments with\n   * an embedded form.\n   *\n   * Stripe docs: https://stripe.com/docs/tutorials/checkout\n   *\n   * Usage:\n   * {{stripe-checkout\n   *   description=billingPlan.description\n   *   amount=billingPlan.amount\n   * }}\n   */\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: 'button',\n    classNames: ['stripe-checkout'],\n    attributeBindings: ['isDisabled:disabled'],\n\n    /**********************************\n     * Required attributes\n     **********************************/\n\n    /**\n     * Your publishable key (test or live).\n     */\n    key: _bcFrontendConfigEnvironment['default'].stripe.key,\n\n    /**********************************\n     * Highly recommended attributes\n     **********************************/\n\n    /**\n     * A relative URL pointing to a square image of your brand or\n     * product. The recommended minimum size is 128x128px.\n     * Eg. \"/square-image.png\"\n     */\n    image: null,\n\n    /**\n     * The name of your company or website.\n     */\n    name: \"Demo Site\",\n\n    /**\n     * A description of the product or service being purchased.\n     */\n    description: \"2 widgets ($20.00)\",\n\n    /**\n     * The amount (in cents) that's shown to the user. Note that you\n     * will still have to explicitly include it when you create a\n     * charge using the Stripe API.\n     */\n    amount: 2000,\n\n    /**********************************\n     * Optional attributes\n     **********************************/\n\n    /**\n     * Accept Bitcoin payments.\n     */\n    bitcoin: false,\n\n    /**\n     * The currency of the amount (3-letter ISO code). The default is USD.\n     */\n    currency: \"USD\",\n\n    /**\n     * The label of the payment button in the Checkout form (e.g. “Subscribe”,\n     * “Pay {{amount}}”, etc.). If you include {{amount}}, it will be replaced\n     * by the provided amount. Otherwise, the amount will be appended to the\n     * end of your label.\n     */\n    panelLabel: null,\n\n    /**\n     * Specify whether Checkout should validate the billing ZIP code\n     * (true or false). The default is false.\n     */\n    zipCode: false,\n\n    /**\n     * Specify whether Checkout should collect the customer's billing address\n     * (true or false). The default is false.\n     */\n    address: false,\n\n    /**\n     * If you already know the email address of your user, you can provide\n     * it to Checkout to be pre-filled.\n     */\n    email: null,\n\n    /**\n     * The text to be shown on the default blue button.\n     */\n    label: \"Pay with card\",\n\n    /**\n     * Specify whether to include the option to \"Remember Me\" for future\n     * purchases (true or false). The default is true.\n     */\n    allowRememberMe: true,\n\n    /**\n     * Specify whether to include the option to use alipay to\n     * checkout (true or false or auto). The default is false.\n     */\n    alipay: false,\n\n    /**\n     * Specify whether to reuse alipay information to\n     * checkout (true or false). The default is false.\n     */\n    'alipay-reusable': false,\n\n    /**\n     * Specify language preference.\n     */\n    locale: _bcFrontendConfigEnvironment['default'].stripe.locale,\n\n    /**********************************\n     * Extras\n     **********************************/\n\n    /**\n     * Bind to this attribute to disable the stripe\n     * button until the user completes prior requirements\n     * (like choosing a plan)\n     */\n    isDisabled: false,\n\n    /**\n     * Stripe handler\n     */\n    handler: null,\n\n    /**\n     * By default we add stripe button classes.\n     * Set to false to disable Stripe styles\n     *\n     * TODO: Need to load stripe styles in order for this to apply\n     */\n    useStripeStyles: true,\n\n    /**\n     * Sets up Stripe and sends component action\n     * with the Stripe token when checkout succeeds.\n     *\n     * The token looks like this\n     * {\n     *   \"id\": \"tok_150enDGA2quO03uZPF8Nve2a\",\n     *   \"livemode\": false,\n     *   \"created\": 1416427871,\n     *   \"used\": false,\n     *   \"object\": \"token\",\n     *   \"type\": \"card\",\n     *   \"card\": {\n     *     \"id\": \"card_150enDGA2quO03uZK8AwnT9x\",\n     *     \"object\": \"card\",\n     *     \"last4\": \"4242\",\n     *     \"brand\": \"Visa\",\n     *     \"funding\": \"credit\",\n     *     \"exp_month\": 8,\n     *     \"exp_year\": 2015,\n     *     \"fingerprint\": \"AwGY3mROvhSpEvSc\",\n     *     \"country\": \"US\",\n     *     \"name\": null,\n     *     \"address_line1\": null,\n     *     \"address_line2\": null,\n     *     \"address_city\": null,\n     *     \"address_state\": null,\n     *     \"address_zip\": null,\n     *     \"address_country\": null,\n     *     \"dynamic_last4\": null,\n     *     \"customer\": null\n     *   }\n     * }\n     *\n     * Source: https://stripe.com/docs/api#tokens\n     */\n    setupStripe: _ember['default'].on('init', function () {\n      var self = this;\n\n      if (_ember['default'].isNone(this.get('key'))) {\n        throw [\"Your Stripe key must be set to use the stripe-checkout component. \", \"Set the key in your environment.js file (ENV.stripe.key) or set the \", \"key property on the component when instantiating it in your hbs template. \", \"Find your Stripe publishable key at https://dashboard.stripe.com/account/apikeys\"].join('\\n');\n      }\n\n      var handler = StripeCheckout.configure({\n        key: this.get('key'),\n        locale: this.get('locale'),\n        token: function token(_token) {\n          self.sendAction('action', _token);\n        },\n        opened: function opened() {\n          self.sendAction('opened');\n        },\n        closed: function closed() {\n          self.sendAction('closed');\n        }\n      });\n      this.set('handler', handler);\n    }),\n\n    /**\n     * Kick up the modal if we're clicked\n     */\n    click: function click(e) {\n      this.openModal();\n      e.preventDefault();\n    },\n\n    /**\n     * Opens the Stripe modal for payment\n     */\n    openModal: function openModal() {\n      var options = this.getProperties(['image', 'name', 'description', 'amount', 'bitcoin', 'currency', 'panelLabel', 'zipCode', 'address', 'email', 'label', 'allowRememberMe', 'alipay', 'alipay-reusable']);\n      this.get('handler').open(options);\n    },\n\n    closeOnDestroy: _ember['default'].on('willDestroyElement', function () {\n      // Close modal if the user navigates away from page\n      this.get('handler').close();\n    })\n  });\n});","define('bc-frontend/components/test-tile/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    // paperToaster: Ember.inject.service(),\n    router: _ember['default'].inject.service(),\n\n    actions: {\n      viewTest: function viewTest() {\n        var model = this.get('model');\n        // paperToaster = this.get('paperToaster');\n        if (!model.get('deletedAt')) {\n          this.get('router').transitionTo('test', model);\n        } else {\n          // TODO: need to upgrade ember-paper first to utilize\n          // toast messages.\n          // paperToaster.show('Please unarchive test to view it.', {\n          //   duration: 4000\n          // });\n\n          alert('Please unarchive test to view it.');\n        }\n      }\n    }\n  });\n});","define(\"bc-frontend/components/test-tile/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"lZ+eZ8ty\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\",\\\"onClick\\\"],[\\\"md-2-line\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"viewTest\\\"],null]]],9],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"manageSharing\\\"]]],null,2],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showArchiveModal\\\"]]],null,1],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUnarchiveModal\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/unarchive-test-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUnarchiveModal\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/archive-test-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showArchiveModal\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/manage-sharing-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"manageSharing\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"label\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Unspecified treatment\\\"],[\\\"close-element\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ember-initials\\\"],null,[[\\\"name\\\",\\\"class\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"user\\\",\\\"displayName\\\"]],\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"person\\\"],[[\\\"class\\\"],[\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"archive\\\"],[[\\\"class\\\",\\\"tooltip\\\"],[\\\"md-avatar\\\",\\\"Archived\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"deletedAt\\\"]]],null,7,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"owned\\\"]]],null,8,5],[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"name\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"label\\\"]]],null,4,3],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"more_vert\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/test-tile/template.hbs\" } });\n});","define('bc-frontend/components/tests/archive-test-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  // import DS from 'ember-data';\n\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    isPending: false,\n\n    archiveTest: function archiveTest() {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + modelId + '/archive';\n\n      this.set('isPending', true);\n\n      var payload = {};\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        // self.get('model').reload();\n        self.send('close');\n        self.get('model').unloadRecord();\n      }, function () {\n        alert('Failed to archive test. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    actions: {\n      close: function close() {\n        this.sendAction('onClose');\n      },\n      confirm: function confirm() {\n        this.archiveTest();\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/archive-test-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"dfNjdNOS\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Confirm\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Archive \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"name\\\"]],false],[\\\"text\\\",\\\"?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Are you sure you want to archive this test?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/archive-test-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/capture-bulk-dialog/component', ['exports', 'ember', 'bc-frontend/data-set/modern-schemas'], function (exports, _ember, _bcFrontendDataSetModernSchemas) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n    userSession: inject.service(),\n\n    next: false, // override to show \"next subject\" message\n\n    devices: computed('schema', function () {\n      var schema = this.get('schema');\n      // return this.get('store').findAll('device');\n      return this.get('store').query('dataSet', { realtime: true, schema: schema });\n    }),\n\n    stations: computed('schema', 'test', 'updateStamp', function () {\n      var self = this,\n          ajax = this.get('ajax'),\n          schema = this.get('schema'),\n          test = this.get('test'),\n          testId = test.get('id'),\n          updateStamp = this.get('updateStamp'),\n          requestUri = '/api/tests/' + testId + '/available_stations?schema=' + schema;\n\n      // return this.get('store').findAll('device');\n      // return this.get('store').query('dataSet', {realtime: true, schema});\n\n      var req = ajax.request(requestUri).then(function (response) {\n        // pull this out while we're at it.\n        self.set('lastDuration', response.test.lastDuration);\n\n        return response.test.stations;\n      }, function () {\n        alert(\"Failed to retrieve available stations. Please try again later.\");\n      });\n\n      return DS.PromiseArray.create({\n        promise: req\n      });\n    }),\n\n    selectedStations: computed('stations', 'stations.isFulfilled', function () {\n      var stations = this.get('stations');\n      if (!stations.get('isFulfilled')) return _ember['default'].A([]);\n\n      return stations.filter(function (station) {\n        return !!station.lastSubject;\n      });\n    }),\n\n    availableStations: computed('stations', 'stations.isFulfilled', 'selectedStations', 'selectedStations.length', function () {\n      var stations = this.get('stations'),\n          selectedIds = this.get('selectedStations').mapBy('id');\n\n      return stations.filter(function (station) {\n        return !selectedIds.includes(station.id);\n      });\n    }),\n\n    device: null,\n    duration: computed.reads('lastDuration'),\n\n    // to be injected\n    schema: null,\n\n    schemaModel: computed('schema', function () {\n      return this.get('store').peekRecord('dataSetSchema', this.get('schema'));\n    }),\n\n    showUpgradePrompt: false,\n\n    subjects: computed.mapBy('selectedStations', 'subject'),\n    validated: computed('duration', 'subjects', function () {\n      var duration = this.get('duration'),\n          subjects = this.get('subjects');\n\n      if (!duration || subjects.get('length') <= 0) return false;\n\n      return subjects.every(function (item) {\n        return !!item;\n      });\n    }),\n\n    checkOverage: function checkOverage() {\n      var self = this,\n          ajax = this.get('ajax'),\n          subjectCount = this.get('subjects.length'),\n          duration = this.get('duration') * subjectCount,\n          userId = this.get('userSession.userId');\n\n      ajax.request('/api/users/' + userId + '/get_overage_cost?time=' + duration).then(function (response) {\n        var upgradeNeeded = response.user.upgradeNeeded;\n\n        if (upgradeNeeded) {\n          self.set('showUpgradePrompt', true);\n        } else {\n          self.createAndCaptureDataSets();\n        }\n      }, function (error) {\n        if (error.errors[0].status === \"400\") {\n          self.set('showUpgradePrompt', true);\n          return;\n        }\n        alert(\"We were unable to communicate with the server. Please try again momentarily.\");\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.createAndCaptureDataSets();\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    createAndCaptureDataSets: function createAndCaptureDataSets() {\n      var self = this,\n          selectedStations = this.get('selectedStations'),\n          duration = this.get('duration'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/bulk_observe';\n\n      var payload = {\n        dataSet: {\n          test: self.get('test.id'),\n          capture: true,\n          stations: selectedStations.map(function (station) {\n            return {\n              id: station.id,\n              subject: station.subject,\n              settings: {\n                duration: duration\n              }\n            };\n          })\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (recordJson) {\n        self.get('store').pushPayload(recordJson);\n        self.sendAction('onClose', true);\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    captureDataSet: function captureDataSet(record) {\n      var self = this,\n          recordId = record.get('id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/capture';\n\n      var payload = {\n        dataSet: {\n          settings: {\n            duration: this.get('duration')\n          }\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n        if (_bcFrontendDataSetModernSchemas['default'].includes(self.get('schemaModel.slug'))) {\n          self.get('routing').transitionTo('test.dataset', record);\n        } else {\n          self.get('routing').transitionTo('test.data', record);\n        }\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    deviceLabelCallback: function deviceLabelCallback(model) {\n      return model.get('label');\n    },\n\n    selectStation: function selectStation(station) {\n      var selectedStations = this.get('selectedStations');\n\n      selectedStations.pushObject(station);\n    },\n\n    deselectStation: function deselectStation(station) {\n      var selectedStations = this.get('selectedStations');\n\n      selectedStations.removeObject(station);\n    },\n\n    actions: {\n      addStation: function addStation(station) {\n        this.selectStation(station);\n      },\n      removeStation: function removeStation(station) {\n        this.deselectStation(station);\n      },\n      confirm: function confirm() {\n        //this.createDataSet();\n        this.checkOverage();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/capture-bulk-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"B5Gc4aH+\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],26]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subscribe to a paid BehaviorCloud plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You have exhausted your free plan hours. Please subscribe to continue.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],2],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Capture\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],5],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"disabled\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"validated\\\"]]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"warning\\\"],null],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No stations selected/ready\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"remove_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\" - prev \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"station\\\",\\\"lastSubject\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"blur_linear\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text condensed-inputs\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"station\\\",\\\"subject\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"station\\\",\\\"subject\\\"]]],null]],null],\\\"Subject ID\\\",true]]],false],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Channel \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"station\\\",\\\"realtimeId\\\"]],false],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"station\\\",\\\"lastSubject\\\"]]],null,10],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-secondary-container\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"removeStation\\\",[\\\"get\\\",[\\\"station\\\"]]],null]]],9],[\\\"text\\\",\\\"                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\"],[\\\"md-3-line\\\"]],11]],\\\"locals\\\":[\\\"station\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"selectedStations\\\"]]],null,12,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Selected Stations\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"warning\\\"],null],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Sorry, no stations available\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,null,15]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"add_circle\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"blur_linear\\\"],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Channel \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"station\\\",\\\"realtimeId\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                  \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"station\\\",\\\"displayLabel\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-secondary-container\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"controls\\\",\\\"button\\\"],null,[[\\\"secondary\\\",\\\"iconButton\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"addStation\\\",[\\\"get\\\",[\\\"station\\\"]]],null]]],17],[\\\"text\\\",\\\"                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"controls\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\"],[\\\"md-2-line\\\"]],18]],\\\"locals\\\":[\\\"station\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"availableStations\\\"]]],null,19,16]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Available Stations\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Next Subject\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Capture Data\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"next\\\"]]],null,23,22],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-sm-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-45 layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"type\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\",\\\"autofocus\\\"],[[\\\"get\\\",[\\\"duration\\\"]],\\\"number\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"duration\\\"]]],null]],null],\\\"Trial Duration (seconds)\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"block\\\",[\\\"paper-subheader\\\"],null,null,21],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,null,20],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-45 layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"block\\\",[\\\"paper-subheader\\\"],null,null,14],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,null,13],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,24],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],6],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showUpgradePrompt\\\"]]],null,25,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/capture-bulk-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/capture-calibration-dialog/component', ['exports', 'ember', 'bc-frontend/data-set/modern-schemas'], function (exports, _ember, _bcFrontendDataSetModernSchemas) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    devices: computed('schema', function () {\n      var schema = this.get('schema');\n      return this.get('store').query('dataSet', { realtime: true, schema: 4 });\n    }),\n\n    device: null,\n\n    createDataSet: function createDataSet() {\n      var self = this,\n          deviceId = this.get('device.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + deviceId + '/create_observer_dataset';\n\n      var payload = {\n        dataSet: {\n          test: self.get('test.id'),\n          subject: 'CALIBRATION',\n          schema: 1 // calibration\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (recordJson) {\n        self.captureDataSet(self.get('store').pushPayload(recordJson)[0]);\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    captureDataSet: function captureDataSet(record) {\n      var self = this,\n          recordId = record.get('id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/capture';\n\n      var payload = {\n        dataSet: {\n          settings: {\n            duration: 0\n          }\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n        self.get('routing').transitionTo('test.data', record);\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    deviceLabelCallback: function deviceLabelCallback(model) {\n      return model.get('label');\n    },\n\n    actions: {\n      confirm: function confirm() {\n        this.createDataSet();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/capture-calibration-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"l/0RHJci\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\"],[true,true]],5]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Start Calibration\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"device\\\",\\\"displayLabel\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"device\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Calibrate Video\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      Need a calibration pattern? \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"/assets/chessboard_8by6.pdf\\\"],[\\\"static-attr\\\",\\\"target\\\",\\\"_blank\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Print one now\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-select\\\"],null,[[\\\"label\\\",\\\"selected\\\",\\\"onChange\\\",\\\"options\\\",\\\"class\\\"],[\\\"Select device\\\",[\\\"get\\\",[\\\"device\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"device\\\"]]],null]],null],[\\\"get\\\",[\\\"devices\\\"]],\\\"md-block\\\"]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],4],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/capture-calibration-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/capture-data-set-dialog/component', ['exports', 'ember', 'bc-frontend/data-set/modern-schemas'], function (exports, _ember, _bcFrontendDataSetModernSchemas) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n    userSession: inject.service(),\n\n    devices: computed('schema', function () {\n      var schema = this.get('schema');\n      // return this.get('store').findAll('device');\n      return this.get('store').query('dataSet', { realtime: true, schema: schema });\n    }),\n\n    device: null,\n    duration: null,\n\n    // to be injected\n    schema: null,\n\n    schemaModel: computed('schema', function () {\n      return this.get('store').peekRecord('dataSetSchema', this.get('schema'));\n    }),\n\n    showUpgradePrompt: false,\n\n    checkOverage: function checkOverage() {\n      var self = this,\n          ajax = this.get('ajax'),\n          duration = this.get('duration'),\n          userId = this.get('userSession.userId');\n\n      ajax.request('/api/users/' + userId + '/get_overage_cost?time=' + duration).then(function (response) {\n        var upgradeNeeded = response.user.upgradeNeeded;\n\n        if (upgradeNeeded) {\n          self.set('showUpgradePrompt', true);\n        } else {\n          self.createDataSet();\n        }\n      }, function (error) {\n        if (error.errors[0].status === \"400\") {\n          self.set('showUpgradePrompt', true);\n          return;\n        }\n        alert(\"We were unable to communicate with the server. Please try again momentarily.\");\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.createDataSet();\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    createDataSet: function createDataSet() {\n      var self = this,\n          deviceId = this.get('device.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + deviceId + '/create_observer_dataset';\n\n      var payload = {\n        dataSet: {\n          test: self.get('test.id'),\n          subject: self.get('subject')\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (recordJson) {\n        self.captureDataSet(self.get('store').pushPayload(recordJson)[0]);\n      }, function () {\n        alert('failed!');\n      });\n\n      // self.get('store').queryRecord('dataSetSchema', {slug: 'video'}).then(function(schema) {\n      //   let record = self.get('store').createRecord('dataSet', {\n      //     test: self.get('test'),\n      //     schema: schema,\n      //     subject: self.get('subject')\n      //   });\n      //\n      //   record.save().then(function(savedRecord) {\n      //     self.captureDataSet(savedRecord);\n      //   });\n      // });\n    },\n\n    captureDataSet: function captureDataSet(record) {\n      var self = this,\n          recordId = record.get('id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/capture';\n\n      var payload = {\n        dataSet: {\n          settings: {\n            duration: this.get('duration')\n          }\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n        if (_bcFrontendDataSetModernSchemas['default'].includes(self.get('schemaModel.slug'))) {\n          self.get('routing').transitionTo('test.dataset', record);\n        } else {\n          self.get('routing').transitionTo('test.data', record);\n        }\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    deviceLabelCallback: function deviceLabelCallback(model) {\n      return model.get('label');\n    },\n\n    actions: {\n      confirm: function confirm() {\n        //this.createDataSet();\n        this.checkOverage();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/capture-data-set-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"kPxBSqUc\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],10]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subscribe to a paid BehaviorCloud plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You have exhausted your free plan hours. Please subscribe to continue.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],2],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Capture\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],5],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"device\\\",\\\"displayLabel\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"device\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Capture Data\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-select\\\"],null,[[\\\"label\\\",\\\"selected\\\",\\\"onChange\\\",\\\"options\\\",\\\"class\\\"],[\\\"Select device\\\",[\\\"get\\\",[\\\"device\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"device\\\"]]],null]],null],[\\\"get\\\",[\\\"devices\\\"]],\\\"md-block\\\"]],7],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"subject\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"subject\\\"]]],null]],null],\\\"Subject ID\\\",true]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"type\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"duration\\\"]],\\\"number\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"duration\\\"]]],null]],null],\\\"Duration (seconds)\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,8],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showUpgradePrompt\\\"]]],null,9,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/capture-data-set-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/confirm-abort-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    abortDataSet: function abortDataSet() {\n      var self = this,\n          recordId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/abort';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    actions: {\n      confirm: function confirm() {\n        this.abortDataSet();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/confirm-abort-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"qKTiuI7V\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Abort\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Abort Run?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/confirm-abort-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/confirm-skip-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    skipWorkflowStep: function skipWorkflowStep() {\n      var self = this,\n          recordId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/skip';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    actions: {\n      confirm: function confirm() {\n        this.skipWorkflowStep();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/confirm-skip-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"qQ9ygMS9\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Skip\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Skip Trial Step?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Are you sure you want to skip this step of the trial?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/confirm-skip-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/create-test-dialog/component', ['exports', 'ember', 'ember-data'], function (exports, _ember, _emberData) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    store: inject.service(),\n    routing: inject.service(),\n\n    label: '',\n    name: '',\n    age: '',\n    liveTest: true,\n    selectedSchema: _ember['default'].computed.reads('testSchemas.firstObject'),\n\n    showOptions: _ember['default'].computed.and('selectedSchema.supportsUpload', 'selectedSchema.supportsLive'),\n\n    testSchemas: _ember['default'].computed(function () {\n      return _emberData['default'].PromiseArray.create({\n        promise: this.get('store').findAll('testSchema')\n      });\n    }),\n\n    restrictLiveTest: _ember['default'].observer('selectedSchema', function () {\n      var selectedSchema = this.get('selectedSchema'),\n          liveTest = this.get('liveTest');\n\n      if (liveTest && !selectedSchema.get('supportsLive')) {\n        this.set('liveTest', false);\n      } else if (!liveTest && !selectedSchema.get('supportsUpload')) {\n        this.set('liveTest', true);\n      }\n    }),\n\n    createExperiment: function createExperiment() {\n      var self = this;\n\n      var record = this.get('store').createRecord('test', {\n        label: this.get('label'),\n        name: this.get('name'),\n        schema: this.get('selectedSchema'),\n        liveTest: this.get('liveTest')\n\n      });\n\n      record.save().then(function () {\n        self.sendAction('onClose');\n        self.get('routing').transitionTo('test', record);\n      });\n    },\n\n    actions: {\n      confirm: function confirm() {\n        this.createExperiment();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/create-test-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"X5Pl6OXs\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-35\\\"]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Add\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"disabled\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"name\\\"]],[\\\"get\\\",[\\\"selectedSchema\\\"]]],null]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Create Patient\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"required\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"name\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"name\\\"]]],null]],null],true,\\\"Patient name\\\",true]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"textarea\\\",\\\"maxlength\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[true,250,[\\\"get\\\",[\\\"label\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"label\\\"]]],null]],null],\\\"Treatment (optional)\\\",true]]],false],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"textarea\\\",\\\"maxlength\\\",\\\"value\\\",\\\"required\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[true,3,[\\\"get\\\",[\\\"age\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"age\\\"]]],null]],null],\\\"Age\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/create-test-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/download-warning-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    exportLink: null, // should be supplied as param\n\n    actions: {\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/download-warning-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"y8b+PCY7\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"class\\\"],[true,\\\"flex-30\\\"]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Close\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Download anyway\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Data not ready\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Some of your results are still pending analysis and will not be included in your export.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"warn\\\",\\\"href\\\"],[true,[\\\"get\\\",[\\\"exportLink\\\"]]]],2],[\\\"text\\\",\\\"    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/download-warning-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/generate-data-dialog/component', ['exports', 'ember', 'bc-frontend/data-set-schema/supports-sampling'], function (exports, _ember, _bcFrontendDataSetSchemaSupportsSampling) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    test: null, // injected as param\n    clearExisting: false, // injected as param\n    hasData: false, // injected as param\n    targetSchema: null, // injected as param\n\n    showSampling: _ember['default'].computed('targetSchema', function () {\n      return _bcFrontendDataSetSchemaSupportsSampling['default'][this.get('targetSchema')];\n    }),\n\n    sampleDuration: null,\n\n    convertBulk: function convertBulk() {\n      var self = this,\n          testId = this.get('test.id'),\n          ajax = this.get('ajax'),\n          clearExisting = this.get('clearExisting'),\n          hasData = this.get('hasData'),\n          targetSchema = this.get('targetSchema'),\n          showSampling = this.get('showSampling'),\n          sampleDuration = this.get('sampleDuration'),\n          requestUri = '/api/tests/' + testId + '/convert_bulk';\n\n      var payload = {\n        test: {\n          target: targetSchema\n        }\n      };\n\n      if (clearExisting || !hasData) {\n        payload.test.clearExisting = true;\n      }\n\n      if (showSampling && sampleDuration) {\n        if (sampleDuration < 1) {\n          return;\n        }\n\n        payload.test.settings = {\n          sample_duration: sampleDuration\n        };\n      }\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n        // self.get('routing').transitionTo('test.')\n      });\n    },\n\n    actions: {\n      confirm: function confirm() {\n        this.convertBulk();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/generate-data-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"3rEFSluK\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],8]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Generate\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-body-2\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Settings:\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"type\\\",\\\"min\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\",\\\"autofocus\\\"],[\\\"number\\\",1,[\\\"get\\\",[\\\"sampleDuration\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"sampleDuration\\\"]]],null]],null],\\\"Bin size in seconds (optional)\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"re-\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Generate\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Re-generate\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"clearExisting\\\"]]],null,6,5],[\\\"text\\\",\\\" Analysis\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      Please confirm you would like to \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"clearExisting\\\"]]],null,4],[\\\"text\\\",\\\"run analysis for all collected trials.\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showSampling\\\"]]],null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],7],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/generate-data-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/manage-sharing-dialog/component', ['exports', 'ember', 'ember-data'], function (exports, _ember, _emberData) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n\n  var PERM_MAPPING = {\n    readonly: ['read_test'],\n    readwrite: ['read_test', 'change_test'],\n    admin: ['read_test', 'change_test', 'delete_test', 'manage_test']\n  };\n\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    updateStamp: null,\n    isPending: false,\n\n    collaborators: _ember['default'].computed('model.id', 'updateStamp', function () {\n      var modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + modelId + '/get_collaborators';\n\n      this.get('updateStamp');\n\n      var req = ajax.request(requestUri).then(function (response) {\n        return response.tests.map(function (item) {\n          if (item.name) {\n            item.displayName = item.name;\n          } else {\n            item.displayName = item.email;\n          }\n          return item;\n        });\n      }, function () {\n        alert(\"Failed to load collaborators. Please try again later.\");\n      });\n\n      return _emberData['default'].PromiseArray.create({\n        promise: req\n      });\n    }),\n\n    addCollaborator: function addCollaborator() {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          email = this.get('newEmail'),\n          requestUri = '/api/tests/' + modelId + '/add_collaborator';\n\n      this.set('isPending', true);\n\n      var payload = {\n        test: {\n          email: email,\n          permissions: ['read_test']\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('newEmail', '');\n        self.set('updateStamp', Date.now());\n      }, function () {\n        alert('Failed to add collaborator. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    setPermission: function setPermission(userId, permission) {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + modelId + '/change_collaborator';\n\n      this.set('isPending', true);\n\n      var payload = {\n        test: {\n          user: userId,\n          permissions: PERM_MAPPING[permission]\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'put',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('updateStamp', Date.now());\n      }, function () {\n        alert('Failed to change permissions. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    removeCollaborator: function removeCollaborator(userId) {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + modelId + '/remove_collaborator';\n\n      this.set('isPending', true);\n\n      var payload = {\n        test: {\n          user: userId\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'delete',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('updateStamp', Date.now());\n      }, function () {\n        alert('Failed to remove collaborator. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    actions: {\n      close: function close() {\n        this.sendAction('onClose');\n      },\n      addCollaborator: function addCollaborator() {\n        this.addCollaborator();\n      },\n      setPermission: function setPermission(collaborator, permissions) {\n        this.setPermission(collaborator.id, permissions);\n      },\n      removeCollaborator: function removeCollaborator(collaborator) {\n        this.removeCollaborator(collaborator.id);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/manage-sharing-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"fFjWGktg\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],11]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Add Collaborator\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"addCollaborator\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Close\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"newEmail\\\"]]],null,4,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      No collaborators yet.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"collaborator-tile\\\"],null,[[\\\"collaborator\\\",\\\"onChange\\\",\\\"onRemove\\\"],[[\\\"get\\\",[\\\"collaborator\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setPermission\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"removeCollaborator\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"collaborator\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"collaborators\\\"]]],null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manage Sharing for \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"name\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"collaborators\\\"]]],null,9,6],[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"disabled\\\",\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"get\\\",[\\\"newEmail\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"newEmail\\\"]]],null]],null],\\\"Start typing an email to add collaborator\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,10],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],5]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/manage-sharing-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/next-data-set-dialog/component', ['exports', 'ember', 'bc-frontend/data-set/modern-schemas'], function (exports, _ember, _bcFrontendDataSetModernSchemas) {\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n    userSession: inject.service(),\n\n    device: null,\n    duration: null,\n\n    showUpgradePrompt: false,\n\n    checkOverage: function checkOverage() {\n      var self = this,\n          ajax = this.get('ajax'),\n          duration = this.get('duration'),\n          userId = this.get('userSession.userId');\n\n      ajax.request('/api/users/' + userId + '/get_overage_cost?time=' + duration).then(function (response) {\n        var upgradeNeeded = response.user.upgradeNeeded;\n\n        if (upgradeNeeded) {\n          self.set('showUpgradePrompt', true);\n        } else {\n          self.createDataSet();\n        }\n      }, function (error) {\n        if (error.errors[0].status === \"400\") {\n          self.set('showUpgradePrompt', true);\n          return;\n        }\n        alert(\"We were unable to communicate with the server. Please try again momentarily.\");\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.createDataSet();\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    createDataSet: function createDataSet() {\n      var self = this,\n          deviceId = this.get('device.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + deviceId + '/create_observer_dataset';\n\n      var payload = {\n        dataSet: {\n          test: self.get('test.id'),\n          subject: self.get('subject')\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (recordJson) {\n        self.captureDataSet(self.get('store').pushPayload(recordJson)[0]);\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    captureDataSet: function captureDataSet(record) {\n      var self = this,\n          recordId = record.get('id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/capture';\n\n      var payload = {\n        dataSet: {\n          settings: {\n            duration: this.get('duration')\n          }\n        }\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.sendAction('onClose');\n        if (_bcFrontendDataSetModernSchemas['default'].includes(self.get('record.schema.slug'))) {\n          self.get('routing').transitionTo('test.dataset', record);\n        } else {\n          self.get('routing').transitionTo('test.data', record);\n        }\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    deviceLabelCallback: function deviceLabelCallback(model) {\n      return model.get('label');\n    },\n\n    actions: {\n      confirm: function confirm() {\n        //this.createDataSet();\n        this.checkOverage();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/next-data-set-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"GsqxJhlF\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\"],[true,true]],9]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subscribe to a paid BehaviorCloud plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You have exhausted your free plan hours. Please subscribe to continue.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],2],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Start\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],5],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subject \\\\\\\"\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"lastSubject\\\"]],false],[\\\"text\\\",\\\"\\\\\\\" completed\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-start flex dialog-info\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Would you like to run another subject?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\",\\\"autofocus\\\"],[[\\\"get\\\",[\\\"subject\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"subject\\\"]]],null]],null],\\\"Next Subject ID\\\",true,true]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],7],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showUpgradePrompt\\\"]]],null,8,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/next-data-set-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/status-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    hadError: _ember['default'].computed.equal('model.status', 'error'),\n    wasAborted: _ember['default'].computed.equal('model.status', 'aborted'),\n\n    actions: {\n      close: function close() {\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/status-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"c7LtiLHG\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\"],[true]],9]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Close\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        The run was successfully aborted.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"reason\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"reason\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        BehaviorCloud encountered an error while capturing data. Please try the run again.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"reason\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"reason\\\"]]],null,6,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Run Canceled\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hadError\\\"]]],null,7],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"wasAborted\\\"]]],null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],8],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/status-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/unarchive-test-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  // import DS from 'ember-data';\n\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n\n    isPending: false,\n\n    unarchiveTest: function unarchiveTest() {\n      var self = this,\n          modelId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + modelId + '/unarchive?with_archived=true';\n\n      this.set('isPending', true);\n\n      var payload = {};\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        // self.get('model').reload();\n        self.send('close');\n        self.get('model').reload();\n      }, function () {\n        alert('Failed to unarchive test. Please try again momentarily.');\n      })['finally'](function () {\n        self.set('isPending', false);\n      });\n    },\n\n    actions: {\n      close: function close() {\n        this.sendAction('onClose');\n      },\n      confirm: function confirm() {\n        this.unarchiveTest();\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/unarchive-test-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"XfNk0gas\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],4]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      Confirm\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"close\\\"],null]]],1],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isPending\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirm\\\"],null]]],0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Unarchive \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"name\\\"]],false],[\\\"text\\\",\\\"?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Are you sure you want to unarchive this test?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,3],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/unarchive-test-dialog/template.hbs\" } });\n});","define('bc-frontend/components/tests/upload-data-set-dialog/component', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  var Component = _ember['default'].Component;\n  exports['default'] = Component.extend({\n    ajax: inject.service(),\n    routing: inject.service(),\n    store: inject.service(),\n    userSession: inject.service(),\n\n    showUpgradePrompt: false,\n    uploads: _ember['default'].computed(function () {\n      return _ember['default'].A([\n        // {fileName: 'weee.mp4', progress: 50},\n        // {fileName: 'test.mp4', progress: 25},\n        // {fileName: 'test2.mp4', progress: 35},\n        // {fileName: 'test3.mp4', progress: 95},\n      ]);\n    }),\n    inProgress: _ember['default'].computed.filterBy('uploads', 'active', true),\n\n    checkOverage: function checkOverage(duration) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId');\n\n      return ajax.request('/api/users/' + userId + '/get_overage_cost?time=' + duration).then(function (response) {\n        var upgradeNeeded = response.user.upgradeNeeded;\n\n        if (upgradeNeeded) {\n          self.set('showUpgradePrompt', true);\n          return false;\n        } else {\n          return true;\n        }\n      }, function (error) {\n        if (error.errors[0].status === \"400\") {\n          self.set('showUpgradePrompt', true);\n          return false;\n        }\n        alert(\"We were unable to communicate with the server. Please try again momentarily.\");\n        return false;\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.set('showUpgradePrompt', false);\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    actions: {\n      confirm: function confirm() {\n        //this.createDataSet();\n        this.checkOverage();\n      },\n      cancel: function cancel() {\n        this.sendAction('onClose');\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      },\n      uploadsComplete: function uploadsComplete() {\n        this.sendAction('onUploaded');\n        this.sendAction('onClose');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/tests/upload-data-set-dialog/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"dnwEv8x4\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,[[\\\"escapeToClose\\\",\\\"fullscreen\\\",\\\"class\\\"],[true,true,\\\"flex-50\\\"]],9]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Cancel\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],0],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Subscribe to a paid BehaviorCloud plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You have exhausted your free plan hours. Please subscribe to continue.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,2],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Close\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"inProgress\\\",\\\"length\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancel\\\"],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            Select or drag one or more video files here. They will be uploaded to your BehaviorCloud account\\\\n            where you can proceed to analyze them.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-title\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Upload Trials\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"s3-upload\\\"],null,[[\\\"test\\\",\\\"schema\\\",\\\"onInitialized\\\",\\\"onComplete\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"video\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"uploads\\\"]]],null]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"uploadsComplete\\\"],null]]],6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,null,7],[\\\"block\\\",[\\\"paper-dialog-actions\\\"],null,[[\\\"class\\\"],[\\\"layout-row\\\"]],5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showUpgradePrompt\\\"]]],null,8,3]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/tests/upload-data-set-dialog/template.hbs\" } });\n});","define('bc-frontend/components/time-display/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: '',\n\n    minutes: _ember['default'].computed('time', function () {\n      return parseInt(this.get('time') / 60);\n    }),\n    seconds: _ember['default'].computed('time', function () {\n      return this.get('time') % 60;\n    })\n  });\n});","define(\"bc-frontend/components/time-display/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"zS19/qwf\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"minutes\\\"]],false],[\\\"text\\\",\\\":\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"pad-start\\\"],[[\\\"get\\\",[\\\"seconds\\\"]],2],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/time-display/template.hbs\" } });\n});","define('bc-frontend/components/time-series-chart', ['exports', 'ember-charts/components/time-series-chart'], function (exports, _emberChartsComponentsTimeSeriesChart) {\n  exports['default'] = _emberChartsComponentsTimeSeriesChart['default'];\n});","define('bc-frontend/components/transition-group', ['exports', 'ember-css-transitions/components/transition-group'], function (exports, _emberCssTransitionsComponentsTransitionGroup) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCssTransitionsComponentsTransitionGroup['default'];\n    }\n  });\n});","define('bc-frontend/components/verb-chart/component', ['exports', 'ember', 'moment'], function (exports, _ember, _moment) {\n\n  // const rangeOptions = [15, 60, 300, 1200, 3600];\n\n  exports['default'] = _ember['default'].Component.extend({\n    classNames: ['verb-chart'],\n\n    // 4 required parameters -- minTS and maxTS representing the absolute\n    // beginning and end of the video clip; position representing the current\n    // position in absolute time; and data representing the expanded verb data\n    minTS: null,\n    maxTS: null,\n    position: null,\n    data: [],\n    verbs: [],\n\n    duration: _ember['default'].computed('minTS', 'maxTS', function () {\n      var minTS = this.get('minTS'),\n          maxTS = this.get('maxTS');\n      if (!maxTS) {\n        return null;\n      }\n      return maxTS.diff(minTS, 'seconds', true);\n    }),\n\n    targetRange: 15,\n\n    rangeCollection: _ember['default'].computed.collect('duration', 'targetRange'),\n    effectiveRange: _ember['default'].computed.min('rangeCollection'),\n\n    halfRange: _ember['default'].computed('effectiveRange', function () {\n      return this.get('effectiveRange') / 2;\n    }),\n\n    windowStart: _ember['default'].computed('minTS', 'maxTS', 'effectiveRange', 'position', function () {\n      var effectiveRange = this.get('effectiveRange'),\n          halfRange = effectiveRange / 2,\n          minTS = this.get('minTS'),\n          maxTS = this.get('maxTS'),\n          position = this.get('position');\n\n      var naiveStart = (0, _moment['default'])(position).subtract(halfRange, 'seconds');\n      var naiveEnd = (0, _moment['default'])(position).add(halfRange, 'seconds');\n\n      if (naiveStart < minTS) {\n        return minTS;\n      } else if (naiveEnd > maxTS) {\n        return (0, _moment['default'])(maxTS).subtract(effectiveRange, 'seconds');\n      }\n\n      return naiveStart;\n    }),\n\n    windowEnd: _ember['default'].computed('minTS', 'maxTS', 'effectiveRange', 'position', function () {\n      var effectiveRange = this.get('effectiveRange'),\n          halfRange = effectiveRange / 2,\n          minTS = this.get('minTS'),\n          maxTS = this.get('maxTS'),\n          position = this.get('position');\n\n      var naiveStart = (0, _moment['default'])(position).subtract(halfRange, 'seconds');\n      var naiveEnd = (0, _moment['default'])(position).add(halfRange, 'seconds');\n\n      if (naiveStart < minTS) {\n        return (0, _moment['default'])(minTS).add(effectiveRange, 'seconds');\n      } else if (naiveEnd > maxTS) {\n        return maxTS;\n      }\n\n      return naiveEnd;\n    }),\n\n    dataIndex: function dataIndex(position) {\n      var data = this.get('data');\n\n      if (position <= this.get('minTS')) {\n        return 0;\n      }\n      if (position >= this.get('maxTS')) {\n        return data.length - 1;\n      }\n\n      return data.reduce(function (value, state, index) {\n        if (value) return value;\n        if (state.start <= position && state.end > position) return index;\n        return null;\n      }, null);\n    },\n\n    // TODO: revisit data slicing/windowing later; this was causing extensive\n    // unintentional DOM re-rendering as rendering engine doesn't recognize\n    // that the sliced data represents much of the same dom nodes.\n\n    // dataStart: Ember.computed('windowStart', 'data', function() {\n    //   return this.dataIndex(this.get('windowStart'));\n    // }),\n    //\n    // dataEnd: Ember.computed('windowEnd', 'data', function() {\n    //   return this.dataIndex(this.get('windowEnd'));\n    // }),\n\n    dataStart: _ember['default'].computed('data', function () {\n      return 0;\n    }),\n\n    dataEnd: _ember['default'].computed('data', function () {\n      return this.get('data').length - 1;\n    }),\n\n    slicedData: _ember['default'].computed('dataStart', 'dataEnd', 'data', function () {\n      var startIndex = this.get('dataStart'),\n          endIndex = this.get('dataEnd'),\n          data = this.get('data');\n\n      return data.slice(startIndex, endIndex + 1);\n    }),\n\n    trackedData: _ember['default'].computed('slicedData', 'verbs', function () {\n      var data = this.get('slicedData'),\n          verbs = this.get('verbs'),\n          effectiveRange = this.get('effectiveRange');\n\n      var tracks = verbs.map(function (verb, verbIndex) {\n        return data.map(function (cell) {\n          return {\n            start: cell.start,\n            end: cell.end,\n            state: cell.state[verbIndex],\n            width: 100 * (cell.end.diff(cell.start, 'seconds', true) / effectiveRange),\n            change: cell.change,\n            verb: verb\n          };\n        });\n      });\n\n      return tracks.map(function (verb) {\n        var consolidated = [],\n            lastSpan = null;\n\n        verb.forEach(function (cell) {\n          if (!lastSpan) {\n            lastSpan = cell;\n          }\n\n          if (lastSpan.state != cell.state || cell.verb.instantaneous && cell.state) {\n            consolidated.push(lastSpan);\n            lastSpan = cell;\n          } else {\n            lastSpan.end = cell.end;\n            lastSpan.width = 100 * (cell.end.diff(lastSpan.start, 'seconds', true) / effectiveRange);\n          }\n        });\n\n        consolidated.push(lastSpan);\n\n        return consolidated;\n      });\n    }),\n\n    trackOffset: _ember['default'].computed('windowStart', 'slicedData', 'effectiveRange', function () {\n      var windowStart = this.get('windowStart'),\n          firstData = this.get('slicedData.firstObject'),\n          effectiveRange = this.get('effectiveRange');\n\n      if (!firstData) {\n        return;\n      }\n\n      return 100 * (firstData.start.diff(windowStart, 'seconds', true) / effectiveRange);\n    }),\n\n    cursorPercentX: _ember['default'].computed('effectiveRange', 'position', function () {\n      var effectiveRange = this.get('effectiveRange'),\n          position = this.get('position'),\n          windowStart = this.get('windowStart');\n\n      return 100 * (position.diff(windowStart, 'seconds', true) / effectiveRange);\n    }),\n\n    cursorStyle: _ember['default'].computed('cursorPercentX', function () {\n      var percentX = this.get('cursorPercentX');\n      return _ember['default'].String.htmlSafe('left: ' + percentX + '%;');\n    }),\n\n    actions: {\n      selectSegment: function selectSegment(segment) {\n        this.sendAction('onSelectSegment', segment);\n      }\n    }\n  });\n});","define('bc-frontend/components/verb-chart/segment-spacer/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    classNameBindings: [':segment'],\n    attributeBindings: ['style'],\n\n    style: _ember['default'].computed('segment.width', function () {\n      var width = this.get('segment.width') * 3 / 4;\n      return _ember['default'].String.htmlSafe('width: ' + width + '%;');\n    })\n  });\n});","define(\"bc-frontend/components/verb-chart/segment-spacer/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"bN/OWo4T\", \"block\": \"{\\\"statements\\\":[[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/verb-chart/segment-spacer/template.hbs\" } });\n});","define('bc-frontend/components/verb-chart/segment/component', ['exports', 'ember', 'bc-frontend/utils/color-generator'], function (exports, _ember, _bcFrontendUtilsColorGenerator) {\n  exports['default'] = _ember['default'].Component.extend({\n    classNameBindings: [':segment', 'segment.state:segment-active', 'segment.change.selected:segment-selected'],\n    attributeBindings: ['style'],\n\n    segmentVerb: _ember['default'].computed.alias('segment.verb'),\n    instantaneous: _ember['default'].computed.alias('segmentVerb.instantaneous'),\n    associatedChange: _ember['default'].computed.alias('segment.change'),\n    state: _ember['default'].computed.alias('segment.state'),\n    isSelected: _ember['default'].computed.alias('associatedChange.selected'),\n\n    color: _ember['default'].computed('segmentVerb.key', function () {\n      return (0, _bcFrontendUtilsColorGenerator['default'])(this.get('segmentVerb.key'));\n    }),\n\n    click: function click() {\n      this.sendAction('onClick', this.get('segment'));\n    },\n\n    style: _ember['default'].computed('segment.width', 'instantaneous', 'isSelected', 'color', 'state', function () {\n      var width = this.get('segment.width');\n      var selected = this.get('isSelected'),\n          state = this.get('state');\n\n      if (this.get('instantaneous')) {\n        width = width / 4;\n      }\n\n      if (!selected && state) {\n        var color = this.get('color');\n        return _ember['default'].String.htmlSafe('width: ' + width + '%;background-color:' + color + ';');\n      } else {\n        return _ember['default'].String.htmlSafe('width: ' + width + '%;');\n      }\n    })\n  });\n});","define(\"bc-frontend/components/verb-chart/segment/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"68L396K2\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"segment\\\",\\\"state\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"segment\\\",\\\"verb\\\",\\\"label\\\"]],false],[\\\"close-element\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/verb-chart/segment/template.hbs\" } });\n});","define(\"bc-frontend/components/verb-chart/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"IU22D0Mk\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"trackedData\\\"]]],null,0],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"cursor\\\"],[\\\"dynamic-attr\\\",\\\"style\\\",[\\\"unknown\\\",[\\\"cursorStyle\\\"]],null],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"verb-chart/verb\\\"],null,[[\\\"verb\\\",\\\"offset\\\",\\\"onSelectSegment\\\"],[[\\\"get\\\",[\\\"verb\\\"]],[\\\"get\\\",[\\\"trackOffset\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"selectSegment\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"verb\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/verb-chart/template.hbs\" } });\n});","define('bc-frontend/components/verb-chart/verb/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: '',\n\n    style: _ember['default'].computed('offset', function () {\n      var offset = this.get('offset');\n      return _ember['default'].String.htmlSafe('left: ' + offset + '%;');\n    }),\n\n    actions: {\n      selectSegment: function selectSegment(segment) {\n        this.sendAction('onSelectSegment', segment);\n      }\n    }\n  });\n});","define(\"bc-frontend/components/verb-chart/verb/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"zQq57N03\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"verb\\\"],[\\\"dynamic-attr\\\",\\\"style\\\",[\\\"unknown\\\",[\\\"style\\\"]],null],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"verb\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"verb-chart/segment-spacer\\\"],null,[[\\\"segment\\\"],[[\\\"get\\\",[\\\"segment\\\"]]]]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"verb-chart/segment\\\"],null,[[\\\"segment\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"segment\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"selectSegment\\\"],null]]]],false],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"segment\\\",\\\"verb\\\",\\\"instantaneous\\\"]]],null,0]],\\\"locals\\\":[\\\"segment\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/verb-chart/verb/template.hbs\" } });\n});","define('bc-frontend/components/vertical-bar-chart', ['exports', 'ember-charts/components/vertical-bar-chart'], function (exports, _emberChartsComponentsVerticalBarChart) {\n  exports['default'] = _emberChartsComponentsVerticalBarChart['default'];\n});","define('bc-frontend/components/video-calibration/auto/component', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Component.extend({\n    ajax: inject.service(),\n    store: inject.service(),\n\n    // supplied via param\n    test: null,\n    model: null,\n\n    latestCalibration: computed.alias('model.firstObject'),\n    dataSetCount: computed.alias('model.length'),\n    hasData: computed.gte('dataSetCount', 1),\n\n    showCollectButton: computed.not('hasData'),\n\n    thumbnailUrl: _ember['default'].computed('latestCalibration', 'thumbnailStamp', function () {\n      var model = this.get('latestCalibration'),\n          modelId = model.get('id'),\n          stamp = this.get('thumbnailStamp'),\n          calSuffix = '',\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      if (this.get('inCalibrationMode') && this.get('lastRatio')) {\n        calSuffix = '_cal';\n      }\n\n      if (model && stamp) {\n        var stampInt = stamp.valueOf();\n        return dataHost + '/data/' + modelId + '_thumb' + calSuffix + '.jpg?stamp=' + stampInt;\n      }\n\n      return null;\n    }),\n\n    thumbnailStamp: null,\n    lastRatio: null,\n\n    isAborted: _ember['default'].computed.equal('latestCalibration.status', 'aborted'),\n    hadError: _ember['default'].computed.equal('latestCalibration.status', 'error'),\n    isCreated: _ember['default'].computed.equal('latestCalibration.status', 'created'),\n    isCalibrating: _ember['default'].computed.equal('latestCalibration.status', 'calibrating'),\n    isCalibrated: _ember['default'].computed.equal('latestCalibration.status', 'calibrated'),\n    isCompleted: _ember['default'].computed.equal('latestCalibration.status', 'completed'),\n\n    inCalibrationMode: _ember['default'].computed.or('isCalibrating', 'isCalibrated'),\n\n    shouldShowAbort: _ember['default'].computed.or('isCreated', 'isCalibrating'),\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n\n      this.initialize();\n    },\n\n    initialize: function initialize() {\n      this.set('thumbnailStamp', null);\n      this.set('lastRatio', null);\n    },\n\n    onCalibrationUpdate: function onCalibrationUpdate(data) {\n      this.set('lastRatio', data.ratio);\n      this.set('thumbnailStamp', new Date());\n    },\n\n    onSavePending: function onSavePending() {\n      this.set('isSaving', true);\n    },\n\n    finishCalibration: function finishCalibration() {\n      var self = this,\n          recordId = this.get('latestCalibration.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/calibrate';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.get('latestCalibration').reload();\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    actions: {\n      useCalibration: function useCalibration() {\n        this.finishCalibration();\n      },\n      recalibrate: function recalibrate() {\n        this.sendAction('onAutoCalibrate');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/video-calibration/auto/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"ICCyW5fJ\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isAborted\\\"]]],null,16],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hadError\\\"]]],null,15],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inCalibrationMode\\\"]]],null,14],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCompleted\\\"]]],null,13],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"shouldShowAbort\\\"]]],null,12],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inCalibrationMode\\\"]]],null,10],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"latestCalibration\\\",\\\"complete\\\"]]],null,9,8],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCalibrating\\\"]]],null,5],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"inCalibrationMode\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/status-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"latestCalibration\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/confirm-abort-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"latestCalibration\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"recalibrate\\\"],null],\\\"refresh\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"useCalibration\\\"],null],\\\"forward\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"lastRatio\\\"]]],null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please wait... generating thumbnail\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"img\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"thumbnailUrl\\\"]],null],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"thumbnailUrl\\\"]]],null,7,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width: 100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"video\\\",[]],[\\\"static-attr\\\",\\\"id\\\",\\\"video-preview\\\"],[\\\"static-attr\\\",\\\"controls\\\",\\\"\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"source\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"latestCalibration\\\",\\\"playbackUri\\\"]],null],[\\\"static-attr\\\",\\\"type\\\",\\\"video/mp4\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Place the calibration unit in the camera view, level with the maze floor. Press the Forward button when ready.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Abort\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"warn\\\",\\\"raised\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],true],null]]],11],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Completed\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Calibrating...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Aborted due to Error\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Aborted by User\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/video-calibration/auto/template.hbs\" } });\n});","define('bc-frontend/components/video-calibration/component', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Component.extend({\n    ajax: inject.service(),\n    store: inject.service(),\n\n    // supplied via param\n    test: null,\n    model: null,\n\n    dataModified: false,\n    isSaving: false,\n\n    latestCalibration: computed.alias('model.firstObject'),\n    latestIsValid: computed.equal('latestCalibration.status', 'completed'),\n    dataSetCount: computed.alias('model.length'),\n    hasData: computed.gte('dataSetCount', 1),\n\n    showManualCalibration: computed.reads('latestCalibration.metaData.manual'),\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n      this.initialize();\n    },\n\n    initialize: function initialize() {},\n\n    saveChanges: function saveChanges() {\n      var self = this;\n\n      if (!this.get('manualComponent').validateMap()) {\n        return;\n      }\n\n      this.set('isSaving', true);\n      this.get('manualComponent').save().then(function () {\n        self.set('isSaving', false);\n        self.set('dataModified', false);\n      });\n    },\n\n    actions: {\n      saveChanges: function saveChanges() {\n        this.saveChanges();\n      }\n    }\n  });\n});","define('bc-frontend/components/video-calibration/empty-state/component', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  exports['default'] = _ember['default'].Component.extend({\n    isRecorded: computed.alias('test.liveTest'),\n    isUploaded: computed.not('isRecorded'),\n\n    needsVideo: computed.not('model.meta.backgroundUri'),\n\n    actions: {\n      startCalibration: function startCalibration() {\n        this.sendAction('onAutoCalibrate');\n      },\n      showManualCalibration: function showManualCalibration() {\n        this.sendAction('onManualCalibrate');\n      }\n    }\n  });\n});","define(\"bc-frontend/components/video-calibration/empty-state/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"YDsHvxtu\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-xs-row layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isRecorded\\\"]]],null,17],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isUploaded\\\"]]],null,8],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"Manually Calibrate\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"onClick\\\",\\\"primary\\\"],[[\\\"get\\\",[\\\"needsVideo\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"showManualCalibration\\\"],null],true]],0],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"You haven't yet uploaded any videos. Please upload a video first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          Use the manual calibration tool to measure an object of a known size within a trial video.\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"needsVideo\\\"]]],null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Manual Calibration\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,4],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,5]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-1\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"build\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,6],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,3],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,1]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"flex-gt-xs-50 flex-100\\\"]],7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Start Calibration\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Download Pattern\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"href\\\",\\\"target\\\"],[\\\"/assets/chessboard_8by6.pdf\\\",\\\"_blank\\\"]],10],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\",\\\"primary\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"startCalibration\\\"],null],true]],9],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          Calibrate distance in a few seconds, no measurement needed. You must have a printed calibration pattern ready.\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Automated Calibration\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,13],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,14]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"track_changes\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,15],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,12],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,11]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"flex-gt-xs-50 flex-100\\\"]],16]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/video-calibration/empty-state/template.hbs\" } });\n});","define('bc-frontend/components/video-calibration/manual/component', ['exports', 'ember'], function (exports, _ember) {\n  function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }\n\n  //const DEFAULT_COORDS = [220, 240, 420, 240];\n  var DEFAULT_OFFSETS = [-100, 0, 100, 0];\n\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: 'div',\n    classNames: ['zonemap-editor'],\n\n    ajax: _ember['default'].inject.service(),\n    ajaxNoAuth: _ember['default'].inject.service(),\n\n    backgroundUri: null,\n    model: null,\n\n    existingData: _ember['default'].computed.reads('model.url'),\n    disabled: false,\n\n    fabricCanvas: null,\n    referenceSize: null,\n\n    shapes: _ember['default'].computed(function () {\n      return _ember['default'].A([]);\n    }),\n\n    _setup: (function () {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', function () {\n        _this._setupFabric();\n        _this.loadBackground();\n        _this.registerWithParent();\n      });\n    }).on('didInsertElement'),\n\n    _setupFabric: function _setupFabric() {\n      if (_ember['default'].isEmpty(this.get('fabricCanvas'))) {\n        var canvas = new window.fabric.Canvas(this.$('canvas')[0], {\n          selection: false\n        });\n        canvas.setDimensions({ width: null, height: null }, { cssOnly: true });\n        canvas.setDimensions({ width: 640, height: 480 }, { backstoreOnly: true });\n\n        canvas.centeredScaling = false;\n        canvas.renderOnAddRemove = false;\n        this.set('fabricCanvas', canvas);\n      }\n    },\n\n    _mapUpdated: _ember['default'].computed('existingData', function () {\n      var existingMap = this.get('existingData'),\n          fabricCanvas = this.get('fabricCanvas');\n\n      if (existingMap && fabricCanvas) {\n        this.loadMap();\n      }\n    }),\n\n    loadBackground: function loadBackground() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          backgroundUri = this.get('backgroundUri');\n\n      if (!fabricCanvas || !backgroundUri) {\n        return;\n      }\n\n      fabricCanvas.setBackgroundImage(backgroundUri, this.afterBackground.bind(this, fabricCanvas), {\n        // Needed to position backgroundImage at 0/0\n        originX: 'left',\n        originY: 'top'\n      });\n    },\n\n    // width: fabricCanvas.width,\n    // height: fabricCanvas.height,\n    afterBackground: function afterBackground(canvas) {\n      canvas.setDimensions({\n        width: canvas.backgroundImage.width,\n        height: canvas.backgroundImage.height\n      }, { backstoreOnly: true });\n      canvas.renderAll();\n      this.loadMap();\n    },\n\n    makeCircle: function makeCircle(id, left, top, line1, line2) {\n      var c = new fabric.Circle({\n        left: left - 12,\n        top: top - 12,\n        strokeWidth: 5,\n        radius: 12,\n        fill: null,\n        stroke: '#3f51b5',\n        id: id\n      });\n      c.hasControls = c.hasBorders = false;\n\n      c.line1 = line1;\n      c.line2 = line2;\n\n      return c;\n    },\n\n    makeLine: function makeLine(coords) {\n      return new fabric.Line(coords, {\n        fill: 'red',\n        stroke: 'red',\n        strokeWidth: 5,\n        selectable: false\n      });\n    },\n\n    loadMap: function loadMap() {\n      var self = this,\n          data = this.get('existingData'),\n          fabricCanvas = this.get('fabricCanvas'),\n          ajax = this.get('ajaxNoAuth'),\n          centerX = fabricCanvas.width / 2,\n          centerY = fabricCanvas.height / 2;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      if (data) {\n        // load data\n        ajax.request(data).then(function (jsonData) {\n          var coords = jsonData.coords;\n          var size = jsonData.size;\n\n          self.set('referenceSize', size);\n          self.buildMap.apply(self, _toConsumableArray(coords));\n          self.addObservers();\n        });\n      } else {\n        //self.buildMap(...DEFAULT_COORDS);\n        self.buildMap(centerX + DEFAULT_OFFSETS[0], centerY + DEFAULT_OFFSETS[1], centerX + DEFAULT_OFFSETS[2], centerY + DEFAULT_OFFSETS[3]);\n        self.addObservers();\n      }\n    },\n\n    buildMap: function buildMap(x1, y1, x2, y2) {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      var line = this.makeLine([x1, y1, x2, y2]);\n\n      fabricCanvas.add(line);\n\n      var shapes = this.get('shapes');\n      shapes.pushObject(this.makeCircle('c1', line.get('x1'), line.get('y1'), null, line));\n      shapes.pushObject(this.makeCircle('c2', line.get('x2'), line.get('y2'), line, null));\n\n      fabricCanvas.add.apply(fabricCanvas, _toConsumableArray(shapes));\n\n      fabricCanvas.renderAll();\n    },\n\n    resetMap: function resetMap() {\n      var shapes = this.get('shapes'),\n          fabricCanvas = this.get('fabricCanvas'),\n          centerX = fabricCanvas.backgroundImage.width / 2,\n          centerY = fabricCanvas.backgroundImage.height / 2;\n\n      shapes[0].set({ left: centerX + DEFAULT_OFFSETS[0], top: centerY + DEFAULT_OFFSETS[1] });\n      shapes[0].setCoords();\n      this.objectMoving({ target: shapes[0] });\n      shapes[1].set({ left: centerX + DEFAULT_OFFSETS[2], top: centerY + DEFAULT_OFFSETS[3] });\n      shapes[1].setCoords();\n      this.objectMoving({ target: shapes[1] });\n    },\n\n    addObservers: function addObservers() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      fabricCanvas.on('object:added', this.canvasUpdated.bind(this));\n      fabricCanvas.on('object:modified', this.canvasUpdated.bind(this));\n      fabricCanvas.on('object:moving', this.objectMoving.bind(this));\n    },\n\n    canvasUpdated: function canvasUpdated() {\n      this.sendAction('onChange');\n    },\n\n    objectMoving: function objectMoving(e) {\n      var p = e.target,\n          fabricCanvas = this.get('fabricCanvas');\n\n      p.line1 && p.line1.set({ 'x2': p.left + 12, 'y2': p.top + 12 });\n      p.line2 && p.line2.set({ 'x1': p.left + 12, 'y1': p.top + 12 });\n      fabricCanvas.renderAll();\n    },\n\n    registerWithParent: function registerWithParent() {\n      this.sendAction('onRegister', this);\n    },\n\n    /* To support deleting using delete/backspace */\n    didRender: function didRender() {\n      this.$().attr({ tabindex: 1 });\n    },\n\n    validateMap: function validateMap() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          size = this.get('referenceSize');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      if (!size) {\n        alert('Please enter a known size in cm');\n        return false;\n      }\n\n      var sizeFloat = parseFloat(size);\n\n      if (isNaN(sizeFloat) || sizeFloat <= 0) {\n        alert('Please enter a known size in cm');\n        return false;\n      }\n\n      return true;\n    },\n\n    updateReferenceSize: function updateReferenceSize(size) {\n      this.set('referenceSize', size);\n      this.sendAction('onChange');\n    },\n\n    distanceRatio: _ember['default'].computed('shapes.@each.left', 'shapes.@each.top', 'referenceSize', function () {\n      var shapes = this.get('shapes'),\n          size = parseFloat(this.get('referenceSize')),\n          x = shapes[0].left - shapes[1].left,\n          y = shapes[0].top - shapes[1].top;\n\n      return Math.sqrt(x * x + y * y) / size;\n    }),\n\n    save: function save() {\n      if (!this.validateMap()) return false;\n\n      var ajax = this.get('ajax'),\n          shapes = this.get('shapes'),\n          testId = this.get('test.id'),\n          uri = '/api/tests/' + testId + '/data',\n          data = {\n        schema: 'calibration',\n        data: {\n          coords: [shapes[0].left, shapes[0].top, shapes[1].left, shapes[1].top],\n          size: parseFloat(this.get('referenceSize'))\n        },\n        meta_data: {\n          manual: true\n        },\n        distance_ratio: this.get('distanceRatio')\n      };\n\n      return ajax.request(uri, {\n        method: 'post',\n        data: JSON.stringify(data),\n        contentType: 'application/json'\n      });\n    },\n\n    actions: {\n      updateReferenceSize: function updateReferenceSize(size) {\n        this.updateReferenceSize(size);\n      },\n      resetReferenceLine: function resetReferenceLine() {\n        this.resetMap();\n      }\n    }\n  });\n});\n/* globals fabric */","define(\"bc-frontend/components/video-calibration/manual/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"ugoYNmXD\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"label\\\",\\\"value\\\",\\\"onChange\\\",\\\"class\\\"],[\\\"Size of object (cm)\\\",[\\\"get\\\",[\\\"referenceSize\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"updateReferenceSize\\\"],null],\\\"flex\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"resetReferenceLine\\\"],null]]],0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"stretchy-wrapper\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"canvas\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"Reset Selection\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/video-calibration/manual/template.hbs\" } });\n});","define(\"bc-frontend/components/video-calibration/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"qPbn4Mrt\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Calibration\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"showManualCalibration\\\"]],[\\\"get\\\",[\\\"dataModified\\\"]]],null]],null,11],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showManualCalibration\\\"]]],null,7,6],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-calibration-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"wait-modal\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"video-calibration/empty-state\\\"],null,[[\\\"test\\\",\\\"model\\\",\\\"onAutoCalibrate\\\",\\\"onManualCalibrate\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showManualCalibration\\\"]]],null],true],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"video-calibration/auto\\\"],null,[[\\\"test\\\",\\\"model\\\",\\\"onAutoCalibrate\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],true],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"latestIsValid\\\"]]],null,3,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"video-calibration/empty-state\\\"],null,[[\\\"test\\\",\\\"model\\\",\\\"onAutoCalibrate\\\",\\\"onManualCalibrate\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureCalibration\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showManualCalibration\\\"]]],null],true],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,5,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"video-calibration/manual\\\"],null,[[\\\"test\\\",\\\"model\\\",\\\"backgroundUri\\\",\\\"onRegister\\\",\\\"onChange\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"latestCalibration\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"backgroundUri\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"manualComponent\\\"]]],null]],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"dataModified\\\"]]],null],true],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,9,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\",\\\"disabled\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveChanges\\\"],null],[\\\"get\\\",[\\\"isSaving\\\"]]]],10]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/video-calibration/template.hbs\" } });\n});","define('bc-frontend/components/virtual-each', ['exports', 'virtual-each/components/virtual-each/component'], function (exports, _virtualEachComponentsVirtualEachComponent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _virtualEachComponentsVirtualEachComponent['default'];\n    }\n  });\n});","define('bc-frontend/components/wait-modal/component', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Component.extend({});\n});","define(\"bc-frontend/components/wait-modal/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"rGAh5kXZ\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog\\\"],null,null,1]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-progress-circular\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"One moment...\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-dialog-content\\\"],null,[[\\\"class\\\"],[\\\"modal-6x\\\"]],0]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/wait-modal/template.hbs\" } });\n});","define('bc-frontend/components/zonemap-editor/component', ['exports', 'ember'], function (exports, _ember) {\n\n  var DEFAULT_WIDTH = 640,\n      DEFAULT_HEIGHT = 480;\n\n  fabric.Rect.prototype.toSVG = (function (toSVG) {\n    return function () {\n      if (this.excludeFromAlternation) {\n        return $(toSVG.call(this)).attr('excludeFromAlternation', true)[0].outerHTML;\n      }\n      return toSVG.call(this);\n    };\n  })(fabric.Rect.prototype.toSVG);\n\n  fabric.Triangle.prototype.toSVG = (function (toSVG) {\n    return function () {\n      if (this.excludeFromAlternation) {\n        return $(toSVG.call(this)).attr('excludeFromAlternation', true)[0].outerHTML;\n      }\n      return toSVG.call(this);\n    };\n  })(fabric.Triangle.prototype.toSVG);\n\n  fabric.Polygon.prototype.toSVG = (function (toSVG) {\n    return function () {\n      if (this.excludeFromAlternation) {\n        return $(toSVG.call(this)).attr('excludeFromAlternation', true)[0].outerHTML;\n      }\n      return toSVG.call(this);\n    };\n  })(fabric.Polygon.prototype.toSVG);\n\n  fabric.Circle.prototype.toSVG = (function (toSVG) {\n    return function () {\n      if (this.excludeFromAlternation) {\n        return $(toSVG.call(this)).attr('excludeFromAlternation', true)[0].outerHTML;\n      }\n      return toSVG.call(this);\n    };\n  })(fabric.Circle.prototype.toSVG);\n\n  exports['default'] = _ember['default'].Component.extend({\n    tagName: 'div',\n    classNames: ['zonemap-editor'],\n    backgroundUri: null,\n    existingMap: null,\n    activeZoneLabel: '',\n    activeZoneExcluded: false,\n    activeObject: null,\n    disabled: false,\n\n    fabricCanvas: null,\n\n    _setup: (function () {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', function () {\n        _this._setupFabric();\n        _this.loadBackground();\n        _this.loadMap();\n        _this.registerWithParent();\n      });\n    }).on('didInsertElement'),\n\n    _setupFabric: function _setupFabric() {\n      if (_ember['default'].isEmpty(this.get('fabricCanvas'))) {\n        var canvas = new window.fabric.Canvas(this.$('canvas')[0]);\n        canvas.setDimensions({ width: null, height: null }, { cssOnly: true });\n        canvas.setDimensions({ width: DEFAULT_WIDTH, height: DEFAULT_HEIGHT }, { backstoreOnly: true });\n        canvas.centeredScaling = false;\n        canvas.renderOnAddRemove = false;\n        this.set('fabricCanvas', canvas);\n      }\n    },\n\n    _mapUpdated: _ember['default'].computed('existingMap', function () {\n      var existingMap = this.get('existingMap'),\n          fabricCanvas = this.get('fabricCanvas');\n\n      if (existingMap && fabricCanvas) {\n        this.loadMap();\n      }\n    }),\n\n    loadBackground: function loadBackground() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          backgroundUri = this.get('backgroundUri');\n\n      if (!fabricCanvas || !backgroundUri) {\n        return;\n      }\n\n      fabricCanvas.setBackgroundImage(backgroundUri, this.afterBackground.bind(this, fabricCanvas), {\n        // Needed to position backgroundImage at 0/0\n        originX: 'left',\n        originY: 'top'\n      });\n    },\n\n    afterBackground: function afterBackground(canvas) {\n      canvas.setDimensions({\n        width: canvas.backgroundImage.width,\n        height: canvas.backgroundImage.height\n      }, { backstoreOnly: true });\n      canvas.renderAll();\n    },\n\n    loadMap: function loadMap() {\n      var self = this,\n          mapUri = this.get('existingMap'),\n          fabricCanvas = this.get('fabricCanvas');\n\n      if (!mapUri || !fabricCanvas) {\n        self.addObservers();\n        return;\n      }\n\n      window.fabric.loadSVGFromURL(mapUri, function (objects) {\n        objects.forEach(function (object) {\n          fabricCanvas.add(object);\n          object.setCoords();\n        });\n        fabricCanvas.renderAll();\n        self.addObservers();\n      }, function (element, object) {\n        var transformObject = getObjectTransformer();\n        transformObject(object, element.getAttribute('transform'));\n        if (element.getAttribute('excludefromalternation')) {\n          object.excludeFromAlternation = element.getAttribute('excludefromalternation');\n        }\n        return object;\n      });\n    },\n\n    addObservers: function addObservers() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      fabricCanvas.on('object:added', this.canvasUpdated.bind(this));\n      fabricCanvas.on('object:modified', this.canvasUpdated.bind(this));\n      fabricCanvas.on('object:selected', this.selectionCreated.bind(this));\n      fabricCanvas.on('selection:created', this.selectionCreated.bind(this));\n      fabricCanvas.on('selection:cleared', this.selectionCleared.bind(this));\n    },\n\n    canvasUpdated: function canvasUpdated() {\n      this.sendAction('onChange');\n    },\n\n    selectionCreated: function selectionCreated() {\n      var canvas = this.get('fabricCanvas');\n      this.set('activeObject', canvas.getActiveObject());\n      this.set('activeZoneLabel', canvas.getActiveObject().id);\n      this.set('activeZoneExcluded', canvas.getActiveObject().excludeFromAlternation);\n    },\n\n    selectionCleared: function selectionCleared() {\n      this.set('activeZoneLabel', '');\n      this.set('activeZoneExcluded', false);\n      this.set('activeObject', null);\n    },\n\n    updateZoneLabel: function updateZoneLabel(label) {\n      this.set('activeZoneLabel', label);\n      var canvas = this.get('fabricCanvas');\n      canvas.getActiveObject().id = label;\n    },\n\n    updateZoneExcluded: function updateZoneExcluded(state) {\n      this.set('activeZoneExcluded', state);\n      var canvas = this.get('fabricCanvas');\n      canvas.getActiveObject().excludeFromAlternation = state;\n    },\n\n    registerWithParent: function registerWithParent() {\n      this.sendAction('onRegister', this);\n    },\n\n    randomColor: function randomColor() {\n      return '#' + Math.floor(Math.random() * 16777215).toString(16);\n    },\n\n    createShape: function createShape(shape) {\n      var fabricCanvas = this.get('fabricCanvas'),\n          shapeObj = null,\n          centerX = fabricCanvas.backgroundImage.width / 2,\n          centerY = fabricCanvas.backgroundImage.height / 2;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      if (shape === 'circle') {\n        shapeObj = new fabric.Circle({\n          radius: 50,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      } else if (shape === 'square') {\n        shapeObj = new fabric.Rect({\n          width: 100,\n          height: 100,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      } else if (shape === 'triangle') {\n        shapeObj = new fabric.Triangle({\n          width: 100,\n          height: 100,\n          fill: this.randomColor(),\n          opacity: 0.8,\n          left: centerX,\n          top: centerY\n        });\n      }\n\n      var numObjects = fabricCanvas._objects.length + 1;\n      shapeObj.id = 'Unlabeled' + numObjects;\n\n      fabricCanvas.add(shapeObj);\n      fabricCanvas.setActiveObject(shapeObj);\n      fabricCanvas.renderAll();\n    },\n\n    deleteSelection: function deleteSelection() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        activeObject.remove();\n        fabricCanvas.renderAll();\n      }\n    },\n\n    bumpSelection: function bumpSelection(direction) {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        switch (direction) {\n          case \"up\":\n            activeObject.setTop(activeObject.getTop() - 1);\n            break;\n          case \"right\":\n            activeObject.setLeft(activeObject.getLeft() + 1);\n            break;\n          case \"down\":\n            activeObject.setTop(activeObject.getTop() + 1);\n            break;\n          case \"left\":\n            activeObject.setLeft(activeObject.getLeft() - 1);\n            break;\n        }\n      }\n\n      fabricCanvas.renderAll();\n    },\n\n    createClone: function createClone() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          self = this;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var activeObject = fabricCanvas.getActiveObject();\n\n      if (activeObject) {\n        activeObject.clone(function (obj) {\n          obj.setLeft(obj.getLeft() + 10);\n          obj.setTop(obj.getTop() + 10);\n          obj.setFill(self.randomColor());\n          var numObjects = fabricCanvas._objects.length + 1;\n          obj.id = 'Unlabeled' + numObjects;\n          fabricCanvas.add(obj);\n          fabricCanvas.setActiveObject(obj);\n          fabricCanvas.renderAll();\n        });\n      }\n    },\n\n    /* To support deleting using delete/backspace */\n    didRender: function didRender() {\n      this.$().attr({ tabindex: 1 });\n    },\n\n    keyDown: function keyDown(event) {\n      if (document.activeElement.classList.contains('zonemap-editor')) {\n        if (event.keyCode === 8 || event.keyCode === 46) {\n          this.deleteSelection();\n          return false;\n        } else if (event.keyCode === 37) {\n          this.bumpSelection('left');\n          return false;\n        } else if (event.keyCode === 38) {\n          this.bumpSelection('up');\n          return false;\n        } else if (event.keyCode === 39) {\n          this.bumpSelection('right');\n          return false;\n        } else if (event.keyCode === 40) {\n          this.bumpSelection('down');\n          return false;\n        }\n      }\n    },\n\n    /* Export functions */\n    exportSVG: function exportSVG() {\n      var fabricCanvas = this.get('fabricCanvas'),\n          width = fabricCanvas.backgroundImage.width,\n          height = fabricCanvas.backgroundImage.height;\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      return fabricCanvas.toSVG({\n        width: width,\n        height: height,\n        viewBox: {\n          x: 0,\n          y: 0,\n          width: width,\n          height: height\n        }\n      }, function (svg) {\n        if (svg.indexOf('<image') >= 0) {\n          return '';\n        }\n        return svg;\n      });\n    },\n\n    validateMap: function validateMap() {\n      var fabricCanvas = this.get('fabricCanvas');\n\n      if (!fabricCanvas) {\n        return;\n      }\n\n      var all_ids = fabricCanvas._objects.map(function (obj) {\n        return obj.id;\n      });\n      var non_empty_ids = all_ids.filter(function (id) {\n        return id !== undefined && id !== null && id !== '';\n      });\n      var unique_ids = all_ids.uniq();\n\n      return non_empty_ids.length === all_ids.length && unique_ids.length === all_ids.length;\n    },\n\n    actions: {\n      createCircle: function createCircle() {\n        this.createShape('circle');\n      },\n      createSquare: function createSquare() {\n        this.createShape('square');\n      },\n      createTriangle: function createTriangle() {\n        this.createShape('triangle');\n      },\n      createClone: function createClone() {\n        this.createClone();\n      },\n      deleteSelection: function deleteSelection() {\n        this.deleteSelection();\n      },\n      saveMap: function saveMap() {},\n      updateZoneLabel: function updateZoneLabel(label) {\n        this.updateZoneLabel(label);\n      },\n      updateZoneExcluded: function updateZoneExcluded(state) {\n        this.updateZoneExcluded(state);\n      }\n    }\n  });\n\n  function getObjectTransformer() {\n    var number = fabric.reNum,\n        commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)',\n        skewX = '(?:(skewX)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n        skewY = '(?:(skewY)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n        rotate = '(?:(rotate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        scale = '(?:(scale)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        translate = '(?:(translate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' + commaWsp + '(' + number + '))?\\\\s*\\\\))',\n        matrix = '(?:(matrix)\\\\s*\\\\(\\\\s*' + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + commaWsp + '(' + number + ')' + '\\\\s*\\\\))',\n        transform = '(?:' + matrix + '|' + translate + '|' + scale + '|' + rotate + '|' + skewX + '|' + skewY + ')',\n        transforms = '(?:' + transform + '(?:' + commaWsp + '*' + transform + ')*' + ')',\n        transformList = '^\\\\s*(?:' + transforms + '?)\\\\s*$',\n\n    // http://www.w3.org/TR/SVG/coords.html#TransformAttribute\n    reTransformList = new RegExp(transformList),\n\n    // == end transform regexp\n    reTransform = new RegExp(transform, 'g');\n    return function (obj, attributeValue) {\n      // return if no argument was given or\n      // an argument does not match transform attribute regexp\n      if (!attributeValue || attributeValue && !reTransformList.test(attributeValue)) {\n        return;\n      }\n\n      var offset = [0, 0],\n          scale = [1, 1],\n          rotation = 0;\n\n      attributeValue.replace(reTransform, function (match) {\n        var m = new RegExp(transform).exec(match).filter(function (match) {\n          // match !== '' && match != null\n          return !!match;\n        }),\n            operation = m[1],\n            args = m.slice(2).map(parseFloat);\n        switch (operation) {\n          case 'translate':\n            offset[0] += args[0];\n            offset[1] += args[1];\n            break;\n          case 'rotate':\n            rotation += args[0];\n            break;\n          case 'scale':\n            scale = [args[0], args[1]];\n            break;\n          case 'skewX':\n            //skewXMatrix(matrix, args);\n            break;\n          case 'skewY':\n            //skewYMatrix(matrix, args);\n            break;\n        }\n      });\n\n      obj.setScaleX(scale[0]);\n      obj.setScaleY(scale[1]);\n      obj.left = obj.left * scale[0];\n      obj.top = obj.top * scale[1];\n\n      obj.rotate(rotation);\n\n      obj.left = obj.left + offset[0];\n      obj.top = obj.top + offset[1];\n\n      obj.transformMatrix = null;\n\n      obj.setCoords();\n      return;\n    };\n  }\n});\n/* globals fabric, $ */","define(\"bc-frontend/components/zonemap-editor/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"twF4jgCY\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"zonemap-editor__toolbar layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createCircle\\\"],null]]],4],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createTriangle\\\"],null]]],3],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createSquare\\\"],null]]],2],[\\\"text\\\",\\\"     \\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"createClone\\\"],null]]],1],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"iconButton\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"disabled\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"deleteSelection\\\"],null]]],0],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"stretchy-wrapper\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"canvas\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"label\\\",\\\"value\\\",\\\"onChange\\\",\\\"flex\\\",\\\"disabled\\\"],[\\\"zone label\\\",[\\\"get\\\",[\\\"activeZoneLabel\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"updateZoneLabel\\\"],null],100,[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"activeObject\\\"]]],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-checkbox\\\"],null,[[\\\"label\\\",\\\"value\\\",\\\"onChange\\\",\\\"flex\\\",\\\"disabled\\\"],[\\\"Exclude from alternation\\\",[\\\"get\\\",[\\\"activeZoneExcluded\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"updateZoneExcluded\\\"],null],100,[\\\"helper\\\",[\\\"not\\\"],[[\\\"get\\\",[\\\"activeObject\\\"]]],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"delete\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"content_copy\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"stop\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"play_arrow\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"fiber_manual_record\\\"],null],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/components/zonemap-editor/template.hbs\" } });\n});","define('bc-frontend/confirm/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({});\n});","define(\"bc-frontend/confirm/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Cwc4VLj7\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/confirm/template.hbs\" } });\n});","define('bc-frontend/dashboard/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    userSession: _ember['default'].inject.service(),\n\n    connectedDevices: _ember['default'].computed.alias('userSession.user.numDevices')\n  });\n});","define('bc-frontend/dashboard/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {});\n});","define(\"bc-frontend/dashboard/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"Q3jerZeO\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex-offset-gt-sm-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"connectedDevices\\\"]]],null,16],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],8],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/create-test-dialog\\\"],null,[[\\\"onClose\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"devices/add-device-dialog\\\"],null,[[\\\"onClose\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Create Test\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null],true],null]]],2],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          Ready to start a test? Let's create one now.\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Set Up a Test\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,6]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"videocam\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,7],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,4],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,3]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"Add Device\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null],true],null]]],9],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            BehaviorCloud is all about collecting data. Have a smartphone or BehaviorCloud-enabled device handy? Good.\\\\n            Let's get it added to the system so you can start running tests.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Add a Device\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,12],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,13]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-1\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"devices\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,14],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,11],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,10]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],15]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/dashboard/template.hbs\" } });\n});","define('bc-frontend/data-set-schema/model', ['exports', 'ember-data/model', 'ember-data/attr'], function (exports, _emberDataModel, _emberDataAttr) {\n  // import { belongsTo, hasMany } from 'ember-data/relationships';\n\n  exports['default'] = _emberDataModel['default'].extend({\n    label: (0, _emberDataAttr['default'])('string'),\n    slug: (0, _emberDataAttr['default'])('string')\n  });\n});","define('bc-frontend/data-set-schema/supports-sampling', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Object.create({\n    'spontaneous-alternation': false,\n    'analysis': true,\n    'photobeam-activity': true,\n    'centroid': false,\n    'manual-scoring-analysis': false,\n    'photobeam-activity': true,\n    'zone-sequence': false,\n    'zoned-analysis': true\n  });\n});","define('bc-frontend/data-set/ability', ['exports', 'ember-can', 'ember'], function (exports, _emberCan, _ember) {\n  exports['default'] = _emberCan.Ability.extend({\n    test: _ember['default'].computed.alias('model.test'),\n\n    canManage: _ember['default'].computed('test.myPermissions', function () {\n      var permissions = this.get('test.myPermissions');\n      return permissions && permissions.indexOf('manage_test') >= 0;\n    }),\n    canChange: _ember['default'].computed('test.myPermissions', function () {\n      var permissions = this.get('test.myPermissions');\n      return permissions && permissions.indexOf('change_test') >= 0;\n    }),\n    canRead: _ember['default'].computed('test.myPermissions', function () {\n      var permissions = this.get('test.myPermissions');\n      return permissions && permissions.indexOf('read_test') >= 0;\n    }),\n    canDelete: _ember['default'].computed('test.myPermissions', function () {\n      var permissions = this.get('test.myPermissions');\n      return permissions && permissions.indexOf('delete_test') >= 0;\n    })\n  });\n});","define('bc-frontend/data-set/model', ['exports', 'bc-frontend/config/environment', 'ember-data/model', 'ember-data/attr', 'ember-data/relationships', 'ember'], function (exports, _bcFrontendConfigEnvironment, _emberDataModel, _emberDataAttr, _emberDataRelationships, _ember) {\n  var computed = _ember['default'].computed;\n  exports['default'] = _emberDataModel['default'].extend({\n    test: (0, _emberDataRelationships.belongsTo)('test'),\n    // TODO\n    subject: (0, _emberDataAttr['default'])('string'),\n\n    url: (0, _emberDataAttr['default'])('string'),\n    thumbnailUrl: (0, _emberDataAttr['default'])('string'),\n\n    clearing: (0, _emberDataAttr['default'])('date'),\n    collecting: (0, _emberDataAttr['default'])('date'),\n    complete: (0, _emberDataAttr['default'])('date'),\n    converting: (0, _emberDataAttr['default'])('date'),\n    created: (0, _emberDataAttr['default'])('date'),\n    inserting: (0, _emberDataAttr['default'])('date'),\n    updated: (0, _emberDataAttr['default'])('date'),\n\n    originData: (0, _emberDataRelationships.belongsTo)('data-set', {\n      inverse: null\n    }),\n\n    originDevice: (0, _emberDataRelationships.belongsTo)('device', {\n      inverse: null\n    }),\n\n    // typeSlug: attr('string'),\n    metaData: (0, _emberDataAttr['default'])(),\n\n    dataInternalUri: (0, _emberDataAttr['default'])('string'),\n    dataPublicUri: (0, _emberDataAttr['default'])('string'),\n\n    duration: (0, _emberDataAttr['default'])(),\n    status: (0, _emberDataAttr['default'])('string'),\n    reason: (0, _emberDataAttr['default'])('string'),\n\n    schema: (0, _emberDataRelationships.belongsTo)('dataSetSchema', {\n      inverse: null\n    }),\n\n    siblingDataSets: (0, _emberDataAttr['default'])('string', {\n      defaultValue: '{}'\n    }),\n\n    canExport: (0, _emberDataAttr['default'])('boolean'),\n    isRealtime: (0, _emberDataAttr['default'])('boolean'),\n    realtimeId: (0, _emberDataAttr['default'])('string'),\n    realtimeUri: (0, _emberDataAttr['default'])('string'),\n\n    isAppending: _ember['default'].computed.equal('status', 'append'),\n    isClearing: _ember['default'].computed.equal('status', 'clearing'),\n    isInserting: _ember['default'].computed.equal('status', 'inserting'),\n    isCollecting: _ember['default'].computed.equal('status', 'collecting'),\n    isQueued: _ember['default'].computed.equal('status', 'queued'),\n    isAnalyzing: _ember['default'].computed.equal('status', 'analyzing'),\n    isConverting: _ember['default'].computed.equal('status', 'converting'),\n    isRealtimeAppending: _ember['default'].computed.and('isRealtime', 'isAppending'),\n    isReceiving: _ember['default'].computed.or('isRealtimeAppending', 'isClearing', 'isInserting', 'isCollecting'),\n\n    isOrigin: _ember['default'].computed.not('originData.id'),\n    isDestination: _ember['default'].computed.not('isOrigin'),\n    isLiveOrigin: _ember['default'].computed.and('isOrigin', 'isReceiving'),\n    isLiveDestination: _ember['default'].computed.and('isDestination', 'isReceiving'),\n\n    realSiblings: computed('siblingDataSets', function () {\n      var siblingDataSets = this.get('siblingDataSets');\n      if (siblingDataSets) {\n        return JSON.parse(siblingDataSets);\n      }\n      return {};\n    }),\n\n    playbackUri: computed(function () {\n      var url = this.get('url');\n\n      if (url.indexOf(\"://\") >= 0) {\n        return url;\n      }\n\n      var dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      return '' + dataHost + url;\n    }),\n\n    thumbUri: computed(function () {\n      return this.get('thumbnailUrl');\n    }),\n\n    displayLabel: (0, _emberDataAttr['default'])('string'),\n\n    lastSample: computed(function () {\n      return {};\n    })\n\n  });\n});","define('bc-frontend/data-set/modern-schemas', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].A(['spontaneous-alternation', 'analysis', 'photobeam-activity', 'centroid', 'manual-scoring-data', 'manual-scoring-analysis', 'photobeam-data', 'zone-sequence', 'zoned-analysis']);\n});","define('bc-frontend/device/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({});\n});","define('bc-frontend/device/dataset/controller', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  exports['default'] = _ember['default'].Controller.extend({\n    session: _ember['default'].inject.service(),\n\n    isAborted: _ember['default'].computed.equal('model.status', 'aborted'),\n    isCompleted: _ember['default'].computed.equal('model.status', 'completed'),\n    hasError: _ember['default'].computed.equal('model.status', 'error'),\n\n    shouldShowDownload: _ember['default'].computed.and('model.canExport', 'isCompleted'),\n    modelChanged: false,\n    preventTransition: _ember['default'].computed.alias('modelChanged'),\n\n    exportLink: _ember['default'].computed('model', 'session.session.authenticated.token', function () {\n      var token = this.get('session.session.authenticated.token'),\n          dataSetId = this.get('model.id'),\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      var requestObj = {\n        'token': token\n      };\n      var q = btoa(decodeURIComponent(encodeURIComponent(JSON.stringify(requestObj))));\n\n      return dataHost + '/api/dataSets/' + dataSetId + '/csv?q=' + q;\n    }),\n\n    onAppend: function onAppend(data) {\n      var model = this.get('model');\n\n      if (model.isRealtime) {\n        model.set('lastSample', data.payload);\n      }\n    },\n\n    actions: {\n      transition: function transition(route) {\n        this.transitionToRoute(route);\n      }\n    }\n  });\n});","define('bc-frontend/device/dataset/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin', 'bc-frontend/mixins/prevent-transition-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin, _bcFrontendMixinsPreventTransitionMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], _bcFrontendMixinsPreventTransitionMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('dataSet', params.dataset_id);\n    }\n  });\n});","define(\"bc-frontend/device/dataset/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"3gq3x1Lp\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail\\\"],null,[[\\\"dataSet\\\",\\\"transition\\\",\\\"onModifiedChanged\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"transition\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"modelChanged\\\"]]],null]],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/device/dataset/template.hbs\" } });\n});","define(\"bc-frontend/device/index/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"qiP41JjX\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"device-preview\\\"],null,[[\\\"device\\\"],[[\\\"get\\\",[\\\"model\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/device/index/template.hbs\" } });\n});","define('bc-frontend/device/model', ['exports', 'ember-data/model', 'ember-data/attr'], function (exports, _emberDataModel, _emberDataAttr) {\n  exports['default'] = _emberDataModel['default'].extend({\n    label: (0, _emberDataAttr['default'])('string'),\n    deviceId: (0, _emberDataAttr['default'])('string'),\n    uuid: (0, _emberDataAttr['default'])('string')\n  });\n});","define('bc-frontend/device/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('device', params.device_id);\n    }\n  });\n});","define(\"bc-frontend/device/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"9lm0tUMD\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"content-container\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,2],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-subtitle\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"label\\\"]],false],[\\\"close-element\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"block\\\",[\\\"link-to\\\"],[\\\"device\\\"],null,0],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,1],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/device/template.hbs\" } });\n});","define('bc-frontend/devices/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    actions: {\n      closeAddDevice: function closeAddDevice() {\n        this.set('showAddDevice', false);\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/devices/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    model: function model() {\n      return this.get('store').findAll('device');\n    }\n  });\n});","define(\"bc-frontend/devices/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"wuteslpb\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex-offset-gt-sm-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\"]]],null,14,6],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"devices/add-device-dialog\\\"],null,[[\\\"onClose\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"closeAddDevice\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null],true],null],\\\"add\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"device-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"device\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"device\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"model\\\"]]],null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,null,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Add Device\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showAddDevice\\\"]]],null],true],null]]],7],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            BehaviorCloud is all about collecting data. Have a smartphone or BehaviorCloud-enabled device handy? Good.\\\\n            Let's get it added to the system so you can start running tests.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"You don't yet have any devices\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,10],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,11]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-1\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"devices\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,12],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,9],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,8]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],13]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/devices/template.hbs\" } });\n});","define('bc-frontend/ds-updates/service', ['exports', 'ember'], function (exports, _ember) {\n\n  var USER_MESSAGES = _ember['default'].A([]);\n\n  var TEST_MESSAGES = _ember['default'].A(['calibration_started', 'calibration_completed', 'clearing_started', 'clearing_completed', 'inserting_started', 'inserting_completed', 'collection_completed', 'save_pending', 'conversion_started', 'conversion_completed', 'append_started']);\n\n  var DS_MESSAGES = _ember['default'].A(['calibration_update', 'thumbnail_updated', 'append', 'append_started']);\n\n  var ALL_MESSAGES = _ember['default'].A(USER_MESSAGES.toArray()).pushObjects(TEST_MESSAGES).pushObjects(DS_MESSAGES);\n\n  exports['default'] = _ember['default'].Service.extend({\n    pusher: _ember['default'].inject.service(),\n    session: _ember['default'].inject.service(),\n    store: _ember['default'].inject.service(),\n\n    userId: _ember['default'].computed.alias('session.data.authenticated.userId'),\n\n    userChannel: null,\n    testChannel: null,\n    dsChannel: null,\n\n    watchedTest: null,\n    watchedDS: null,\n    testController: null,\n    schemaController: null,\n    dsController: null,\n\n    initialize: function initialize() {\n      var isAuthenticated = this.get('session.isAuthenticated');\n\n      if (isAuthenticated) {\n        this.subscribe();\n      }\n    },\n\n    sessionChanged: _ember['default'].observer('session.isAuthenticated', function () {\n      var isAuthenticated = this.get('session.isAuthenticated');\n\n      if (isAuthenticated) {\n        this.subscribe();\n      } else {\n        this.unsubscribe();\n      }\n    }),\n\n    subscribe: function subscribe() {\n      var self = this,\n          pusher = this.get('pusher.pusher'),\n          userId = this.get('userId'),\n          watchedTest = this.get('watchedTest'),\n          watchedDS = this.get('watchedDS');\n\n      // subscribe to user channel\n      var userChannel = pusher.subscribe('presence-user.' + userId);\n      this.set('userChannel', userChannel);\n\n      ALL_MESSAGES.forEach(function (msg) {\n        userChannel.bind(msg, self.handleMessage.bind(self, msg));\n      });\n\n      if (watchedTest) {\n        this.subscribeTest(watchedTest);\n      }\n\n      if (watchedDS) {\n        this.subscribeDS(watchedDS);\n      }\n    },\n\n    unsubscribe: function unsubscribe() {\n      var pusher = this.get('pusher.pusher'),\n          userId = this.get('userId'),\n          userChannel = this.get('userChannel'),\n          watchedTest = this.get('watchedTest'),\n          watchedDS = this.get('watchedDS');\n\n      if (userChannel && userId) {\n        pusher.unsubscribe('presence-user.' + userId);\n      }\n\n      if (watchedTest) {\n        this.unsubscribeTest(watchedTest);\n      }\n\n      if (watchedDS) {\n        this.unsubscribeDS(watchedDS);\n      }\n    },\n\n    activateTest: function activateTest(controller, test) {\n      this.set('watchedTest', test);\n      this.set('testController', controller);\n\n      if (test) {\n        this.subscribeTest(test);\n      }\n    },\n\n    deactivateTest: function deactivateTest() {\n      var test = this.get('watchedTest');\n\n      if (test) {\n        this.unsubscribeTest(test);\n      }\n\n      this.set('watchedTest', null);\n      this.set('testController', null);\n    },\n\n    activateSchema: function activateSchema(controller) {\n      this.set('schemaController', controller);\n    },\n\n    deactivateSchema: function deactivateSchema() {\n      this.set('schemaController', null);\n    },\n\n    subscribeTest: function subscribeTest(test) {\n      // subscribe to DS channel\n      var pusher = this.get('pusher.pusher'),\n          testChannel = pusher.subscribe('presence-test.' + test),\n          self = this;\n\n      this.set('testChannel', testChannel);\n\n      TEST_MESSAGES.forEach(function (msg) {\n        testChannel.bind(msg, self.handleMessage.bind(self, msg));\n      });\n    },\n\n    unsubscribeTest: function unsubscribeTest(test) {\n      var pusher = this.get('pusher.pusher'),\n          testChannel = this.get('testChannel');\n\n      if (testChannel && test) {\n        pusher.unsubscribe('presence-test.' + test);\n      }\n    },\n\n    activateDS: function activateDS(controller, ds) {\n      this.set('watchedDS', ds);\n      this.set('dsController', controller);\n\n      if (ds) {\n        this.subscribeDS(ds);\n      }\n    },\n\n    deactivateDS: function deactivateDS() {\n      var ds = this.get('watchedDS');\n\n      if (ds) {\n        this.unsubscribeDS(ds);\n      }\n\n      this.set('watchedDS', null);\n      this.set('dsController', null);\n    },\n\n    subscribeDS: function subscribeDS(ds) {\n      // subscribe to DS channel\n      var pusher = this.get('pusher.pusher'),\n          dsChannel = pusher.subscribe('presence-dataset.' + ds),\n          self = this;\n\n      this.set('dsChannel', dsChannel);\n\n      DS_MESSAGES.forEach(function (msg) {\n        dsChannel.bind(msg, self.handleMessage.bind(self, msg));\n      });\n    },\n\n    unsubscribeDS: function unsubscribeDS(ds) {\n      var pusher = this.get('pusher.pusher'),\n          dsChannel = this.get('dsChannel');\n\n      if (dsChannel && ds) {\n        pusher.unsubscribe('dataset.' + ds);\n      }\n    },\n\n    handleMessage: function handleMessage(message, data) {\n      this.userHandler(message, data);\n      this.testHandler(message, data);\n      this.dsHandler(message, data);\n    },\n\n    userHandler: function userHandler(message, data) {\n      if (USER_MESSAGES.includes(message)) {\n        var dsId = data.dataset,\n            store = this.get('store');\n\n        if (!dsId) {\n          return;\n        }\n\n        var ds = store.peekRecord('dataSet', dsId);\n\n        if (ds) {\n          ds.reload();\n        }\n      }\n    },\n\n    testHandler: function testHandler(message, data) {\n      if (TEST_MESSAGES.includes(message)) {\n        var schemaController = this.get('schemaController'),\n            dsId = data.dataset,\n            handlerName = ('on_' + message).camelize(),\n            store = this.get('store');\n\n        if (!dsId) {\n          return;\n        }\n\n        var ds = store.peekRecord('dataSet', dsId);\n\n        if (ds) {\n          ds.reload();\n        }\n\n        if (schemaController && schemaController[handlerName]) {\n          schemaController[handlerName].bind(schemaController)(data);\n        }\n      }\n    },\n\n    dsHandler: function dsHandler(message, data) {\n      var controller = this.get('dsController'),\n          dsId = data.dataset,\n          handlerName = ('on_' + message).camelize(),\n          watchedDS = this.get('watchedDS');\n\n      if (dsId == watchedDS) {\n        if (controller && controller[handlerName]) {\n          controller[handlerName].bind(controller)(data);\n        }\n      }\n    }\n  });\n});","define('bc-frontend/flash-support/service', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Service.extend({\n    isSupported: _ember['default'].computed(function () {\n      /**\n       * Tries to show browser's promt for enabling flash\n       *\n       * Chrome starting from 56 version and Edge from 15 are disabling flash\n       * by default. To promt user to enable flash, they suggest to send user to\n       * flash player download page. Then this browser will catch such request\n       * and show a promt to user:\n       * https://www.chromium.org/flash-roadmap#TOC-Developer-Recommendations\n       * In this method we are forcing such promt by navigating user to adobe\n       * site in iframe, instead of top window\n       */\n      function requestFlashPermission() {\n        var iframe = document.createElement('iframe');\n        iframe.src = 'https://get.adobe.com/flashplayer';\n        iframe.sandbox = '';\n        document.body.appendChild(iframe);\n        document.body.removeChild(iframe);\n      }\n\n      var isNewEdge = (navigator.userAgent.match(/Edge\\/(\\d+)/) || [])[1] > 14;\n      var isNewSafari = (navigator.userAgent.match(/OS X (\\d+)/) || [])[1] > 9;\n      var isNewChrome = (navigator.userAgent.match(/Chrom(e|ium)\\/(\\d+)/) || [])[2] > 56 && !/Mobile/i.test(navigator.userAgent);\n      var canRequestPermission = isNewEdge || isNewSafari || isNewChrome;\n\n      var hasFlash = null;\n\n      try {\n        var fObj = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n        hasFlash = !!fObj;\n      } catch (e) {\n        var mTypes = navigator.mimeTypes[\"application/x-shockwave-flash\"];\n        hasFlash = !!mTypes;\n      }\n\n      if (!hasFlash && canRequestPermission) {\n        // in case, when flash is not available, try to prompt user to enable it\n        requestFlashPermission();\n        // Chrome requires user's click in order to allow iframe embeding\n        $(window).one('click', requestFlashPermission);\n      }\n\n      return hasFlash;\n    })\n  });\n});\n/* globals ActiveXObject */","define('bc-frontend/forgot-password/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({});\n});","define(\"bc-frontend/forgot-password/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"0dRC2gsw\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:400px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,3],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"Back to login\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"login\\\"],null]]],0],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Forgotten password?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please email us at \\\"],[\\\"open-element\\\",\\\"a\\\",[]],[\\\"static-attr\\\",\\\"href\\\",\\\"mailto:support@behaviorcloud.com\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"support@behaviorcloud.com\\\"],[\\\"close-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],2],[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],1]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/forgot-password/template.hbs\" } });\n});","define('bc-frontend/helpers/-paper-underscore', ['exports', 'ember-paper/helpers/underscore'], function (exports, _emberPaperHelpersUnderscore) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperHelpersUnderscore['default'];\n    }\n  });\n  Object.defineProperty(exports, 'underscore', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperHelpersUnderscore.underscore;\n    }\n  });\n});","define('bc-frontend/helpers/abs', ['exports', 'ember-math-helpers/helpers/abs'], function (exports, _emberMathHelpersHelpersAbs) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAbs['default'];\n    }\n  });\n  Object.defineProperty(exports, 'abs', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAbs.abs;\n    }\n  });\n});","define('bc-frontend/helpers/acos', ['exports', 'ember-math-helpers/helpers/acos'], function (exports, _emberMathHelpersHelpersAcos) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAcos['default'];\n    }\n  });\n  Object.defineProperty(exports, 'acos', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAcos.acos;\n    }\n  });\n});","define('bc-frontend/helpers/acosh', ['exports', 'ember-math-helpers/helpers/acosh'], function (exports, _emberMathHelpersHelpersAcosh) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAcosh['default'];\n    }\n  });\n  Object.defineProperty(exports, 'acosh', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAcosh.acosh;\n    }\n  });\n});","define('bc-frontend/helpers/add', ['exports', 'ember-math-helpers/helpers/add'], function (exports, _emberMathHelpersHelpersAdd) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAdd['default'];\n    }\n  });\n  Object.defineProperty(exports, 'add', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAdd.add;\n    }\n  });\n});","define('bc-frontend/helpers/and', ['exports', 'ember', 'ember-truth-helpers/helpers/and'], function (exports, _ember, _emberTruthHelpersHelpersAnd) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersAnd.andHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersAnd.andHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/app-version', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-cli-app-version/utils/regexp'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberCliAppVersionUtilsRegexp) {\n  exports.appVersion = appVersion;\n  var version = _bcFrontendConfigEnvironment['default'].APP.version;\n\n  function appVersion(_) {\n    var hash = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n    if (hash.hideSha) {\n      return version.match(_emberCliAppVersionUtilsRegexp.versionRegExp)[0];\n    }\n\n    if (hash.hideVersion) {\n      return version.match(_emberCliAppVersionUtilsRegexp.shaRegExp)[0];\n    }\n\n    return version;\n  }\n\n  exports['default'] = _ember['default'].Helper.helper(appVersion);\n});","define('bc-frontend/helpers/asin', ['exports', 'ember-math-helpers/helpers/asin'], function (exports, _emberMathHelpersHelpersAsin) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAsin['default'];\n    }\n  });\n  Object.defineProperty(exports, 'asin', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAsin.asin;\n    }\n  });\n});","define('bc-frontend/helpers/asinh', ['exports', 'ember-math-helpers/helpers/asinh'], function (exports, _emberMathHelpersHelpersAsinh) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAsinh['default'];\n    }\n  });\n  Object.defineProperty(exports, 'asinh', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAsinh.asinh;\n    }\n  });\n});","define('bc-frontend/helpers/atan', ['exports', 'ember-math-helpers/helpers/atan'], function (exports, _emberMathHelpersHelpersAtan) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtan['default'];\n    }\n  });\n  Object.defineProperty(exports, 'atan', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtan.atan;\n    }\n  });\n});","define('bc-frontend/helpers/atan2', ['exports', 'ember-math-helpers/helpers/atan2'], function (exports, _emberMathHelpersHelpersAtan2) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtan2['default'];\n    }\n  });\n  Object.defineProperty(exports, 'atan2', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtan2.atan2;\n    }\n  });\n});","define('bc-frontend/helpers/atanh', ['exports', 'ember-math-helpers/helpers/atanh'], function (exports, _emberMathHelpersHelpersAtanh) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtanh['default'];\n    }\n  });\n  Object.defineProperty(exports, 'atanh', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersAtanh.atanh;\n    }\n  });\n});","define('bc-frontend/helpers/camelize', ['exports', 'ember-cli-string-helpers/helpers/camelize'], function (exports, _emberCliStringHelpersHelpersCamelize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersCamelize['default'];\n    }\n  });\n  Object.defineProperty(exports, 'camelize', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersCamelize.camelize;\n    }\n  });\n});","define('bc-frontend/helpers/can', ['exports', 'ember-can/helpers/can'], function (exports, _emberCanHelpersCan) {\n  exports['default'] = _emberCanHelpersCan['default'];\n});","define('bc-frontend/helpers/cancel-all', ['exports', 'ember-concurrency/helpers/cancel-all'], function (exports, _emberConcurrencyHelpersCancelAll) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberConcurrencyHelpersCancelAll['default'];\n    }\n  });\n});","define('bc-frontend/helpers/cannot', ['exports', 'ember-can/helpers/cannot'], function (exports, _emberCanHelpersCannot) {\n  exports['default'] = _emberCanHelpersCannot['default'];\n});","define('bc-frontend/helpers/capitalize', ['exports', 'ember-cli-string-helpers/helpers/capitalize'], function (exports, _emberCliStringHelpersHelpersCapitalize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersCapitalize['default'];\n    }\n  });\n  Object.defineProperty(exports, 'capitalize', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersCapitalize.capitalize;\n    }\n  });\n});","define('bc-frontend/helpers/cbrt', ['exports', 'ember-math-helpers/helpers/cbrt'], function (exports, _emberMathHelpersHelpersCbrt) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCbrt['default'];\n    }\n  });\n  Object.defineProperty(exports, 'cbrt', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCbrt.cbrt;\n    }\n  });\n});","define('bc-frontend/helpers/ceil', ['exports', 'ember-math-helpers/helpers/ceil'], function (exports, _emberMathHelpersHelpersCeil) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCeil['default'];\n    }\n  });\n  Object.defineProperty(exports, 'ceil', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCeil.ceil;\n    }\n  });\n});","define('bc-frontend/helpers/classify', ['exports', 'ember-cli-string-helpers/helpers/classify'], function (exports, _emberCliStringHelpersHelpersClassify) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersClassify['default'];\n    }\n  });\n  Object.defineProperty(exports, 'classify', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersClassify.classify;\n    }\n  });\n});","define('bc-frontend/helpers/clz32', ['exports', 'ember-math-helpers/helpers/clz32'], function (exports, _emberMathHelpersHelpersClz32) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersClz32['default'];\n    }\n  });\n  Object.defineProperty(exports, 'clz32', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersClz32.clz32;\n    }\n  });\n});","define('bc-frontend/helpers/cos', ['exports', 'ember-math-helpers/helpers/cos'], function (exports, _emberMathHelpersHelpersCos) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCos['default'];\n    }\n  });\n  Object.defineProperty(exports, 'cos', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCos.cos;\n    }\n  });\n});","define('bc-frontend/helpers/cosh', ['exports', 'ember-math-helpers/helpers/cosh'], function (exports, _emberMathHelpersHelpersCosh) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCosh['default'];\n    }\n  });\n  Object.defineProperty(exports, 'cosh', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersCosh.cosh;\n    }\n  });\n});","define('bc-frontend/helpers/dasherize', ['exports', 'ember-cli-string-helpers/helpers/dasherize'], function (exports, _emberCliStringHelpersHelpersDasherize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersDasherize['default'];\n    }\n  });\n  Object.defineProperty(exports, 'dasherize', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersDasherize.dasherize;\n    }\n  });\n});","define('bc-frontend/helpers/div', ['exports', 'ember-math-helpers/helpers/div'], function (exports, _emberMathHelpersHelpersDiv) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersDiv['default'];\n    }\n  });\n  Object.defineProperty(exports, 'div', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersDiv.div;\n    }\n  });\n});","define('bc-frontend/helpers/ember-power-select-is-group', ['exports', 'ember-power-select/helpers/ember-power-select-is-group'], function (exports, _emberPowerSelectHelpersEmberPowerSelectIsGroup) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectIsGroup['default'];\n    }\n  });\n  Object.defineProperty(exports, 'emberPowerSelectIsGroup', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectIsGroup.emberPowerSelectIsGroup;\n    }\n  });\n});","define('bc-frontend/helpers/ember-power-select-is-selected', ['exports', 'ember-power-select/helpers/ember-power-select-is-selected'], function (exports, _emberPowerSelectHelpersEmberPowerSelectIsSelected) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectIsSelected['default'];\n    }\n  });\n  Object.defineProperty(exports, 'emberPowerSelectIsSelected', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectIsSelected.emberPowerSelectIsSelected;\n    }\n  });\n});","define('bc-frontend/helpers/ember-power-select-true-string-if-present', ['exports', 'ember-power-select/helpers/ember-power-select-true-string-if-present'], function (exports, _emberPowerSelectHelpersEmberPowerSelectTrueStringIfPresent) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectTrueStringIfPresent['default'];\n    }\n  });\n  Object.defineProperty(exports, 'emberPowerSelectTrueStringIfPresent', {\n    enumerable: true,\n    get: function get() {\n      return _emberPowerSelectHelpersEmberPowerSelectTrueStringIfPresent.emberPowerSelectTrueStringIfPresent;\n    }\n  });\n});","define('bc-frontend/helpers/eq', ['exports', 'ember', 'ember-truth-helpers/helpers/equal'], function (exports, _ember, _emberTruthHelpersHelpersEqual) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersEqual.equalHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersEqual.equalHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/exp', ['exports', 'ember-math-helpers/helpers/exp'], function (exports, _emberMathHelpersHelpersExp) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersExp['default'];\n    }\n  });\n  Object.defineProperty(exports, 'exp', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersExp.exp;\n    }\n  });\n});","define('bc-frontend/helpers/expm1', ['exports', 'ember-math-helpers/helpers/expm1'], function (exports, _emberMathHelpersHelpersExpm1) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersExpm1['default'];\n    }\n  });\n  Object.defineProperty(exports, 'expm1', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersExpm1.expm1;\n    }\n  });\n});","define('bc-frontend/helpers/floor', ['exports', 'ember-math-helpers/helpers/floor'], function (exports, _emberMathHelpersHelpersFloor) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersFloor['default'];\n    }\n  });\n  Object.defineProperty(exports, 'floor', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersFloor.floor;\n    }\n  });\n});","define('bc-frontend/helpers/format-date', ['exports', 'ember-string-helpers/helpers/format-date'], function (exports, _emberStringHelpersHelpersFormatDate) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersFormatDate['default'];\n    }\n  });\n  Object.defineProperty(exports, 'formatDate', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersFormatDate.formatDate;\n    }\n  });\n});","define('bc-frontend/helpers/format-phone', ['exports', 'ember-string-helpers/helpers/format-phone'], function (exports, _emberStringHelpersHelpersFormatPhone) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersFormatPhone['default'];\n    }\n  });\n  Object.defineProperty(exports, 'formatPhone', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersFormatPhone.formatPhone;\n    }\n  });\n});","define('bc-frontend/helpers/fround', ['exports', 'ember-math-helpers/helpers/fround'], function (exports, _emberMathHelpersHelpersFround) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersFround['default'];\n    }\n  });\n  Object.defineProperty(exports, 'fround', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersFround.fround;\n    }\n  });\n});","define('bc-frontend/helpers/gcd', ['exports', 'ember-math-helpers/helpers/gcd'], function (exports, _emberMathHelpersHelpersGcd) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersGcd['default'];\n    }\n  });\n  Object.defineProperty(exports, 'gcd', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersGcd.gcd;\n    }\n  });\n});","define('bc-frontend/helpers/gt', ['exports', 'ember', 'ember-truth-helpers/helpers/gt'], function (exports, _ember, _emberTruthHelpersHelpersGt) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersGt.gtHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersGt.gtHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/gte', ['exports', 'ember', 'ember-truth-helpers/helpers/gte'], function (exports, _ember, _emberTruthHelpersHelpersGte) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersGte.gteHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersGte.gteHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/html-safe', ['exports', 'ember-cli-string-helpers/helpers/html-safe'], function (exports, _emberCliStringHelpersHelpersHtmlSafe) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersHtmlSafe['default'];\n    }\n  });\n  Object.defineProperty(exports, 'htmlSafe', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersHtmlSafe.htmlSafe;\n    }\n  });\n});","define('bc-frontend/helpers/humanize', ['exports', 'ember-cli-string-helpers/helpers/humanize'], function (exports, _emberCliStringHelpersHelpersHumanize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersHumanize['default'];\n    }\n  });\n  Object.defineProperty(exports, 'humanize', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersHumanize.humanize;\n    }\n  });\n});","define('bc-frontend/helpers/hypot', ['exports', 'ember-math-helpers/helpers/hypot'], function (exports, _emberMathHelpersHelpersHypot) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersHypot['default'];\n    }\n  });\n  Object.defineProperty(exports, 'hypot', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersHypot.hypot;\n    }\n  });\n});","define('bc-frontend/helpers/imul', ['exports', 'ember-math-helpers/helpers/imul'], function (exports, _emberMathHelpersHelpersImul) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersImul['default'];\n    }\n  });\n  Object.defineProperty(exports, 'imul', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersImul.imul;\n    }\n  });\n});","define('bc-frontend/helpers/is-after', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-after'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsAfter) {\n  exports['default'] = _emberMomentHelpersIsAfter['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/is-array', ['exports', 'ember', 'ember-truth-helpers/helpers/is-array'], function (exports, _ember, _emberTruthHelpersHelpersIsArray) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersIsArray.isArrayHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersIsArray.isArrayHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/is-before', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-before'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsBefore) {\n  exports['default'] = _emberMomentHelpersIsBefore['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/is-between', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-between'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsBetween) {\n  exports['default'] = _emberMomentHelpersIsBetween['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/is-empty', ['exports', 'ember-truth-helpers/helpers/is-empty'], function (exports, _emberTruthHelpersHelpersIsEmpty) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberTruthHelpersHelpersIsEmpty['default'];\n    }\n  });\n});","define('bc-frontend/helpers/is-equal', ['exports', 'ember-truth-helpers/helpers/is-equal'], function (exports, _emberTruthHelpersHelpersIsEqual) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberTruthHelpersHelpersIsEqual['default'];\n    }\n  });\n  Object.defineProperty(exports, 'isEqual', {\n    enumerable: true,\n    get: function get() {\n      return _emberTruthHelpersHelpersIsEqual.isEqual;\n    }\n  });\n});","define('bc-frontend/helpers/is-same-or-after', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-same-or-after'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsSameOrAfter) {\n  exports['default'] = _emberMomentHelpersIsSameOrAfter['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/is-same-or-before', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-same-or-before'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsSameOrBefore) {\n  exports['default'] = _emberMomentHelpersIsSameOrBefore['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/is-same', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/is-same'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersIsSame) {\n  exports['default'] = _emberMomentHelpersIsSame['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/lf-lock-model', ['exports', 'liquid-fire/helpers/lf-lock-model'], function (exports, _liquidFireHelpersLfLockModel) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireHelpersLfLockModel['default'];\n    }\n  });\n  Object.defineProperty(exports, 'lfLockModel', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireHelpersLfLockModel.lfLockModel;\n    }\n  });\n});","define('bc-frontend/helpers/lf-or', ['exports', 'liquid-fire/helpers/lf-or'], function (exports, _liquidFireHelpersLfOr) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireHelpersLfOr['default'];\n    }\n  });\n  Object.defineProperty(exports, 'lfOr', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireHelpersLfOr.lfOr;\n    }\n  });\n});","define('bc-frontend/helpers/log-e', ['exports', 'ember-math-helpers/helpers/log-e'], function (exports, _emberMathHelpersHelpersLogE) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLogE['default'];\n    }\n  });\n  Object.defineProperty(exports, 'logE', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLogE.logE;\n    }\n  });\n});","define('bc-frontend/helpers/log10', ['exports', 'ember-math-helpers/helpers/log10'], function (exports, _emberMathHelpersHelpersLog10) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog10['default'];\n    }\n  });\n  Object.defineProperty(exports, 'log10', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog10.log10;\n    }\n  });\n});","define('bc-frontend/helpers/log1p', ['exports', 'ember-math-helpers/helpers/log1p'], function (exports, _emberMathHelpersHelpersLog1p) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog1p['default'];\n    }\n  });\n  Object.defineProperty(exports, 'log1p', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog1p.log1p;\n    }\n  });\n});","define('bc-frontend/helpers/log2', ['exports', 'ember-math-helpers/helpers/log2'], function (exports, _emberMathHelpersHelpersLog2) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog2['default'];\n    }\n  });\n  Object.defineProperty(exports, 'log2', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersLog2.log2;\n    }\n  });\n});","define('bc-frontend/helpers/lower-case', ['exports', 'ember-string-helpers/helpers/lower-case'], function (exports, _emberStringHelpersHelpersLowerCase) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersLowerCase['default'];\n    }\n  });\n  Object.defineProperty(exports, 'lowerCase', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersLowerCase.lowerCase;\n    }\n  });\n});","define('bc-frontend/helpers/lowercase', ['exports', 'ember-cli-string-helpers/helpers/lowercase'], function (exports, _emberCliStringHelpersHelpersLowercase) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersLowercase['default'];\n    }\n  });\n  Object.defineProperty(exports, 'lowercase', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersLowercase.lowercase;\n    }\n  });\n});","define('bc-frontend/helpers/lt', ['exports', 'ember', 'ember-truth-helpers/helpers/lt'], function (exports, _ember, _emberTruthHelpersHelpersLt) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersLt.ltHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersLt.ltHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/lte', ['exports', 'ember', 'ember-truth-helpers/helpers/lte'], function (exports, _ember, _emberTruthHelpersHelpersLte) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersLte.lteHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersLte.lteHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/max', ['exports', 'ember-math-helpers/helpers/max'], function (exports, _emberMathHelpersHelpersMax) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMax['default'];\n    }\n  });\n  Object.defineProperty(exports, 'max', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMax.max;\n    }\n  });\n});","define('bc-frontend/helpers/min', ['exports', 'ember-math-helpers/helpers/min'], function (exports, _emberMathHelpersHelpersMin) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMin['default'];\n    }\n  });\n  Object.defineProperty(exports, 'min', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMin.min;\n    }\n  });\n});","define('bc-frontend/helpers/mod', ['exports', 'ember-math-helpers/helpers/mod'], function (exports, _emberMathHelpersHelpersMod) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMod['default'];\n    }\n  });\n  Object.defineProperty(exports, 'mod', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMod.mod;\n    }\n  });\n});","define('bc-frontend/helpers/moment-add', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-add'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentAdd) {\n  exports['default'] = _emberMomentHelpersMomentAdd['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-calendar', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-calendar'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentCalendar) {\n  exports['default'] = _emberMomentHelpersMomentCalendar['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-duration', ['exports', 'ember-moment/helpers/moment-duration'], function (exports, _emberMomentHelpersMomentDuration) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersMomentDuration['default'];\n    }\n  });\n});","define('bc-frontend/helpers/moment-format', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-format'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentFormat) {\n  exports['default'] = _emberMomentHelpersMomentFormat['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-from-now', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-from-now'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentFromNow) {\n  exports['default'] = _emberMomentHelpersMomentFromNow['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-from', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-from'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentFrom) {\n  exports['default'] = _emberMomentHelpersMomentFrom['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-subtract', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-subtract'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentSubtract) {\n  exports['default'] = _emberMomentHelpersMomentSubtract['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-to-date', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-to-date'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentToDate) {\n  exports['default'] = _emberMomentHelpersMomentToDate['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-to-now', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-to-now'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentToNow) {\n  exports['default'] = _emberMomentHelpersMomentToNow['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-to', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/helpers/moment-to'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentHelpersMomentTo) {\n  exports['default'] = _emberMomentHelpersMomentTo['default'].extend({\n    globalAllowEmpty: !!_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.allowEmpty')\n  });\n});","define('bc-frontend/helpers/moment-unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _emberMomentHelpersUnix) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersUnix['default'];\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersUnix.unix;\n    }\n  });\n});","define('bc-frontend/helpers/moment', ['exports', 'ember-moment/helpers/moment'], function (exports, _emberMomentHelpersMoment) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersMoment['default'];\n    }\n  });\n});","define('bc-frontend/helpers/mult', ['exports', 'ember-math-helpers/helpers/mult'], function (exports, _emberMathHelpersHelpersMult) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMult['default'];\n    }\n  });\n  Object.defineProperty(exports, 'mult', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersMult.mult;\n    }\n  });\n});","define('bc-frontend/helpers/not-eq', ['exports', 'ember', 'ember-truth-helpers/helpers/not-equal'], function (exports, _ember, _emberTruthHelpersHelpersNotEqual) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersNotEqual.notEqualHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersNotEqual.notEqualHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/not', ['exports', 'ember', 'ember-truth-helpers/helpers/not'], function (exports, _ember, _emberTruthHelpersHelpersNot) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersNot.notHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersNot.notHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/now', ['exports', 'ember-moment/helpers/now'], function (exports, _emberMomentHelpersNow) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersNow['default'];\n    }\n  });\n});","define('bc-frontend/helpers/number-format', ['exports', 'ember-string-helpers/helpers/number-format'], function (exports, _emberStringHelpersHelpersNumberFormat) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersNumberFormat['default'];\n    }\n  });\n  Object.defineProperty(exports, 'numberFormat', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersNumberFormat.numberFormat;\n    }\n  });\n});","define('bc-frontend/helpers/or', ['exports', 'ember', 'ember-truth-helpers/helpers/or'], function (exports, _ember, _emberTruthHelpersHelpersOr) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersOr.orHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersOr.orHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/helpers/pad-end', ['exports', 'ember-pad/helpers/pad-end'], function (exports, _emberPadHelpersPadEnd) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPadEnd['default'];\n    }\n  });\n  Object.defineProperty(exports, 'padEnd', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPadEnd.padEnd;\n    }\n  });\n});","define('bc-frontend/helpers/pad-start', ['exports', 'ember-pad/helpers/pad-start'], function (exports, _emberPadHelpersPadStart) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPadStart['default'];\n    }\n  });\n  Object.defineProperty(exports, 'padStart', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPadStart.padStart;\n    }\n  });\n});","define('bc-frontend/helpers/pad', ['exports', 'ember-pad/helpers/pad'], function (exports, _emberPadHelpersPad) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPad['default'];\n    }\n  });\n  Object.defineProperty(exports, 'pad', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadHelpersPad.pad;\n    }\n  });\n});","define('bc-frontend/helpers/perform', ['exports', 'ember-concurrency/helpers/perform'], function (exports, _emberConcurrencyHelpersPerform) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberConcurrencyHelpersPerform['default'];\n    }\n  });\n});","define('bc-frontend/helpers/pluralize', ['exports', 'ember-inflector/lib/helpers/pluralize'], function (exports, _emberInflectorLibHelpersPluralize) {\n  exports['default'] = _emberInflectorLibHelpersPluralize['default'];\n});","define('bc-frontend/helpers/pow', ['exports', 'ember-math-helpers/helpers/pow'], function (exports, _emberMathHelpersHelpersPow) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersPow['default'];\n    }\n  });\n  Object.defineProperty(exports, 'pow', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersPow.pow;\n    }\n  });\n});","define('bc-frontend/helpers/random', ['exports', 'ember-math-helpers/helpers/random'], function (exports, _emberMathHelpersHelpersRandom) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersRandom['default'];\n    }\n  });\n  Object.defineProperty(exports, 'random', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersRandom.random;\n    }\n  });\n});","define('bc-frontend/helpers/regexp-replace', ['exports', 'ember-string-helpers/helpers/regexp-replace'], function (exports, _emberStringHelpersHelpersRegexpReplace) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersRegexpReplace['default'];\n    }\n  });\n  Object.defineProperty(exports, 'regexpReplace', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersRegexpReplace.regexpReplace;\n    }\n  });\n});","define('bc-frontend/helpers/round', ['exports', 'ember-math-helpers/helpers/round'], function (exports, _emberMathHelpersHelpersRound) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersRound['default'];\n    }\n  });\n  Object.defineProperty(exports, 'round', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersRound.round;\n    }\n  });\n});","define('bc-frontend/helpers/sign', ['exports', 'ember-math-helpers/helpers/sign'], function (exports, _emberMathHelpersHelpersSign) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSign['default'];\n    }\n  });\n  Object.defineProperty(exports, 'sign', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSign.sign;\n    }\n  });\n});","define('bc-frontend/helpers/sin', ['exports', 'ember-math-helpers/helpers/sin'], function (exports, _emberMathHelpersHelpersSin) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSin['default'];\n    }\n  });\n  Object.defineProperty(exports, 'sin', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSin.sin;\n    }\n  });\n});","define('bc-frontend/helpers/singularize', ['exports', 'ember-inflector/lib/helpers/singularize'], function (exports, _emberInflectorLibHelpersSingularize) {\n  exports['default'] = _emberInflectorLibHelpersSingularize['default'];\n});","define('bc-frontend/helpers/sqrt', ['exports', 'ember-math-helpers/helpers/sqrt'], function (exports, _emberMathHelpersHelpersSqrt) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSqrt['default'];\n    }\n  });\n  Object.defineProperty(exports, 'sqrt', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSqrt.sqrt;\n    }\n  });\n});","define('bc-frontend/helpers/sub', ['exports', 'ember-math-helpers/helpers/sub'], function (exports, _emberMathHelpersHelpersSub) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSub['default'];\n    }\n  });\n  Object.defineProperty(exports, 'sub', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersSub.sub;\n    }\n  });\n});","define('bc-frontend/helpers/substr', ['exports', 'ember-string-helpers/helpers/substr'], function (exports, _emberStringHelpersHelpersSubstr) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersSubstr['default'];\n    }\n  });\n  Object.defineProperty(exports, 'substr', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersSubstr.substr;\n    }\n  });\n});","define('bc-frontend/helpers/tan', ['exports', 'ember-math-helpers/helpers/tan'], function (exports, _emberMathHelpersHelpersTan) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTan['default'];\n    }\n  });\n  Object.defineProperty(exports, 'tan', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTan.tan;\n    }\n  });\n});","define('bc-frontend/helpers/tanh', ['exports', 'ember-math-helpers/helpers/tanh'], function (exports, _emberMathHelpersHelpersTanh) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTanh['default'];\n    }\n  });\n  Object.defineProperty(exports, 'tanh', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTanh.tanh;\n    }\n  });\n});","define('bc-frontend/helpers/task', ['exports', 'ember-concurrency/helpers/task'], function (exports, _emberConcurrencyHelpersTask) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberConcurrencyHelpersTask['default'];\n    }\n  });\n});","define('bc-frontend/helpers/titleize', ['exports', 'ember-cli-string-helpers/helpers/titleize'], function (exports, _emberCliStringHelpersHelpersTitleize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTitleize['default'];\n    }\n  });\n  Object.defineProperty(exports, 'titleize', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTitleize.titleize;\n    }\n  });\n});","define('bc-frontend/helpers/transition-to', ['exports', 'ember-transition-helper/helpers/transition-to'], function (exports, _emberTransitionHelperHelpersTransitionTo) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberTransitionHelperHelpersTransitionTo['default'];\n    }\n  });\n  Object.defineProperty(exports, 'transitionTo', {\n    enumerable: true,\n    get: function get() {\n      return _emberTransitionHelperHelpersTransitionTo.transitionTo;\n    }\n  });\n});","define('bc-frontend/helpers/trim', ['exports', 'ember-cli-string-helpers/helpers/trim'], function (exports, _emberCliStringHelpersHelpersTrim) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTrim['default'];\n    }\n  });\n  Object.defineProperty(exports, 'trim', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTrim.trim;\n    }\n  });\n});","define('bc-frontend/helpers/trunc', ['exports', 'ember-math-helpers/helpers/trunc'], function (exports, _emberMathHelpersHelpersTrunc) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTrunc['default'];\n    }\n  });\n  Object.defineProperty(exports, 'trunc', {\n    enumerable: true,\n    get: function get() {\n      return _emberMathHelpersHelpersTrunc.trunc;\n    }\n  });\n});","define('bc-frontend/helpers/truncate', ['exports', 'ember-cli-string-helpers/helpers/truncate'], function (exports, _emberCliStringHelpersHelpersTruncate) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTruncate['default'];\n    }\n  });\n  Object.defineProperty(exports, 'truncate', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersTruncate.truncate;\n    }\n  });\n});","define('bc-frontend/helpers/uc-words', ['exports', 'ember-string-helpers/helpers/uc-words'], function (exports, _emberStringHelpersHelpersUcWords) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersUcWords['default'];\n    }\n  });\n  Object.defineProperty(exports, 'ucWords', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersUcWords.ucWords;\n    }\n  });\n});","define('bc-frontend/helpers/underscore', ['exports', 'ember-cli-string-helpers/helpers/underscore'], function (exports, _emberCliStringHelpersHelpersUnderscore) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersUnderscore['default'];\n    }\n  });\n  Object.defineProperty(exports, 'underscore', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersUnderscore.underscore;\n    }\n  });\n});","define('bc-frontend/helpers/unix', ['exports', 'ember-moment/helpers/unix'], function (exports, _emberMomentHelpersUnix) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersUnix['default'];\n    }\n  });\n  Object.defineProperty(exports, 'unix', {\n    enumerable: true,\n    get: function get() {\n      return _emberMomentHelpersUnix.unix;\n    }\n  });\n});","define('bc-frontend/helpers/upper-case', ['exports', 'ember-string-helpers/helpers/upper-case'], function (exports, _emberStringHelpersHelpersUpperCase) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersUpperCase['default'];\n    }\n  });\n  Object.defineProperty(exports, 'upperCase', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersHelpersUpperCase.upperCase;\n    }\n  });\n});","define('bc-frontend/helpers/uppercase', ['exports', 'ember-cli-string-helpers/helpers/uppercase'], function (exports, _emberCliStringHelpersHelpersUppercase) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersUppercase['default'];\n    }\n  });\n  Object.defineProperty(exports, 'uppercase', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersUppercase.uppercase;\n    }\n  });\n});","define('bc-frontend/helpers/w', ['exports', 'ember-cli-string-helpers/helpers/w'], function (exports, _emberCliStringHelpersHelpersW) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersW['default'];\n    }\n  });\n  Object.defineProperty(exports, 'w', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersHelpersW.w;\n    }\n  });\n});","define('bc-frontend/helpers/xor', ['exports', 'ember', 'ember-truth-helpers/helpers/xor'], function (exports, _ember, _emberTruthHelpersHelpersXor) {\n\n  var forExport = null;\n\n  if (_ember['default'].Helper) {\n    forExport = _ember['default'].Helper.helper(_emberTruthHelpersHelpersXor.xorHelper);\n  } else if (_ember['default'].HTMLBars.makeBoundHelper) {\n    forExport = _ember['default'].HTMLBars.makeBoundHelper(_emberTruthHelpersHelpersXor.xorHelper);\n  }\n\n  exports['default'] = forExport;\n});","define('bc-frontend/index/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({\n    redirect: function redirect() {\n      this.transitionTo('tests');\n    }\n  });\n});","define('bc-frontend/initializers/app-version', ['exports', 'ember-cli-app-version/initializer-factory', 'bc-frontend/config/environment'], function (exports, _emberCliAppVersionInitializerFactory, _bcFrontendConfigEnvironment) {\n  var _config$APP = _bcFrontendConfigEnvironment['default'].APP;\n  var name = _config$APP.name;\n  var version = _config$APP.version;\n  exports['default'] = {\n    name: 'App Version',\n    initialize: (0, _emberCliAppVersionInitializerFactory['default'])(name, version)\n  };\n});","define('bc-frontend/initializers/clock', ['exports', 'ember-clock/initializers/clock'], function (exports, _emberClockInitializersClock) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberClockInitializersClock['default'];\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function get() {\n      return _emberClockInitializersClock.initialize;\n    }\n  });\n});","define('bc-frontend/initializers/component-router-injector', ['exports'], function (exports) {\n  exports.initialize = initialize;\n  // app/initializers/component-router-injector.js\n\n  function initialize(application) {\n    // Injects all Ember components with a router object:\n    application.inject('component', 'router', 'router:main');\n  }\n\n  exports['default'] = {\n    name: 'component-router-injector',\n    initialize: initialize\n  };\n});","define('bc-frontend/initializers/container-debug-adapter', ['exports', 'ember-resolver/container-debug-adapter'], function (exports, _emberResolverContainerDebugAdapter) {\n  exports['default'] = {\n    name: 'container-debug-adapter',\n\n    initialize: function initialize() {\n      var app = arguments[1] || arguments[0];\n\n      app.register('container-debug-adapter:main', _emberResolverContainerDebugAdapter['default']);\n      app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n    }\n  };\n});","define('bc-frontend/initializers/data-adapter', ['exports'], function (exports) {\n  /*\n    This initializer is here to keep backwards compatibility with code depending\n    on the `data-adapter` initializer (before Ember Data was an addon).\n  \n    Should be removed for Ember Data 3.x\n  */\n\n  exports['default'] = {\n    name: 'data-adapter',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define('bc-frontend/initializers/ember-concurrency', ['exports', 'ember-concurrency/initializers/ember-concurrency'], function (exports, _emberConcurrencyInitializersEmberConcurrency) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberConcurrencyInitializersEmberConcurrency['default'];\n    }\n  });\n});","define('bc-frontend/initializers/ember-data', ['exports', 'ember-data/setup-container', 'ember-data/index'], function (exports, _emberDataSetupContainer, _emberDataIndex) {\n\n  /*\n  \n    This code initializes Ember-Data onto an Ember application.\n  \n    If an Ember.js developer defines a subclass of DS.Store on their application,\n    as `App.StoreService` (or via a module system that resolves to `service:store`)\n    this code will automatically instantiate it and make it available on the\n    router.\n  \n    Additionally, after an application's controllers have been injected, they will\n    each have the store made available to them.\n  \n    For example, imagine an Ember.js application with the following classes:\n  \n    App.StoreService = DS.Store.extend({\n      adapter: 'custom'\n    });\n  \n    App.PostsController = Ember.Controller.extend({\n      // ...\n    });\n  \n    When the application is initialized, `App.ApplicationStore` will automatically be\n    instantiated, and the instance of `App.PostsController` will have its `store`\n    property set to that instance.\n  \n    Note that this code will only be run if the `ember-application` package is\n    loaded. If Ember Data is being used in an environment other than a\n    typical application (e.g., node.js where only `ember-runtime` is available),\n    this code will be ignored.\n  */\n\n  exports['default'] = {\n    name: 'ember-data',\n    initialize: _emberDataSetupContainer['default']\n  };\n});","define('bc-frontend/initializers/ember-intercom', ['exports', 'ember-intercom-io/initializers/ember-intercom'], function (exports, _emberIntercomIoInitializersEmberIntercom) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberIntercomIoInitializersEmberIntercom['default'];\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function get() {\n      return _emberIntercomIoInitializersEmberIntercom.initialize;\n    }\n  });\n});","define('bc-frontend/initializers/ember-simple-auth', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-simple-auth/configuration', 'ember-simple-auth/initializers/setup-session', 'ember-simple-auth/initializers/setup-session-service'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberSimpleAuthConfiguration, _emberSimpleAuthInitializersSetupSession, _emberSimpleAuthInitializersSetupSessionService) {\n  exports['default'] = {\n    name: 'ember-simple-auth',\n    initialize: function initialize(registry) {\n      var config = _bcFrontendConfigEnvironment['default']['ember-simple-auth'] || {};\n      config.baseURL = _bcFrontendConfigEnvironment['default'].baseURL;\n      _emberSimpleAuthConfiguration['default'].load(config);\n\n      (0, _emberSimpleAuthInitializersSetupSession['default'])(registry);\n      (0, _emberSimpleAuthInitializersSetupSessionService['default'])(registry);\n    }\n  };\n});","define('bc-frontend/initializers/export-application-global', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  exports.initialize = initialize;\n\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    if (_bcFrontendConfigEnvironment['default'].exportApplicationGlobal !== false) {\n      var theGlobal;\n      if (typeof window !== 'undefined') {\n        theGlobal = window;\n      } else if (typeof global !== 'undefined') {\n        theGlobal = global;\n      } else if (typeof self !== 'undefined') {\n        theGlobal = self;\n      } else {\n        // no reasonable global, just bail\n        return;\n      }\n\n      var value = _bcFrontendConfigEnvironment['default'].exportApplicationGlobal;\n      var globalName;\n\n      if (typeof value === 'string') {\n        globalName = value;\n      } else {\n        globalName = _ember['default'].String.classify(_bcFrontendConfigEnvironment['default'].modulePrefix);\n      }\n\n      if (!theGlobal[globalName]) {\n        theGlobal[globalName] = application;\n\n        application.reopen({\n          willDestroy: function willDestroy() {\n            this._super.apply(this, arguments);\n            delete theGlobal[globalName];\n          }\n        });\n      }\n    }\n  }\n\n  exports['default'] = {\n    name: 'export-application-global',\n\n    initialize: initialize\n  };\n});","define('bc-frontend/initializers/injectStore', ['exports'], function (exports) {\n  /*\n    This initializer is here to keep backwards compatibility with code depending\n    on the `injectStore` initializer (before Ember Data was an addon).\n  \n    Should be removed for Ember Data 3.x\n  */\n\n  exports['default'] = {\n    name: 'injectStore',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define('bc-frontend/initializers/key-manager-config', ['exports', 'bc-frontend/config/environment', 'ember'], function (exports, _bcFrontendConfigEnvironment, _ember) {\n  exports.initialize = initialize;\n  var get = _ember['default'].get;\n\n  function initialize(application) {\n    var keyManagerConfig = get(_bcFrontendConfigEnvironment['default'], 'keyManagerConfig') || {};\n    application.register('main:key-manager-config', keyManagerConfig, {\n      instantiate: false\n    });\n  }\n\n  exports['default'] = {\n    name: 'key-manager-config',\n    initialize: initialize\n  };\n});","define(\"bc-frontend/initializers/liquid-fire\", [\"exports\", \"liquid-fire/ember-internals\", \"liquid-fire/velocity-ext\"], function (exports, _liquidFireEmberInternals, _liquidFireVelocityExt) {\n\n  (0, _liquidFireEmberInternals.initialize)();\n\n  exports[\"default\"] = {\n    name: 'liquid-fire',\n    initialize: function initialize() {}\n  };\n});","define('bc-frontend/initializers/local-storage-adapter', ['exports', 'ember-local-storage/initializers/local-storage-adapter'], function (exports, _emberLocalStorageInitializersLocalStorageAdapter) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberLocalStorageInitializersLocalStorageAdapter['default'];\n    }\n  });\n  Object.defineProperty(exports, 'initialize', {\n    enumerable: true,\n    get: function get() {\n      return _emberLocalStorageInitializersLocalStorageAdapter.initialize;\n    }\n  });\n});","define('bc-frontend/initializers/metrics', ['exports', 'bc-frontend/config/environment'], function (exports, _bcFrontendConfigEnvironment) {\n  exports.initialize = initialize;\n\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    var _config$metricsAdapters = _bcFrontendConfigEnvironment['default'].metricsAdapters;\n    var metricsAdapters = _config$metricsAdapters === undefined ? [] : _config$metricsAdapters;\n    var _config$environment = _bcFrontendConfigEnvironment['default'].environment;\n    var environment = _config$environment === undefined ? 'development' : _config$environment;\n\n    var options = { metricsAdapters: metricsAdapters, environment: environment };\n\n    application.register('config:metrics', options, { instantiate: false });\n    application.inject('service:metrics', 'options', 'config:metrics');\n  }\n\n  exports['default'] = {\n    name: 'metrics',\n    initialize: initialize\n  };\n});","define('bc-frontend/initializers/raven', ['exports', 'bc-frontend/config/environment'], function (exports, _bcFrontendConfigEnvironment) {\n  exports.initialize = initialize;\n\n  function initialize() {\n    var application = arguments[1] || arguments[0];\n    var _config$sentry$serviceName = _bcFrontendConfigEnvironment['default'].sentry.serviceName;\n    var serviceName = _config$sentry$serviceName === undefined ? 'raven' : _config$sentry$serviceName;\n\n    var lookupName = 'service:' + serviceName;\n    var _config$sentry$exposedPropertyName = _bcFrontendConfigEnvironment['default'].sentry.exposedPropertyName;\n    var exposedPropertyName = _config$sentry$exposedPropertyName === undefined ? 'raven' : _config$sentry$exposedPropertyName;\n\n    application.inject('route', exposedPropertyName, lookupName);\n    application.inject('component', exposedPropertyName, lookupName);\n    application.inject('controller', exposedPropertyName, lookupName);\n    application.inject('model', exposedPropertyName, lookupName);\n  }\n\n  exports['default'] = {\n    initialize: initialize,\n    name: 'raven'\n  };\n});","define('bc-frontend/initializers/setup-ember-can', ['exports', 'require'], function (exports, _require) {\n  var Resolver;\n\n  // This is a bit of a hack, but there is no way to detect\n  // which module is needed via normal `import` statements\n  if (requirejs.entries['ember-resolver'] || requirejs.entries['ember-resolver/index']) {\n    // ember-resolver is provided when the consuming\n    // application uses ember-resolver@^2.0.0 from NPM\n    Resolver = (0, _require['default'])('ember-resolver')['default'];\n  } else {\n    // ember/resolver is provided when the consuming\n    // application uses ember-resolver@^0.1.x from Bower\n    Resolver = (0, _require['default'])('ember/resolver')['default'];\n  }\n\n  Resolver.reopen({\n    pluralizedTypes: {\n      ability: 'abilities'\n    }\n  });\n\n  exports['default'] = {\n    name: 'setup-ember-can',\n    initialize: function initialize(application) {\n      // make sure we create new ability instances each time, otherwise we stomp on each other's models\n      if (application.optionsForType) {\n        // it's a container / registry in 1.13.x\n        application.optionsForType('ability', { singleton: false });\n      } else {\n        // Ember 2.0.x\n        application.registerOptionsForType('ability', { singleton: false });\n      }\n    }\n  };\n});\n/* globals requirejs */","define('bc-frontend/initializers/simple-auth-token', ['exports', 'ember-simple-auth-token/authenticators/token', 'ember-simple-auth-token/authenticators/jwt', 'ember-simple-auth-token/authorizers/token', 'ember-simple-auth-token/configuration', 'bc-frontend/config/environment'], function (exports, _emberSimpleAuthTokenAuthenticatorsToken, _emberSimpleAuthTokenAuthenticatorsJwt, _emberSimpleAuthTokenAuthorizersToken, _emberSimpleAuthTokenConfiguration, _bcFrontendConfigEnvironment) {\n\n  /**\n    Ember Simple Auth Token's Initializer.\n    By default load both the Token and JWT (with refresh) Authenticators.\n  */\n  exports['default'] = {\n    name: 'ember-simple-auth-token',\n    before: 'ember-simple-auth',\n    initialize: function initialize(container) {\n      _emberSimpleAuthTokenConfiguration['default'].load(container, _bcFrontendConfigEnvironment['default']['ember-simple-auth-token'] || {});\n      container.register('authorizer:token', _emberSimpleAuthTokenAuthorizersToken['default']);\n      container.register('authenticator:token', _emberSimpleAuthTokenAuthenticatorsToken['default']);\n      container.register('authenticator:jwt', _emberSimpleAuthTokenAuthenticatorsJwt['default']);\n    }\n  };\n});","define('bc-frontend/initializers/store', ['exports'], function (exports) {\n  /*\n    This initializer is here to keep backwards compatibility with code depending\n    on the `store` initializer (before Ember Data was an addon).\n  \n    Should be removed for Ember Data 3.x\n  */\n\n  exports['default'] = {\n    name: 'store',\n    after: 'ember-data',\n    initialize: function initialize() {}\n  };\n});","define('bc-frontend/initializers/transforms', ['exports'], function (exports) {\n  /*\n    This initializer is here to keep backwards compatibility with code depending\n    on the `transforms` initializer (before Ember Data was an addon).\n  \n    Should be removed for Ember Data 3.x\n  */\n\n  exports['default'] = {\n    name: 'transforms',\n    before: 'store',\n    initialize: function initialize() {}\n  };\n});","define('bc-frontend/initializers/truth-helpers', ['exports', 'ember', 'ember-truth-helpers/utils/register-helper', 'ember-truth-helpers/helpers/and', 'ember-truth-helpers/helpers/or', 'ember-truth-helpers/helpers/equal', 'ember-truth-helpers/helpers/not', 'ember-truth-helpers/helpers/is-array', 'ember-truth-helpers/helpers/not-equal', 'ember-truth-helpers/helpers/gt', 'ember-truth-helpers/helpers/gte', 'ember-truth-helpers/helpers/lt', 'ember-truth-helpers/helpers/lte'], function (exports, _ember, _emberTruthHelpersUtilsRegisterHelper, _emberTruthHelpersHelpersAnd, _emberTruthHelpersHelpersOr, _emberTruthHelpersHelpersEqual, _emberTruthHelpersHelpersNot, _emberTruthHelpersHelpersIsArray, _emberTruthHelpersHelpersNotEqual, _emberTruthHelpersHelpersGt, _emberTruthHelpersHelpersGte, _emberTruthHelpersHelpersLt, _emberTruthHelpersHelpersLte) {\n  exports.initialize = initialize;\n\n  function initialize() /* container, application */{\n\n    // Do not register helpers from Ember 1.13 onwards, starting from 1.13 they\n    // will be auto-discovered.\n    if (_ember['default'].Helper) {\n      return;\n    }\n\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('and', _emberTruthHelpersHelpersAnd.andHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('or', _emberTruthHelpersHelpersOr.orHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('eq', _emberTruthHelpersHelpersEqual.equalHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('not', _emberTruthHelpersHelpersNot.notHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('is-array', _emberTruthHelpersHelpersIsArray.isArrayHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('not-eq', _emberTruthHelpersHelpersNotEqual.notEqualHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('gt', _emberTruthHelpersHelpersGt.gtHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('gte', _emberTruthHelpersHelpersGte.gteHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('lt', _emberTruthHelpersHelpersLt.ltHelper);\n    (0, _emberTruthHelpersUtilsRegisterHelper.registerHelper)('lte', _emberTruthHelpersHelpersLte.lteHelper);\n  }\n\n  exports['default'] = {\n    name: 'truth-helpers',\n    initialize: initialize\n  };\n});","define(\"bc-frontend/instance-initializers/ember-data\", [\"exports\", \"ember-data/instance-initializers/initialize-store-service\"], function (exports, _emberDataInstanceInitializersInitializeStoreService) {\n  exports[\"default\"] = {\n    name: \"ember-data\",\n    initialize: _emberDataInstanceInitializersInitializeStoreService[\"default\"]\n  };\n});","define('bc-frontend/instance-initializers/ember-simple-auth', ['exports', 'ember-simple-auth/instance-initializers/setup-session-restoration'], function (exports, _emberSimpleAuthInstanceInitializersSetupSessionRestoration) {\n  exports['default'] = {\n    name: 'ember-simple-auth',\n    initialize: function initialize(instance) {\n      (0, _emberSimpleAuthInstanceInitializersSetupSessionRestoration['default'])(instance);\n    }\n  };\n});","define('bc-frontend/instance-initializers/raven-setup', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  exports.initialize = initialize;\n\n  function initialize(application) {\n    if (_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'sentry.development') === true) {\n      if (_ember['default'].get(_bcFrontendConfigEnvironment['default'], 'sentry.debug') === true) {\n        _ember['default'].Logger.info('`sentry` is configured for development mode.');\n      }\n      return;\n    }\n\n    if (!_bcFrontendConfigEnvironment['default'].sentry) {\n      throw new Error('`sentry` should be configured when not in development mode.');\n    }\n\n    var _config$sentry$serviceName = _bcFrontendConfigEnvironment['default'].sentry.serviceName;\n    var serviceName = _config$sentry$serviceName === undefined ? 'raven' : _config$sentry$serviceName;\n\n    var lookupName = 'service:' + serviceName;\n    var service = application.lookup ? application.lookup(lookupName) : application.container.lookup(lookupName);\n\n    service.setup(_bcFrontendConfigEnvironment['default']);\n  }\n\n  exports['default'] = {\n    initialize: initialize,\n    name: 'sentry-setup'\n  };\n});","define('bc-frontend/loading/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({});\n});","define(\"bc-frontend/loading/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"qGmfcboE\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center full-screen\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-progress-circular\\\"],null,[[\\\"warn\\\",\\\"diameter\\\"],[true,96]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"One moment, please.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/loading/template.hbs\" } });\n});","define('bc-frontend/login/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    session: _ember['default'].inject.service(),\n\n    isPending: false,\n    errorMessage: '',\n\n    actions: {\n      authenticate: function authenticate() {\n        var _this = this;\n\n        var credentials = this.getProperties('identification', 'password'),\n            authenticator = 'authenticator:jwt';\n\n        this.set('isPending', true);\n        this.get('session').authenticate(authenticator, credentials)['catch'](function (reason) {\n          _this.set('errorMessage', reason.non_field_errors || reason.error || reason);\n          _this.set('isPending', false);\n        });\n      }\n    }\n  });\n});\n// app/controllers/login.js","define('bc-frontend/login/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({\n    activate: function activate() {\n      this.controllerFor('login').set('isPending', false);\n    }\n  });\n});","define(\"bc-frontend/login/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"2nbt1jPH\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:400px; max-width: 90vw; margin: 0 auto;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,7],[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-start\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-progress-linear\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            Sign up\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            Forgot password?\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"forgot-password\\\"],null]]],2],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"primary\\\",\\\"href\\\",\\\"target\\\"],[true,\\\"https://www.behaviorcloud.com#contactus\\\",\\\"_blank\\\"]],1],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Login\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-body-2\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"errorMessage\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"form\\\",[]],[\\\"modifier\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"authenticate\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"errorMessage\\\"]]],null,5],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"autofocus\\\",\\\"value\\\",\\\"disabled\\\",\\\"type\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[true,[\\\"get\\\",[\\\"identification\\\"]],[\\\"get\\\",[\\\"isPending\\\"]],\\\"email\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"identification\\\"]]],null]],null],\\\"Email\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"value\\\",\\\"disabled\\\",\\\"type\\\",\\\"onChange\\\",\\\"label\\\",\\\"block\\\"],[[\\\"get\\\",[\\\"password\\\"]],[\\\"get\\\",[\\\"isPending\\\"]],\\\"password\\\",[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"password\\\"]]],null]],null],\\\"Password\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-end-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"type\\\",\\\"primary\\\",\\\"raised\\\",\\\"disabled\\\"],[\\\"submit\\\",true,true,[\\\"get\\\",[\\\"isPending\\\"]]]],4],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,[[\\\"class\\\"],[\\\"flex\\\"]],6],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isPending\\\"]]],null,0]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/login/template.hbs\" } });\n});","define('bc-frontend/mixins/axis-titles', ['exports', 'ember-charts/mixins/axis-titles'], function (exports, _emberChartsMixinsAxisTitles) {\n  exports['default'] = _emberChartsMixinsAxisTitles['default'];\n});","define('bc-frontend/mixins/data-set-route-mixin', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Mixin.create({\n    dsUpdates: _ember['default'].inject.service(),\n\n    setupController: function setupController(controller, model) {\n      this._super(controller, model);\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.activateDS(controller, model.get('id'));\n    },\n\n    deactivate: function deactivate() {\n      this._super();\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.deactivateDS();\n    }\n  });\n});","define('bc-frontend/mixins/device-preview-mixin', ['exports', 'ember'], function (exports, _ember) {\n\n  var DEVICE_MESSAGES = _ember['default'].A(['data_received']);\n\n  exports['default'] = _ember['default'].Mixin.create({\n    pusher: _ember['default'].inject.service(),\n    watchedChannel: null,\n\n    previewData: _ember['default'].computed.alias('data.device'),\n    channelUri: _ember['default'].computed.alias('previewData.uri'),\n\n    didInsertElement: function didInsertElement() {\n      this._super.apply(this, arguments);\n\n      var self = this,\n          pusher = this.get('pusher.pusher'),\n          channelUri = this.get('channelUri');\n\n      // subscribe to user channel\n      var channel = pusher.subscribe(channelUri);\n      this.set('watchedChannel', channel);\n\n      DEVICE_MESSAGES.forEach(function (msg) {\n        channel.bind(msg, self.handleMessage.bind(self, msg));\n      });\n    },\n\n    handleMessage: function handleMessage(message, data) {\n      this.dataReceived(data.payload);\n    },\n\n    dataReceived: function dataReceived() /*payload*/{\n      // Not implemented\n      console.log('Data received but no handler implemented.');\n    },\n\n    willDestroyElement: function willDestroyElement() {\n      this._super.apply(this, arguments);\n\n      var pusher = this.get('pusher.pusher'),\n          channelUri = this.get('channelUri');\n\n      pusher.unsubscribe(channelUri);\n      this.set('watchedChannel', null);\n    }\n  });\n});","define('bc-frontend/mixins/label-width', ['exports', 'ember-charts/mixins/label-width'], function (exports, _emberChartsMixinsLabelWidth) {\n  exports['default'] = _emberChartsMixinsLabelWidth['default'];\n});","define('bc-frontend/mixins/legend', ['exports', 'ember-charts/mixins/legend'], function (exports, _emberChartsMixinsLegend) {\n  exports['default'] = _emberChartsMixinsLegend['default'];\n});","define('bc-frontend/mixins/prevent-transition-mixin', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Mixin.create({\n    actions: {\n      willTransition: function willTransition(transition) {\n        if (this.get('controller.preventTransition')) {\n          if (!confirm('You have unsaved changes. Are you sure you want to leave?')) {\n            transition.abort();\n            // hacky fix to prevent the URL from getting out of sync\n            if (window.history) {\n              window.history.forward();\n            }\n          } else {\n            this.get('controller').set('preventTransition', false);\n          }\n        }\n      }\n    }\n  });\n});","define('bc-frontend/mixins/schema-route-mixin', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Mixin.create({\n    dsUpdates: _ember['default'].inject.service(),\n\n    setupController: function setupController(controller, model) {\n      this._super(controller, model);\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.activateSchema(controller);\n    },\n\n    deactivate: function deactivate() {\n      this._super();\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.deactivateSchema();\n    }\n  });\n});","define('bc-frontend/mixins/test-route-mixin', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Mixin.create({\n    dsUpdates: _ember['default'].inject.service(),\n\n    setupController: function setupController(controller, model) {\n      this._super(controller, model);\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.activateTest(controller, model.get('id'));\n    },\n\n    deactivate: function deactivate() {\n      this._super();\n\n      var dsUpdates = this.get('dsUpdates');\n      dsUpdates.deactivateTest();\n    }\n  });\n});","define('bc-frontend/mixins/transition-mixin', ['exports', 'ember-css-transitions/mixins/transition-mixin'], function (exports, _emberCssTransitionsMixinsTransitionMixin) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCssTransitionsMixinsTransitionMixin['default'];\n    }\n  });\n});","define('bc-frontend/pusher/service', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n\n  var pusherKey = _bcFrontendConfigEnvironment['default']['pusher-key'];\n\n  exports['default'] = _ember['default'].Service.extend({\n    session: _ember['default'].inject.service(),\n\n    pusher: _ember['default'].computed('session.session.authenticated.token', function () {\n      // Enable pusher logging - don't include this in production\n      if (_bcFrontendConfigEnvironment['default'].environment === 'development') {\n        Pusher.logToConsole = true;\n      }\n\n      var authToken = this.get('session.session.authenticated.token');\n\n      var pusher = new Pusher(pusherKey, {\n        encrypted: true,\n        authEndpoint: _bcFrontendConfigEnvironment['default']['apiHost'] + '/api/pusher/auth',\n        auth: {\n          headers: {\n            'Authorization': 'JWT ' + authToken\n          }\n        }\n      });\n\n      return pusher;\n    })\n  });\n});\n/* globals Pusher */","define('bc-frontend/resolver', ['exports', 'ember-resolver'], function (exports, _emberResolver) {\n  exports['default'] = _emberResolver['default'];\n});","define('bc-frontend/router', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n\n  var Router = _ember['default'].Router.extend({\n    location: _bcFrontendConfigEnvironment['default'].locationType,\n    rootURL: _bcFrontendConfigEnvironment['default'].rootURL,\n    metrics: _ember['default'].inject.service(),\n\n    didTransition: function didTransition() {\n      this._super.apply(this, arguments);\n      this._trackPage();\n    },\n\n    _trackPage: function _trackPage() {\n      var _this = this;\n\n      _ember['default'].run.scheduleOnce('afterRender', this, function () {\n        var page = _this.get('url');\n        var title = _this.getWithDefault('currentRouteName', 'unknown');\n\n        _ember['default'].get(_this, 'metrics').trackPage({ page: page, title: title });\n      });\n    }\n  });\n\n  Router.map(function () {\n    this.route('login');\n    this.route('user', {\n      path: '/user/:user_id'\n    });\n    this.route('dashboard');\n    this.route('devices');\n    this.route('tests', {\n      path: '/patients'\n    });\n    this.route('device', {\n      path: '/device/:device_id'\n    }, function () {\n      this.route('dataset', {\n        path: '/dataset/:dataset_id'\n      });\n    });\n    this.route('test', {\n      path: '/test/:test_id'\n    }, function () {\n      this.route('alternation', {\n        path: '/alternation/:schema_id'\n      });\n      this.route('analysis', {\n        path: '/analysis/:schema_id'\n      });\n      this.route('boundary', {\n        path: '/boundary/:schema_id'\n      });\n      this.route('calibration', {\n        path: '/calibration/:schema_id'\n      });\n      this.route('centroids', {\n        path: '/centroids/:schema_id'\n      });\n      this.route('data', {\n        path: '/data/:dataset_id'\n      });\n      // dataset is replacing data soon...\n      this.route('dataset', {\n        path: '/dataset/:dataset_id'\n      });\n      this.route('videos', {\n        path: '/videos/:schema_id'\n      });\n      this.route('manual-data', {\n        path: '/manual-data/:schema_id'\n      });\n      this.route('manual-setup', {\n        path: '/manual-setup/:schema_id'\n      });\n      this.route('manual-analysis', {\n        path: '/manual-analysis/:schema_id'\n      });\n      this.route('zones', {\n        path: '/zones/:schema_id'\n      });\n      this.route('zoned-analysis', {\n        path: '/zoned-analysis/:schema_id'\n      });\n      this.route('zone-sequence', {\n        path: '/zone-sequence/:schema_id'\n      });\n      this.route('photobeam', {\n        path: '/photobeam/:schema_id'\n      });\n      this.route('photobeam-activity', {\n        path: '/photobeam-activity/:schema_id'\n      });\n    });\n    this.route('settings', function () {\n      this.route('billing');\n    });\n    this.route('forgot-password');\n    this.route('confirm');\n    this.route('activate', {\n      path: '/activate/:user_id'\n    });\n    this.route('activatepw', {\n      path: '/activatepw/:user_id'\n    });\n    this.route('shared');\n    this.route('loading');\n  });\n\n  exports['default'] = Router;\n});","define('bc-frontend/routes/application', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend();\n});","define('bc-frontend/services/ajax', ['exports', 'ember-ajax/services/ajax'], function (exports, _emberAjaxServicesAjax) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberAjaxServicesAjax['default'];\n    }\n  });\n});","define('bc-frontend/services/can', ['exports', 'ember-can'], function (exports, _emberCan) {\n  exports['default'] = _emberCan.CanService;\n});","define('bc-frontend/services/clock', ['exports', 'ember-clock/services/clock'], function (exports, _emberClockServicesClock) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberClockServicesClock['default'];\n    }\n  });\n});","define('bc-frontend/services/constants', ['exports', 'ember'], function (exports, _ember) {\n  var Service = _ember['default'].Service;\n  var inject = _ember['default'].inject;\n  var computed = _ember['default'].computed;\n  var EObject = _ember['default'].Object;\n  exports['default'] = Service.extend({\n\n    sniffer: inject.service('sniffer'),\n\n    webkit: computed(function () {\n      return (/webkit/i.test(this.get('sniffer.vendorPrefix'))\n      );\n    }),\n\n    vendorProperty: function vendorProperty(name) {\n      var prefix = this.get('sniffer.vendorPrefix').toLowerCase();\n      return this.get('webkit') ? '-webkit-' + name.charAt(0) + name.substring(1) : name;\n    },\n\n    CSS: computed('webkit', function () {\n      var webkit = this.get('webkit');\n      return {\n        /* Constants */\n        TRANSITIONEND: 'transitionend' + (webkit ? ' webkitTransitionEnd' : ''),\n        ANIMATIONEND: 'animationend' + (webkit ? ' webkitAnimationEnd' : ''),\n\n        TRANSFORM: this.vendorProperty('transform'),\n        TRANSFORM_ORIGIN: this.vendorProperty('transformOrigin'),\n        TRANSITION: this.vendorProperty('transition'),\n        TRANSITION_DURATION: this.vendorProperty('transitionDuration'),\n        ANIMATION_PLAY_STATE: this.vendorProperty('animationPlayState'),\n        ANIMATION_DURATION: this.vendorProperty('animationDuration'),\n        ANIMATION_NAME: this.vendorProperty('animationName'),\n        ANIMATION_TIMING: this.vendorProperty('animationTimingFunction'),\n        ANIMATION_DIRECTION: this.vendorProperty('animationDirection')\n      };\n    }),\n\n    KEYCODE: EObject.create({\n      ENTER: 13,\n      ESCAPE: 27,\n      SPACE: 32,\n      LEFT_ARROW: 37,\n      UP_ARROW: 38,\n      RIGHT_ARROW: 39,\n      DOWN_ARROW: 40,\n      TAB: 9\n    }),\n\n    MEDIA: {\n      'xs': '(max-width: 599px)',\n      'gt-xs': '(min-width: 600px)',\n      'sm': '(min-width: 600px) and (max-width: 959px)',\n      'gt-sm': '(min-width: 960px)',\n      'md': '(min-width: 960px) and (max-width: 1279px)',\n      'gt-md': '(min-width: 1280px)',\n      'lg': '(min-width: 1280px) and (max-width: 1919px)',\n      'gt-lg': '(min-width: 1920px)',\n      'xl': '(min-width: 1920px)',\n      'print': 'print'\n    },\n\n    MEDIA_PRIORITY: ['xl', 'gt-lg', 'lg', 'gt-md', 'md', 'gt-sm', 'sm', 'gt-xs', 'xs', 'print']\n  });\n});","define('bc-frontend/services/ember-initials-store', ['exports', 'ember-initials/services/ember-initials-store'], function (exports, _emberInitialsServicesEmberInitialsStore) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberInitialsServicesEmberInitialsStore['default'];\n    }\n  });\n});","define('bc-frontend/services/intercom', ['exports', 'ember-intercom-io/services/intercom', 'bc-frontend/config/environment'], function (exports, _emberIntercomIoServicesIntercom, _bcFrontendConfigEnvironment) {\n  var _Ember = Ember;\n  var getWithDefault = _Ember.getWithDefault;\n  exports['default'] = _emberIntercomIoServicesIntercom['default'].extend({\n    config: getWithDefault(_bcFrontendConfigEnvironment['default'], 'intercom', {})\n  });\n});","define('bc-frontend/services/key-manager', ['exports', 'ember-key-manager/services/key-manager'], function (exports, _emberKeyManagerServicesKeyManager) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberKeyManagerServicesKeyManager['default'];\n    }\n  });\n});","define(\"bc-frontend/services/liquid-fire-transitions\", [\"exports\", \"liquid-fire/transition-map\"], function (exports, _liquidFireTransitionMap) {\n  exports[\"default\"] = _liquidFireTransitionMap[\"default\"];\n});","define('bc-frontend/services/metrics', ['exports', 'ember-metrics/services/metrics'], function (exports, _emberMetricsServicesMetrics) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMetricsServicesMetrics['default'];\n    }\n  });\n});","define('bc-frontend/services/moment', ['exports', 'ember', 'bc-frontend/config/environment', 'ember-moment/services/moment'], function (exports, _ember, _bcFrontendConfigEnvironment, _emberMomentServicesMoment) {\n  exports['default'] = _emberMomentServicesMoment['default'].extend({\n    defaultFormat: _ember['default'].get(_bcFrontendConfigEnvironment['default'], 'moment.outputFormat')\n  });\n});","define('bc-frontend/services/paper-sidenav', ['exports', 'ember-paper/services/paper-sidenav'], function (exports, _emberPaperServicesPaperSidenav) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperServicesPaperSidenav['default'];\n    }\n  });\n});","define('bc-frontend/services/paper-toaster', ['exports', 'ember-paper/services/paper-toaster'], function (exports, _emberPaperServicesPaperToaster) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperServicesPaperToaster['default'];\n    }\n  });\n});","define('bc-frontend/services/raven', ['exports', 'ember-cli-sentry/services/raven'], function (exports, _emberCliSentryServicesRaven) {\n  exports['default'] = _emberCliSentryServicesRaven['default'].extend({\n\n    unhandledPromiseErrorMessage: '',\n\n    captureException: function captureException() /* error */{\n      this._super.apply(this, arguments);\n    },\n\n    captureMessage: function captureMessage() /* message */{\n      return this._super.apply(this, arguments);\n    },\n\n    enableGlobalErrorCatching: function enableGlobalErrorCatching() {\n      return this._super.apply(this, arguments);\n    },\n\n    ignoreError: function ignoreError() {\n      return this._super();\n    },\n\n    callRaven: function callRaven() /* methodName, ...optional */{\n      return this._super.apply(this, arguments);\n    }\n  });\n});","define('bc-frontend/services/routing', ['exports', 'ember-cli-routing-service/services/routing'], function (exports, _emberCliRoutingServiceServicesRouting) {\n  exports['default'] = _emberCliRoutingServiceServicesRouting['default'];\n});","define('bc-frontend/services/session', ['exports', 'ember-simple-auth/services/session'], function (exports, _emberSimpleAuthServicesSession) {\n  exports['default'] = _emberSimpleAuthServicesSession['default'];\n});","define('bc-frontend/services/sniffer', ['exports', 'ember'], function (exports, _ember) {\n  var Service = _ember['default'].Service;\n  var computed = _ember['default'].computed;\n\n  var isString = function isString(value) {\n    return typeof value === 'string';\n  };\n\n  var lowercase = function lowercase(string) {\n    return isString(string) ? string.toLowerCase() : string;\n  };\n\n  var toInt = function toInt(str) {\n    return parseInt(str, 10);\n  };\n\n  exports['default'] = Service.extend({\n    vendorPrefix: '',\n    transitions: false,\n    animations: false,\n    _document: null,\n    _window: null,\n\n    android: computed('', function () {\n      return toInt((/android (\\d+)/.exec(lowercase((this.get('_window').navigator || {}).userAgent)) || [])[1]);\n    }),\n\n    init: function init() {\n      this._super.apply(this, arguments);\n      if (typeof FastBoot !== 'undefined') {\n        return;\n      }\n\n      var _document = document;\n      var _window = window;\n\n      this.setProperties({\n        _document: _document,\n        _window: _window\n      });\n\n      var bodyStyle = _document.body && _document.body.style;\n      var vendorPrefix = undefined;\n      var vendorRegex = /^(Moz|webkit|ms)(?=[A-Z])/;\n\n      var transitions = false;\n      var animations = false;\n      var match = undefined;\n\n      if (bodyStyle) {\n        for (var prop in bodyStyle) {\n          if (match = vendorRegex.exec(prop)) {\n            vendorPrefix = match[0];\n            vendorPrefix = vendorPrefix.substr(0, 1).toUpperCase() + vendorPrefix.substr(1);\n            break;\n          }\n        }\n\n        if (!vendorPrefix) {\n          vendorPrefix = 'WebkitOpacity' in bodyStyle && 'webkit';\n        }\n\n        transitions = !!('transition' in bodyStyle || vendorPrefix + 'Transition' in bodyStyle);\n        animations = !!('animation' in bodyStyle || vendorPrefix + 'Animation' in bodyStyle);\n\n        if (this.get('android') && (!transitions || !animations)) {\n          transitions = isString(bodyStyle.webkitTransition);\n          animations = isString(bodyStyle.webkitAnimation);\n        }\n      }\n\n      this.set('transitions', transitions);\n      this.set('animations', animations);\n\n      this.set('vendorPrefix', vendorPrefix);\n    }\n\n  });\n});\n/* globals FastBoot */","define('bc-frontend/services/text-measurer', ['exports', 'ember-text-measurer/services/text-measurer'], function (exports, _emberTextMeasurerServicesTextMeasurer) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberTextMeasurerServicesTextMeasurer['default'];\n    }\n  });\n});","define('bc-frontend/services/util', ['exports', 'ember'], function (exports, _ember) {\n  var Service = _ember['default'].Service;\n  var $ = _ember['default'].$;\n\n  var Util = Service.extend({\n\n    // Disables scroll around the passed element.\n    disableScrollAround: function disableScrollAround(element) {\n      var util = this;\n      var $document = $(window.document);\n\n      util.disableScrollAround._count = util.disableScrollAround._count || 0;\n      ++util.disableScrollAround._count;\n      if (util.disableScrollAround._enableScrolling) {\n        return util.disableScrollAround._enableScrolling;\n      }\n\n      var _$document$get = $document.get(0);\n\n      var body = _$document$get.body;\n\n      var restoreBody = disableBodyScroll();\n      var restoreElement = disableElementScroll();\n\n      return util.disableScrollAround._enableScrolling = function () {\n        if (! --util.disableScrollAround._count) {\n          restoreBody();\n          restoreElement();\n          delete util.disableScrollAround._enableScrolling;\n        }\n      };\n\n      // Creates a virtual scrolling mask to absorb touchmove, keyboard, scrollbar clicking, and wheel events\n      function disableElementScroll() {\n        var zIndex = 50;\n        var scrollMask = $('<div class=\"md-scroll-mask\" style=\"z-index: ' + zIndex + '\">\\n          <div class=\"md-scroll-mask-bar\"></div>\\n        </div>');\n        body.appendChild(scrollMask[0]);\n\n        scrollMask.on('wheel', preventDefault);\n        scrollMask.on('touchmove', preventDefault);\n        $document.on('keydown', disableKeyNav);\n\n        return function restoreScroll() {\n          scrollMask.off('wheel');\n          scrollMask.off('touchmove');\n          scrollMask[0].parentNode.removeChild(scrollMask[0]);\n          $document.off('keydown', disableKeyNav);\n          delete util.disableScrollAround._enableScrolling;\n        };\n\n        // Prevent keypresses from elements inside the body\n        // used to stop the keypresses that could cause the page to scroll\n        // (arrow keys, spacebar, tab, etc).\n        function disableKeyNav(e) {\n          // -- temporarily removed this logic, will possibly re-add at a later date\n          return;\n          if (!element[0].contains(e.target)) {\n            e.preventDefault();\n            e.stopImmediatePropagation();\n          }\n        }\n\n        function preventDefault(e) {\n          e.preventDefault();\n        }\n      }\n\n      // Converts the body to a position fixed block and translate it to the proper scroll\n      // position\n      function disableBodyScroll() {\n        var htmlNode = body.parentNode;\n        var restoreHtmlStyle = htmlNode.getAttribute('style') || '';\n        var restoreBodyStyle = body.getAttribute('style') || '';\n        var scrollOffset = body.scrollTop + body.parentElement.scrollTop;\n        var clientWidth = body.clientWidth;\n\n        if (body.scrollHeight > body.clientHeight) {\n          applyStyles(body, {\n            position: 'fixed',\n            width: '100%',\n            top: -scrollOffset + 'px'\n          });\n\n          applyStyles(htmlNode, {\n            overflowY: 'scroll'\n          });\n        }\n\n        if (body.clientWidth < clientWidth) {\n          applyStyles(body, { overflow: 'hidden' });\n        }\n\n        return function restoreScroll() {\n          body.setAttribute('style', restoreBodyStyle);\n          htmlNode.setAttribute('style', restoreHtmlStyle);\n          body.scrollTop = scrollOffset;\n        };\n      }\n\n      function applyStyles(el, styles) {\n        for (var key in styles) {\n          el.style[key] = styles[key];\n        }\n      }\n    },\n    enableScrolling: function enableScrolling() {\n      var method = this.disableScrollAround._enableScrolling;\n      method && method();\n    },\n\n    /*\n     * supplant() method from Crockford's `Remedial Javascript`\n     * Equivalent to use of $interpolate; without dependency on\n     * interpolation symbols and scope. Note: the '{<token>}' can\n     * be property names, property chains, or array indices.\n     */\n    supplant: function supplant(template, values, pattern) {\n      pattern = pattern || /\\{([^\\{\\}]*)\\}/g;\n      return template.replace(pattern, function (a, b) {\n        var p = b.split('.');\n        var r = values;\n        try {\n          for (var s in p) {\n            if (p.hasOwnProperty(s)) {\n              r = r[p[s]];\n            }\n          }\n        } catch (e) {\n          r = a;\n        }\n        return typeof r === 'string' || typeof r === 'number' ? r : a;\n      });\n    },\n    nextTick: (function (window, prefixes, i, p, fnc) {\n      while (!fnc && i < prefixes.length) {\n        fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n      }\n      return fnc && fnc.bind(window) || window.setImmediate || function (fnc) {\n        window.setTimeout(fnc, 0);\n      };\n    })(window, 'r webkitR mozR msR oR'.split(' '), 0)\n\n  });\n\n  exports['default'] = Util;\n});","define('bc-frontend/session-stores/application', ['exports', 'ember-simple-auth/session-stores/adaptive'], function (exports, _emberSimpleAuthSessionStoresAdaptive) {\n  exports['default'] = _emberSimpleAuthSessionStoresAdaptive['default'].extend();\n});","define('bc-frontend/settings/billing/controller', ['exports', 'ember', 'ember-data'], function (exports, _ember, _emberData) {\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: _ember['default'].inject.service(),\n    userSession: _ember['default'].inject.service(),\n    forceUpdate: 0,\n    showCancelDialog: false,\n\n    billingSummary: _ember['default'].computed('userSession.userId', 'forceUpdate', function () {\n      var ajax = this.get('ajax'),\n          userId = this.get('userSession.userId');\n\n      this.get('forceUpdate');\n\n      return _emberData['default'].PromiseObject.create({\n        promise: ajax.request('/api/users/' + userId + '/get_billing_summary').then(function (response) {\n          return response.user;\n        })\n      });\n    }),\n\n    planData: _ember['default'].computed('userSession.userId', 'forceUpdate', function () {\n      var ajax = this.get('ajax'),\n          userId = this.get('userSession.userId');\n\n      this.get('forceUpdate');\n\n      return _emberData['default'].PromiseObject.create({\n        promise: ajax.request('/api/users/' + userId + '/get_plan_data').then(function (response) {\n          return response.user;\n        })\n      });\n    }),\n\n    hasPlan: _ember['default'].computed.alias('planData.hasPlan'),\n    planAmount: _ember['default'].computed.alias('planData.planAmount'),\n    planName: _ember['default'].computed.alias('planData.planName'),\n    planInterval: _ember['default'].computed.alias('planData.planInterval'),\n    planRenewalDate: _ember['default'].computed.alias('planData.planRenewalDate'),\n    showSubscribe: _ember['default'].computed.not('planData.canCharge'),\n    showCancel: _ember['default'].computed.alias('planData.canCancel'),\n    isCanceling: _ember['default'].computed('showCancel', 'showSubscribe', function () {\n      return !this.get('showCancel') && !this.get('showSubscribe');\n    }),\n    showSubscriptionDetails: _ember['default'].computed.alias('planData.canCharge'),\n\n    billableTimeSeconds: _ember['default'].computed.alias('billingSummary.billableTime'),\n    billableTimeHours: _ember['default'].computed('billableTimeSeconds', function () {\n      return this.get('billableTimeSeconds') / 3600.0;\n    }),\n    remainingTimeSeconds: _ember['default'].computed.alias('billingSummary.remainingTime'),\n    remainingTimeHours: _ember['default'].computed('remainingTimeSeconds', function () {\n      return this.get('remainingTimeSeconds') / 3600.0;\n    }),\n\n    cancelSubscription: function cancelSubscription() {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          forceUpdate = this.get('forceUpdate'),\n          url = '/api/users/' + userId + '/cancel_subscription';\n\n      ajax.request(url, {\n        method: 'post'\n      }).then(function () {\n        self.set('forceUpdate', forceUpdate + 1);\n      }, function () {\n        alert(\"Failed to cancel subscription. Please try again shortly.\");\n      });\n    },\n\n    processStripeToken: function processStripeToken(token) {\n      var self = this,\n          ajax = this.get('ajax'),\n          userId = this.get('userSession.userId'),\n          url = '/api/users/' + userId + '/create_card',\n          forceUpdate = this.get('forceUpdate'),\n          payload = {\n        user: {\n          card: token.id\n        }\n      };\n\n      ajax.request(url, {\n        method: 'post',\n        contentType: 'application/json',\n        data: JSON.stringify(payload)\n      }).then(function () {\n        self.set('forceUpdate', forceUpdate + 1);\n      }, function () {\n        alert(\"Failed to subscribe. Please try again shortly.\");\n      });\n    },\n\n    // updateStripeToken(token) {\n    //   let self = this,\n    //       ajax = this.get('ajax'),\n    //       brand = this.get('brand'),\n    //       brandId = brand.get('id'),\n    //       url = `/api/brands/${brandId}/update_billing`,\n    //       payload = {\n    //         brand: {\n    //           token: token.id\n    //         }\n    //       };\n    //\n    //   ajax.request(url, {\n    //     method: 'post',\n    //     contentType: 'application/json',\n    //     data: JSON.stringify(payload)\n    //   }).then(function(result) {\n    //     self.get('store').pushPayload(result);\n    //   }, function() {\n    //     alert(\"Failed to subscribe. Please try again shortly.\");\n    //   });\n    // },\n\n    actions: {\n      cancelSubscription: function cancelSubscription() {\n        this.set('showCancelDialog', false);\n        this.cancelSubscription();\n      },\n      processStripeToken: function processStripeToken(token) {\n        this.processStripeToken(token);\n      }\n    }\n  });\n});\n// updateStripeToken(token) {\n//   this.updateStripeToken(token);\n// }","define('bc-frontend/settings/billing/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({});\n});","define(\"bc-frontend/settings/billing/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"MGnaTcQd\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,null,15],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCancelDialog\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"billing/confirm-cancel-dialog\\\"],null,[[\\\"onClose\\\",\\\"onConfirm\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCancelDialog\\\"]]],null],false],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"cancelSubscription\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                Plan renews on\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                Canceling on\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-sm-row layout-sm-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-30 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-caption\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCanceling\\\"]]],null,2,1],[\\\"text\\\",\\\"            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"format-date\\\"],[[\\\"get\\\",[\\\"planRenewalDate\\\"]]],[[\\\"format\\\"],[\\\"MM/DD/YYYY\\\"]]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  Cancel Subscription\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"accent\\\",\\\"raised\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCancelDialog\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCancel\\\"]]],null,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"stripe-checkout\\\"],null,[[\\\"class\\\",\\\"name\\\",\\\"description\\\",\\\"amount\\\",\\\"label\\\",\\\"panelLabel\\\",\\\"action\\\"],[\\\"md-button md-primary md-raised md-default-theme\\\",\\\"BehaviorCloud\\\",\\\"Academic Lab\\\",99000,\\\"Subscribe now\\\",\\\"Subscribe for {{amount}}/yr\\\",\\\"processStripeToken\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Not subscribed\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"(canceled)\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\" at $\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"planAmount\\\"]],false],[\\\"text\\\",\\\" per \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"planInterval\\\"]],false]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"planName\\\"]],false],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showSubscriptionDetails\\\"]]],null,10],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCanceling\\\"]]],null,9],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-sm-row layout-sm-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-30 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-caption\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Your plan\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasPlan\\\"]]],null,11,8],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showSubscribe\\\"]]],null,7,6],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showSubscriptionDetails\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-sm-row layout-sm-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-30 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-caption\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Your usage\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"number-format\\\"],[[\\\"get\\\",[\\\"billableTimeHours\\\"]]],[[\\\"decimals\\\"],[2]]],false],[\\\"text\\\",\\\" hours\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-divider\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-sm-row layout-sm-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-30 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-caption\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Remaining free time\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"number-format\\\"],[[\\\"get\\\",[\\\"remainingTimeHours\\\"]]],[[\\\"decimals\\\"],[2]]],false],[\\\"text\\\",\\\" hours\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Billing\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-toolbar-tools\\\"],null,null,13]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-toolbar\\\"],null,null,14],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,12]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/settings/billing/template.hbs\" } });\n});","define('bc-frontend/settings/index/route', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Route.extend({});\n});","define(\"bc-frontend/settings/index/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"0vl6Xelp\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex-offset-gt-sm-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,5],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showChangePassword\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"change-password-dialog\\\"],null,[[\\\"onClose\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showChangePassword\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"credit_card\\\"],null],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Billing\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"lock\\\"],null],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Change Password\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showChangePassword\\\"]]],null],true],null]]],2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"transition-to\\\"],[\\\"settings.billing\\\"],null]]],1],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,4]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/settings/index/template.hbs\" } });\n});","define('bc-frontend/settings/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {});\n});","define(\"bc-frontend/settings/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"YxE+d8id\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/settings/template.hbs\" } });\n});","define('bc-frontend/shared/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    sortedExperiments: _ember['default'].computed.sort('model', function (a, b) {\n      var aId = parseInt(a.get('id')),\n          bId = parseInt(b.get('id'));\n\n      if (aId > bId) {\n        return -1;\n      } else if (aId < bId) {\n        return 1;\n      }\n\n      return 0;\n    })\n  });\n});","define('bc-frontend/shared/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    model: function model() {\n      return this.get('store').query('test', { owned: false });\n    }\n  });\n});","define(\"bc-frontend/shared/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"KOvXLOa8\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex-offset-gt-sm-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"sortedExperiments\\\"]]],null,12,4],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"test-tile\\\"],null,[[\\\"model\\\",\\\"owned\\\"],[[\\\"get\\\",[\\\"test\\\"]],false]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"test\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"sortedExperiments\\\"]]],null,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Email a Friend\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"href\\\"],[\\\"mailto:?subject=Share%20data%20with%20me%20on%20BehaviorCloud\\\"]],5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            BehaviorCloud is better when you collaborate with friends and colleagues.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            Send an email to a friend and have them share a test with you so you can help review and analyze data.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Nobody has shared tests with you so far.\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,8],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,9]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"videocam\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,10],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,7],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,6]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],11]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/shared/template.hbs\" } });\n});","define(\"bc-frontend/templates/components/chart-component\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"lPCbH0P6\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"svg\\\",[]],[\\\"dynamic-attr\\\",\\\"width\\\",[\\\"unknown\\\",[\\\"outerWidth\\\"]],null],[\\\"dynamic-attr\\\",\\\"height\\\",[\\\"unknown\\\",[\\\"outerHeight\\\"]],null],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"g\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"chart-viewport\\\"],[\\\"dynamic-attr\\\",\\\"transform\\\",[\\\"unknown\\\",[\\\"transformViewport\\\"]],null],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/templates/components/chart-component.hbs\" } });\n});","define(\"bc-frontend/templates/components/stripe-checkout\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"7h3Qqvgf\", \"block\": \"{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"template\\\"]]],null,1,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"label\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/templates/components/stripe-checkout.hbs\" } });\n});","define(\"bc-frontend/templates/components/transition-group\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"6PiXJA7n\", \"block\": \"{\\\"statements\\\":[[\\\"yield\\\",\\\"default\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[\\\"default\\\"],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/templates/components/transition-group.hbs\" } });\n});","define('bc-frontend/test-schema/model', ['exports', 'ember-data', 'ember-data/attr'], function (exports, _emberData, _emberDataAttr) {\n  exports['default'] = _emberData['default'].Model.extend({\n    slug: (0, _emberDataAttr['default'])('string'),\n    label: (0, _emberDataAttr['default'])('string'),\n    supportsLive: (0, _emberDataAttr['default'])('boolean'),\n    supportsUpload: (0, _emberDataAttr['default'])('boolean')\n  });\n});","define('bc-frontend/test/ability', ['exports', 'ember-can', 'ember'], function (exports, _emberCan, _ember) {\n  exports['default'] = _emberCan.Ability.extend({\n    canManage: _ember['default'].computed('model.myPermissions', function () {\n      var permissions = this.get('model.myPermissions');\n      return permissions && permissions.indexOf('manage_test') >= 0;\n    }),\n    canChange: _ember['default'].computed('model.myPermissions', function () {\n      var permissions = this.get('model.myPermissions');\n      return permissions && permissions.indexOf('change_test') >= 0;\n    }),\n    canRead: _ember['default'].computed('model.myPermissions', function () {\n      var permissions = this.get('model.myPermissions');\n      return permissions && permissions.indexOf('read_test') >= 0;\n    }),\n    canDelete: _ember['default'].computed('model.myPermissions', function () {\n      var permissions = this.get('model.myPermissions');\n      return permissions && permissions.indexOf('delete_test') >= 0;\n    })\n  });\n});","define('bc-frontend/test/alternation/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/alternation/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/alternation/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"fndEF+ix\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Spontaneous alternation data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"spontaneous-alternation\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"spontaneous-alternation\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate alternation data from your raw position data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No alternation data generated yet. Please generate raw position data and create a zone map first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/alternation/template.hbs\" } });\n});","define('bc-frontend/test/analysis/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/analysis/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"PX9TGBX4\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Activity data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"analysis\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"analysis\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate activity data from your raw position data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No activity data generated yet. Please generate raw position data first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/analysis/template.hbs\" } });\n});","define('bc-frontend/test/boundary/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: inject.service(),\n\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    latestBoundary: computed.alias('model.firstObject'),\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    canCollect: computed.alias('model.meta.canCollect'),\n    showCollectButton: computed.alias('canCollect'),\n\n    backgroundUri: computed.alias('model.meta.backgroundUri'),\n\n    editorComponent: null,\n    boundaryModified: false,\n    preventTransition: _ember['default'].computed.alias('boundaryModified'),\n    isSaving: false,\n\n    saveBoundary: function saveBoundary() {\n      var self = this,\n          testId = this.get('test.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + testId + '/boundary',\n          editorComponent = this.get('editorComponent'),\n          exportedBoundary = editorComponent.exportSVG();\n\n      var payload = {\n        test: {\n          svg: exportedBoundary\n        }\n      };\n\n      this.set('isSaving', true);\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('boundaryModified', false);\n        self.set('isSaving', false);\n      }, function () {\n        alert('Failed to save tracking boundary. Please try again momentarily.');\n        self.set('isSaving', false);\n      });\n    },\n\n    actions: {\n      registerEditor: function registerEditor(editor) {\n        this.set('editorComponent', editor);\n      },\n      saveBoundary: function saveBoundary() {\n        this.saveBoundary();\n      }\n    }\n  });\n});","define('bc-frontend/test/boundary/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin', 'bc-frontend/mixins/prevent-transition-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin, _bcFrontendMixinsPreventTransitionMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], _bcFrontendMixinsPreventTransitionMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/boundary/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"AYX54uD2\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Tracking Boundary\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"boundaryModified\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,7],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3,2]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"boundary-editor\\\"],null,[[\\\"disabled\\\",\\\"backgroundUri\\\",\\\"onChange\\\",\\\"onRegister\\\"],[[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null],[\\\"get\\\",[\\\"backgroundUri\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"boundaryModified\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"registerEditor\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No tracking boundary set yet. Please calibrate first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,1,0],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"boundary-editor\\\"],null,[[\\\"disabled\\\",\\\"backgroundUri\\\",\\\"existingBoundary\\\",\\\"onChange\\\",\\\"onRegister\\\"],[[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null],[\\\"get\\\",[\\\"backgroundUri\\\"]],[\\\"get\\\",[\\\"latestBoundary\\\",\\\"playbackUri\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"boundaryModified\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"registerEditor\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,5,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveBoundary\\\"],null]]],6]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/boundary/template.hbs\" } });\n});","define('bc-frontend/test/calibration/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model')\n  });\n});","define('bc-frontend/test/calibration/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/calibration/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"HM9jQzFo\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"video-calibration\\\"],null,[[\\\"test\\\",\\\"model\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"model\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/calibration/template.hbs\" } });\n});","define('bc-frontend/test/centroids/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      convertModalClosed: function convertModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateCentroid', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/centroids/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/centroids/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"DZU7GRSa\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Raw position data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"centroid\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateCentroid\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"centroid\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"convertModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateCentroid\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate position data from your collected videos?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No position data generated yet. Please calibrate and record test video first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/centroids/template.hbs\" } });\n});","define('bc-frontend/test/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({});\n});","define('bc-frontend/test/data/controller', ['exports', 'ember', 'bc-frontend/config/environment'], function (exports, _ember, _bcFrontendConfigEnvironment) {\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: _ember['default'].inject.service(),\n    session: _ember['default'].inject.service(),\n    store: _ember['default'].inject.service(),\n    pusher: _ember['default'].inject.service(),\n\n    thumbnailUrl: _ember['default'].computed('model.thumbnailUrl', 'thumbnailStamp', function () {\n      var thumbnailUrl = this.get('model.thumbnailUrl'),\n          stamp = this.get('thumbnailStamp'),\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      // ** TODO: BEGIN HACKY SECTION\n      if (thumbnailUrl && this.get('inCalibrationMode') && this.get('lastRatio')) {\n        var urlSections = thumbnailUrl.split('.');\n        thumbnailUrl = urlSections[0] + '_cal.' + urlSections[1];\n      }\n      // ** END HACKY SECTION\n\n      if (thumbnailUrl && stamp) {\n        var stampInt = stamp.valueOf();\n        return '' + dataHost + thumbnailUrl + '?stamp=' + stampInt;\n        // return `${thumbnailUrl}?stamp=${stampInt}`;\n      }\n\n      return null;\n    }),\n\n    thumbnailStamp: null,\n    elapsed: 0,\n    lastRatio: null,\n    isSaving: false,\n\n    isAborted: _ember['default'].computed.equal('model.status', 'aborted'),\n    hadError: _ember['default'].computed.equal('model.status', 'error'),\n    isCreated: _ember['default'].computed.equal('model.status', 'created'),\n    isCalibrating: _ember['default'].computed.equal('model.status', 'calibrating'),\n    isCalibrated: _ember['default'].computed.equal('model.status', 'calibrated'),\n    isClearing: _ember['default'].computed.equal('model.status', 'clearing'),\n    isCleared: _ember['default'].computed.equal('model.status', 'cleared'),\n    isInserting: _ember['default'].computed.equal('model.status', 'inserting'),\n    isInserted: _ember['default'].computed.equal('model.status', 'inserted'),\n    isCollecting: _ember['default'].computed.equal('model.status', 'collecting'),\n    isCompleted: _ember['default'].computed.equal('model.status', 'completed'),\n    isAwaitingInput: _ember['default'].computed.equal('model.status', 'meta'),\n\n    inCalibrationMode: _ember['default'].computed.or('isCalibrating', 'isCalibrated'),\n    inMetaMode: _ember['default'].computed.or('isAwaitingInput'),\n    inClearingMode: _ember['default'].computed.or('isClearing', 'isCleared'),\n    inInsertingMode: _ember['default'].computed.or('isInserting', 'isInserted'),\n    inCollectionMode: _ember['default'].computed.or('isCollecting'),\n\n    shouldShowAbort: _ember['default'].computed.or('isCreated', 'isCalibrating', 'isCollecting', 'isClearing', 'isCleared', 'isInserting', 'isInserted'),\n    shouldShowDownload: _ember['default'].computed.and('model.canExport', 'isCompleted'),\n\n    exportLink: _ember['default'].computed('model', 'session.session.authenticated.token', function () {\n      var token = this.get('session.session.authenticated.token'),\n          dataSetId = this.get('model.id'),\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      var requestObj = {\n        'token': token\n      };\n      var q = btoa(decodeURIComponent(encodeURIComponent(JSON.stringify(requestObj))));\n\n      return dataHost + '/api/dataSets/' + dataSetId + '/csv?q=' + q;\n    }),\n\n    initialize: function initialize() {\n      this.set('thumbnailStamp', null);\n      this.set('elapsed', 0);\n      this.set('lastRatio', null);\n    },\n\n    onCalibrationUpdate: function onCalibrationUpdate(data) {\n      this.set('lastRatio', data.ratio);\n      this.set('thumbnailStamp', new Date());\n    },\n\n    onThumbnailUpdated: function onThumbnailUpdated(data) {\n      this.set('elapsed', data.elapsed);\n      this.set('thumbnailStamp', new Date());\n    },\n\n    onCollectionCompleted: function onCollectionCompleted(data) {\n      this.set('isSaving', false);\n\n      if (data.status === 'completed') {\n        if (data.next) {\n          this.set('showNextSubject', true);\n        } else {\n          this.transitionToRoute('test');\n        }\n      } else {\n        this.set('showStatusDialog', true);\n      }\n    },\n\n    onSavePending: function onSavePending() {\n      this.set('isSaving', true);\n    },\n\n    finishCalibration: function finishCalibration() {\n      var self = this,\n          recordId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/calibrate';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.get('model').reload();\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    confirmCleared: function confirmCleared() {\n      var self = this,\n          recordId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/cleared';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.get('model').reload();\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    confirmInserted: function confirmInserted() {\n      var self = this,\n          recordId = this.get('model.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/dataSets/' + recordId + '/inserted';\n\n      var payload = {\n        dataSet: {}\n      };\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.get('model').reload();\n      }, function () {\n        alert('failed!');\n      });\n    },\n\n    actions: {\n      useCalibration: function useCalibration() {\n        this.finishCalibration();\n      },\n\n      confirmClearing: function confirmClearing() {\n        this.confirmCleared();\n      },\n\n      confirmInserted: function confirmInserted() {\n        this.confirmInserted();\n      }\n    }\n  });\n});","define('bc-frontend/test/data/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('dataSet', params.dataset_id);\n    },\n    setupController: function setupController(controller, model) {\n      this._super(controller, model);\n      controller.initialize();\n    }\n  });\n});","define(\"bc-frontend/test/data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"gDbIOxsR\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"subject\\\"]],false],[\\\"text\\\",\\\" (run \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"id\\\"]],false],[\\\"text\\\",\\\")\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"inMetaMode\\\"]]],null,28],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"shouldShowAbort\\\"]]],null,20],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"shouldShowDownload\\\"]]],null,18],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inCalibrationMode\\\"]]],null,16],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inClearingMode\\\"]]],null,15],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inInsertingMode\\\"]]],null,14],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"eq\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"status\\\"]],\\\"completed\\\"],null]],null,13,12],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,7],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCalibrating\\\"]]],null,6],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isClearing\\\"]]],null,4],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isInserting\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showNextSubject\\\"]]],null,2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/status-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/confirm-abort-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/next-data-set-dialog\\\"],null,[[\\\"test\\\",\\\"device\\\",\\\"duration\\\",\\\"lastSubject\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"test\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"originData\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"duration\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"subject\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showNextSubject\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirmInserted\\\"],null],\\\"forward\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"confirmClearing\\\"],null],\\\"forward\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"useCalibration\\\"],null],\\\"forward\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"lastRatio\\\"]]],null,5]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"wait-modal\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please wait... generating thumbnail\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"img\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"thumbnailUrl\\\"]],null],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"thumbnailUrl\\\"]]],null,9,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail/components/video-bound-adjustment\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"model\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isAwaitingInput\\\"]]],null,11,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"width: 100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"video\\\",[]],[\\\"static-attr\\\",\\\"id\\\",\\\"video-preview\\\"],[\\\"static-attr\\\",\\\"controls\\\",\\\"\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"height:auto;width:100%;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"source\\\",[]],[\\\"dynamic-attr\\\",\\\"src\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"playbackUri\\\"]],null],[\\\"static-attr\\\",\\\"type\\\",\\\"video/mp4\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Insert the subject into the maze and press the forward button when ready.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Clear the maze and press the forward button when ready.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Place the calibration pattern in \\\"],[\\\"open-element\\\",\\\"em\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"full\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\" view of the camera, level with the maze floor. Press the Forward button when ready.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Download\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"href\\\"],[true,[\\\"get\\\",[\\\"exportLink\\\"]]]],17],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Abort\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"warn\\\",\\\"raised\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],true],null]]],19],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Completed\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Running (\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"time-display\\\"],null,[[\\\"time\\\"],[[\\\"get\\\",[\\\"elapsed\\\"]]]]],false],[\\\"text\\\",\\\" / \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"time-display\\\"],null,[[\\\"time\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"duration\\\"]]]]],false],[\\\"text\\\",\\\")\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please insert subject.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Please clear arena.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Calibrating...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Aborted due to Error\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Aborted by User\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isAborted\\\"]]],null,27],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hadError\\\"]]],null,26],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inCalibrationMode\\\"]]],null,25],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inClearingMode\\\"]]],null,24],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inInsertingMode\\\"]]],null,23],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"inCollectionMode\\\"]]],null,22],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCompleted\\\"]]],null,21],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/data/template.hbs\" } });\n});","define('bc-frontend/test/dataset/controller', ['exports', 'ember', 'bc-frontend/config/environment', 'moment'], function (exports, _ember, _bcFrontendConfigEnvironment, _moment) {\n  exports['default'] = _ember['default'].Controller.extend({\n    session: _ember['default'].inject.service(),\n\n    isAborted: _ember['default'].computed.equal('model.status', 'aborted'),\n    isCompleted: _ember['default'].computed.equal('model.status', 'completed'),\n    // isAppending: Ember.computed.equal('model.status', 'append'),\n    // isCollecting: Ember.computed.equal('model.status', 'collecting'),\n    isAppending: _ember['default'].computed.alias('model.isAppending'),\n    isClearing: _ember['default'].computed.alias('model.isClearing'),\n    isCollecting: _ember['default'].computed.alias('model.isCollecting'),\n    isInserting: _ember['default'].computed.alias('model.isInserting'),\n    isQueued: _ember['default'].computed.alias('model.isQueued'),\n    isAnalyzing: _ember['default'].computed.alias('model.isAnalyzing'),\n    isConverting: _ember['default'].computed.alias('model.isConverting'),\n    isProcessing: _ember['default'].computed.or('isQueued', 'isAnalyzing', 'isConverting'),\n    hasError: _ember['default'].computed.equal('model.status', 'error'),\n    isSaving: false,\n\n    // isReceiving: Ember.computed.or('isAppending', 'isCollecting'),\n    isReceiving: _ember['default'].computed.alias('model.isReceiving'),\n    showTimer: _ember['default'].computed.and('isReceiving', 'model.lastSample'),\n    startTime: null,\n\n    shouldShowDownload: _ember['default'].computed.and('model.canExport', 'isCompleted'),\n    shouldShowAbort: _ember['default'].computed.or('isCreated', 'isCalibrating', 'isClearing', 'isCleared', 'isInserting', 'isInserted', 'isReceiving'),\n    modelChanged: false,\n    preventTransition: _ember['default'].computed.alias('modelChanged'),\n\n    // TODO: find a way to pull in updates from other bulk capture channels\n    shouldUpdateStations: null,\n\n    onAppendStarted: function onAppendStarted() /*data*/{\n      // this.set('elapsed', data.elapsed);\n      // this.set('thumbnailStamp', new Date());\n\n      this.get('model').reload();\n    },\n\n    onAppend: function onAppend(data) {\n      var model = this.get('model');\n\n      // if (model.isRealtime) {\n      this.set('startTime', (0, _moment['default'])(data.firstTimeStamp));\n      model.set('lastSample', data.payload);\n      // }\n    },\n\n    elapsedTimeDisplay: _ember['default'].computed('model.lastSample', 'startTime', function () {\n      var startTime = this.get('startTime'),\n          lastTime = (0, _moment['default'])(this.get('model.lastSample.t')),\n          diff = lastTime.diff(startTime);\n\n      return _moment['default'].duration(diff).format(\"HH:mm:ss\", { trim: false });\n    }),\n\n    totalTimeDisplay: _ember['default'].computed('model.duration', function () {\n      var duration = this.get('model.duration');\n      // debugger;\n\n      return _moment['default'].duration(duration, \"seconds\").format(\"HH:mm:ss\", { trim: false });\n    }),\n\n    onCollectionCompleted: function onCollectionCompleted(data) {\n      this.setProperties({\n        isSaving: false,\n        showConfirmAbort: false,\n        showConfirmSkip: false\n      });\n\n      if (data.status === 'completed') {\n        if (data.next) {\n          this.set('showNextSubject', true);\n        } else {\n          this.transitionToRoute('test');\n        }\n      } else {\n        this.set('showStatusDialog', true);\n      }\n    },\n\n    onSavePending: function onSavePending() {\n      this.setProperties({\n        isSaving: true,\n        showConfirmAbort: false,\n        showConfirmSkip: false\n      });\n    },\n\n    exportLink: _ember['default'].computed('model', 'session.session.authenticated.token', function () {\n      var token = this.get('session.session.authenticated.token'),\n          dataSetId = this.get('model.id'),\n          dataHost = _bcFrontendConfigEnvironment['default']['apiHost'];\n\n      var requestObj = {\n        'token': token\n      };\n      var q = btoa(decodeURIComponent(encodeURIComponent(JSON.stringify(requestObj))));\n\n      return dataHost + '/api/dataSets/' + dataSetId + '/csv?q=' + q;\n    }),\n\n    actions: {\n      transition: function transition(route) {\n        this.transitionToRoute(route);\n      },\n      closeCapture: function closeCapture(refresh) {\n        this.set('showNextSubject', false);\n        if (refresh) this.transitionToRoute('test.photobeam', this.get('model.test'), this.get('model.schema.id'));\n      }\n    }\n  });\n});","define('bc-frontend/test/dataset/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin', 'bc-frontend/mixins/prevent-transition-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin, _bcFrontendMixinsPreventTransitionMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], _bcFrontendMixinsPreventTransitionMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('dataSet', params.dataset_id);\n    }\n  });\n});","define(\"bc-frontend/test/dataset/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"M/HAs/Y3\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center layout-wrap\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"subject\\\"]],false],[\\\"text\\\",\\\" (run \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"id\\\"]],false],[\\\"text\\\",\\\")\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"shouldShowDownload\\\"]]],null,22],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"shouldShowAbort\\\"]]],null,20],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isReceiving\\\"]]],null,18],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isAborted\\\"]]],null,12,5],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,4],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showNextSubject\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null,2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showConfirmSkip\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/status-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showStatusDialog\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/confirm-skip-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmSkip\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/confirm-abort-dialog\\\"],null,[[\\\"model\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-bulk-dialog\\\"],null,[[\\\"next\\\",\\\"schema\\\",\\\"test\\\",\\\"onClose\\\",\\\"updateStamp\\\"],[true,[\\\"get\\\",[\\\"model\\\",\\\"schema\\\",\\\"id\\\"]],[\\\"get\\\",[\\\"model\\\",\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"closeCapture\\\"],null],[\\\"get\\\",[\\\"shouldUpdateStations\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"wait-modal\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"It appears this run was aborted.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This could be because the source data was aborted or didn't complete successfully.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"It appears there was an error converting this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This could be because the source data was aborted or didn't complete successfully.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"paper-progress-circular\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"paused\\\"],[[\\\"size\\\"],[48]]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"This data set is still \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"status\\\"]],false],[\\\"text\\\",\\\" and not yet ready... please come back later\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isQueued\\\"]]],null,8,7],[\\\"text\\\",\\\"          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-detail\\\"],null,[[\\\"dataSet\\\",\\\"transition\\\",\\\"onModifiedChanged\\\"],[[\\\"get\\\",[\\\"model\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"transition\\\"],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"modelChanged\\\"]]],null]],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isProcessing\\\"]]],null,10,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasError\\\"]]],null,11,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"elapsedTimeDisplay\\\"]],false],[\\\"text\\\",\\\" / \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"totalTimeDisplay\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Trial running\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showTimer\\\"]]],null,13]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Insert subject\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please insert the subject into the chamber.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Skip\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-space-between-center layout-wrap\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Clear arena\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"onClick\\\"],[true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmSkip\\\"]]],null],true],null]]],16],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Please clear the chamber.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isClearing\\\"]]],null,17],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isInserting\\\"]]],null,15],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isCollecting\\\"]]],null,14]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Abort\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"warn\\\",\\\"raised\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showConfirmAbort\\\"]]],null],true],null]]],19],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Download data\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"href\\\"],[true,[\\\"get\\\",[\\\"exportLink\\\"]]]],21],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/dataset/template.hbs\" } });\n});","define('bc-frontend/test/index/controller', ['exports', 'ember', 'ember-data'], function (exports, _ember, _emberData) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: inject.service(),\n\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n    selectedTab: 0,\n\n    outcomesJson: computed('test', function () {\n      var ajax = this.get('ajax'),\n          testId = this.get('test.id');\n\n      return _emberData['default'].PromiseArray.create({\n        promise: ajax.request('/api/tests/' + testId + '/json?schema_id=23')\n      });\n    }),\n\n    runsJson: computed('test', function () {\n      var ajax = this.get('ajax'),\n          testId = this.get('test.id');\n\n      return _emberData['default'].PromiseArray.create({\n        promise: ajax.request('/api/tests/' + testId + '/json?schema_id=21')\n      });\n    }),\n\n    outcomesFormatted: computed('outcomesJson.isFulfilled', function () {\n      var data = this.get('outcomesJson'),\n          mappedData = _ember['default'].A([]);\n\n      if (!data.get('isFulfilled')) return [];\n\n      data.forEach(function (row) {\n        var keys = Object.getOwnPropertyNames(row);\n        keys.forEach(function (key) {\n          if (key != 't' && key != 'stage') {\n            mappedData.pushObject({\n              time: new Date(row.t),\n              value: row[key],\n              label: key\n            });\n          }\n        });\n      });\n\n      return mappedData;\n    }),\n\n    activityFormatted: computed('outcomesJson.isFulfilled', 'runsJson.isFulfilled', function () {\n      var outcomesData = this.get('outcomesJson'),\n          runsData = this.get('runsJson'),\n          mappedData = _ember['default'].A([]);\n\n      if (!outcomesData.get('isFulfilled') || !runsData.get('isFulfilled')) return [];\n\n      outcomesData.forEach(function (row) {\n        mappedData.pushObject({\n          time: new Date(row.t),\n          label: 'Diary entry',\n          value: 1,\n          icon: 'insert_comment'\n        });\n      });\n\n      runsData.forEach(function (row) {\n        mappedData.pushObject({\n          time: new Date(row.t),\n          label: 'Device run',\n          value: 1,\n          icon: 'directions_run'\n        });\n      });\n\n      return mappedData;\n    }),\n\n    activityReady: computed('outcomesJson.isFulfilled', 'runsJson.isFulfilled', function () {\n      return this.get('outcomesJson.isFulfilled') && this.get('runsJson.isFulfilled');\n    }),\n\n    activitySorting: ['time:desc'],\n    sortedActivity: _ember['default'].computed.sort('activityFormatted', 'activitySorting')\n  });\n});","define('bc-frontend/test/index/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    ajax: _ember['default'].inject.service()\n\n  });\n});\n// model() {\n//   // return this.get('store').query('dataSet', {test: this.modelFor('test').get('id')});\n//   let testId = this.modelFor('test').get('id');\n//   return this.get('ajax').request(`/api/tests/${testId}/schemas`);\n// }","define(\"bc-frontend/test/index/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"kcBApQoo\", \"block\": \"{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row\\\"],[\\\"static-attr\\\",\\\"style\\\",\\\"margin-bottom: 16px;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"style\\\",\\\"padding-right: 16px;\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"ember-initials\\\"],null,[[\\\"name\\\",\\\"class\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"name\\\"]],\\\"md-avatar\\\"]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    Age: \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"metaData\\\",\\\"age\\\"]],false],[\\\"open-element\\\",\\\"br\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    Gender: \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"metaData\\\",\\\"gender\\\"]],false],[\\\"open-element\\\",\\\"br\\\",[]],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    Treatment: \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"label\\\"]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-tabs\\\"],null,[[\\\"center\\\",\\\"primary\\\",\\\"stretch\\\",\\\"borderBottom\\\",\\\"selected\\\",\\\"onChange\\\"],[[\\\"get\\\",[\\\"center\\\"]],true,[\\\"get\\\",[\\\"stretch\\\"]],[\\\"get\\\",[\\\"borderBottom\\\"]],[\\\"get\\\",[\\\"selectedTab\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"selectedTab\\\"]]],null]],null]]],15],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"liquid-bind\\\"],[[\\\"helper\\\",[\\\"hash\\\"],null,[[\\\"tab\\\"],[[\\\"get\\\",[\\\"selectedTab\\\"]]]]]],[[\\\"class\\\"],[\\\"md-padding\\\"]],11]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h1\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-display-2\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Communication\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"  \\\\n    \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      Lorem ipsum dolor sit amet, consectetur adipiscing elit.\\\\n      Nulla venenatis ante augue. Phasellus volutpat neque ac dui mattis\\\\n      vulputate. Etiam consequat aliquam cursus. In sodales pretium ultrices.\\\\n      Maecenas lectus est, sollicitudin consectetur felis nec, feugiat ultricies mi.\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"time-series-chart\\\"],null,[[\\\"barData\\\",\\\"selectedInterval\\\",\\\"yAxisFromZero\\\"],[[\\\"get\\\",[\\\"outcomesFormatted\\\"]],\\\"D\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-progress-circular\\\"],null,[[\\\"warn\\\",\\\"diameter\\\"],[true,96]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"One moment, please.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h1\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-display-2\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Outcomes\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"  \\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"outcomesJson\\\",\\\"isFulfilled\\\"]]],null,2,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[[\\\"get\\\",[\\\"activity\\\",\\\"icon\\\"]]],[[\\\"class\\\"],[\\\"md-avatar-icon\\\"]]],false],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-list-item-text\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"activity\\\",\\\"label\\\"]],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"moment-calendar\\\"],[[\\\"get\\\",[\\\"activity\\\",\\\"time\\\"]]],null],false],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n            \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-item\\\"],null,[[\\\"class\\\"],[\\\"md-2-line\\\"]],4]],\\\"locals\\\":[\\\"activity\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"Timeline\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"block\\\",[\\\"paper-subheader\\\"],null,null,6],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"sortedActivity\\\"]]],null,5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"time-series-chart\\\"],null,[[\\\"barData\\\",\\\"selectedInterval\\\",\\\"yAxisFromZero\\\"],[[\\\"get\\\",[\\\"activityFormatted\\\"]],\\\"D\\\",true]]],false],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-list\\\"],null,null,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-progress-circular\\\"],null,[[\\\"warn\\\",\\\"diameter\\\"],[true,96]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"One moment, please.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"h1\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-display-2\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Activity\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"  \\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"activityReady\\\"]]],null,9,8]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"eq\\\"],[[\\\"get\\\",[\\\"selectedTab\\\"]],0],null]],null,10],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"eq\\\"],[[\\\"get\\\",[\\\"selectedTab\\\"]],1],null]],null,3],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"eq\\\"],[[\\\"get\\\",[\\\"selectedTab\\\"]],2],null]],null,0]],\\\"locals\\\":[\\\"current\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"    Communication\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    Outcomes\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    Activity\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"tabs\\\",\\\"tab\\\"],null,null,14],[\\\"block\\\",[\\\"tabs\\\",\\\"tab\\\"],null,null,13],[\\\"block\\\",[\\\"tabs\\\",\\\"tab\\\"],null,null,12]],\\\"locals\\\":[\\\"tabs\\\"]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/index/template.hbs\" } });\n});","define('bc-frontend/test/manual-analysis/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/manual-analysis/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/manual-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"1DB2jXUT\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Manual scoring analysis\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"manual-scoring-analysis\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"manual-scoring-analysis\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to run analysis on your manual scoring data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No manual scoring analysis generated yet. Please record manual scoring data first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/manual-analysis/template.hbs\" } });\n});","define('bc-frontend/test/manual-data/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: inject.service(),\n    session: inject.service(),\n    pusher: _ember['default'].inject.service(),\n\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generate: function generate(clearExisting) {\n        var self = this,\n            testId = this.get('test.id'),\n            ajax = this.get('ajax'),\n            requestUri = '/api/tests/' + testId + '/convert_bulk';\n\n        var payload = {\n          test: {\n            source: 'video',\n            target: 'manual-scoring-data',\n            clearExisting: clearExisting\n          }\n        };\n\n        ajax.request(requestUri, {\n          method: 'post',\n          data: JSON.stringify(payload),\n          contentType: 'application/json'\n        }).then(function () {\n          self.get('target.router').refresh();\n        });\n      }\n    }\n  });\n});","define('bc-frontend/test/manual-data/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/manual-data/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"EHfPNaU7\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manual Scoring Data\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,11,10],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,2]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Import Subjects\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generate\\\",false],null]]],3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to import them?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No subjects imported yet. Would you like to import subjects from your collected videos?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,7,6]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,8,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,4],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No scoring data recorded yet. Please record test video first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/manual-data/template.hbs\" } });\n});","define('bc-frontend/test/manual-setup/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: inject.service(),\n\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    latestConfiguration: computed.alias('model.firstObject'),\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    editorComponent: null,\n    configurationModified: false,\n    preventTransition: _ember['default'].computed.alias('configurationModified'),\n    isSaving: false,\n\n    saveConfiguration: function saveConfiguration() {\n      var self = this,\n          testId = this.get('test.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + testId + '/data',\n          editorComponent = this.get('editorComponent'),\n          data = editorComponent.exportData();\n\n      var payload = {\n        data: data,\n        schema: 'manual-scoring-setup'\n      };\n\n      this.set('isSaving', true);\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('configurationModified', false);\n        self.set('isSaving', false);\n      }, function () {\n        alert('Failed to save configuration. Please try again momentarily.');\n        self.set('isSaving', false);\n      });\n    },\n\n    actions: {\n      registerEditor: function registerEditor(editor) {\n        this.set('editorComponent', editor);\n      },\n      saveConfiguration: function saveConfiguration() {\n        this.saveConfiguration();\n      }\n    }\n  });\n});","define('bc-frontend/test/manual-setup/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin', 'bc-frontend/mixins/prevent-transition-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin, _bcFrontendMixinsPreventTransitionMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], _bcFrontendMixinsPreventTransitionMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/manual-setup/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"G34IEowZ\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Manual Scoring Configuration\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"configurationModified\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,3],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"manual-scoring-configuration-editor\\\"],null,[[\\\"disabled\\\",\\\"existingConfiguration\\\",\\\"onChange\\\",\\\"onRegister\\\"],[[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null],[\\\"get\\\",[\\\"latestConfiguration\\\",\\\"url\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"configurationModified\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"registerEditor\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"        Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,1,0]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveConfiguration\\\"],null]]],2]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/manual-setup/template.hbs\" } });\n});","define('bc-frontend/test/model', ['exports', 'ember-data/model', 'ember-data/attr', 'ember-data/relationships'], function (exports, _emberDataModel, _emberDataAttr, _emberDataRelationships) {\n  exports['default'] = _emberDataModel['default'].extend({\n    created: (0, _emberDataAttr['default'])('date'),\n    deletedAt: (0, _emberDataAttr['default'])('date'),\n    updated: (0, _emberDataAttr['default'])('date'),\n    user: (0, _emberDataRelationships.belongsTo)('user'),\n\n    name: (0, _emberDataAttr['default'])('string'),\n    label: (0, _emberDataAttr['default'])('string'),\n    subjectCount: (0, _emberDataAttr['default'])('number'),\n    hasCollaborators: (0, _emberDataAttr['default'])('boolean'),\n    myPermissions: (0, _emberDataAttr['default'])(),\n\n    schema: (0, _emberDataRelationships.belongsTo)('testSchema'),\n    liveTest: (0, _emberDataAttr['default'])('boolean'),\n    supportsMultichamber: (0, _emberDataAttr['default'])('boolean'),\n    metaData: (0, _emberDataAttr['default'])()\n  });\n});","define('bc-frontend/test/photobeam-activity/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/photobeam-activity/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/photobeam-activity/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"67flfCvb\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Photobeam counts data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"photobeam-activity\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"photobeam-activity\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate photobeam counts data from your raw photobeam data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No photobeam counts data generated yet. Please collect photobeam data first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/photobeam-activity/template.hbs\" } });\n});","define('bc-frontend/test/photobeam/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n    schema: null,\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    isRecorded: computed.alias('test.liveTest'),\n    isUploaded: computed.not('isRecorded'),\n\n    shouldUpdateStations: null,\n\n    onCollectionCompleted: function onCollectionCompleted(data) {\n      if (data.status === 'completed') {\n        if (data.next) {\n          this.set('showCaptureDataSet', true);\n          this.set('shouldUpdateStations', new Date());\n        }\n      }\n    },\n\n    actions: {\n      refresh: function refresh() {\n        this.get('target.router').refresh();\n      },\n      closeCapture: function closeCapture(refresh) {\n        this.set('showCaptureDataSet', false);\n        if (refresh) this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/photobeam/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/schema-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsSchemaRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsSchemaRouteMixin['default'], /*DataSetRouteMixin, */{\n    schemaId: null,\n\n    model: function model(params) {\n      this.set('schemaId', params.schema_id);\n\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    },\n\n    setupController: function setupController(controller, model) {\n      // this only gets called on initial load and *not* on refresh\n      this._super(controller, model);\n\n      // do stuff that should happen on refresh\n      controller.set('schema', this.get('schemaId'));\n    }\n  });\n});\n\n// import DataSetRouteMixin from 'bc-frontend/mixins/data-set-route-mixin';","define(\"bc-frontend/test/photobeam/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"R78gBx4Q\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Trials\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,20,17],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null],[\\\"get\\\",[\\\"hasData\\\"]],[\\\"get\\\",[\\\"isRecorded\\\"]]],null]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null],[\\\"get\\\",[\\\"hasData\\\"]],[\\\"get\\\",[\\\"isUploaded\\\"]]],null]],null,2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/upload-data-set-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\",\\\"onUploaded\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],false],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"refresh\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-bulk-dialog\\\"],null,[[\\\"schema\\\",\\\"test\\\",\\\"onClose\\\",\\\"updateStamp\\\"],[[\\\"get\\\",[\\\"schema\\\"]],[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"closeCapture\\\"],null],[\\\"get\\\",[\\\"shouldUpdateStations\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],true],null],\\\"file_upload\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null],\\\"blur_linear\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        No data collected yet.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Collect Data\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Learn More\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"href\\\"],[\\\"mailto:hello@behaviorcloud.com\\\"]],6],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\",\\\"primary\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null],true]],5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                  Connect your photobeam system to the BehaviorCloud Bridge device and collect trials live, directly into your BehaviorCloud account.\\\\n                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Collect Live Trials\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,9],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,10]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"blur_linear\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,11],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,8],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,7]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"flex-gt-xs-50 flex-100\\\"]],12]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-xs-row layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isRecorded\\\"]]],null,13],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,14,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Please calibrate first.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"canCollect\\\"]]],null,16,15],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,18]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,19]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/photobeam/template.hbs\" } });\n});","define('bc-frontend/test/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/test-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsTestRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsTestRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('test', params.test_id);\n    }\n  });\n});","define(\"bc-frontend/test/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"wqlPRXSk\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"content-container\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,2],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"open-element\\\",\\\"h2\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-subtitle\\\"],[\\\"flush-element\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"model\\\",\\\"name\\\"]],false],[\\\"close-element\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"block\\\",[\\\"link-to\\\"],[\\\"test\\\"],null,0],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"change-alert\\\"],null,[[\\\"title\\\",\\\"summary\\\",\\\"alertKey\\\"],[\\\"Heads up!\\\",\\\"Trials are now shown in reverse chronological order for easier viewing.\\\",\\\"trials-reversed\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n      \\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,1],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/template.hbs\" } });\n});","define('bc-frontend/test/videos/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n    schema: null,\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    isRecorded: computed.alias('test.liveTest'),\n    isUploaded: computed.not('isRecorded'),\n\n    actions: {\n      test: function test() {\n        alert('wee');\n      },\n      refresh: function refresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/videos/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    schemaId: null,\n\n    model: function model(params) {\n      this.set('schemaId', params.schema_id);\n\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    },\n\n    setupController: function setupController(controller, model) {\n      // this only gets called on initial load and *not* on refresh\n      this._super(controller, model);\n\n      // do stuff that should happen on refresh\n      controller.set('schema', this.get('schemaId'));\n    }\n  });\n});","define(\"bc-frontend/test/videos/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"JCZUMtCN\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Trials\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,23,20],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null],[\\\"get\\\",[\\\"hasData\\\"]],[\\\"get\\\",[\\\"isRecorded\\\"]]],null]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null],[\\\"get\\\",[\\\"hasData\\\"]],[\\\"get\\\",[\\\"isUploaded\\\"]]],null]],null,2],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/upload-data-set-dialog\\\"],null,[[\\\"test\\\",\\\"onClose\\\",\\\"onUploaded\\\"],[[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],false],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"refresh\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/capture-data-set-dialog\\\"],null,[[\\\"schema\\\",\\\"test\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"schema\\\"]],[\\\"get\\\",[\\\"test\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],true],null],\\\"file_upload\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null],\\\"videocam\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        No videos recorded or uploaded yet.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                  Have existing recorded video of trials? Upload them to your BehaviorCloud account for analysis. We support all major video formats.\\\\n                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Upload Video Files\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,6],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,7]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-1\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"file_upload\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,8],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,5]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"click\\\",\\\"class\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showUploadDataSet\\\"]]],null],true],null],\\\"flex-gt-xs-50 flex-100 hover-card\\\"]],9]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                  Install the BehaviorCloud Camera app on an Android or iOS device and record trials live, directly into your BehaviorCloud account.\\\\n                \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Record Live Trials\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"                  \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,12],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,13]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n                \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"videocam\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n              \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,14],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,11]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"click\\\",\\\"class\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCaptureDataSet\\\"]]],null],true],null],\\\"flex-gt-xs-50 flex-100 hover-card\\\"]],15]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-gt-xs-row layout-column layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isRecorded\\\"]]],null,16],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"isUploaded\\\"]]],null,10],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,17,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      Please calibrate first.\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"canCollect\\\"]]],null,19,18],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,21]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,22]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/videos/template.hbs\" } });\n});","define('bc-frontend/test/zone-sequence/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/zone-sequence/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/zone-sequence/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"HMP4kreT\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Zone sequence data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"zone-sequence\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"zone-sequence\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate sequence data from your raw position data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No sequence data generated yet. Please generate raw position data and create a zone map first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/zone-sequence/template.hbs\" } });\n});","define('bc-frontend/test/zoned-analysis/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    showCollectButton: computed.alias('model.meta.canCollect'),\n\n    actions: {\n      generateModalClosed: function generateModalClosed() {\n        this.get('target.router').refresh();\n        this.set('showGenerateAnalysis', false);\n      },\n      onRefresh: function onRefresh() {\n        this.get('target.router').refresh();\n      }\n    }\n  });\n});","define('bc-frontend/test/zoned-analysis/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/zoned-analysis/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"7o81kxhR\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"helper\\\",[\\\"schema-detail/header\\\"],null,[[\\\"title\\\",\\\"test\\\",\\\"dataSets\\\",\\\"onRefresh\\\",\\\"targetSchema\\\"],[\\\"Zoned activity data\\\",[\\\"get\\\",[\\\"test\\\"]],[\\\"get\\\",[\\\"dataSets\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"onRefresh\\\"],null],\\\"zoned-analysis\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,12,11],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null,0]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/generate-data-dialog\\\"],null,[[\\\"test\\\",\\\"targetSchema\\\",\\\"hasData\\\",\\\"onClose\\\"],[[\\\"get\\\",[\\\"test\\\"]],\\\"zoned-analysis\\\",[\\\"get\\\",[\\\"hasData\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"generateModalClosed\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"dataset-tile\\\"],null,[[\\\"model\\\"],[[\\\"get\\\",[\\\"dataSet\\\"]]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"dataSet\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"dataSets\\\"]]],null,1]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              Generate Data\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"raised\\\",\\\"primary\\\",\\\"onClick\\\"],[true,true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showGenerateAnalysis\\\"]]],null],true],null]]],4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"The owner of this test hasn't yet generated this data.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"New subjects available. Would you like to process this new data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"None generated yet. Would you like to generate zoned activity data from your raw position data?\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,8,7]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"    \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"open-element\\\",\\\"md-whiteframe\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"md-whiteframe-1dp bc-dataset__prompt flex-100\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,9,6],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row layout-align-center-center\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null,5],[\\\"text\\\",\\\"        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\",\\\"meta\\\",\\\"remainingDatasetCount\\\"]]],null,10]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No zoned activity data generated yet. Please generate raw position data and create a zone map first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/zoned-analysis/template.hbs\" } });\n});","define('bc-frontend/test/zones/controller', ['exports', 'ember'], function (exports, _ember) {\n  var computed = _ember['default'].computed;\n  var inject = _ember['default'].inject;\n  exports['default'] = _ember['default'].Controller.extend({\n    ajax: inject.service(),\n\n    testController: inject.controller('test'),\n    test: computed.alias('testController.model'),\n\n    latestMap: computed.alias('model.firstObject'),\n    dataSets: computed.alias('model'),\n    dataSetsCount: computed.alias('dataSets.length'),\n    hasData: computed.gte('dataSetsCount', 1),\n\n    canCollect: computed.alias('model.meta.canCollect'),\n    showCollectButton: computed.alias('canCollect'),\n\n    backgroundUri: computed.alias('model.meta.backgroundUri'),\n\n    editorComponent: null,\n    zonemapModified: false,\n    preventTransition: _ember['default'].computed.alias('zonemapModified'),\n    isSaving: false,\n\n    saveMap: function saveMap() {\n      var self = this,\n          testId = this.get('test.id'),\n          ajax = this.get('ajax'),\n          requestUri = '/api/tests/' + testId + '/zonemap',\n          editorComponent = this.get('editorComponent'),\n          isValidated = editorComponent.validateMap(),\n          exportedMap = editorComponent.exportSVG();\n\n      if (!isValidated) {\n        alert(\"Sorry, we can't save your zone map. Please ensure every zone has a non-empty, unique label and try again.\");\n        return;\n      }\n\n      var payload = {\n        test: {\n          svg: exportedMap\n        }\n      };\n\n      this.set('isSaving', true);\n\n      ajax.request(requestUri, {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function () {\n        self.set('zonemapModified', false);\n        self.set('isSaving', false);\n      }, function () {\n        alert('Failed to save zone map. Please try again momentarily.');\n        self.set('isSaving', false);\n      });\n    },\n\n    actions: {\n      registerEditor: function registerEditor(editor) {\n        this.set('editorComponent', editor);\n      },\n      saveMap: function saveMap() {\n        this.saveMap();\n      }\n    }\n  });\n});","define('bc-frontend/test/zones/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin', 'bc-frontend/mixins/data-set-route-mixin', 'bc-frontend/mixins/prevent-transition-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin, _bcFrontendMixinsDataSetRouteMixin, _bcFrontendMixinsPreventTransitionMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], _bcFrontendMixinsDataSetRouteMixin['default'], _bcFrontendMixinsPreventTransitionMixin['default'], {\n    model: function model(params) {\n      return this.get('store').query('dataSet', {\n        test: this.modelFor('test').get('id'),\n        schema: params.schema_id\n      });\n    }\n  });\n});","define(\"bc-frontend/test/zones/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"O+LcE0va\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"h3\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"Zone Map\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex\\\"],[\\\"flush-element\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"helper\\\",[\\\"and\\\"],[[\\\"get\\\",[\\\"zonemapModified\\\"]],[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null,7],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"hasData\\\"]]],null,3,2]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"zonemap-editor\\\"],null,[[\\\"disabled\\\",\\\"backgroundUri\\\",\\\"onChange\\\",\\\"onRegister\\\"],[[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null],[\\\"get\\\",[\\\"backgroundUri\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"zonemapModified\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"registerEditor\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"      \\\"],[\\\"open-element\\\",\\\"span\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"No zone map created yet. Please calibrate first.\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"showCollectButton\\\"]]],null,1,0],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-row flex\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n    \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"zonemap-editor\\\"],null,[[\\\"disabled\\\",\\\"backgroundUri\\\",\\\"existingMap\\\",\\\"onChange\\\",\\\"onRegister\\\"],[[\\\"helper\\\",[\\\"or\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],[\\\"helper\\\",[\\\"not\\\"],[[\\\"helper\\\",[\\\"can\\\"],[\\\"change test\\\",[\\\"get\\\",[\\\"test\\\"]]],null]],null]],null],[\\\"get\\\",[\\\"backgroundUri\\\"]],[\\\"get\\\",[\\\"latestMap\\\",\\\"playbackUri\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"zonemapModified\\\"]]],null],true],null],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"registerEditor\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Saving...\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"        Save\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]]],null,5,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"disabled\\\",\\\"primary\\\",\\\"onClick\\\"],[[\\\"get\\\",[\\\"isSaving\\\"]],true,[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"saveMap\\\"],null]]],6]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/test/zones/template.hbs\" } });\n});","define('bc-frontend/tests/controller', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Controller.extend({\n    queryParams: ['includeArchived', 'searchParam'],\n    includeArchived: false,\n    searchParam: '',\n\n    sortedExperiments: _ember['default'].computed.sort('model', function (a, b) {\n      var aId = parseInt(a.get('id')),\n          bId = parseInt(b.get('id'));\n\n      if (aId > bId) {\n        return -1;\n      } else if (aId < bId) {\n        return 1;\n      }\n\n      return 0;\n    }),\n\n    setSearchInput: function setSearchInput(input) {\n      this.set('searchParam', input);\n    },\n\n    actions: {\n      setSearchInput: function setSearchInput(input) {\n        this.set('searchInput', input);\n        _ember['default'].run.debounce(this, this.setSearchInput, input, 500);\n      }\n    }\n  });\n});","define('bc-frontend/tests/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    queryParams: {\n      includeArchived: {\n        refreshModel: true\n      },\n      searchParam: {\n        refreshModel: true\n      }\n    },\n\n    model: function model(params) {\n      var qParams = {\n        owned: true\n      };\n      if (params.includeArchived) {\n        qParams.with_archived = true;\n      }\n      if (params.searchParam) {\n        qParams.search = params.searchParam;\n      }\n      return this.get('store').query('test', qParams);\n    }\n  });\n});","define(\"bc-frontend/tests/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"/zx9NIh7\", \"block\": \"{\\\"statements\\\":[[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex-gt-sm-70 flex-offset-gt-sm-15\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n  \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"layout-column\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"unless\\\"],[[\\\"get\\\",[\\\"sortedExperiments\\\"]]],null,14,6],[\\\"text\\\",\\\"  \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"model\\\"]]],null,1],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"if\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null,0],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"tests/create-test-dialog\\\"],null,[[\\\"onClose\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null],false],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"  \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"fab-button\\\"],null,[[\\\"onClick\\\",\\\"icon\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null],true],null],\\\"add\\\"]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"              \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"test-tile\\\"],null,[[\\\"model\\\",\\\"owned\\\"],[[\\\"get\\\",[\\\"test\\\"]],true]]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"test\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"each\\\"],[[\\\"get\\\",[\\\"sortedExperiments\\\"]]],null,2]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-list\\\"],null,null,3]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card-content\\\"],null,null,4]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"\\\\n\\\"],[\\\"text\\\",\\\"\\\\n      \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-input\\\"],null,[[\\\"block\\\",\\\"label\\\",\\\"value\\\",\\\"onChange\\\"],[true,\\\"Type a patient name\\\",[\\\"get\\\",[\\\"searchInput\\\"]],[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],\\\"setSearchInput\\\"],null]]]],false],[\\\"text\\\",\\\"\\\\n\\\\n\\\"],[\\\"block\\\",[\\\"paper-card\\\"],null,null,5],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"Create Patient\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"block\\\",[\\\"paper-button\\\"],null,[[\\\"onClick\\\"],[[\\\"helper\\\",[\\\"action\\\"],[[\\\"get\\\",[null]],[\\\"helper\\\",[\\\"mut\\\"],[[\\\"get\\\",[\\\"showCreateExperiment\\\"]]],null],true],null]]],7],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            Ready to add your first patient?\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"open-element\\\",\\\"p\\\",[]],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n            Click the button below to start adding your first patient.\\\\n          \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"You don't yet have any patients\\\"]],\\\"locals\\\":[]},{\\\"statements\\\":[[\\\"text\\\",\\\"            \\\"],[\\\"block\\\",[\\\"text\\\",\\\"headline\\\"],null,null,10],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[\\\"text\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"title\\\",\\\"text\\\"],null,null,11]],\\\"locals\\\":[\\\"title\\\"]},{\\\"statements\\\":[[\\\"text\\\",\\\"        \\\"],[\\\"open-element\\\",\\\"div\\\",[]],[\\\"static-attr\\\",\\\"class\\\",\\\"flex layout-row layout-align-center-center empty-hero hero-3\\\"],[\\\"flush-element\\\"],[\\\"text\\\",\\\"\\\\n          \\\"],[\\\"append\\\",[\\\"helper\\\",[\\\"paper-icon\\\"],[\\\"videocam\\\"],[[\\\"size\\\"],[48]]],false],[\\\"text\\\",\\\"\\\\n        \\\"],[\\\"close-element\\\"],[\\\"text\\\",\\\"\\\\n\\\"],[\\\"block\\\",[\\\"card\\\",\\\"title\\\"],null,null,12],[\\\"block\\\",[\\\"card\\\",\\\"content\\\"],null,null,9],[\\\"block\\\",[\\\"card\\\",\\\"actions\\\"],null,null,8]],\\\"locals\\\":[\\\"card\\\"]},{\\\"statements\\\":[[\\\"block\\\",[\\\"paper-card\\\"],null,[[\\\"class\\\"],[\\\"empty-guide\\\"]],13]],\\\"locals\\\":[]}],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/tests/template.hbs\" } });\n});","define(\"bc-frontend/transitions\", [\"exports\"], function (exports) {\n  exports[\"default\"] = function () {\n    // Add your transitions here, like:\n    //   this.transition(\n    //     this.fromRoute('people.index'),\n    //     this.toRoute('people.detail'),\n    //     this.use('toLeft'),\n    //     this.reverse('toRight')\n    //   );\n  };\n});","define('bc-frontend/transitions/cross-fade', ['exports', 'liquid-fire/transitions/cross-fade'], function (exports, _liquidFireTransitionsCrossFade) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsCrossFade['default'];\n    }\n  });\n});","define('bc-frontend/transitions/default', ['exports', 'liquid-fire/transitions/default'], function (exports, _liquidFireTransitionsDefault) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsDefault['default'];\n    }\n  });\n});","define('bc-frontend/transitions/explode', ['exports', 'liquid-fire/transitions/explode'], function (exports, _liquidFireTransitionsExplode) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsExplode['default'];\n    }\n  });\n});","define('bc-frontend/transitions/fade', ['exports', 'liquid-fire/transitions/fade'], function (exports, _liquidFireTransitionsFade) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsFade['default'];\n    }\n  });\n});","define('bc-frontend/transitions/flex-grow', ['exports', 'liquid-fire/transitions/flex-grow'], function (exports, _liquidFireTransitionsFlexGrow) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsFlexGrow['default'];\n    }\n  });\n});","define('bc-frontend/transitions/fly-to', ['exports', 'liquid-fire/transitions/fly-to'], function (exports, _liquidFireTransitionsFlyTo) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsFlyTo['default'];\n    }\n  });\n});","define('bc-frontend/transitions/move-over', ['exports', 'liquid-fire/transitions/move-over'], function (exports, _liquidFireTransitionsMoveOver) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsMoveOver['default'];\n    }\n  });\n});","define('bc-frontend/transitions/scale', ['exports', 'liquid-fire/transitions/scale'], function (exports, _liquidFireTransitionsScale) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsScale['default'];\n    }\n  });\n});","define('bc-frontend/transitions/scroll-then', ['exports', 'liquid-fire/transitions/scroll-then'], function (exports, _liquidFireTransitionsScrollThen) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsScrollThen['default'];\n    }\n  });\n});","define('bc-frontend/transitions/to-down', ['exports', 'liquid-fire/transitions/to-down'], function (exports, _liquidFireTransitionsToDown) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsToDown['default'];\n    }\n  });\n});","define('bc-frontend/transitions/to-left', ['exports', 'liquid-fire/transitions/to-left'], function (exports, _liquidFireTransitionsToLeft) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsToLeft['default'];\n    }\n  });\n});","define('bc-frontend/transitions/to-right', ['exports', 'liquid-fire/transitions/to-right'], function (exports, _liquidFireTransitionsToRight) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsToRight['default'];\n    }\n  });\n});","define('bc-frontend/transitions/to-up', ['exports', 'liquid-fire/transitions/to-up'], function (exports, _liquidFireTransitionsToUp) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsToUp['default'];\n    }\n  });\n});","define('bc-frontend/transitions/wait', ['exports', 'liquid-fire/transitions/wait'], function (exports, _liquidFireTransitionsWait) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _liquidFireTransitionsWait['default'];\n    }\n  });\n});","define('bc-frontend/upload-auth/service', ['exports', 'ember'], function (exports, _ember) {\n\n  var FILE_TO_VIDEO_ANALYZER_ID = 10;\n\n  exports['default'] = _ember['default'].Service.extend({\n    ajax: _ember['default'].inject.service(),\n    store: _ember['default'].inject.service(),\n\n    authorizeUpload: function authorizeUpload(name, test, slug) {\n      var ajax = this.get('ajax'),\n          store = this.get('store');\n\n      return store.queryRecord('dataSetSchema', { slug: slug }).then(function (schema) {\n        var payload = {\n          dataSet: {\n            schemaId: schema.get('id'),\n            testId: test.get('id'),\n            subject: name\n          }\n        };\n\n        return ajax.request('/api/dataSets/upload', {\n          method: 'post',\n          data: JSON.stringify(payload),\n          contentType: 'application/json'\n        });\n      }).then(function (dataset) {\n        return {\n          id: dataset.dataSet.id,\n          objectKey: dataset.dataSet.dataInternalUri\n        };\n      });\n    },\n\n    signRequest: function signRequest(dataSetId, signParams, signHeaders, stringToSign, signatureDateTime, canonicalRequest) {\n      var ajax = this.get('ajax'),\n          payload = {\n        signParams: signParams,\n        signHeaders: signHeaders,\n        stringToSign: stringToSign,\n        signatureDateTime: signatureDateTime,\n        canonicalRequest: canonicalRequest\n      };\n\n      return ajax.request('/api/dataSets/' + dataSetId + '/sign', {\n        method: 'post',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (result) {\n        return result.dataSet.signature;\n      });\n    },\n\n    finalizeUpload: function finalizeUpload(dataSetId) {\n      var ajax = this.get('ajax'),\n          payload = {\n        analyzer: FILE_TO_VIDEO_ANALYZER_ID\n      };\n\n      return ajax.request('/api/dataSets/' + dataSetId + '/finalize_upload', {\n        method: 'put',\n        data: JSON.stringify(payload),\n        contentType: 'application/json'\n      }).then(function (result) {\n        return result;\n      });\n    }\n  });\n});","define('bc-frontend/user-session/service', ['exports', 'ember'], function (exports, _ember) {\n  exports['default'] = _ember['default'].Service.extend({\n    session: _ember['default'].inject.service(),\n    store: _ember['default'].inject.service(),\n    intercom: _ember['default'].inject.service(),\n\n    userId: _ember['default'].computed.alias('session.data.authenticated.userId'),\n\n    user: _ember['default'].computed('session.isAuthenticated', function () {\n      var userId = this.get('userId');\n      if (userId) {\n        return this.get('store').findRecord('user', userId);\n      }\n      return null;\n    }),\n\n    userChanged: _ember['default'].observer('user.isFulfilled', function () {\n      var user = this.get('user'),\n          intercom = this.get('intercom');\n\n      if (user && user.get('isFulfilled')) {\n        var firstName = user.get('firstName'),\n            lastName = user.get('lastName');\n\n        intercom.set('user.email', user.get('email'));\n        intercom.set('user.name', firstName + ' ' + lastName);\n        intercom.start();\n\n        // This is an example script - don't forget to change it!\n        FS.identify(user.get('email'), {\n          displayName: firstName + ' ' + lastName,\n          email: user.get('email')\n        });\n      }\n    }).on('init')\n  });\n});\n/*globals FS */","define('bc-frontend/user/model', ['exports', 'ember', 'ember-data/model', 'ember-data/attr'], function (exports, _ember, _emberDataModel, _emberDataAttr) {\n  // import { belongsTo, hasMany } from 'ember-data/relationships';\n\n  exports['default'] = _emberDataModel['default'].extend({\n    email: (0, _emberDataAttr['default'])('string'),\n    firstName: (0, _emberDataAttr['default'])('string'),\n    lastName: (0, _emberDataAttr['default'])('string'),\n\n    displayName: _ember['default'].computed('email', 'firstName', 'lastName', function () {\n      var email = this.get('email'),\n          first = this.get('firstName'),\n          last = this.get('lastName');\n\n      if (first) {\n        return first + ' ' + last;\n      }\n\n      return email;\n    }),\n\n    numDevices: (0, _emberDataAttr['default'])('number')\n  });\n});","define('bc-frontend/user/route', ['exports', 'ember', 'ember-simple-auth/mixins/authenticated-route-mixin'], function (exports, _ember, _emberSimpleAuthMixinsAuthenticatedRouteMixin) {\n  exports['default'] = _ember['default'].Route.extend(_emberSimpleAuthMixinsAuthenticatedRouteMixin['default'], {\n    model: function model(params) {\n      return this.get('store').findRecord('user', params.user_id);\n    }\n  });\n});","define(\"bc-frontend/user/template\", [\"exports\"], function (exports) {\n  exports[\"default\"] = Ember.HTMLBars.template({ \"id\": \"+7N9DGYH\", \"block\": \"{\\\"statements\\\":[[\\\"append\\\",[\\\"unknown\\\",[\\\"outlet\\\"]],false],[\\\"text\\\",\\\"\\\\n\\\"]],\\\"locals\\\":[],\\\"named\\\":[],\\\"yields\\\":[],\\\"blocks\\\":[],\\\"hasPartials\\\":false}\", \"meta\": { \"moduleName\": \"bc-frontend/user/template.hbs\" } });\n});","define('bc-frontend/utils/can-use-dom', ['exports', 'ember-metrics/utils/can-use-dom'], function (exports, _emberMetricsUtilsCanUseDom) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMetricsUtilsCanUseDom['default'];\n    }\n  });\n});","define('bc-frontend/utils/clamp', ['exports', 'ember-paper/utils/clamp'], function (exports, _emberPaperUtilsClamp) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPaperUtilsClamp['default'];\n    }\n  });\n});","define('bc-frontend/utils/color-generator', ['exports', 'ember-initials/utils/color-index'], function (exports, _emberInitialsUtilsColorIndex) {\n\n  var COLOR_LIST = ['#1abc9c', '#16a085', '#f1c40f', '#f39c12', '#2ecc71', '#27ae60', '#e67e22', '#d35400', '#3498db', '#2980b9', '#e74c3c', '#c0392b', '#9b59b6', '#8e44ad', '#bdc3c7', '#34495e', '#2c3e50', '#95a5a6', '#7f8c8d', '#ec87bf', '#d870ad', '#f69785', '#9ba37e', '#b49255', '#b49255', '#a94136', '#5461b4'];\n\n  exports['default'] = function (seedText) {\n    return COLOR_LIST[(0, _emberInitialsUtilsColorIndex['default'])(seedText, COLOR_LIST.length)];\n  };\n});","define('bc-frontend/utils/combo', ['exports', 'ember-key-manager/utils/combo'], function (exports, _emberKeyManagerUtilsCombo) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberKeyManagerUtilsCombo['default'];\n    }\n  });\n});","define('bc-frontend/utils/functions', ['exports', 'ember-string-helpers/utils/functions'], function (exports, _emberStringHelpersUtilsFunctions) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberStringHelpersUtilsFunctions['default'];\n    }\n  });\n});","define('bc-frontend/utils/key-codes', ['exports', 'ember-key-manager/utils/key-codes'], function (exports, _emberKeyManagerUtilsKeyCodes) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberKeyManagerUtilsKeyCodes['default'];\n    }\n  });\n});","define('bc-frontend/utils/modifier-key-codes', ['exports', 'ember-key-manager/utils/modifier-key-codes'], function (exports, _emberKeyManagerUtilsModifierKeyCodes) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberKeyManagerUtilsModifierKeyCodes['default'];\n    }\n  });\n});","define('bc-frontend/utils/modifier-keys', ['exports', 'ember-key-manager/utils/modifier-keys'], function (exports, _emberKeyManagerUtilsModifierKeys) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberKeyManagerUtilsModifierKeys['default'];\n    }\n  });\n});","define('bc-frontend/utils/object-transforms', ['exports', 'ember-metrics/utils/object-transforms'], function (exports, _emberMetricsUtilsObjectTransforms) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberMetricsUtilsObjectTransforms['default'];\n    }\n  });\n});","define('bc-frontend/utils/pad', ['exports', 'ember-pad/utils/pad'], function (exports, _emberPadUtilsPad) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad['default'];\n    }\n  });\n  Object.defineProperty(exports, 'padStart', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad.padStart;\n    }\n  });\n  Object.defineProperty(exports, 'padEnd', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad.padEnd;\n    }\n  });\n  Object.defineProperty(exports, 'padTpl', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad.padTpl;\n    }\n  });\n  Object.defineProperty(exports, 'padStartTpl', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad.padStartTpl;\n    }\n  });\n  Object.defineProperty(exports, 'padEndTpl', {\n    enumerable: true,\n    get: function get() {\n      return _emberPadUtilsPad.padEndTpl;\n    }\n  });\n});","define('bc-frontend/utils/titleize', ['exports', 'ember-cli-string-helpers/utils/titleize'], function (exports, _emberCliStringHelpersUtilsTitleize) {\n  Object.defineProperty(exports, 'default', {\n    enumerable: true,\n    get: function get() {\n      return _emberCliStringHelpersUtilsTitleize['default'];\n    }\n  });\n});","define('bc-frontend/vendor/model', ['exports', 'ember-data'], function (exports, _emberData) {\n  exports['default'] = _emberData['default'].Model.extend({\n    name: _emberData['default'].attr()\n  });\n});","\n","define('bc-frontend/config/environment', ['ember'], function(Ember) {\n  var prefix = 'bc-frontend';\ntry {\n  var metaName = prefix + '/config/environment';\n  var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n  var config = JSON.parse(unescape(rawConfig));\n\n  var exports = { 'default': config };\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n  return exports;\n}\ncatch(err) {\n  throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","if (!runningTests) {\n  require(\"bc-frontend/app\")[\"default\"].create({\"name\":\"bc-frontend\",\"version\":\"3.0.1+7b7a3180\"});\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxXA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjXA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxMA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5MA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;;ACJA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7HA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1LA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3JA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9IA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjIA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrRA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpdA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChJA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChIA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/GA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;;ACHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;","file":"bc-frontend.js"}