diff --git a/assets/huegasm-13ce4523797b021178b2a7a53349eca4.js b/assets/huegasm-13ce4523797b021178b2a7a53349eca4.js new file mode 100644 index 0000000..4aadf1a --- /dev/null +++ b/assets/huegasm-13ce4523797b021178b2a7a53349eca4.js @@ -0,0 +1,6 @@ +"use strict";define("huegasm/app",["exports","ember","huegasm/resolver","ember-load-initializers","huegasm/config/environment"],function(e,t,n,l,a){var o=void 0;t.default.MODEL_FACTORY_INJECTIONS=!0,o=t.default.Application.extend({modulePrefix:a.default.modulePrefix,podModulePrefix:a.default.podModulePrefix,Resolver:n.default}),(0,l.default)(o,a.default.modulePrefix),e.default=o}),define("huegasm/components/basic-dropdown",["exports","ember-basic-dropdown/components/basic-dropdown"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/basic-dropdown/content",["exports","ember-basic-dropdown/components/basic-dropdown/content"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/basic-dropdown/trigger",["exports","ember-basic-dropdown/components/basic-dropdown/trigger"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/ember-modal-dialog-positioned-container",["exports","ember-modal-dialog/components/positioned-container"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/ember-notify",["exports","ember-notify/components/ember-notify"],function(e,t){e.default=t.default}),define("huegasm/components/ember-notify/message",["exports","ember-notify/components/ember-notify/message"],function(e,t){e.default=t.default}),define("huegasm/components/ember-wormhole",["exports","ember-wormhole/components/ember-wormhole"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/modal-dialog-overlay",["exports","ember-modal-dialog/components/modal-dialog-overlay"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/modal-dialog",["exports","ember-modal-dialog/components/modal-dialog"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-autocomplete-content",["exports","ember-paper/components/paper-autocomplete-content"],function(e,t){e.default=t.default}),define("huegasm/components/paper-autocomplete-dropdown",["exports","ember-paper/components/paper-autocomplete-dropdown"],function(e,t){e.default=t.default}),define("huegasm/components/paper-autocomplete-highlight",["exports","ember-paper/components/paper-autocomplete-highlight"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-autocomplete-options",["exports","ember-paper/components/paper-autocomplete-options"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-autocomplete-trigger-container",["exports","ember-paper/components/paper-autocomplete-trigger-container"],function(e,t){e.default=t.default}),define("huegasm/components/paper-autocomplete-trigger",["exports","ember-paper/components/paper-autocomplete-trigger"],function(e,t){e.default=t.default}),define("huegasm/components/paper-autocomplete",["exports","ember-paper/components/paper-autocomplete"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-backdrop",["exports","ember-paper/components/paper-backdrop"],function(e,t){e.default=t.default}),define("huegasm/components/paper-button",["exports","ember-paper/components/paper-button"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-actions",["exports","ember-paper/components/paper-card-actions"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-avatar",["exports","ember-paper/components/paper-card-avatar"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-content",["exports","ember-paper/components/paper-card-content"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-header-headline",["exports","ember-paper/components/paper-card-header-headline"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-header-subhead",["exports","ember-paper/components/paper-card-header-subhead"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-header-text",["exports","ember-paper/components/paper-card-header-text"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-header-title",["exports","ember-paper/components/paper-card-header-title"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-header",["exports","ember-paper/components/paper-card-header"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-icon-actions",["exports","ember-paper/components/paper-card-icon-actions"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-image",["exports","ember-paper/components/paper-card-image"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-media",["exports","ember-paper/components/paper-card-media"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-title-media",["exports","ember-paper/components/paper-card-title-media"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-title-text",["exports","ember-paper/components/paper-card-title-text"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card-title",["exports","ember-paper/components/paper-card-title"],function(e,t){e.default=t.default}),define("huegasm/components/paper-card",["exports","ember-paper/components/paper-card"],function(e,t){e.default=t.default}),define("huegasm/components/paper-checkbox",["exports","ember-paper/components/paper-checkbox"],function(e,t){e.default=t.default}),define("huegasm/components/paper-chips",["exports","ember-paper/components/paper-chips"],function(e,t){e.default=t.default}),define("huegasm/components/paper-contact-chips",["exports","ember-paper/components/paper-contact-chips"],function(e,t){e.default=t.default}),define("huegasm/components/paper-content",["exports","ember-paper/components/paper-content"],function(e,t){e.default=t.default}),define("huegasm/components/paper-dialog-actions",["exports","ember-paper/components/paper-dialog-actions"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-dialog-container",["exports","ember-paper/components/paper-dialog-container"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-dialog-content",["exports","ember-paper/components/paper-dialog-content"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-dialog-inner",["exports","ember-paper/components/paper-dialog-inner"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-dialog",["exports","ember-paper/components/paper-dialog"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-divider",["exports","ember-paper/components/paper-divider"],function(e,t){e.default=t.default}),define("huegasm/components/paper-form",["exports","ember-paper/components/paper-form"],function(e,t){e.default=t.default}),define("huegasm/components/paper-grid-list",["exports","ember-paper/components/paper-grid-list"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-grid-tile-footer",["exports","ember-paper/components/paper-grid-tile-footer"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-grid-tile",["exports","ember-paper/components/paper-grid-tile"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-icon",["exports","ember-paper/components/paper-icon"],function(e,t){e.default=t.default}),define("huegasm/components/paper-input",["exports","ember-paper/components/paper-input"],function(e,t){e.default=t.default}),define("huegasm/components/paper-item",["exports","ember-paper/components/paper-item"],function(e,t){e.default=t.default}),define("huegasm/components/paper-list",["exports","ember-paper/components/paper-list"],function(e,t){e.default=t.default}),define("huegasm/components/paper-menu-content-inner",["exports","ember-paper/components/paper-menu-content-inner"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-menu-content",["exports","ember-paper/components/paper-menu-content"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-menu-item",["exports","ember-paper/components/paper-menu-item"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-menu",["exports","ember-paper/components/paper-menu"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-optgroup",["exports","ember-paper/components/paper-optgroup"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-option",["exports","ember-paper/components/paper-option"],function(e,t){e.default=t.default}),define("huegasm/components/paper-progress-circular",["exports","ember-paper/components/paper-progress-circular"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-progress-linear",["exports","ember-paper/components/paper-progress-linear"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-radio-group",["exports","ember-paper/components/paper-radio-group"],function(e,t){e.default=t.default}),define("huegasm/components/paper-radio",["exports","ember-paper/components/paper-radio"],function(e,t){e.default=t.default}),define("huegasm/components/paper-reset-button",["exports","ember-paper/components/paper-reset-button"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-content",["exports","ember-paper/components/paper-select-content"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-header",["exports","ember-paper/components/paper-select-header"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-menu-inner",["exports","ember-paper/components/paper-select-menu-inner"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-menu-trigger",["exports","ember-paper/components/paper-select-menu-trigger"],function(e,t){e.default=t.default}),define("huegasm/components/paper-select-menu",["exports","ember-paper/components/paper-select-menu"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-options",["exports","ember-paper/components/paper-select-options"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-search",["exports","ember-paper/components/paper-select-search"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select-trigger",["exports","ember-paper/components/paper-select-trigger"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-select",["exports","ember-paper/components/paper-select"],function(e,t){e.default=t.default}),define("huegasm/components/paper-sidenav-container",["exports","ember-paper/components/paper-sidenav-container"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/paper-sidenav-inner",["exports","ember-paper/components/paper-sidenav-inner"],function(e,t){e.default=t.default}),define("huegasm/components/paper-sidenav-toggle",["exports","ember-paper/components/paper-sidenav-toggle"],function(e,t){e.default=t.default}),define("huegasm/components/paper-sidenav",["exports","ember-paper/components/paper-sidenav"],function(e,t){e.default=t.default}),define("huegasm/components/paper-slider",["exports","ember-paper/components/paper-slider"],function(e,t){e.default=t.default}),define("huegasm/components/paper-subheader",["exports","ember-paper/components/paper-subheader"],function(e,t){e.default=t.default}),define("huegasm/components/paper-switch",["exports","ember-paper/components/paper-switch"],function(e,t){e.default=t.default}),define("huegasm/components/paper-toolbar-tools",["exports","ember-paper/components/paper-toolbar-tools"],function(e,t){e.default=t.default}),define("huegasm/components/paper-toolbar",["exports","ember-paper/components/paper-toolbar"],function(e,t){e.default=t.default}),define("huegasm/components/paper-virtual-repeat-scroller",["exports","ember-paper/components/paper-virtual-repeat-scroller"],function(e,t){e.default=t.default}),define("huegasm/components/paper-virtual-repeat",["exports","ember-paper/components/paper-virtual-repeat"],function(e,t){e.default=t.default}),define("huegasm/components/power-select-multiple",["exports","ember-power-select/components/power-select-multiple"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select-multiple/trigger",["exports","ember-power-select/components/power-select-multiple/trigger"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select",["exports","ember-power-select/components/power-select"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select/before-options",["exports","ember-power-select/components/power-select/before-options"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select/options",["exports","ember-power-select/components/power-select/options"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select/search-message",["exports","ember-power-select/components/power-select/search-message"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/power-select/trigger",["exports","ember-power-select/components/power-select/trigger"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/range-slider",["exports","ember-cli-nouislider/components/range-slider"],function(e,t){e.default=t.default}),define("huegasm/components/tether-dialog",["exports","ember-modal-dialog/components/tether-dialog"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/transition-group",["exports","ember-css-transitions/components/transition-group"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/components/virtual-each",["exports","virtual-each/components/virtual-each/component"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("huegasm/helpers/-paper-underscore",["exports","ember-paper/helpers/underscore"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"underscore",{enumerable:!0,get:function(){return t.underscore}})}),define("huegasm/helpers/and",["exports","ember","ember-truth-helpers/helpers/and"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.andHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.andHelper)),e.default=l}),define("huegasm/helpers/app-version",["exports","ember","huegasm/config/environment"],function(e,t,n){function l(){return a}e.appVersion=l;var a=n.default.APP.version;e.default=t.default.Helper.helper(l)}),define("huegasm/helpers/cancel-all",["exports","ember","ember-concurrency/-helpers"],function(e,t,n){function l(e){var l=e[0];return l&&"function"==typeof l.cancelAll||t.default.assert("The first argument passed to the `cancel-all` helper should be a Task or TaskGroup (without quotes); you passed "+l,!1),(0,n.taskHelperClosure)("cancelAll",e)}e.cancelHelper=l,e.default=t.default.Helper.helper(l)}),define("huegasm/helpers/ember-power-select-is-selected",["exports","ember-power-select/helpers/ember-power-select-is-selected"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"emberPowerSelectIsSelected",{enumerable:!0,get:function(){return t.emberPowerSelectIsSelected}})}),define("huegasm/helpers/ember-power-select-true-string-if-present",["exports","ember-power-select/helpers/ember-power-select-true-string-if-present"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"emberPowerSelectTrueStringIfPresent",{enumerable:!0,get:function(){return t.emberPowerSelectTrueStringIfPresent}})}),define("huegasm/helpers/eq",["exports","ember","ember-truth-helpers/helpers/equal"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.equalHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.equalHelper)),e.default=l}),define("huegasm/helpers/gt",["exports","ember","ember-truth-helpers/helpers/gt"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.gtHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.gtHelper)),e.default=l}),define("huegasm/helpers/gte",["exports","ember","ember-truth-helpers/helpers/gte"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.gteHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.gteHelper)),e.default=l}),define("huegasm/helpers/is-array",["exports","ember","ember-truth-helpers/helpers/is-array"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.isArrayHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.isArrayHelper)),e.default=l}),define("huegasm/helpers/lt",["exports","ember","ember-truth-helpers/helpers/lt"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.ltHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.ltHelper)),e.default=l}),define("huegasm/helpers/lte",["exports","ember","ember-truth-helpers/helpers/lte"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.lteHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.lteHelper)),e.default=l}),define("huegasm/helpers/not-eq",["exports","ember","ember-truth-helpers/helpers/not-equal"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.notEqualHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.notEqualHelper)),e.default=l}),define("huegasm/helpers/not",["exports","ember","ember-truth-helpers/helpers/not"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.notHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.notHelper)),e.default=l}),define("huegasm/helpers/or",["exports","ember","ember-truth-helpers/helpers/or"],function(e,t,n){var l=null;t.default.Helper?l=t.default.Helper.helper(n.orHelper):t.default.HTMLBars.makeBoundHelper&&(l=t.default.HTMLBars.makeBoundHelper(n.orHelper)),e.default=l}),define("huegasm/helpers/perform",["exports","ember","ember-concurrency/-task-property","ember-concurrency/-helpers"],function(e,t,n,l){function a(e,a){var o=e[0];return o instanceof n.Task||t.default.assert("The first argument passed to the `perform` helper should be a Task object (without quotes); you passed "+o,!1),(0,l.taskHelperClosure)("perform",e,a)}e.performHelper=a,e.default=t.default.Helper.helper(a)}),define("huegasm/helpers/task",["exports","ember"],function(e,t){function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?!function(){var n=e.get("multipleBridgeIps");t.forEach(function(e){n.pushObject(e.internalipaddress)}),l="multiple"}():l="fail",e.set("bridgeFindStatus",l)}).fail(function(){e.set("bridgeFindStatus","fail")})},pingBridgeUser:function(){var e=this,t=this.get("bridgeIp"),n=this.get("bridgeUserNamePingIntervalProgress"),l=this.get("bridgeUsernamePingMaxTime");null!==t&&n<100?(r.ajax("http://"+t+"/api",{data:JSON.stringify({devicetype:"huegasm"}),contentType:"application/json",type:"POST"}).done(function(t,n){e.isDestroyed||(e.set("bridgeAuthenticateReachedStatus",n),"success"!==n||t[0].error||(e.clearBridgePingIntervalHandle(),e.get("storage").set("huegasm.bridgeUsername",t[0].success.username),e.set("bridgeUsername",t[0].success.username)))}).fail(function(){e.clearBridgePingIntervalHandle(),e.set("error",!0)}),this.incrementProperty("bridgeUserNamePingIntervalProgress",this.get("bridgeUsernamePingIntervalTime")/l*100)):this.clearBridgePingIntervalHandle()},clearBridgePingIntervalHandle:function(){clearInterval(this.get("bridgePingIntervalHandle")),this.set("bridgePingIntervalHandle",null)},actions:{retry:function(){this.onBridgeIpChange()},chooseBridge:function(e){this.set("bridgeIp",e)},findBridgeByIp:function(){var e=this,t=this.get("manualBridgeIp");"trial"===t.toLowerCase()||"offline"===t.toLowerCase()?this.setProperties({trial:!0,bridgeIp:"trial",bridgeUsername:"trial"}):r.ajax("http://"+t+"/api",{data:JSON.stringify({devicetype:"huegasm"}),contentType:"application/json",type:"POST"}).fail(function(){e.set("manualBridgeIpNotFound",!0),setTimeout(function(){e.set("manualBridgeIpNotFound",!1)},5e3)}).then(function(){e.set("bridgeIp",t)})}}})}),define("huegasm/pods/components/bridge-finder/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"pe7ISywg",block:'{"statements":[["open-element","div",[]],["static-attr","class","title"],["flush-element"],["open-element","img",[]],["static-attr","src","assets/images/logo-2d51b899f18553cfc8ffd147c158cd3f.png"],["static-attr","alt","Huegasm"],["flush-element"],["close-element"],["close-element"],["text","\\n"],["block",["unless"],[["get",["bridgeUsername"]]],null,12]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","p",[]],["static-attr","class","bg-danger"],["flush-element"],["text","\\n Could not find a bridge with that IP address.\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","A hue bridge could not be automatically found on your network. "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Enter one manually? "],["open-element","br",[]],["flush-element"],["close-element"],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n ( or type "],["open-element","b",[]],["flush-element"],["text","offline"],["close-element"],["text"," to look around )\\n "],["close-element"],["text","\\n\\n "],["open-element","span",[]],["static-attr","id","bridge-input"],["flush-element"],["text","\\n "],["append",["helper",["paper-input"],null,[["label","value","onChange"],["Hue bridge IP address",["get",["manualBridgeIp"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["manualBridgeIp"]]],null]],null]]]],false],["text","\\n\\n "],["open-element","div",[]],["flush-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["onClick","raised","primary","label"],[["helper",["action"],[["get",[null]],"findBridgeByIp"],null],true,true,"Find"]]],false],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["if"],[["get",["manualBridgeIpNotFound"]]],null,0]],"locals":[]},{"statements":[["block",["if"],[["get",["bridgeFindFail"]]],null,1]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-radio"],null,[["value","label","onChange"],[["get",["bridge"]],["get",["bridge"]],["helper",["action"],[["get",[null]],"chooseBridge"],null]]]],false],["text","\\n"]],"locals":["bridge"]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","Found multiple hue bridges. "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Please select the one you want to use for this application."],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","id","bridge-button-group"],["flush-element"],["text","\\n"],["block",["each"],[["get",["multipleBridgeIps"]]],null,3],["text"," "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-progress-circular"],null,[["diameter"],[100]]],false],["text","\\n "],["open-element","p",[]],["flush-element"],["text","Trying to find your bridge\'s IP."],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["unless"],[["get",["bridgeFindStatus"]]],null,5],["text","\\n"],["block",["if"],[["get",["bridgeFindMultiple"]]],null,4,2]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","You failed to press the button in time. "],["open-element","a",[]],["static-attr","class","no-text-decoration"],["static-attr","href","#"],["modifier",["action"],[["get",[null]],"retry"]],["flush-element"],["text","RETRY"],["close-element"],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","\\n Your bridge IP is "],["open-element","b",[]],["flush-element"],["append",["unknown",["bridgeIp"]],false],["close-element"],["text","\\n "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Press the button on your bridge to authenticate this application.\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","img",[]],["static-attr","src","assets/images/pressButtonBridge-b15485b257b549c269d7f36fdc0d917b.png"],["static-attr","id","press-bridge-button-img"],["flush-element"],["close-element"],["text","\\n "],["append",["helper",["paper-progress-linear"],null,[["warn","value"],[true,["get",["bridgeUserNamePingIntervalProgress"]]]]],false],["text","\\n\\n"],["block",["if"],[["get",["isAuthenticating"]]],null,8,7]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","Huegasm encountered a critical error while trying to connect to your bridge."],["open-element","br",[]],["flush-element"],["close-element"],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n This likely happened because you\'re using an outdated browser and/or because your browser does not support "],["open-element","a",[]],["static-attr","href","https://en.wikipedia.org/wiki/Cross-origin_resource_sharing"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","CORS"],["close-element"],["text",". Feel free to contact me through the link at the bottom of the page if you feel like this is not the case."],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n For the best browsing experience on this site ( and every other one known to man ) please switch to "],["open-element","a",[]],["static-attr","href","https://www.google.com/chrome/"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","Google Chrome"],["close-element"],["text"," or "],["open-element","a",[]],["static-attr","href","https://www.mozilla.org/en-US/firefox/new/"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","Firefox."],["close-element"],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["if"],[["get",["error"]]],null,10,9]],"locals":[]},{"statements":[["block",["if"],[["get",["bridgeIp"]]],null,11,6]],"locals":[]}],"hasPartials":false}', +meta:{moduleName:"huegasm/pods/components/bridge-finder/template.hbs"}})}),define("huegasm/pods/components/hue-controls/component",["exports","ember"],function(e,t){var n=t.default.A,l=t.default.Component,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.run,i=t.default.inject,c=t.default.$;e.default=l.extend({classNames:["container-fluid"],elementId:"hue-controls",lightsData:null,activeLights:n(),tabList:["Lights","Music"],selectedTab:1,pauseLightUpdates:!1,lightsTabSelected:a.equal("selectedTab",0),musicTabSelected:a.equal("selectedTab",1),displayFailure:!0,notify:i.service(),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn md-menu-origin":"md-menu-origin"}),ready:a("lightsData","trial",function(){return this.get("trial")||!s(this.get("lightsData"))}),apiURL:a("bridgeIp","bridgeUsername",function(){return"http://"+this.get("bridgeIp")+"/api/"+this.get("bridgeUsername")}),tabData:a("tabList","selectedTab",function(){var e=[],t=this.get("selectedTab");return this.get("tabList").forEach(function(n,l){var a=!1;l===t&&(a=!0),e.push({name:n,selected:a})}),e}),didInsertElement:function(){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var e=new MutationObserver(function(e){var t=!e.every(function(e){return o(e.addedNodes)||s(e.addedNodes[0].classList)||e.addedNodes[0].classList.contains("tooltip")});t&&r.scheduleOnce("afterRender",function(){c(".bootstrap-tooltip").tooltip()})});e.observe(c("#hue-controls")[0],{childList:!0,subtree:!0})}},init:function(){this._super.apply(this,arguments),this.get("trial")||(this.updateLightData(),this.set("lightsDataIntervalHandle",setInterval(this.updateLightData.bind(this),2e3))),s(this.get("storage").get("huegasm.selectedTab"))||this.set("selectedTab",this.get("storage").get("huegasm.selectedTab"))},updateLightData:function(){var e=this,t=function(){s(e.get("lightsData"))?e.send("clearBridge"):e.get("displayFailure")&&(e.get("notify").warning({html:''}),e.set("displayFailure",!1),setTimeout(function(){e.set("displayFailure",!0)},3e4))};this.get("pauseLightUpdates")||c.get(this.get("apiURL")+"/lights",function(n,l){s(n[0])||s(n[0].error)?"success"===l&&JSON.stringify(e.get("lightsData"))!==JSON.stringify(n)&&e.set("lightsData",n):t()}).fail(t)},actions:{changeTab:function(e){var t=this.get("tabList").indexOf(e);this.set("selectedTab",t),this.get("storage").set("huegasm.selectedTab",t)},clearBridge:function(){var e=this.get("storage");e.remove("huegasm.bridgeUsername"),e.remove("huegasm.bridgeIp"),location.reload()},toggleDimmer:function(){this.sendAction()},clearAllSettings:function(){this.get("storage").clear(),location.reload()},startIntro:function(){var e=this,t=introJs,n=t(),l=c("#player-bottom");n.setOptions({steps:[{intro:"Welcome! This short tutorial will introduce you to Huegasm."},{element:"#music-tab",intro:"This is the music player. You'll use this to play music and synchronize it with your active lights.

TIP: Control which lights are active through the Lights tab."},{element:"#playlist",intro:"You can add and select music to play from your playlist here. You may listen to local audio files, stream music from soundcloud or stream directly from a connected microphone.

TIP: Songs added through Soundcloud will be saved for when you visit this page again."},{element:"#player-area",intro:"The audio playback may be controlled with the controls here. Basic music visualization effects may be shown here by selecting them from the menu ( eyeball icon in the bottom right )."},{element:"#beat-option-row",intro:"These are the settings for the music tab:
Sensitivity - The sensitivity of the beat detector ( more sensitivity results in more registered beats )
Hue Range - The hue range that the lights may change to on beat.
Flashing Transitions - Quickly flash the lights on beat
Colorloop - Slowly cycle the lights through all the colors while the music is playing
TIP: Your sensitivity settings are saved per song as indicated by the red star icon in the top left corner. These settings they will be restored if you ever listen to the same song again.",position:"top"},{element:"#beat-container",intro:"An interactive speaker that will bump when a beat is registered.

TIP: Click on the center of the speaker to simulate a beat.",position:"top"},{element:"#lights-tab",intro:"This is the lights tab. Here you'll be able to change various light properties:
Power - Turn the selected lights on/off
Brightness - The brightness level of the selected lights
Color - The color of the selected lights
Strobe - Selected lights will flash in sequential order
Colorloop - Selected lights will slowly cycle through all the colors
"},{element:"#active-lights",intro:"These icons represent the hue lights in your system. Active lights will be controlled by the application while the inactive lights will have a red X over them and will not be controlled.
You may toggle a light's state by clicking on it."},{element:c("#navigation .ember-basic-dropdown-trigger")[0],intro:"A few miscellaneous settings can be found here.

WARNING: clearing application settings will restore the application to its original state. This will even delete your playlist and any saved song beat preferences.",position:"bottom"},{intro:"And that's it...Hope you enjoy the application. ;)

TIP: click on the lightswitch to switch to a darker theme."}]}),n.onchange(function(e){"music-tab"===e.id||"playlist"===e.id||"player-area"===e.id||"beat-option-row"===e.id||"beat-option-button-group"===e.id||"beat-container"===e.id||"using-mic-audio-tooltip"===e.id?c(".navigation-item").eq(0).click():c(".navigation-item").eq(1).click(),"music-tab"===e.id||"playlist"===e.id||"player-area"===e.id?l.hide():"beat-option-row"===e.id||"beat-option-button-group"===e.id||"beat-container"===e.id?l.show():"dimmer"===e.id&&c(document).click()}),n.onafterchange(function(t){var n=c(t);""===n.html()&&c(".introjs-nextbutton").click(),r.later(e,function(){c(".introjs-tooltip").velocity("scroll")},500)}).start()}}})}),define("huegasm/pods/components/hue-controls/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"2F7XiBed",block:'{"statements":[["block",["if"],[["get",["ready"]]],null,9,0],["text","\\n"],["append",["helper",["ember-notify"],null,[["messageStyle","closeAfter"],["bootstrap",5000]]],false]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["append",["helper",["paper-progress-circular"],null,[["diameter"],[100]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["settings backup restore"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Reset settings\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["cached"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Restart tutorial\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["compare arrows"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Switch bridge\\n"]],"locals":[]},{"statements":[["block",["content","menu-item"],null,[["onClick"],["clearBridge"]],3],["text","\\n"],["block",["content","menu-item"],null,[["onClick"],["startIntro"]],2],["text","\\n"],["block",["content","menu-item"],null,[["onClick"],["clearAllSettings"]],1]],"locals":["content"]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["settings-icon"],[["class","size"],[["get",["dimmerOnClass"]],28]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-button"],null,[["iconButton"],[true]],5]],"locals":[]},{"statements":[["block",["menu","trigger"],null,null,6],["block",["menu","content"],null,[["width"],[3]],4]],"locals":["menu"]},{"statements":[["text"," "],["open-element","span",[]],["dynamic-attr","class",["concat",["navigation-item pointer text-uppercase ",["helper",["if"],[["get",["tab","selected"]],"active"],null]]]],["modifier",["action"],[["get",[null]],"changeTab",["get",["tab","name"]]]],["flush-element"],["append",["unknown",["tab","name"]],false],["close-element"],["text","\\n"]],"locals":["tab"]},{"statements":[["text"," "],["open-element","div",[]],["static-attr","id","navigation"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer-container"],["modifier",["action"],[["get",[null]],"toggleDimmer"]],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer"],["dynamic-attr","class",["unknown",["dimmerOnClass"]],null],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer-switch"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["each"],[["get",["tabData"]]],null,8],["block",["paper-menu"],null,null,7],["text"," "],["close-element"],["text","\\n\\n "],["append",["helper",["light-group"],null,[["lightsData","activeLights","syncLight","apiURL","dimmerOn","storage"],[["get",["lightsData"]],["get",["activeLights"]],["get",["syncLight"]],["get",["apiURL"]],["get",["dimmerOn"]],["get",["storage"]]]]],false],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","row"],["flush-element"],["text","\\n "],["append",["helper",["lights-tab"],null,[["apiURL","lightsData","activeLights","syncLight","trial","active","colorLoopOn","dimmerOn","playing","pauseLightUpdates"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["syncLight"]],["get",["trial"]],["get",["lightsTabSelected"]],["get",["colorLoopOn"]],["get",["dimmerOn"]],["get",["playing"]],["get",["pauseLightUpdates"]]]]],false],["text","\\n\\n "],["append",["helper",["music-tab"],null,[["apiURL","lightsData","activeLights","active","pauseLightUpdates","dimmerOn","storage","colorLoopOn","playing","action"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["musicTabSelected"]],["get",["pauseLightUpdates"]],["get",["dimmerOn"]],["get",["storage"]],["get",["colorLoopOn"]],["get",["playing"]],"startIntro"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/hue-controls/template.hbs"}})}),define("huegasm/pods/components/huegasm-app/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.isEmpty;e.default=n.extend({bridgeIp:null,bridgeUsername:null,trial:!1,ready:!1,elementId:"huegasm",init:function(){this._super.apply(this,arguments);var e=this.get("storage");l(e.get("huegasm.bridgeIp"))||l(e.get("huegasm.bridgeUsername"))||this.setProperties({bridgeIp:e.get("huegasm.bridgeIp"),bridgeUsername:e.get("huegasm.bridgeUsername")})},actions:{toggleDimmer:function(){this.sendAction()},isReady:function(){this.set("ready",!0)}}})}),define("huegasm/pods/components/huegasm-app/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"ZHk8la/u",block:'{"statements":[["block",["if"],[["get",["bridgeUsername"]]],null,3,2]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","div",[]],["static-attr","class","ready-block"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","title"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","assets/images/logo-2d51b899f18553cfc8ffd147c158cd3f.png"],["static-attr","alt","Huegasm"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","p",[]],["static-attr","id","intro"],["flush-element"],["text","\\n Your lights meet your music.\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["static-attr","id","intro-paragraph"],["flush-element"],["text","\\n Huegasm is a free web application for managing and synchronizing your "],["open-element","a",[]],["static-attr","target","_blank"],["static-attr","href","http://www2.meethue.com"],["flush-element"],["text","Philips Hue lights"],["close-element"],["text"," with the beat of your music.\\n "],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","embed-container-wrapper"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","embed-container"],["flush-element"],["text","\\n "],["open-element","iframe",[]],["static-attr","width","560"],["static-attr","height","315"],["static-attr","src","https://www.youtube.com/embed/zi9J6Qg-MPw"],["static-attr","frameborder","0"],["static-attr","allowfullscreen",""],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["raised","primary","onClick","class","label"],[true,true,["helper",["action"],[["get",[null]],"isReady"],null],"go-button center-block","Go!"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["bridge-finder"],null,[["bridgeIp","bridgeUsername","trial","storage"],[["get",["bridgeIp"]],["get",["bridgeUsername"]],["get",["trial"]],["get",["storage"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","a",[]],["static-attr","href","https://github.com/hoboman313/huegasm"],["static-attr","target","_blank "],["static-attr","rel","noopener noreferrer"],["static-attr","id","github-ribbon"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67"],["static-attr","alt","Fork me on GitHub"],["static-attr","data-canonical-src","https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["if"],[["get",["ready"]]],null,1,0]],"locals":[]},{"statements":[["text"," "],["append",["helper",["hue-controls"],null,[["bridgeIp","bridgeUsername","trial","dimmerOn","storage","action"],[["get",["bridgeIp"]],["get",["bridgeUsername"]],["get",["trial"]],["get",["dimmerOn"]],["get",["storage"]],"toggleDimmer"]]],false],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/huegasm-app/template.hbs"}})}),define("huegasm/pods/components/huegasm-footer/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.computed;e.default=n.extend({tagName:"footer",classNames:["footer"],year:l(function(){return(new Date).getFullYear()}),actions:{toggleDimmer:function(){this.sendAction()}}})}),define("huegasm/pods/components/huegasm-footer/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"Q3gCEKYl",block:'{"statements":[["open-element","div",[]],["static-attr","class","logo"],["modifier",["action"],[["get",[null]],"toggleDimmer"]],["flush-element"],["close-element"],["text","\\n\\n"],["open-element","div",[]],["static-attr","class","footer-text"],["flush-element"],["text","\\n © "],["append",["unknown",["year"]],false],["text","\\n\\n "],["open-element","a",[]],["static-attr","href","http://www.egorphilippov.me"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","\\n Egor Philippov\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"],["open-element","a",[]],["static-attr","href","https://play.google.com/store/apps/details?id=com.nidratech.huegasm"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","assets/images/google-play-badge-4be08e3cf4d01124257db037380272ea.png"],["static-attr","alt","Get it on the Google Play Store"],["flush-element"],["close-element"],["text","\\n"],["close-element"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/huegasm-footer/template.hbs"}})}),define("huegasm/pods/components/light-group/component",["exports","ember"],function(e,t){var n=t.default.A,l=t.default.Component,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.observer,i=t.default.$;e.default=l.extend({elementId:"active-lights",classNames:["light-group","horizontal-light-group"],isHovering:!1,activeLights:n(),lightsList:a("lightsData","activeLights.[]","dimmerOn",function(){var e=this.get("lightsData"),t=this.get("activeLights"),l=this.get("dimmerOn"),a=n(),o=void 0,s=void 0;for(var r in e)if(s="light-active",e.hasOwnProperty(r)&&e[r].state.reachable){switch(e[r].modelid){case"LCT001":o="a19";break;case"LCT002":o="br30";break;case"LCT003":o="gu10";break;case"LST001":o="lightstrip";break;case"LLC010":o="lc_iris";break;case"LLC011":o="lc_bloom";break;case"LLC012":o="lc_bloom";break;case"LLC006":o="lc_iris";break;case"LLC007":o="lc_aura";break;case"LLC013":o="storylight";break;case"LWB004":o="a19";break;case"LLC020":o="huego";break;default:o="a19"}l&&(o+="w"),t.includes(r)||(s="light-inactive"),a.push({type:o,name:e[r].name,id:r,data:e[r],activeClass:s})}return a}),onActiveLightsChange:r("activeLights.[]",function(){this.get("storage").set("huegasm.activeLights",this.get("activeLights"))}),init:function(){this._super.apply(this,arguments);var e=this.get("lightsData"),t=this.get("activeLights"),n=this.get("storage").get("huegasm.activeLights");if(s(n))for(var l in e)e.hasOwnProperty(l)&&e[l].state.reachable&&t.pushObject(l);else n.forEach(function(n){e.hasOwnProperty(n)&&e[n].state.reachable&&t.pushObject(n)})},actions:{clickLight:function(e){var t=this.get("activeLights"),n=t.indexOf(e);n!==-1?t.removeObject(e):(t.pushObject(e),this.set("syncLight",e))},lightStartHover:function(e){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});o(t)||this.get("noHover")===!0||i.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({alert:"lselect"}),contentType:"application/json",type:"PUT"}),this.set("isHovering",!0)}},lightStopHover:function(e){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});o(t)||this.get("noHover")===!0||i.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({alert:"none"}),contentType:"application/json",type:"PUT"}),this.set("isHovering",!1)}}}})}),define("huegasm/pods/components/light-group/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"NgytHQNN",block:'{"statements":[["block",["each"],[["get",["lightsList"]]],null,0]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","div",[]],["dynamic-attr","class",["concat",[["unknown",["light","activeClass"]]," bootstrap-tooltip light",["unknown",["light","id"]]]]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["dynamic-attr","data-title",["unknown",["light","name"]],null],["modifier",["action"],[["get",[null]],"clickLight",["get",["light","id"]]]],["modifier",["action"],[["get",[null]],"lightStartHover",["get",["light","id"]]],[["on"],["mouseEnter"]]],["modifier",["action"],[["get",[null]],"lightStopHover",["get",["light","id"]]],[["on"],["mouseLeave"]]],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","class","hueLight"],["static-attr","width","40"],["dynamic-attr","src",["concat",["assets/images/lights/",["unknown",["light","type"]],".svg"]]],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n"]],"locals":["light"]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/light-group/template.hbs"}})}),define("huegasm/pods/components/lights-tab/color-picker/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.$;e.default=n.extend({elementId:"color-picker",rgb:null,canvas:null,canvasContext:null,pressingDown:!1,mouseUp:function(){this.set("pressingDown",!1)},mouseMove:function(e){this.get("pressingDown")&&this.mouseDown(e)},mouseDown:function(e){var t=l(this.get("canvas")).offset(),n=Math.floor(e.pageX-t.left),a=Math.floor(e.pageY-t.top),o=this.get("canvasContext").getImageData(n,a,1,1),s=o.data;this.set("pressingDown",!0),0===s[0]&&0===s[1]&&0===s[2]||this.set("rgb",[s[0],s[1],s[2]])},didInsertElement:function(){var e=l("#picker")[0],t=e.getContext("2d"),n=new Image;n.src="assets/images/colormap-83aafd17086eaab68b229a681c04139b.png",n.onload=function(){t.drawImage(n,0,0,n.width,n.height)},this.setProperties({canvas:e,canvasContext:t})}})}),define("huegasm/pods/components/lights-tab/color-picker/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"wNrN9ioa",block:'{"statements":[["open-element","canvas",[]],["static-attr","id","picker"],["static-attr","width","256"],["static-attr","height","256"],["flush-element"],["close-element"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/lights-tab/color-picker/template.hbs"}})}),define("huegasm/pods/components/lights-tab/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.observer,a=t.default.computed,o=t.default.on,s=t.default.$;e.default=n.extend({classNames:["col-sm-8","col-sm-offset-2","col-xs-12"],classNameBindings:["active::hidden"],elementId:"lights-tab",rgb:[255,255,255],lightsOn:!1,colorLoopOn:!1,lightsOnTxt:a("lightsOn",function(){return this.get("lightsOn")?"On":"Off"}),colorloopOnTxt:a("colorLoopOn",function(){return this.get("colorLoopOn")?"On":"Off"}),lightsBrightness:a("lightsData",function(){var e=this.get("lightsData"),t=this.get("activeLights"),n=0;return t.forEach(function(t){n+=e[t].state.bri}),n/t.length}),brightnessControlDisabled:a.not("lightsOn"),onColorLoopOnChange:l("colorLoopOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),l=this.get("colorLoopOn"),a=l?"colorloop":"none",o=n.some(function(e){return"colorloop"===t[e].state.effect});l!==o&&n.forEach(function(t){e.get("lightsData")[t].state.effect!==a&&s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({effect:a}),contentType:"application/json",type:"PUT"})})}),rgbPreview:l("rgb",function(){var e=this,t=this.get("rgb"),n=this.rgbToXy(t[0],t[1],t[2]);this.set("colorLoopOn",!1),this.get("activeLights").forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({xy:n}),contentType:"application/json",type:"PUT"})}),this.set("colorLoopOn",!1),s(".color").css("background","rgb("+t[0]+","+t[1]+","+t[2]+")")}),lightsOnChange:o("init",l("lightsData.@each.state.on","activeLights.[]",function(){var e=this;this.get("strobeOn")||!function(){var t=e.get("lightsData"),n=e.get("activeLights").some(function(e){return t[e].state.on===!0});e.set("lightsOn",n)}()})),onLightsOnChange:l("lightsOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),l=this.get("lightsOn"),a=n.some(function(e){return t[e].state.on===!0});l!==a&&n.forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:l}),contentType:"application/json",type:"PUT"})})}),onBrightnessChanged:l("lightsBrightness",function(){var e=this,t=this.get("lightsData"),n=!1,l=this.get("lightsBrightness"),a=this.get("activeLights");a.forEach(function(e){n+=t[e].state.bri}),n/=a.length,l!==n&&a.forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({bri:l}),contentType:"application/json",type:"PUT"})})}),onaActiveLightsChange:l("syncLight",function(){var e={on:this.get("lightsOn"),bri:this.get("lightsBrightness"),effect:this.get("colorLoopOn")?"colorloop":"none"},t=this.get("rgb"),n=this.get("syncLight");255!==t[0]&&255!==t[1]&&255!==t[2]&&(e.xy=this.rgbToXy(t[0],t[1],t[2])),e.transitiontime=0,s.ajax(this.get("apiURL")+"/lights/"+n+"/state",{data:JSON.stringify(e),contentType:"application/json",type:"PUT"})}),strobeOn:!1,strobeOnInervalHandle:null,strobeSat:0,preStrobeOnLightsDataCache:null,lastStrobeLight:0,onStrobeOnChange:l("strobeOn",function(){var e=this,t=this.get("lightsData"),n=this.get("strobeOn");if(n){this.set("preStrobeOnLightsDataCache",t);var l={sat:this.get("strobeSat"),transitiontime:0};for(var a in t)t.hasOwnProperty(a)&&(t[a].state.on&&(l.on=!1),s.ajax(this.get("apiURL")+"/lights/"+a+"/state",{data:JSON.stringify(l),contentType:"application/json",type:"PUT"}));this.set("strobeOnInervalHandle",setInterval(this.strobeStep.bind(this),500))}else!function(){var n=e.get("preStrobeOnLightsDataCache"),l=function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:n[t].state.on,sat:n[t].state.sat}),contentType:"application/json",type:"PUT"})};for(var a in t)t.hasOwnProperty(a)&&setTimeout(l,2e3,a);setTimeout(function(){e.onColorLoopOnChange()},2e3),clearInterval(e.get("strobeOnInervalHandle"))}();this.set("pauseLightUpdates",n)}),strobeStep:function(){var e=(this.get("lastStrobeLight")+1)%(this.get("activeLights").length+1),t={on:!0,transitiontime:0,alert:"select"};this.get("colorLoopOn")&&(t.hue=Math.floor(65535*Math.random())),s.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify(t),contentType:"application/json",type:"PUT"}),s.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({on:!1,transitiontime:0}),contentType:"application/json",type:"PUT"}),this.set("lastStrobeLight",e)},strobeOnTxt:a("strobeOn",function(){return this.get("strobeOn")?"On":"Off"}),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),actions:{toggleDimmer:function(){this.sendAction("toggleDimmer")}},rgbToXy:function(e,t,n){var l=void 0,a=void 0,o=void 0,s=void 0,r=void 0;return e=Number(e/255),t=Number(t/255),n=Number(n/255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,l=.664511*e+.154324*t+.162028*n,a=.283881*e+.668433*t+.047685*n,o=88e-6*e+.07231*t+.986039*n,s=l/(l+a+o),r=a/(l+a+o),[s,r]},xyToRgb:function(e,t){var n=void 0,l=void 0,a=void 0,o=void 0,s=1,r=void 0;return o=s/t*e,r=s/t*(1-e-t),n=1.656492*o-.354851*s-.255038*r,l=o*-.707196+1.655397*s+.036152*r,a=.051713*o-.121364*s+1.01153*r,n>a&&n>l&&n>1?(l/=n,a/=n,n=1):l>a&&l>n&&l>1?(n/=l,a/=l,l=1):a>n&&a>l&&a>1&&(n/=a,l/=a,a=1),n=n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,n>a&&n>l?n>1&&(l/=n,a/=n,n=1):l>a&&l>n?l>1&&(n/=l,a/=l,l=1):a>n&&a>l&&a>1&&(n/=a,l/=a,a=1),n*=255,l*=255,a*=255,[n,l,a]}})}),define("huegasm/pods/components/lights-tab/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"m2hlx07r",block:'{"statements":[["block",["paper-list"],null,null,10]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["append",["helper",["paper-icon"],["color-lens"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," "],["append",["helper",["paper-icon"],["loop"],[["id","class"],["loop-addition",["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Selected lights will slowly cycle through all the colors"],["flush-element"],["text","Colorloop"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["colorLoopOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["colorLoopOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["colorloopOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["flare"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Selected lights will flash in sequential order"],["flush-element"],["text","Strobe"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["strobeOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["strobeOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["strobeOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["lights-tab/color-picker"],null,[["lightsData","activeLights","rgb"],[["get",["lightsData"]],["get",["activeLights"]],["get",["rgb"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["content","menu-item"],null,null,2]],"locals":["content"]},{"statements":[["text"," "],["append",["helper",["paper-button"],null,[["raised","class","disabled"],[true,"color",["helper",["or"],[["get",["trial"]],["get",["playing"]]],null]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-button"],null,[["iconButton"],[false]],4]],"locals":[]},{"statements":[["block",["menu","trigger"],null,null,5],["block",["menu","content"],null,[["class","width"],["color-content",0]],3]],"locals":["menu"]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["color-lens"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","The color of the selected lights"],["flush-element"],["text","Color"],["close-element"],["text","\\n\\n"],["block",["paper-menu"],null,[["offset"],["0 -50"]],6]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["brightness-4"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","The brightness level of the selected lights"],["flush-element"],["text","Brightness"],["close-element"],["text","\\n "],["append",["helper",["paper-slider"],null,[["flex","min","max","value","disabled"],[true,1,254,["get",["lightsBrightness"]],["get",["brightnessControlDisabled"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["power-settings-new"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Turn the selected lights on/off"],["flush-element"],["text","Power"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["lightsOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["lightsOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["lightsOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-item"],null,null,9],["text","\\n"],["block",["paper-item"],null,null,8],["text","\\n"],["block",["paper-item"],null,[["elementId"],["color-row"]],7],["text","\\n"],["block",["paper-item"],null,null,1],["text","\\n"],["block",["paper-item"],null,null,0]],"locals":[]}],"hasPartials":false}', +meta:{moduleName:"huegasm/pods/components/lights-tab/template.hbs"}})}),define("huegasm/pods/components/music-tab/add-soundcloud-sound-modal/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.observer,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.$;e.default=n.extend({url:null,onIsShowingModalChange:l("isShowingModal",function(){this.get("isShowingModal")&&(this.set("url",null),setTimeout(function(){r("md-input-container input").focus()},500))}),saveDisabled:a("url",function(){return s(this.get("url"))||o(this.get("url").trim())}),didInsertElement:function(){var e=this;r(document).keypress(function(t){e.get("saveDisabled")||13!==t.which||e.send("add")})},actions:{close:function(){this.sendAction()},add:function(){this.sendAction("action",this.get("url"))}}})}),define("huegasm/pods/components/music-tab/add-soundcloud-sound-modal/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"bOxSs2v4",block:'{"statements":[["block",["if"],[["get",["isShowingModal"]]],null,1]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text","\\n "],["open-element","p",[]],["flush-element"],["text","Enter a "],["open-element","a",[]],["static-attr","href","https://soundcloud.com"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","SoundCloud"],["close-element"],["text"," track or playlist/set URL"],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","( ex. https://soundcloud.com/mrsuicidesheep/tracks )"],["close-element"],["text","\\n\\n "],["append",["helper",["paper-input"],null,[["label","icon","value","onChange"],["SoundCloud URL","search",["get",["url"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["url"]]],null]],null]]]],false],["text","\\n\\n "],["open-element","div",[]],["flush-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["onClick","label"],[["helper",["action"],[["get",[null]],"close"],null],"Close"]]],false],["text","\\n "],["append",["helper",["paper-button"],null,[["class","onClick","disabled","primary","label"],["pull-right",["helper",["action"],[["get",[null]],"add"],null],["get",["saveDisabled"]],true,"Add Music"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["modal-dialog"],null,[["close","alignment","translucentOverlay","attachment","targetAttachment"],["close","center",true,"center","center"]],0]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/music-tab/add-soundcloud-sound-modal/template.hbs"}})}),define("huegasm/pods/components/music-tab/component",["exports","ember","huegasm/pods/components/music-tab/mixins/helpers","huegasm/pods/components/music-tab/mixins/visualizer"],function(e,t,n,l){var a=t.default.Component,o=t.default.observer,s=t.default.isEmpty,r=t.default.isNone,i=t.default.$,c=t.default.run;e.default=a.extend(n.default,l.default,{onAmbienceModeChange:o("ambienceMode","playing",function(){var e=this;this.get("ambienceMode")&&this.get("playing")?(this.set("ambienceModeHandle",setInterval(function(){e.doAmbienceLightChange()},5e3)),this.setProperties({colorloopMode:!1,flashingTransitions:!1})):this.get("ambienceModeHandle")&&(this.get("activeLights").forEach(function(t){i.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:!0}),contentType:"application/json",type:"PUT"})}),clearInterval(this.get("ambienceModeHandle")),this.set("ambienceModeHandle",null))}),updatePageTitle:o("playQueuePointer",function(){var e="Huegasm",t=this.get("playQueuePointer"),n=this.get("playQueue");if(t!==-1){var l=n[t];l.title?(e=l.title,l.artist&&(e+=" - "+l.artist)):e=l.fileName,e+="- Huegasm"}document.title=e}),changePlayerControl:function(e,t,n){this.set(e,t),"threshold"===e&&this.get("kick").set({threshold:t}),n&&this.get("usingLocalAudio")&&this.get("playQueuePointer")!==-1&&this.saveSongBeatPreferences(),this.get("storage").set("huegasm."+e,t)},saveSongBeatPreferences:function(){var e=this.get("playQueue")[this.get("playQueuePointer")];if(e){var t=s(e.artist)?e.fileName:e.artist+"-"+e.title,n=this.get("songBeatPreferences");n[t]={threshold:this.get("threshold")},this.set("usingBeatPreferences",!0),this.get("storage").set("huegasm.songBeatPreferences",n)}},loadSongBeatPreferences:function(){var e=this.get("playQueue")[this.get("playQueuePointer")],t=s(e.artist)?e.fileName:e.artist+"-"+e.title,n=this.get("songBeatPreferences"),l=n[t],a=this.get("oldBeatPrefCache"),o=null;r(l)?r(a)||(this.changePlayerControl("threshold",a.threshold),this.set("usingBeatPreferences",!1)):(o={threshold:this.get("threshold")},this.changePlayerControl("threshold",l.threshold),this.set("usingBeatPreferences",!0)),this.set("oldBeatPrefCache",o)},doAmbienceLightChange:function(e){for(var t=this,n=this.get("activeLights"),l=this.get("lightsData"),a=this.get("ambienceWorkedLights"),o=this.get("hueRange"),s=this.get("ambienceWorkedLightsHandles"),r=function(e){t.get("ambienceMode")&&t.get("playing")&&i.ajax(t.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({on:!1,transitiontime:20}),contentType:"application/json",type:"PUT"})},c=[],p=Math.floor(20*Math.random()),u=e?1:n.length/2,d=0;d0&&!this.get("ambienceMode")){var c=this.get("lastLightBopIndex"),p=void 0,u=254,d=void 0;if(p=Math.floor(Math.random()*t.length),t.length>1)for(;p===c;)p=Math.floor(Math.random()*t.length);if(d=t[p],this.set("lastLightBopIndex",p),!this.get("colorloopMode")){var m=this.get("hueRange");l=Math.floor(Math.random()*(m[1]-m[0]+1)+m[0])}a&&(s=80),o(d,u,l),setTimeout(o,s,d,1)}this.set("paused",!0),setTimeout(function(){e.set("paused",!1)},150),this.get("ambienceMode")&&t.length>0&&this.doAmbienceLightChange(!0),i("#beat-speaker-center-outer").velocity({blur:3},100).velocity({blur:0},100),i("#beat-speaker-center-inner").velocity({scale:1.05},100).velocity({scale:1},100)},init:function(){var e=this;this._super.apply(this,arguments),window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var t=new Dancer,n=this.get("storage"),l=t.createKick({threshold:this.get("threshold"),onKick:function(t,n){e.get("paused")===!1&&e.simulateKick(t,n)}});l.on(),this.setProperties({dancer:t,kick:l}),void 0===navigator.getUserMedia&&this.set("usingMicSupported",!1),["volume","shuffle","repeat","volumeMuted","threshold","playerBottomDisplayed","audioMode","songBeatPreferences","firstVisit","currentVisName","playQueue","playQueuePointer","micBoost","flashingTransitions","colorloopMode","ambienceMode","hueRange"].forEach(function(t){if(!r(n.get("huegasm."+t))){var l=n.get("huegasm."+t);r(e.actions[t+"Changed"])?e.set(t,l):e.send(t+"Changed",l)}}),SC.initialize({client_id:this.get("SC_CLIENT_ID")})},didInsertElement:function(){var e=this;this._super();var t=this;i("#file-input").on("change",function(){var e=this.files;t.send("handleNewFiles",e),this.value=null}),i(document).on("click",".alert",function(e){i(e.target).addClass("removed")}),i("#beat-container").on("mousedown","#beat-speaker-center-inner",function(e){e.preventDefault()}),i(document).keypress(function(t){32===t.which&&"text"!==t.target.type&&e.send("play")}),this.$().on("drop","#play-list-area",function(t){e.send("dropFiles",t.dataTransfer.files)}),i("#player-area").on("mousewheel",function(t){if(e.get("playQueueNotEmpty")&&!e.get("usingMicAudio")){var n=5;t.deltaY<0&&(n*=-1);var l=e.get("volume")+n;e.send("volumeChanged",l<0?0:l),t.preventDefault()}}),this.get("firstVisit")&&(this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/candyland-speechless-feat-rkcb"),this.send("handleNewSoundCloudURL","https://soundcloud.com/dillistone/dillistone-lili-n-rude"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/vallis-alps-young-feki-remix"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/andrew-luce-when-to-love-you-feat-chelsea-cutler"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/ahh-ooh-carefree-with-me"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/crywolf-slow-burn"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/clozee-red-forest"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/elo-method-subranger-solace"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/90-pounds-of-pete-waited-too-long-feat-devon-baldwin"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/draper-eyes-open"),this.get("storage").set("huegasm.firstVisit",!1),this.sendAction()),this.get("playerBottomDisplayed")||i("#player-bottom").hide()},actions:{clearPlaylist:function(){this.get("playQueue").clear()},setVisName:function(e){this.set("currentVisName",e)},hideTooltip:function(){i(".bootstrap-tooltip").tooltip("hide")},gotoSCURL:function(e){this.get("playing")&&this.send("play"),this.send("gotoURL",e)},gotoURL:function(e){i(".tooltip").remove(),window.open(e,"_blank")},handleNewSoundCloudURL:function(e){var t=this;e&&SC.resolve(e).then(function(e){var n=function e(n){"user"===n.kind?t.get("notify").alert({html:t.get("scUserNotSupportedHtml")}):"track"===n.kind?n.streamable===!0?!function(){var e=null;n.artwork_url?e=n.artwork_url.replace("large","t67x67"):n.user.avatar_url&&(e=n.user.avatar_url),i.get(e).done(function(){t.get("playQueue").pushObject({url:n.stream_url+"?client_id="+t.get("SC_CLIENT_ID"),fileName:n.title+" - "+n.user.username,artist:n.user.username,scUrl:n.permalink_url,title:n.title,picture:e})}).fail(function(){t.get("playQueue").pushObject({url:n.stream_url+"?client_id="+t.get("SC_CLIENT_ID"),fileName:n.title+" - "+n.user.username,artist:n.user.username,scUrl:n.permalink_url,title:n.title})})}():l.push(n.title):"playlist"===n.kind&&(n.streamable===!0?n.tracks.forEach(e):l.push(n.title))},l=[];e instanceof Array?e.forEach(n):n(e),l.length>0&&t.get("notify").alert({html:t.get("notStreamableHtml")(l)}),t.get("playQueuePointer")===-1&&(t.get("firstVisit")?t.send("goToSong",0):t.send("next"))},function(){t.get("notify").alert({html:t.get("urlNotFoundHtml")(e)})}),this.set("isShowingAddSoundCloudModal",!1)},toggleIsShowingAddSoundCloudModal:function(){this.toggleProperty("isShowingAddSoundCloudModal")},useLocalAudio:function(){var e=this.get("audioStream");if(this.changePlayerControl("audioMode",0),!r(e)){var t=e.getVideoTracks();t&&t[0]&&t[0].stop&&t[0].stop(),e.stop&&e.stop(),this.setProperties({audioStream:null,playing:!1})}this.get("playQueuePointer")!==-1&&(this.send("goToSong",this.get("playQueuePointer")),this.send("volumeChanged",this.get("volume"))),r(this.get("oldThreshold"))||this.set("threshold",this.get("oldThreshold")),document.title="Huegasm"},useMicAudio:function(){this.get("usingMicAudio")?this.send("useLocalAudio"):this.startUsingMic()},slideTogglePlayerBottom:function(){var e=this.$("#player-bottom");e.velocity(e.is(":visible")?"slideUp":"slideDown",{duration:300}),this.changePlayerControl("playerBottomDisplayed",!this.get("playerBottomDisplayed"))},goToSong:function(e,t,n){var l=this,a=this.get("dancer"),o=this.get("playQueue");a.audio&&this.clearCurrentAudio(!0),r(o[e])||!function(){var o=new Audio;o.src=l.get("playQueue")[e].url,o.crossOrigin="anonymous",o.oncanplay=function(){l.set("timeTotal",Math.floor(o.duration)),l.set("soundCloudFuckUps",0)},o.onerror=function(e){var t=l.get("playQueuePointer"),n=l.get("playQueue")[t];l.get("soundCloudFuckUps")>=l.get("maxSoundCloudFuckUps")?(l.get("notify").alert({html:l.get("tooManySoundCloudFuckUps")}),l.send("play"),l.set("soundCloudFuckUps",0)):(n.local?l.send("removeAudio",t):l.send("next",!0),2===e.target.error.code?l.get("notify").alert({html:l.get("failedToDecodeFileHtml")(n.fileName)}):l.get("notify").alert({html:l.get("failedToPlayFileHtml")(n.fileName)}),l.set("usingBeatPreferences",!1),l.incrementProperty("soundCloudFuckUps"))},o.ontimeupdate=function(){l.set("timeElapsed",Math.floor(o.currentTime))},o.onended=function(){l.send("next")},a.load(o,1),l.set("playQueuePointer",e),l.loadSongBeatPreferences(),t&&l.send("play"),n&&c.next(l,function(){i(".track"+e).velocity("scroll",{container:i("#play-list-area"),duration:200})})}()},removeAudio:function(e){this.get("playQueue").removeAt(e),i("body .tooltip").remove(),e===this.get("playQueuePointer")&&this.send("goToSong",e,!0,!0)},playerAreaPlay:function(){s(i("#player-controls:hover"))&&this.get("playQueuePointer")!==-1&&(this.send("play"),i("#play-notification").velocity({opacity:.8,scale:1},0).velocity({opacity:0,scale:3},500))},play:function(e){var t=this.get("dancer"),n=this.get("playQueuePointer"),l=this.get("playing");if(n!==-1){if(l)t.pause(),e||this.set("timeElapsed",Math.floor(t.getTime()));else{var a=this.get("timeTotal");if(this.get("volumeMuted")?t.setVolume(0):t.setVolume(this.get("volume")/100),this.get("timeElapsed")===a&&0!==a)return void this.send("next",!0);i(window).trigger("resize"),t.play()}this.set("pauseLightUpdates",!l),this.onColorloopModeChange(),this.toggleProperty("playing")}},volumeChanged:function(e){this.changePlayerControl("volume",e),this.get("playing")&&this.get("dancer").setVolume(e/100),this.get("volume")>0&&this.get("volumeMuted")&&this.changePlayerControl("volumeMuted",!1)},next:function(e){var t=this.get("playQueuePointer"),n=this.get("playQueue"),l=t+1,a=this.get("repeat"),o=this.get("shuffle");if(2===a)l=t===-1&&n.length>0?0:t;else if(o){var s=this.get("shufflePlayed");if(s.length===n.length)return s.clear(),void this.send("play",!0);do l=Math.floor(Math.random()*n.length);while(s.includes(n[l].url));s.pushObject(n[l].url)}else if(l>n.length-1){if(1!==a&&!e)return void this.send("play",!0);l%=n.length}this.send("goToSong",l,!0,!0)},previous:function(){var e=this;this.get("timeElapsed")>5?this.send("seekChanged",0):!function(){var t=e.get("playQueuePointer"),n=e.get("playQueue");e.get("shuffle")&&!r(n[t])?!function(){var l=e.get("shufflePlayed"),a=e.get("shufflePlayed").indexOf(n[t].url),o=0;l.length>0&&a!==-1&&(t=a-1,t<0&&(t=l.length-1),n.some(function(e){return e.url===l[t]?(t=o,!0):(o++,!1)}))}():(t--,t<0&&(t=n.length-1)),e.send("goToSong",t,!0,!0)}()},seekChanged:function(e){var t=this.get("dancer");t.audio&&(t.audio.currentTime=Math.floor(this.get("timeTotal")*e/100))},volumeMutedChanged:function(e){var t=this.get("dancer"),n=r(e)?!this.get("volumeMuted"):e;this.changePlayerControl("volumeMuted",n),this.get("playing")&&(n?t.setVolume(0):t.setVolume(this.get("volume")/100))},addLocalAudio:function(){i("#file-input").click()},shuffleChanged:function(e){this.changePlayerControl("shuffle",r(e)?!this.get("shuffle"):e)},repeatChanged:function(e){this.changePlayerControl("repeat",r(e)?(this.get("repeat")+1)%3:e)},playerBottomDisplayedChanged:function(e){this.changePlayerControl("playerBottomDisplayed",e)},thresholdChanged:function(e){this.changePlayerControl("threshold",e,!0)},hueRangeChanged:function(e){this.changePlayerControl("hueRange",e)},micBoostChanged:function(e){this.set("micBoost",e),this.get("storage").set("huegasm.micBoost",e),this.get("usingMicAudio")&&this.get("dancer").setBoost(e)},audioModeChanged:function(e){1===e?this.startUsingMic():0===e?this.send("useLocalAudio"):this.set("audioMode",e)},playQueuePointerChanged:function(e){this.send("goToSong",e,!1,!0)},clickSpeaker:function(){this.simulateKick(1)},dropFiles:function(e){this.setProperties({dragging:!1,draggingOverPlayListArea:!1}),this.send("handleNewFiles",e)},playerListAreaDragOver:function(){this.set("draggingOverPlayListArea",!0)},playerListAreaDragLeave:function(){this.set("draggingOverPlayListArea",!1)},handleNewFiles:function(e){var t=this,n=this.get("playQueue"),l=function(){var e=ID3.getAllTags("local"),l=null;if(e.picture){for(var a="",o=0;oA microphone was not found.',scUserNotSupportedHtml:'',tooManySoundCloudFuckUps:'',notStreamableHtml:function(e){var t='";return t},urlNotFoundHtml:function(e){return'"},failedToPlayFileHtml:function(e){return'"},failedToDecodeFileHtml:function(e){return'"},scUrl:a("playQueuePointer","playQueue.[]","usingMicAudio",function(){var e=null,t=this.get("playQueue")[this.get("playQueuePointer")];return t&&t.scUrl&&!this.get("usingMicAudio")&&(e=t.scUrl),e}),playQueueEmpty:a.empty("playQueue"),playQueueNotEmpty:a.notEmpty("playQueue"),playQueueMultiple:a("playQueue.[]",function(){return this.get("playQueue").length>1}),seekPosition:a("timeElapsed","timeTotal",function(){var e=this.get("timeTotal"),t=this.get("timeElapsed");return 0===e?0:t/e*100}),largeArtworkPic:a("playQueuePointer","usingMicAudio","currentVisName",function(){var e="",t=this.get("currentVisName"),n=this.get("usingMicAudio"),l=this.get("playQueuePointer"),a=this.get("playQueue");if(l!==-1&&!n&&"None"===t){var s=a[l];s.scUrl&&!o(s.picture)&&(e=s.picture.replace("67x67","500x500"))}return e}),micIcon:a("usingMicAudio",function(){return this.get("usingMicAudio")?"mic":"mic-off"}),repeatIcon:a("repeat",function(){return 2===this.get("repeat")?"repeat-one":"repeat"}),playingIcon:a("playing",function(){return this.get("playing")?"pause":this.get("timeElapsed")===this.get("timeTotal")&&0!==this.get("timeTotal")?"replay":"play-arrow"}),playerAreaClickIcon:a("playing",function(){return this.get("playing")?"play-arrow":"pause"}),playListAreaClass:a("dragging","draggingOverPlayListArea","dimmerOn",function(){var e="pointer";return this.get("dragging")&&(e+=" drag-here-highlight"),this.get("draggingOverPlayListArea")&&(e+=" dragging-over"),this.get("dimmerOn")&&(e+=" dimmerOn"),e}),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),volumeMutedClass:a("volumeMuted",function(){var e="player-control-icon volumeButton";return this.get("volumeMuted")&&(e+=" active"),e}),usingLocalAudioClass:a("usingLocalAudio",function(){return this.get("usingLocalAudio")?"player-control-icon active":"player-control-icon"}),usingMicAudioClass:a("usingMicAudio",function(){return this.get("usingMicAudio")?"player-control-icon active":"player-control-icon"}),repeatClass:a("repeat",function(){return 0!==this.get("repeat")?"player-control-icon active":"player-control-icon"}),shuffleClass:a("shuffle",function(){return this.get("shuffle")?"player-control-icon active":"player-control-icon"}),volumeIcon:a("volumeMuted","volume",function(){var e=this.get("volume");return this.get("volumeMuted")?"volume-off":e>=70?"volume-up":e>10?"volume-down":"volume-mute"}),beatDetectionAreaArrowIcon:a("playerBottomDisplayed",function(){return this.get("playerBottomDisplayed")?"keyboard-arrow-up":"keyboard-arrow-down"}),timeElapsedTxt:a("timeElapsed",function(){return this.formatTime(this.get("timeElapsed"))}),timeTotalTxt:a("timeTotal",function(){return this.formatTime(this.get("timeTotal"))}),onColorloopModeChange:l("colorloopMode","usingMicAudio","playing",function(){var e=!(!this.get("playing")&&!this.get("usingMicAudio")||!this.get("colorloopMode"));this.set("colorLoopOn",e)}),onOptionChange:l("flashingTransitions","playQueue.[]","playQueuePointer","colorloopMode","ambienceMode",function(e,t){t=t.replace(".[]",""),this.get("storage").set("huegasm."+t,this.get(t))}),onRepeatChange:i("init",l("repeat",function(){var e="Repeat all",t="repeat";1===this.get(t)?e="Repeat one":2===this.get(t)&&(e="Repeat off"),this.changeTooltipText(t,e)})),onUsingMicAudioChange:i("init",l("usingMicAudio",function(){var e="Listen to audio through mic",t="usingMicAudio";this.get(t)&&(e="Listen to audio files"),this.changeTooltipText(t,e)})),onShuffleChange:i("init",l("shuffle",function(){var e="Shuffle",t="shuffle";this.get(t)&&(this.get("shufflePlayed").clear(),e="Unshuffle"),this.changeTooltipText(t,e)})),onVolumeMutedChange:i("init",l("volumeMuted",function(){var e="Mute",t="volumeMuted",n=this.get(t),l=this.get("dancer"),a=0;n?(e="Unmute",a=0):a=this.get("volume")/100,this.get("playing")&&l.setVolume(a),this.changeTooltipText(t,e)})),onPrevChange:i("init",l("timeElapsed","playQueueNotEmpty","playQueue.[]",function(){if(this.get("playQueueNotEmpty")){var e="Previous",t="prev";(this.get("timeElapsed")>5||1===this.get("playQueue").length)&&(e="Replay"),this.changeTooltipText(t,e)}})),onPlayingChange:i("init",l("playing",function(){var e="Play",t="playing";this.get(t)?e="Pause":this.get("timeElapsed")===this.get("timeTotal")&&0!==this.get("timeTotal")&&(e="Replay"),this.changeTooltipText(t,e)})),changeTooltipText:function(e,t){s("#"+e+"Tooltip + .tooltip .tooltip-inner").html(t),s("#"+e+"Tooltip").attr("data-original-title",t),o(this.get(e+"TooltipTxt"))&&this.set(e+"TooltipTxt",t)},formatTime:function(e){return this.pad(Math.floor(e/60),2)+":"+this.pad(e%60,2)},pad:function(e,t){return("000000000"+e).substr(-t)}})}),define("huegasm/pods/components/music-tab/mixins/visualizer",["exports","ember"],function(e,t){var n=t.default.Mixin,l=t.default.observer,a=t.default.$;e.default=n.create({currentVisName:"None",visNames:["None","Bars","Wave"],onCurrentVisNameChange:l("currentVisName",function(){var e=this.get("currentVisName");if("None"===e){var t=a("#visualization")[0],n=t.getContext("2d");n.clearRect(0,0,t.width,t.height)}this.get("storage").set("huegasm.currentVisName",e)}),didInsertElement:function(){var e=this,t=this.get("dancer"),n=a("#visualization")[0],l=a("#player-area"),o=n.getContext("2d"),s=2,r=l.height(),i=void 0;n.height=r;var c=function(){i=l.width(),n.width=i};c(),a(window).on("resize",c),t.bind("update",function(){var n=e.get("currentVisName"),l=o.createLinearGradient(0,0,0,r),a=document.hidden||document.msHidden||document.webkitHidden||document.mozHidden;if("None"!==n&&!a&&e.get("active"))if(o.clearRect(0,0,i,r),"Wave"===n){var c=3,p=1024;l.addColorStop(.6,"white"),l.addColorStop(0,"#0036FA"),o.lineWidth=1,o.strokeStyle=l;var u=t.getWaveform();o.beginPath(),o.moveTo(0,r/2);for(var d=0,m=u.length;d\n
\n ');return i.appendChild(a[0]),a.on("wheel",t),a.on("touchmove",t),s.on("keydown",e),function(){a.off("wheel"),a.off("touchmove"),a[0].parentNode.removeChild(a[0]),s.off("keydown",e),delete o.disableScrollAround._enableScrolling}}function n(){var e=i.parentNode,t=e.getAttribute("style")||"",n=i.getAttribute("style")||"",l=i.scrollTop+i.parentElement.scrollTop,o=i.clientWidth;return i.scrollHeight>i.clientHeight&&(a(i,{position:"fixed",width:"100%",top:-l+"px"}),a(e,{overflowY:"scroll"})),i.clientWidth1?!function(){var n=e.get("multipleBridgeIps");t.forEach(function(e){n.pushObject(e.internalipaddress)}),l="multiple"}():l="fail",e.set("bridgeFindStatus",l)}).fail(function(){e.set("bridgeFindStatus","fail")})},pingBridgeUser:function(){var e=this,t=this.get("bridgeIp"),n=this.get("bridgeUserNamePingIntervalProgress"),l=this.get("bridgeUsernamePingMaxTime");null!==t&&n<100?(r.ajax("http://"+t+"/api",{data:JSON.stringify({devicetype:"huegasm"}),contentType:"application/json",type:"POST"}).done(function(t,n){e.isDestroyed||(e.set("bridgeAuthenticateReachedStatus",n),"success"!==n||t[0].error||(e.clearBridgePingIntervalHandle(),e.get("storage").set("huegasm.bridgeUsername",t[0].success.username),e.set("bridgeUsername",t[0].success.username)))}).fail(function(){e.clearBridgePingIntervalHandle(),e.set("error",!0)}),this.incrementProperty("bridgeUserNamePingIntervalProgress",this.get("bridgeUsernamePingIntervalTime")/l*100)):this.clearBridgePingIntervalHandle()},clearBridgePingIntervalHandle:function(){clearInterval(this.get("bridgePingIntervalHandle")),this.set("bridgePingIntervalHandle",null)},actions:{retry:function(){this.onBridgeIpChange()},chooseBridge:function(e){this.set("bridgeIp",e)},findBridgeByIp:function(){var e=this,t=this.get("manualBridgeIp");"trial"===t.toLowerCase()||"offline"===t.toLowerCase()?this.setProperties({trial:!0,bridgeIp:"trial",bridgeUsername:"trial"}):r.ajax("http://"+t+"/api",{data:JSON.stringify({devicetype:"huegasm"}),contentType:"application/json",type:"POST"}).fail(function(){e.set("manualBridgeIpNotFound",!0),setTimeout(function(){e.set("manualBridgeIpNotFound",!1)},5e3)}).then(function(){e.set("bridgeIp",t)})}}})}),define("huegasm/pods/components/bridge-finder/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["open-element","div",[]],["static-attr","class","title"],["flush-element"],["open-element","img",[]],["static-attr","src","assets/images/logo-2d51b899f18553cfc8ffd147c158cd3f.png"],["static-attr","alt","Huegasm"],["flush-element"],["close-element"],["close-element"],["text","\\n"],["block",["unless"],[["get",["bridgeUsername"]]],null,12]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","p",[]],["static-attr","class","bg-danger"],["flush-element"],["text","\\n Could not find a bridge with that IP address.\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","A hue bridge could not be automatically found on your network. "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Enter one manually? "],["open-element","br",[]],["flush-element"],["close-element"],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n ( or type "],["open-element","b",[]],["flush-element"],["text","offline"],["close-element"],["text"," to look around )\\n "],["close-element"],["text","\\n\\n "],["open-element","span",[]],["static-attr","id","bridge-input"],["flush-element"],["text","\\n "],["append",["helper",["paper-input"],null,[["label","value","onChange"],["Hue bridge IP address",["get",["manualBridgeIp"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["manualBridgeIp"]]],null]],null]]]],false],["text","\\n\\n "],["open-element","div",[]],["flush-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["onClick","raised","primary","label"],[["helper",["action"],[["get",[null]],"findBridgeByIp"],null],true,true,"Find"]]],false],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["if"],[["get",["manualBridgeIpNotFound"]]],null,0]],"locals":[]},{"statements":[["block",["if"],[["get",["bridgeFindFail"]]],null,1]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-radio"],null,[["value","label","onChange"],[["get",["bridge"]],["get",["bridge"]],["helper",["action"],[["get",[null]],"chooseBridge"],null]]]],false],["text","\\n"]],"locals":["bridge"]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","Found multiple hue bridges. "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Please select the one you want to use for this application."],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","id","bridge-button-group"],["flush-element"],["text","\\n"],["block",["each"],[["get",["multipleBridgeIps"]]],null,3],["text"," "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-progress-circular"],null,[["diameter"],[100]]],false],["text","\\n "],["open-element","p",[]],["flush-element"],["text","Trying to find your bridge\'s IP."],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["unless"],[["get",["bridgeFindStatus"]]],null,5],["text","\\n"],["block",["if"],[["get",["bridgeFindMultiple"]]],null,4,2]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","You failed to press the button in time. "],["open-element","a",[]],["static-attr","class","no-text-decoration"],["static-attr","href","#"],["modifier",["action"],[["get",[null]],"retry"]],["flush-element"],["text","RETRY"],["close-element"],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","\\n Your bridge IP is "],["open-element","b",[]],["flush-element"],["append",["unknown",["bridgeIp"]],false],["close-element"],["text","\\n "],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n Press the button on your bridge to authenticate this application.\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","img",[]],["static-attr","src","assets/images/pressButtonBridge-b15485b257b549c269d7f36fdc0d917b.png"],["static-attr","id","press-bridge-button-img"],["flush-element"],["close-element"],["text","\\n "],["append",["helper",["paper-progress-linear"],null,[["warn","value"],[true,["get",["bridgeUserNamePingIntervalProgress"]]]]],false],["text","\\n\\n"],["block",["if"],[["get",["isAuthenticating"]]],null,8,7]],"locals":[]},{"statements":[["text"," "],["open-element","p",[]],["flush-element"],["text","Huegasm encountered a critical error while trying to connect to your bridge."],["open-element","br",[]],["flush-element"],["close-element"],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n This likely happened because you\'re using an outdated browser and/or because your browser does not support "],["open-element","a",[]],["static-attr","href","https://en.wikipedia.org/wiki/Cross-origin_resource_sharing"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","CORS"],["close-element"],["text",". Feel free to contact me through the link at the bottom of the page if you feel like this is not the case."],["open-element","br",[]],["flush-element"],["close-element"],["text","\\n For the best browsing experience on this site ( and every other one known to man ) please switch to "],["open-element","a",[]],["static-attr","href","https://www.google.com/chrome/"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","Google Chrome"],["close-element"],["text"," or "],["open-element","a",[]],["static-attr","href","https://www.mozilla.org/en-US/firefox/new/"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","Firefox."],["close-element"],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["if"],[["get",["error"]]],null,10,9]],"locals":[]},{"statements":[["block",["if"],[["get",["bridgeIp"]]],null,11,6]],"locals":[]}],"hasPartials":false}', -meta:{moduleName:"huegasm/pods/components/bridge-finder/template.hbs"}})}),define("huegasm/pods/components/hue-controls/component",["exports","ember"],function(e,t){var n=t.default.A,l=t.default.Component,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.run,i=t.default.inject,c=t.default.$;e.default=l.extend({classNames:["container-fluid"],elementId:"hue-controls",lightsData:null,activeLights:n(),tabList:["Lights","Music"],selectedTab:1,pauseLightUpdates:!1,lightsTabSelected:a.equal("selectedTab",0),musicTabSelected:a.equal("selectedTab",1),displayFailure:!0,notify:i.service(),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn md-menu-origin":"md-menu-origin"}),ready:a("lightsData","trial",function(){return this.get("trial")||!s(this.get("lightsData"))}),apiURL:a("bridgeIp","bridgeUsername",function(){return"http://"+this.get("bridgeIp")+"/api/"+this.get("bridgeUsername")}),tabData:a("tabList","selectedTab",function(){var e=[],t=this.get("selectedTab");return this.get("tabList").forEach(function(n,l){var a=!1;l===t&&(a=!0),e.push({name:n,selected:a})}),e}),didInsertElement:function(){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var e=new MutationObserver(function(e){var t=!e.every(function(e){return o(e.addedNodes)||s(e.addedNodes[0].classList)||e.addedNodes[0].classList.contains("tooltip")});t&&r.scheduleOnce("afterRender",function(){c(".bootstrap-tooltip").tooltip()})});e.observe(c("#hue-controls")[0],{childList:!0,subtree:!0})}},init:function(){this._super.apply(this,arguments),this.get("trial")||(this.updateLightData(),this.set("lightsDataIntervalHandle",setInterval(this.updateLightData.bind(this),2e3))),s(this.get("storage").get("huegasm.selectedTab"))||this.set("selectedTab",this.get("storage").get("huegasm.selectedTab"))},updateLightData:function(){var e=this,t=function(){s(e.get("lightsData"))?e.send("clearBridge"):e.get("displayFailure")&&(e.get("notify").warning({html:''}),e.set("displayFailure",!1),setTimeout(function(){e.set("displayFailure",!0)},3e4))};this.get("pauseLightUpdates")||c.get(this.get("apiURL")+"/lights",function(n,l){s(n[0])||s(n[0].error)?"success"===l&&JSON.stringify(e.get("lightsData"))!==JSON.stringify(n)&&e.set("lightsData",n):t()}).fail(t)},actions:{changeTab:function(e){var t=this.get("tabList").indexOf(e);this.set("selectedTab",t),this.get("storage").set("huegasm.selectedTab",t)},clearBridge:function(){var e=this.get("storage");e.remove("huegasm.bridgeUsername"),e.remove("huegasm.bridgeIp"),location.reload()},toggleDimmer:function(){this.sendAction()},clearAllSettings:function(){this.get("storage").clear(),location.reload()},startIntro:function(){var e=this,t=introJs,n=t(),l=c("#player-bottom");n.setOptions({steps:[{intro:"Welcome! This short tutorial will introduce you to Huegasm."},{element:"#music-tab",intro:"This is the music player. You'll use this to play music and synchronize it with your active lights.

TIP: Control which lights are active through the Lights tab."},{element:"#playlist",intro:"You can add and select music to play from your playlist here. You may listen to local audio files, stream music from soundcloud or stream directly from a connected microphone.

TIP: Songs added through Soundcloud will be saved for when you visit this page again."},{element:"#player-area",intro:"The audio playback may be controlled with the controls here. Basic music visualization effects may be shown here by selecting them from the menu ( eyeball icon in the bottom right )."},{element:"#beat-option-row",intro:"These are the settings for the music tab:
Sensitivity - The sensitivity of the beat detector ( more sensitivity results in more registered beats )
Hue Range - The hue range that the lights may change to on beat.
Flashing Transitions - Quickly flash the lights on beat
Colorloop - Slowly cycle the lights through all the colors while the music is playing
TIP: Your sensitivity settings are saved per song as indicated by the red star icon in the top left corner. These settings they will be restored if you ever listen to the same song again.",position:"top"},{element:"#beat-container",intro:"An interactive speaker that will bump when a beat is registered.

TIP: Click on the center of the speaker to simulate a beat.",position:"top"},{element:"#lights-tab",intro:"This is the lights tab. Here you'll be able to change various light properties:
Power - Turn the selected lights on/off
Brightness - The brightness level of the selected lights
Color - The color of the selected lights
Strobe - Selected lights will flash in sequential order
Colorloop - Selected lights will slowly cycle through all the colors
"},{element:"#active-lights",intro:"These icons represent the hue lights in your system. Active lights will be controlled by the application while the inactive lights will have a red X over them and will not be controlled.
You may toggle a light's state by clicking on it."},{element:c("#navigation .ember-basic-dropdown-trigger")[0],intro:"A few miscellaneous settings can be found here.

WARNING: clearing application settings will restore the application to its original state. This will even delete your playlist and any saved song beat preferences.",position:"bottom"},{intro:"And that's it...Hope you enjoy the application. ;)

TIP: click on the lightswitch to switch to a darker theme."}]}),n.onchange(function(e){"music-tab"===e.id||"playlist"===e.id||"player-area"===e.id||"beat-option-row"===e.id||"beat-option-button-group"===e.id||"beat-container"===e.id||"using-mic-audio-tooltip"===e.id?c(".navigation-item").eq(0).click():c(".navigation-item").eq(1).click(),"music-tab"===e.id||"playlist"===e.id||"player-area"===e.id?l.hide():"beat-option-row"===e.id||"beat-option-button-group"===e.id||"beat-container"===e.id?l.show():"dimmer"===e.id&&c(document).click()}),n.onafterchange(function(t){var n=c(t);""===n.html()&&c(".introjs-nextbutton").click(),r.later(e,function(){c(".introjs-tooltip").velocity("scroll")},500)}).start()}}})}),define("huegasm/pods/components/hue-controls/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["if"],[["get",["ready"]]],null,9,0],["text","\\n"],["append",["helper",["ember-notify"],null,[["messageStyle","closeAfter"],["bootstrap",5000]]],false]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["append",["helper",["paper-progress-circular"],null,[["diameter"],[100]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["settings backup restore"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Reset settings\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["cached"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Restart tutorial\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["compare arrows"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," Switch bridge\\n"]],"locals":[]},{"statements":[["block",["content","menu-item"],null,[["onClick"],["clearBridge"]],3],["text","\\n"],["block",["content","menu-item"],null,[["onClick"],["startIntro"]],2],["text","\\n"],["block",["content","menu-item"],null,[["onClick"],["clearAllSettings"]],1]],"locals":["content"]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["settings-icon"],[["class","size"],[["get",["dimmerOnClass"]],28]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-button"],null,[["iconButton"],[true]],5]],"locals":[]},{"statements":[["block",["menu","trigger"],null,null,6],["block",["menu","content"],null,[["width"],[3]],4]],"locals":["menu"]},{"statements":[["text"," "],["open-element","span",[]],["dynamic-attr","class",["concat",["navigation-item pointer text-uppercase ",["helper",["if"],[["get",["tab","selected"]],"active"],null]]]],["modifier",["action"],[["get",[null]],"changeTab",["get",["tab","name"]]]],["flush-element"],["append",["unknown",["tab","name"]],false],["close-element"],["text","\\n"]],"locals":["tab"]},{"statements":[["text"," "],["open-element","div",[]],["static-attr","id","navigation"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer-container"],["modifier",["action"],[["get",[null]],"toggleDimmer"]],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer"],["dynamic-attr","class",["unknown",["dimmerOnClass"]],null],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer-switch"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["each"],[["get",["tabData"]]],null,8],["block",["paper-menu"],null,null,7],["text"," "],["close-element"],["text","\\n\\n "],["append",["helper",["light-group"],null,[["lightsData","activeLights","syncLight","apiURL","dimmerOn","storage"],[["get",["lightsData"]],["get",["activeLights"]],["get",["syncLight"]],["get",["apiURL"]],["get",["dimmerOn"]],["get",["storage"]]]]],false],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","row"],["flush-element"],["text","\\n "],["append",["helper",["lights-tab"],null,[["apiURL","lightsData","activeLights","syncLight","trial","active","colorLoopOn","dimmerOn","playing","pauseLightUpdates"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["syncLight"]],["get",["trial"]],["get",["lightsTabSelected"]],["get",["colorLoopOn"]],["get",["dimmerOn"]],["get",["playing"]],["get",["pauseLightUpdates"]]]]],false],["text","\\n\\n "],["append",["helper",["music-tab"],null,[["apiURL","lightsData","activeLights","active","pauseLightUpdates","dimmerOn","storage","colorLoopOn","playing","action"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["musicTabSelected"]],["get",["pauseLightUpdates"]],["get",["dimmerOn"]],["get",["storage"]],["get",["colorLoopOn"]],["get",["playing"]],"startIntro"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/hue-controls/template.hbs"}})}),define("huegasm/pods/components/huegasm-app/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.isEmpty;e.default=n.extend({bridgeIp:null,bridgeUsername:null,trial:!1,ready:!1,elementId:"huegasm",init:function(){this._super.apply(this,arguments);var e=this.get("storage");l(e.get("huegasm.bridgeIp"))||l(e.get("huegasm.bridgeUsername"))||this.setProperties({bridgeIp:e.get("huegasm.bridgeIp"),bridgeUsername:e.get("huegasm.bridgeUsername")})},actions:{toggleDimmer:function(){this.sendAction()},isReady:function(){this.set("ready",!0)}}})}),define("huegasm/pods/components/huegasm-app/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["if"],[["get",["bridgeUsername"]]],null,3,2]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","div",[]],["static-attr","class","ready-block"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","title"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","assets/images/logo-2d51b899f18553cfc8ffd147c158cd3f.png"],["static-attr","alt","Huegasm"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","p",[]],["static-attr","id","intro"],["flush-element"],["text","\\n Your lights meet your music.\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["static-attr","id","intro-paragraph"],["flush-element"],["text","\\n Huegasm is a free web application for managing and synchronizing your "],["open-element","a",[]],["static-attr","target","_blank"],["static-attr","href","http://www2.meethue.com"],["flush-element"],["text","Philips Hue lights"],["close-element"],["text"," with the beat of your music.\\n "],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","class","embed-container-wrapper"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","class","embed-container"],["flush-element"],["text","\\n "],["open-element","iframe",[]],["static-attr","width","560"],["static-attr","height","315"],["static-attr","src","https://www.youtube.com/embed/zi9J6Qg-MPw"],["static-attr","frameborder","0"],["static-attr","allowfullscreen",""],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["raised","primary","onClick","class","label"],[true,true,["helper",["action"],[["get",[null]],"isReady"],null],"go-button center-block","Go!"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["bridge-finder"],null,[["bridgeIp","bridgeUsername","trial","storage"],[["get",["bridgeIp"]],["get",["bridgeUsername"]],["get",["trial"]],["get",["storage"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["open-element","a",[]],["static-attr","href","https://github.com/hoboman313/huegasm"],["static-attr","target","_blank "],["static-attr","rel","noopener noreferrer"],["static-attr","id","github-ribbon"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67"],["static-attr","alt","Fork me on GitHub"],["static-attr","data-canonical-src","https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n\\n"],["block",["if"],[["get",["ready"]]],null,1,0]],"locals":[]},{"statements":[["text"," "],["append",["helper",["hue-controls"],null,[["bridgeIp","bridgeUsername","trial","dimmerOn","storage","action"],[["get",["bridgeIp"]],["get",["bridgeUsername"]],["get",["trial"]],["get",["dimmerOn"]],["get",["storage"]],"toggleDimmer"]]],false],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/huegasm-app/template.hbs"}})}),define("huegasm/pods/components/huegasm-footer/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.computed;e.default=n.extend({tagName:"footer",classNames:["footer"],year:l(function(){return(new Date).getFullYear()}),actions:{toggleDimmer:function(){this.sendAction()}}})}),define("huegasm/pods/components/huegasm-footer/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["open-element","div",[]],["static-attr","class","logo"],["modifier",["action"],[["get",[null]],"toggleDimmer"]],["flush-element"],["close-element"],["text","\\n\\n"],["open-element","div",[]],["static-attr","class","footer-text"],["flush-element"],["text","\\n © "],["append",["unknown",["year"]],false],["text","\\n\\n "],["open-element","a",[]],["static-attr","href","http://www.egorphilippov.me"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","\\n Egor Philippov\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n\\n"],["open-element","a",[]],["static-attr","href","https://play.google.com/store/apps/details?id=com.nidratech.huegasm"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","src","assets/images/google-play-badge-4be08e3cf4d01124257db037380272ea.png"],["static-attr","alt","Get it on the Google Play Store"],["flush-element"],["close-element"],["text","\\n"],["close-element"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/huegasm-footer/template.hbs"}})}),define("huegasm/pods/components/light-group/component",["exports","ember"],function(e,t){var n=t.default.A,l=t.default.Component,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.observer,i=t.default.$;e.default=l.extend({elementId:"active-lights",classNames:["light-group","horizontal-light-group"],isHovering:!1,activeLights:n(),lightsList:a("lightsData","activeLights.[]","dimmerOn",function(){var e=this.get("lightsData"),t=this.get("activeLights"),l=this.get("dimmerOn"),a=n(),o=void 0,s=void 0;for(var r in e)if(s="light-active",e.hasOwnProperty(r)&&e[r].state.reachable){switch(e[r].modelid){case"LCT001":o="a19";break;case"LCT002":o="br30";break;case"LCT003":o="gu10";break;case"LST001":o="lightstrip";break;case"LLC010":o="lc_iris";break;case"LLC011":o="lc_bloom";break;case"LLC012":o="lc_bloom";break;case"LLC006":o="lc_iris";break;case"LLC007":o="lc_aura";break;case"LLC013":o="storylight";break;case"LWB004":o="a19";break;case"LLC020":o="huego";break;default:o="a19"}l&&(o+="w"),t.includes(r)||(s="light-inactive"),a.push({type:o,name:e[r].name,id:r,data:e[r],activeClass:s})}return a}),onActiveLightsChange:r("activeLights.[]",function(){this.get("storage").set("huegasm.activeLights",this.get("activeLights"))}),init:function(){this._super.apply(this,arguments);var e=this.get("lightsData"),t=this.get("activeLights"),n=this.get("storage").get("huegasm.activeLights");if(s(n))for(var l in e)e.hasOwnProperty(l)&&e[l].state.reachable&&t.pushObject(l);else n.forEach(function(n){e.hasOwnProperty(n)&&e[n].state.reachable&&t.pushObject(n)})},actions:{clickLight:function(e){var t=this.get("activeLights"),n=t.indexOf(e);n!==-1?t.removeObject(e):(t.pushObject(e),this.set("syncLight",e))},lightStartHover:function(e){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});o(t)||this.get("noHover")===!0||i.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({alert:"lselect"}),contentType:"application/json",type:"PUT"}),this.set("isHovering",!0)}},lightStopHover:function(e){if(!window.matchMedia||window.matchMedia("(min-width: 768px)").matches){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});o(t)||this.get("noHover")===!0||i.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({alert:"none"}),contentType:"application/json",type:"PUT"}),this.set("isHovering",!1)}}}})}),define("huegasm/pods/components/light-group/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["each"],[["get",["lightsList"]]],null,0]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","div",[]],["dynamic-attr","class",["concat",[["unknown",["light","activeClass"]]," bootstrap-tooltip light",["unknown",["light","id"]]]]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["dynamic-attr","data-title",["unknown",["light","name"]],null],["modifier",["action"],[["get",[null]],"clickLight",["get",["light","id"]]]],["modifier",["action"],[["get",[null]],"lightStartHover",["get",["light","id"]]],[["on"],["mouseEnter"]]],["modifier",["action"],[["get",[null]],"lightStopHover",["get",["light","id"]]],[["on"],["mouseLeave"]]],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","class","hueLight"],["static-attr","width","40"],["dynamic-attr","src",["concat",["assets/images/lights/",["unknown",["light","type"]],".svg"]]],["flush-element"],["close-element"],["text","\\n "],["close-element"],["text","\\n"]],"locals":["light"]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/light-group/template.hbs"}})}),define("huegasm/pods/components/lights-tab/color-picker/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.$;e.default=n.extend({elementId:"color-picker",rgb:null,canvas:null,canvasContext:null,pressingDown:!1,mouseUp:function(){this.set("pressingDown",!1)},mouseMove:function(e){this.get("pressingDown")&&this.mouseDown(e)},mouseDown:function(e){var t=l(this.get("canvas")).offset(),n=Math.floor(e.pageX-t.left),a=Math.floor(e.pageY-t.top),o=this.get("canvasContext").getImageData(n,a,1,1),s=o.data;this.set("pressingDown",!0),0===s[0]&&0===s[1]&&0===s[2]||this.set("rgb",[s[0],s[1],s[2]])},didInsertElement:function(){var e=l("#picker")[0],t=e.getContext("2d"),n=new Image;n.src="assets/images/colormap-83aafd17086eaab68b229a681c04139b.png",n.onload=function(){t.drawImage(n,0,0,n.width,n.height)},this.setProperties({canvas:e,canvasContext:t})}})}),define("huegasm/pods/components/lights-tab/color-picker/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["open-element","canvas",[]],["static-attr","id","picker"],["static-attr","width","256"],["static-attr","height","256"],["flush-element"],["close-element"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/lights-tab/color-picker/template.hbs"}})}),define("huegasm/pods/components/lights-tab/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.observer,a=t.default.computed,o=t.default.on,s=t.default.$;e.default=n.extend({classNames:["col-sm-8","col-sm-offset-2","col-xs-12"],classNameBindings:["active::hidden"],elementId:"lights-tab",rgb:[255,255,255],lightsOn:!1,colorLoopOn:!1,lightsOnTxt:a("lightsOn",function(){return this.get("lightsOn")?"On":"Off"}),colorloopOnTxt:a("colorLoopOn",function(){return this.get("colorLoopOn")?"On":"Off"}),lightsBrightness:a("lightsData",function(){var e=this.get("lightsData"),t=this.get("activeLights"),n=0;return t.forEach(function(t){n+=e[t].state.bri}),n/t.length}),brightnessControlDisabled:a.not("lightsOn"),onColorLoopOnChange:l("colorLoopOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),l=this.get("colorLoopOn"),a=l?"colorloop":"none",o=n.some(function(e){return"colorloop"===t[e].state.effect});l!==o&&n.forEach(function(t){e.get("lightsData")[t].state.effect!==a&&s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({effect:a}),contentType:"application/json",type:"PUT"})})}),rgbPreview:l("rgb",function(){var e=this,t=this.get("rgb"),n=this.rgbToXy(t[0],t[1],t[2]);this.set("colorLoopOn",!1),this.get("activeLights").forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({xy:n}),contentType:"application/json",type:"PUT"})}),this.set("colorLoopOn",!1),s(".color").css("background","rgb("+t[0]+","+t[1]+","+t[2]+")")}),lightsOnChange:o("init",l("lightsData.@each.state.on","activeLights.[]",function(){var e=this;this.get("strobeOn")||!function(){var t=e.get("lightsData"),n=e.get("activeLights").some(function(e){return t[e].state.on===!0});e.set("lightsOn",n)}()})),onLightsOnChange:l("lightsOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),l=this.get("lightsOn"),a=n.some(function(e){return t[e].state.on===!0});l!==a&&n.forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:l}),contentType:"application/json",type:"PUT"})})}),onBrightnessChanged:l("lightsBrightness",function(){var e=this,t=this.get("lightsData"),n=!1,l=this.get("lightsBrightness"),a=this.get("activeLights");a.forEach(function(e){n+=t[e].state.bri}),n/=a.length,l!==n&&a.forEach(function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({bri:l}),contentType:"application/json",type:"PUT"})})}),onaActiveLightsChange:l("syncLight",function(){var e={on:this.get("lightsOn"),bri:this.get("lightsBrightness"),effect:this.get("colorLoopOn")?"colorloop":"none"},t=this.get("rgb"),n=this.get("syncLight");255!==t[0]&&255!==t[1]&&255!==t[2]&&(e.xy=this.rgbToXy(t[0],t[1],t[2])),e.transitiontime=0,s.ajax(this.get("apiURL")+"/lights/"+n+"/state",{data:JSON.stringify(e),contentType:"application/json",type:"PUT"})}),strobeOn:!1,strobeOnInervalHandle:null,strobeSat:0,preStrobeOnLightsDataCache:null,lastStrobeLight:0,onStrobeOnChange:l("strobeOn",function(){var e=this,t=this.get("lightsData"),n=this.get("strobeOn");if(n){this.set("preStrobeOnLightsDataCache",t);var l={sat:this.get("strobeSat"),transitiontime:0};for(var a in t)t.hasOwnProperty(a)&&(t[a].state.on&&(l.on=!1),s.ajax(this.get("apiURL")+"/lights/"+a+"/state",{data:JSON.stringify(l),contentType:"application/json",type:"PUT"}));this.set("strobeOnInervalHandle",setInterval(this.strobeStep.bind(this),500))}else!function(){var n=e.get("preStrobeOnLightsDataCache"),l=function(t){s.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:n[t].state.on,sat:n[t].state.sat}),contentType:"application/json",type:"PUT"})};for(var a in t)t.hasOwnProperty(a)&&setTimeout(l,2e3,a);setTimeout(function(){e.onColorLoopOnChange()},2e3),clearInterval(e.get("strobeOnInervalHandle"))}();this.set("pauseLightUpdates",n)}),strobeStep:function(){var e=(this.get("lastStrobeLight")+1)%(this.get("activeLights").length+1),t={on:!0,transitiontime:0,alert:"select"};this.get("colorLoopOn")&&(t.hue=Math.floor(65535*Math.random())),s.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify(t),contentType:"application/json",type:"PUT"}),s.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({on:!1,transitiontime:0}),contentType:"application/json",type:"PUT"}),this.set("lastStrobeLight",e)},strobeOnTxt:a("strobeOn",function(){return this.get("strobeOn")?"On":"Off"}),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),actions:{toggleDimmer:function(){this.sendAction("toggleDimmer")}},rgbToXy:function(e,t,n){var l=void 0,a=void 0,o=void 0,s=void 0,r=void 0;return e=Number(e/255),t=Number(t/255),n=Number(n/255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,l=.664511*e+.154324*t+.162028*n,a=.283881*e+.668433*t+.047685*n,o=88e-6*e+.07231*t+.986039*n,s=l/(l+a+o),r=a/(l+a+o),[s,r]},xyToRgb:function(e,t){var n=void 0,l=void 0,a=void 0,o=void 0,s=1,r=void 0;return o=s/t*e,r=s/t*(1-e-t),n=1.656492*o-.354851*s-.255038*r,l=o*-.707196+1.655397*s+.036152*r,a=.051713*o-.121364*s+1.01153*r,n>a&&n>l&&n>1?(l/=n,a/=n,n=1):l>a&&l>n&&l>1?(n/=l,a/=l,l=1):a>n&&a>l&&a>1&&(n/=a,l/=a,a=1),n=n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,n>a&&n>l?n>1&&(l/=n,a/=n,n=1):l>a&&l>n?l>1&&(n/=l,a/=l,l=1):a>n&&a>l&&a>1&&(n/=a,l/=a,a=1),n*=255,l*=255,a*=255,[n,l,a]}})}),define("huegasm/pods/components/lights-tab/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["paper-list"],null,null,10]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["append",["helper",["paper-icon"],["color-lens"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text"," "],["append",["helper",["paper-icon"],["loop"],[["id","class"],["loop-addition",["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Selected lights will slowly cycle through all the colors"],["flush-element"],["text","Colorloop"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["colorLoopOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["colorLoopOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["colorloopOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["flare"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Selected lights will flash in sequential order"],["flush-element"],["text","Strobe"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["strobeOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["strobeOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["strobeOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["lights-tab/color-picker"],null,[["lightsData","activeLights","rgb"],[["get",["lightsData"]],["get",["activeLights"]],["get",["rgb"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["content","menu-item"],null,null,2]],"locals":["content"]},{"statements":[["text"," "],["append",["helper",["paper-button"],null,[["raised","class","disabled"],[true,"color",["helper",["or"],[["get",["trial"]],["get",["playing"]]],null]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-button"],null,[["iconButton"],[false]],4]],"locals":[]},{"statements":[["block",["menu","trigger"],null,null,5],["block",["menu","content"],null,[["class","width"],["color-content",0]],3]],"locals":["menu"]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["color-lens"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","The color of the selected lights"],["flush-element"],["text","Color"],["close-element"],["text","\\n\\n"],["block",["paper-menu"],null,[["offset"],["0 -50"]],6]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["brightness-4"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","The brightness level of the selected lights"],["flush-element"],["text","Brightness"],["close-element"],["text","\\n "],["append",["helper",["paper-slider"],null,[["flex","min","max","value","disabled"],[true,1,254,["get",["lightsBrightness"]],["get",["brightnessControlDisabled"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["text"," "],["append",["helper",["paper-icon"],["power-settings-new"],[["class"],[["get",["dimmerOnClass"]]]]],false],["text","\\n "],["open-element","p",[]],["static-attr","data-toggle","tooltip"],["static-attr","data-placement","top auto"],["static-attr","class","bootstrap-tooltip lights-control-tooltip"],["static-attr","data-title","Turn the selected lights on/off"],["flush-element"],["text","Power"],["close-element"],["text","\\n "],["append",["helper",["paper-switch"],null,[["value","onChange","disabled","skipProxy","label"],[["get",["lightsOn"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["lightsOn"]]],null]],null],["helper",["or"],[["get",["trial"]],["get",["playing"]]],null],["get",["trial"]],["get",["lightsOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-item"],null,null,9],["text","\\n"],["block",["paper-item"],null,null,8],["text","\\n"],["block",["paper-item"],null,[["elementId"],["color-row"]],7],["text","\\n"],["block",["paper-item"],null,null,1],["text","\\n"],["block",["paper-item"],null,null,0]],"locals":[]}],"hasPartials":false}', -meta:{moduleName:"huegasm/pods/components/lights-tab/template.hbs"}})}),define("huegasm/pods/components/music-tab/add-soundcloud-sound-modal/component",["exports","ember"],function(e,t){var n=t.default.Component,l=t.default.observer,a=t.default.computed,o=t.default.isEmpty,s=t.default.isNone,r=t.default.$;e.default=n.extend({url:null,onIsShowingModalChange:l("isShowingModal",function(){this.get("isShowingModal")&&(this.set("url",null),setTimeout(function(){r("md-input-container input").focus()},500))}),saveDisabled:a("url",function(){return s(this.get("url"))||o(this.get("url").trim())}),didInsertElement:function(){var e=this;r(document).keypress(function(t){e.get("saveDisabled")||13!==t.which||e.send("add")})},actions:{close:function(){this.sendAction()},add:function(){this.sendAction("action",this.get("url"))}}})}),define("huegasm/pods/components/music-tab/add-soundcloud-sound-modal/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["if"],[["get",["isShowingModal"]]],null,1]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text","\\n "],["open-element","p",[]],["flush-element"],["text","Enter a "],["open-element","a",[]],["static-attr","href","https://soundcloud.com"],["static-attr","target","_blank"],["static-attr","rel","noopener noreferrer"],["flush-element"],["text","SoundCloud"],["close-element"],["text"," track or playlist/set URL"],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","( ex. https://soundcloud.com/mrsuicidesheep/tracks )"],["close-element"],["text","\\n\\n "],["append",["helper",["paper-input"],null,[["label","icon","value","onChange"],["SoundCloud URL","search",["get",["url"]],["helper",["action"],[["get",[null]],["helper",["mut"],[["get",["url"]]],null]],null]]]],false],["text","\\n\\n "],["open-element","div",[]],["flush-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["onClick","label"],[["helper",["action"],[["get",[null]],"close"],null],"Close"]]],false],["text","\\n "],["append",["helper",["paper-button"],null,[["class","onClick","disabled","primary","label"],["pull-right",["helper",["action"],[["get",[null]],"add"],null],["get",["saveDisabled"]],true,"Add Music"]]],false],["text","\\n "],["close-element"],["text","\\n"]],"locals":[]},{"statements":[["block",["modal-dialog"],null,[["close","alignment","translucentOverlay","attachment","targetAttachment"],["close","center",true,"center","center"]],0]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/music-tab/add-soundcloud-sound-modal/template.hbs"}})}),define("huegasm/pods/components/music-tab/component",["exports","ember","huegasm/pods/components/music-tab/mixins/helpers","huegasm/pods/components/music-tab/mixins/visualizer"],function(e,t,n,l){var a=t.default.Component,o=t.default.observer,s=t.default.isEmpty,r=t.default.isNone,i=t.default.$,c=t.default.run;e.default=a.extend(n.default,l.default,{onAmbienceModeChange:o("ambienceMode","playing",function(){var e=this;this.get("ambienceMode")&&this.get("playing")?(this.set("ambienceModeHandle",setInterval(function(){e.doAmbienceLightChange()},5e3)),this.setProperties({colorloopMode:!1,flashingTransitions:!1})):this.get("ambienceModeHandle")&&(this.get("activeLights").forEach(function(t){i.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:!0}),contentType:"application/json",type:"PUT"})}),clearInterval(this.get("ambienceModeHandle")),this.set("ambienceModeHandle",null))}),updatePageTitle:o("playQueuePointer",function(){var e="Huegasm",t=this.get("playQueuePointer"),n=this.get("playQueue");if(t!==-1){var l=n[t];l.title?(e=l.title,l.artist&&(e+=" - "+l.artist)):e=l.fileName,e+="- Huegasm"}document.title=e}),changePlayerControl:function(e,t,n){this.set(e,t),"threshold"===e&&this.get("kick").set({threshold:t}),n&&this.get("usingLocalAudio")&&this.get("playQueuePointer")!==-1&&this.saveSongBeatPreferences(),this.get("storage").set("huegasm."+e,t)},saveSongBeatPreferences:function(){var e=this.get("playQueue")[this.get("playQueuePointer")];if(e){var t=s(e.artist)?e.fileName:e.artist+"-"+e.title,n=this.get("songBeatPreferences");n[t]={threshold:this.get("threshold")},this.set("usingBeatPreferences",!0),this.get("storage").set("huegasm.songBeatPreferences",n)}},loadSongBeatPreferences:function(){var e=this.get("playQueue")[this.get("playQueuePointer")],t=s(e.artist)?e.fileName:e.artist+"-"+e.title,n=this.get("songBeatPreferences"),l=n[t],a=this.get("oldBeatPrefCache"),o=null;r(l)?r(a)||(this.changePlayerControl("threshold",a.threshold),this.set("usingBeatPreferences",!1)):(o={threshold:this.get("threshold")},this.changePlayerControl("threshold",l.threshold),this.set("usingBeatPreferences",!0)),this.set("oldBeatPrefCache",o)},doAmbienceLightChange:function(e){for(var t=this,n=this.get("activeLights"),l=this.get("lightsData"),a=this.get("ambienceWorkedLights"),o=this.get("hueRange"),s=this.get("ambienceWorkedLightsHandles"),r=function(e){t.get("ambienceMode")&&t.get("playing")&&i.ajax(t.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({on:!1,transitiontime:20}),contentType:"application/json",type:"PUT"})},c=[],p=Math.floor(20*Math.random()),u=e?1:n.length/2,d=0;d0&&!this.get("ambienceMode")){var c=this.get("lastLightBopIndex"),p=void 0,u=254,d=void 0;if(p=Math.floor(Math.random()*t.length),t.length>1)for(;p===c;)p=Math.floor(Math.random()*t.length);if(d=t[p],this.set("lastLightBopIndex",p),!this.get("colorloopMode")){var m=this.get("hueRange");l=Math.floor(Math.random()*(m[1]-m[0]+1)+m[0])}a&&(s=80),o(d,u,l),setTimeout(o,s,d,1)}this.set("paused",!0),setTimeout(function(){e.set("paused",!1)},150),this.get("ambienceMode")&&t.length>0&&this.doAmbienceLightChange(!0),i("#beat-speaker-center-outer").velocity({blur:3},100).velocity({blur:0},100),i("#beat-speaker-center-inner").velocity({scale:1.05},100).velocity({scale:1},100)},init:function(){var e=this;this._super.apply(this,arguments),window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var t=new Dancer,n=this.get("storage"),l=t.createKick({threshold:this.get("threshold"),onKick:function(t,n){e.get("paused")===!1&&e.simulateKick(t,n)}});l.on(),this.setProperties({dancer:t,kick:l}),void 0===navigator.getUserMedia&&this.set("usingMicSupported",!1),["volume","shuffle","repeat","volumeMuted","threshold","playerBottomDisplayed","audioMode","songBeatPreferences","firstVisit","currentVisName","playQueue","playQueuePointer","micBoost","flashingTransitions","colorloopMode","ambienceMode","hueRange"].forEach(function(t){if(!r(n.get("huegasm."+t))){var l=n.get("huegasm."+t);r(e.actions[t+"Changed"])?e.set(t,l):e.send(t+"Changed",l)}}),SC.initialize({client_id:this.get("SC_CLIENT_ID")})},didInsertElement:function(){var e=this;this._super();var t=this;i("#file-input").on("change",function(){var e=this.files;t.send("handleNewFiles",e),this.value=null}),i(document).on("click",".alert",function(e){i(e.target).addClass("removed")}),i("#beat-container").on("mousedown","#beat-speaker-center-inner",function(e){e.preventDefault()}),i(document).keypress(function(t){32===t.which&&"text"!==t.target.type&&e.send("play")}),this.$().on("drop","#play-list-area",function(t){e.send("dropFiles",t.dataTransfer.files)}),i("#player-area").on("mousewheel",function(t){if(e.get("playQueueNotEmpty")&&!e.get("usingMicAudio")){var n=5;t.deltaY<0&&(n*=-1);var l=e.get("volume")+n;e.send("volumeChanged",l<0?0:l),t.preventDefault()}}),this.get("firstVisit")&&(this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/candyland-speechless-feat-rkcb"),this.send("handleNewSoundCloudURL","https://soundcloud.com/dillistone/dillistone-lili-n-rude"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/vallis-alps-young-feki-remix"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/andrew-luce-when-to-love-you-feat-chelsea-cutler"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/ahh-ooh-carefree-with-me"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/crywolf-slow-burn"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/clozee-red-forest"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/elo-method-subranger-solace"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/90-pounds-of-pete-waited-too-long-feat-devon-baldwin"),this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/draper-eyes-open"),this.get("storage").set("huegasm.firstVisit",!1),this.sendAction()),this.get("playerBottomDisplayed")||i("#player-bottom").hide()},actions:{clearPlaylist:function(){this.get("playQueue").clear()},setVisName:function(e){this.set("currentVisName",e)},hideTooltip:function(){i(".bootstrap-tooltip").tooltip("hide")},gotoSCURL:function(e){this.get("playing")&&this.send("play"),this.send("gotoURL",e)},gotoURL:function(e){i(".tooltip").remove(),window.open(e,"_blank")},handleNewSoundCloudURL:function(e){var t=this;e&&SC.resolve(e).then(function(e){var n=function e(n){"user"===n.kind?t.get("notify").alert({html:t.get("scUserNotSupportedHtml")}):"track"===n.kind?n.streamable===!0?!function(){var e=null;n.artwork_url?e=n.artwork_url.replace("large","t67x67"):n.user.avatar_url&&(e=n.user.avatar_url),i.get(e).done(function(){t.get("playQueue").pushObject({url:n.stream_url+"?client_id="+t.get("SC_CLIENT_ID"),fileName:n.title+" - "+n.user.username,artist:n.user.username,scUrl:n.permalink_url,title:n.title,picture:e})}).fail(function(){t.get("playQueue").pushObject({url:n.stream_url+"?client_id="+t.get("SC_CLIENT_ID"),fileName:n.title+" - "+n.user.username,artist:n.user.username,scUrl:n.permalink_url,title:n.title})})}():l.push(n.title):"playlist"===n.kind&&(n.streamable===!0?n.tracks.forEach(e):l.push(n.title))},l=[];e instanceof Array?e.forEach(n):n(e),l.length>0&&t.get("notify").alert({html:t.get("notStreamableHtml")(l)}),t.get("playQueuePointer")===-1&&(t.get("firstVisit")?t.send("goToSong",0):t.send("next"))},function(){t.get("notify").alert({html:t.get("urlNotFoundHtml")(e)})}),this.set("isShowingAddSoundCloudModal",!1)},toggleIsShowingAddSoundCloudModal:function(){this.toggleProperty("isShowingAddSoundCloudModal")},useLocalAudio:function(){var e=this.get("audioStream");if(this.changePlayerControl("audioMode",0),!r(e)){var t=e.getVideoTracks();t&&t[0]&&t[0].stop&&t[0].stop(),e.stop&&e.stop(),this.setProperties({audioStream:null,playing:!1})}this.get("playQueuePointer")!==-1&&(this.send("goToSong",this.get("playQueuePointer")),this.send("volumeChanged",this.get("volume"))),r(this.get("oldThreshold"))||this.set("threshold",this.get("oldThreshold")),document.title="Huegasm"},useMicAudio:function(){this.get("usingMicAudio")?this.send("useLocalAudio"):this.startUsingMic()},slideTogglePlayerBottom:function(){var e=this.$("#player-bottom");e.velocity(e.is(":visible")?"slideUp":"slideDown",{duration:300}),this.changePlayerControl("playerBottomDisplayed",!this.get("playerBottomDisplayed"))},goToSong:function(e,t,n){var l=this,a=this.get("dancer"),o=this.get("playQueue");a.audio&&this.clearCurrentAudio(!0),r(o[e])||!function(){var o=new Audio;o.src=l.get("playQueue")[e].url,o.crossOrigin="anonymous",o.oncanplay=function(){l.set("timeTotal",Math.floor(o.duration)),l.set("soundCloudFuckUps",0)},o.onerror=function(e){var t=l.get("playQueuePointer"),n=l.get("playQueue")[t];l.get("soundCloudFuckUps")>=l.get("maxSoundCloudFuckUps")?(l.get("notify").alert({html:l.get("tooManySoundCloudFuckUps")}),l.send("play"),l.set("soundCloudFuckUps",0)):(n.local?l.send("removeAudio",t):l.send("next",!0),2===e.target.error.code?l.get("notify").alert({html:l.get("failedToDecodeFileHtml")(n.fileName)}):l.get("notify").alert({html:l.get("failedToPlayFileHtml")(n.fileName)}),l.set("usingBeatPreferences",!1),l.incrementProperty("soundCloudFuckUps"))},o.ontimeupdate=function(){l.set("timeElapsed",Math.floor(o.currentTime))},o.onended=function(){l.send("next")},a.load(o,1),l.set("playQueuePointer",e),l.loadSongBeatPreferences(),t&&l.send("play"),n&&c.next(l,function(){i(".track"+e).velocity("scroll",{container:i("#play-list-area"),duration:200})})}()},removeAudio:function(e){this.get("playQueue").removeAt(e),i("body .tooltip").remove(),e===this.get("playQueuePointer")&&this.send("goToSong",e,!0,!0)},playerAreaPlay:function(){s(i("#player-controls:hover"))&&this.get("playQueuePointer")!==-1&&(this.send("play"),i("#play-notification").velocity({opacity:.8,scale:1},0).velocity({opacity:0,scale:3},500))},play:function(e){var t=this.get("dancer"),n=this.get("playQueuePointer"),l=this.get("playing");if(n!==-1){if(l)t.pause(),e||this.set("timeElapsed",Math.floor(t.getTime()));else{var a=this.get("timeTotal");if(this.get("volumeMuted")?t.setVolume(0):t.setVolume(this.get("volume")/100),this.get("timeElapsed")===a&&0!==a)return void this.send("next",!0);i(window).trigger("resize"),t.play()}this.set("pauseLightUpdates",!l),this.onColorloopModeChange(),this.toggleProperty("playing")}},volumeChanged:function(e){this.changePlayerControl("volume",e),this.get("playing")&&this.get("dancer").setVolume(e/100),this.get("volume")>0&&this.get("volumeMuted")&&this.changePlayerControl("volumeMuted",!1)},next:function(e){var t=this.get("playQueuePointer"),n=this.get("playQueue"),l=t+1,a=this.get("repeat"),o=this.get("shuffle");if(2===a)l=t===-1&&n.length>0?0:t;else if(o){var s=this.get("shufflePlayed");if(s.length===n.length)return s.clear(),void this.send("play",!0);do l=Math.floor(Math.random()*n.length);while(s.includes(n[l].url));s.pushObject(n[l].url)}else if(l>n.length-1){if(1!==a&&!e)return void this.send("play",!0);l%=n.length}this.send("goToSong",l,!0,!0)},previous:function(){var e=this;this.get("timeElapsed")>5?this.send("seekChanged",0):!function(){var t=e.get("playQueuePointer"),n=e.get("playQueue");e.get("shuffle")&&!r(n[t])?!function(){var l=e.get("shufflePlayed"),a=e.get("shufflePlayed").indexOf(n[t].url),o=0;l.length>0&&a!==-1&&(t=a-1,t<0&&(t=l.length-1),n.some(function(e){return e.url===l[t]?(t=o,!0):(o++,!1)}))}():(t--,t<0&&(t=n.length-1)),e.send("goToSong",t,!0,!0)}()},seekChanged:function(e){var t=this.get("dancer");t.audio&&(t.audio.currentTime=Math.floor(this.get("timeTotal")*e/100))},volumeMutedChanged:function(e){var t=this.get("dancer"),n=r(e)?!this.get("volumeMuted"):e;this.changePlayerControl("volumeMuted",n),this.get("playing")&&(n?t.setVolume(0):t.setVolume(this.get("volume")/100))},addLocalAudio:function(){i("#file-input").click()},shuffleChanged:function(e){this.changePlayerControl("shuffle",r(e)?!this.get("shuffle"):e)},repeatChanged:function(e){this.changePlayerControl("repeat",r(e)?(this.get("repeat")+1)%3:e)},playerBottomDisplayedChanged:function(e){this.changePlayerControl("playerBottomDisplayed",e)},thresholdChanged:function(e){this.changePlayerControl("threshold",e,!0)},hueRangeChanged:function(e){this.changePlayerControl("hueRange",e)},micBoostChanged:function(e){this.set("micBoost",e),this.get("storage").set("huegasm.micBoost",e),this.get("usingMicAudio")&&this.get("dancer").setBoost(e)},audioModeChanged:function(e){1===e?this.startUsingMic():0===e?this.send("useLocalAudio"):this.set("audioMode",e)},playQueuePointerChanged:function(e){this.send("goToSong",e,!1,!0)},clickSpeaker:function(){this.simulateKick(1)},dropFiles:function(e){this.setProperties({dragging:!1,draggingOverPlayListArea:!1}),this.send("handleNewFiles",e)},playerListAreaDragOver:function(){this.set("draggingOverPlayListArea",!0)},playerListAreaDragLeave:function(){this.set("draggingOverPlayListArea",!1)},handleNewFiles:function(e){var t=this,n=this.get("playQueue"),l=function(){var e=ID3.getAllTags("local"),l=null;if(e.picture){for(var a="",o=0;oA microphone was not found.',scUserNotSupportedHtml:'',tooManySoundCloudFuckUps:'',notStreamableHtml:function(e){var t='";return t},urlNotFoundHtml:function(e){return'"},failedToPlayFileHtml:function(e){return'"},failedToDecodeFileHtml:function(e){return'"},scUrl:a("playQueuePointer","playQueue.[]","usingMicAudio",function(){var e=null,t=this.get("playQueue")[this.get("playQueuePointer")];return t&&t.scUrl&&!this.get("usingMicAudio")&&(e=t.scUrl),e}),playQueueEmpty:a.empty("playQueue"),playQueueNotEmpty:a.notEmpty("playQueue"),playQueueMultiple:a("playQueue.[]",function(){return this.get("playQueue").length>1}),seekPosition:a("timeElapsed","timeTotal",function(){var e=this.get("timeTotal"),t=this.get("timeElapsed");return 0===e?0:t/e*100}),largeArtworkPic:a("playQueuePointer","usingMicAudio","currentVisName",function(){var e="",t=this.get("currentVisName"),n=this.get("usingMicAudio"),l=this.get("playQueuePointer"),a=this.get("playQueue");if(l!==-1&&!n&&"None"===t){var s=a[l];s.scUrl&&!o(s.picture)&&(e=s.picture.replace("67x67","500x500"))}return e}),micIcon:a("usingMicAudio",function(){return this.get("usingMicAudio")?"mic":"mic-off"}),repeatIcon:a("repeat",function(){return 2===this.get("repeat")?"repeat-one":"repeat"}),playingIcon:a("playing",function(){return this.get("playing")?"pause":this.get("timeElapsed")===this.get("timeTotal")&&0!==this.get("timeTotal")?"replay":"play-arrow"}),playerAreaClickIcon:a("playing",function(){return this.get("playing")?"play-arrow":"pause"}),playListAreaClass:a("dragging","draggingOverPlayListArea","dimmerOn",function(){var e="pointer";return this.get("dragging")&&(e+=" drag-here-highlight"),this.get("draggingOverPlayListArea")&&(e+=" dragging-over"),this.get("dimmerOn")&&(e+=" dimmerOn"),e}),dimmerOnClass:a("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),volumeMutedClass:a("volumeMuted",function(){var e="player-control-icon volumeButton";return this.get("volumeMuted")&&(e+=" active"),e}),usingLocalAudioClass:a("usingLocalAudio",function(){return this.get("usingLocalAudio")?"player-control-icon active":"player-control-icon"}),usingMicAudioClass:a("usingMicAudio",function(){return this.get("usingMicAudio")?"player-control-icon active":"player-control-icon"}),repeatClass:a("repeat",function(){return 0!==this.get("repeat")?"player-control-icon active":"player-control-icon"}),shuffleClass:a("shuffle",function(){return this.get("shuffle")?"player-control-icon active":"player-control-icon"}),volumeIcon:a("volumeMuted","volume",function(){var e=this.get("volume");return this.get("volumeMuted")?"volume-off":e>=70?"volume-up":e>10?"volume-down":"volume-mute"}),beatDetectionAreaArrowIcon:a("playerBottomDisplayed",function(){return this.get("playerBottomDisplayed")?"keyboard-arrow-up":"keyboard-arrow-down"}),timeElapsedTxt:a("timeElapsed",function(){return this.formatTime(this.get("timeElapsed"))}),timeTotalTxt:a("timeTotal",function(){return this.formatTime(this.get("timeTotal"))}),onColorloopModeChange:l("colorloopMode","usingMicAudio","playing",function(){var e=!(!this.get("playing")&&!this.get("usingMicAudio")||!this.get("colorloopMode"));this.set("colorLoopOn",e)}),onOptionChange:l("flashingTransitions","playQueue.[]","playQueuePointer","colorloopMode","ambienceMode",function(e,t){t=t.replace(".[]",""),this.get("storage").set("huegasm."+t,this.get(t))}),onRepeatChange:i("init",l("repeat",function(){var e="Repeat all",t="repeat";1===this.get(t)?e="Repeat one":2===this.get(t)&&(e="Repeat off"),this.changeTooltipText(t,e)})),onUsingMicAudioChange:i("init",l("usingMicAudio",function(){var e="Listen to audio through mic",t="usingMicAudio";this.get(t)&&(e="Listen to audio files"),this.changeTooltipText(t,e)})),onShuffleChange:i("init",l("shuffle",function(){var e="Shuffle",t="shuffle";this.get(t)&&(this.get("shufflePlayed").clear(),e="Unshuffle"),this.changeTooltipText(t,e)})),onVolumeMutedChange:i("init",l("volumeMuted",function(){var e="Mute",t="volumeMuted",n=this.get(t),l=this.get("dancer"),a=0;n?(e="Unmute",a=0):a=this.get("volume")/100,this.get("playing")&&l.setVolume(a),this.changeTooltipText(t,e)})),onPrevChange:i("init",l("timeElapsed","playQueueNotEmpty","playQueue.[]",function(){if(this.get("playQueueNotEmpty")){var e="Previous",t="prev";(this.get("timeElapsed")>5||1===this.get("playQueue").length)&&(e="Replay"),this.changeTooltipText(t,e)}})),onPlayingChange:i("init",l("playing",function(){var e="Play",t="playing";this.get(t)?e="Pause":this.get("timeElapsed")===this.get("timeTotal")&&0!==this.get("timeTotal")&&(e="Replay"),this.changeTooltipText(t,e)})),changeTooltipText:function(e,t){s("#"+e+"Tooltip + .tooltip .tooltip-inner").html(t),s("#"+e+"Tooltip").attr("data-original-title",t),o(this.get(e+"TooltipTxt"))&&this.set(e+"TooltipTxt",t)},formatTime:function(e){return this.pad(Math.floor(e/60),2)+":"+this.pad(e%60,2)},pad:function(e,t){return("000000000"+e).substr(-t)}})}),define("huegasm/pods/components/music-tab/mixins/visualizer",["exports","ember"],function(e,t){var n=t.default.Mixin,l=t.default.observer,a=t.default.$;e.default=n.create({currentVisName:"None",visNames:["None","Bars","Wave"],onCurrentVisNameChange:l("currentVisName",function(){var e=this.get("currentVisName");if("None"===e){var t=a("#visualization")[0],n=t.getContext("2d");n.clearRect(0,0,t.width,t.height)}this.get("storage").set("huegasm.currentVisName",e)}),didInsertElement:function(){var e=this,t=this.get("dancer"),n=a("#visualization")[0],l=a("#player-area"),o=n.getContext("2d"),s=2,r=l.height(),i=void 0;n.height=r;var c=function(){i=l.width(),n.width=i};c(),a(window).on("resize",c),t.bind("update",function(){var n=e.get("currentVisName"),l=o.createLinearGradient(0,0,0,r),a=document.hidden||document.msHidden||document.webkitHidden||document.mozHidden;if("None"!==n&&!a&&e.get("active"))if(o.clearRect(0,0,i,r),"Wave"===n){var c=3,p=1024;l.addColorStop(.6,"white"),l.addColorStop(0,"#0036FA"),o.lineWidth=1,o.strokeStyle=l;var u=t.getWaveform();o.beginPath(),o.moveTo(0,r/2);for(var d=0,m=u.length;d\n
\n ');return i.appendChild(a[0]),a.on("wheel",t),a.on("touchmove",t),s.on("keydown",e),function(){a.off("wheel"),a.off("touchmove"),a[0].parentNode.removeChild(a[0]),s.off("keydown",e),delete o.disableScrollAround._enableScrolling}}function n(){var e=i.parentNode,t=e.getAttribute("style")||"",n=i.getAttribute("style")||"",l=i.scrollTop+i.parentElement.scrollTop,o=i.clientWidth;return i.scrollHeight>i.clientHeight&&(a(i,{position:"fixed",width:"100%",top:-l+"px"}),a(e,{overflowY:"scroll"})),i.clientWidththis.peak&&(this.peakBand=c,this.peak=r),i[c]=r*a}}function FFT(e,t,n){FourierTransform.call(this,e,t,n),this.reverseTable=new Uint32Array(e);for(var r,i=1,o=e>>1;i>=1}for(this.sinTable=new Float32Array(e),this.cosTable=new Float32Array(e),r=0;r=0;r--)t[r].exports();return n.module.exports},t(),loader={noConflict:function(t){var n,r;for(n in t)t.hasOwnProperty(n)&&c.hasOwnProperty(n)&&(r=t[n],e[r]=e[n],e[n]=c[n])}};var p;p=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var h={},d={},f=0,m=["require","exports","module"];r.prototype.makeDefaultExport=function(){var e=this.module.exports;null===e||"object"!=typeof e&&"function"!=typeof e||void 0!==e.default||(e.default=e)},r.prototype.exports=function(){if(this.finalized)return this.module.exports;l.exports++,this.finalized=!0,this.isPending=!1,loader.wrapModules&&(this.callback=loader.wrapModules(this.name,this.callback)),this.reify();var e=this.callback.apply(this,this.reified);return this.hasExportsAsDep&&void 0===e||(this.module.exports=e),this.makeDefaultExport(),this.module.exports},r.prototype.unsee=function(){this.finalized=!1,this._foundDeps=!1,this.isPending=!1,this.module={exports:{}}},r.prototype.reify=function(){l.reify++;for(var e=this.reified,t=0;t=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var s=g.call(i,"catchLoc"),a=g.call(i,"finallyLoc");if(s&&a){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&g.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),T}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;p(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:d(e),resultName:t,nextLoc:n},T}}}("object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this),function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=fe.type(e);return"function"!==n&&!fe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t,n){return fe.isFunction(t)?fe.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?fe.grep(e,function(e){return e===t!==n}):"string"!=typeof t?fe.grep(e,function(e){return se.call(t,e)>-1!==n}):Ce.test(t)?fe.filter(t,e,n):(t=fe.filter(t,e),fe.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function o(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return fe.each(e.match(Pe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function l(e,t,n){var r;try{e&&fe.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&fe.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),fe.ready()}function p(){this.expando=fe.expando+p.uid++}function h(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:je.test(e)?JSON.parse(e):e)}function d(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Fe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=h(n)}catch(e){}Me.set(e,t,n)}else n=void 0;return n}function f(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return fe.css(e,t,"")},u=a(),l=n&&n[3]||(fe.cssNumber[t]?"":"px"),c=(fe.cssNumber[t]||"px"!==l&&+u)&&He.exec(fe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,fe.style(e,t,c+l);while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function m(e){var t,n=e.ownerDocument,r=e.nodeName,i=Ve[r];return i?i:(t=n.body.appendChild(n.createElement(r)),i=fe.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ve[r]=i,i)}function g(e,t){for(var n,r,i=[],o=0,s=e.length;o-1)i&&i.push(o);else if(l=fe.contains(o.ownerDocument,o),s=v(p.appendChild(o),"script"),l&&y(s),n)for(c=0;o=s[c++];)Ke.test(o.type||"")&&n.push(o);return p}function w(){return!0}function x(){return!1}function _(){try{return te.activeElement}catch(e){}}function E(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)E(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(s=i,i=function(e){return fe().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=fe.guid++)),e.each(function(){fe.event.add(this,t,i,r,n)})}function C(e,t){return fe.nodeName(e,"table")&&fe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function S(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function T(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function O(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(Le.hasData(e)&&(o=Le.access(e),s=Le.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof f&&!he.checkClone&&nt.test(f))return e.each(function(n){var o=e.eq(n);m&&(t[0]=f.call(this,n,o.html())),k(o,t,r,i)});if(h&&(o=b(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=fe.map(v(o,"script"),S),u=a.length;p=0&&nE.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[H]=!0,e}function i(e){var t=I.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)E.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Ce(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function p(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function h(){}function d(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(s[l]=p))}}else b=v(b===s?b.splice(f,b.length):b),o?o(null,s,b,u):X.apply(s,b)})}function b(e){for(var t,n,r,i=e.length,o=E.relative[e[0].type],s=o||E.relative[" "],a=o?1:0,u=f(function(e){return e===t},s,!0),l=f(function(e){return ee(t,e)>-1},s,!0),c=[function(e,n,r){var i=!o&&(r||n!==k)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];a1&&m(c),a>1&&d(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,o=e.length>0,s=function(r,s,a,u,l){var c,p,h,d=0,f="0",m=r&&[],g=[],y=k,b=r||o&&E.find.TAG("*",l),w=U+=null==y?1:Math.random()||.1,x=b.length;for(l&&(k=s===I||s||l);f!==x&&null!=(c=b[f]);f++){if(o&&c){for(p=0,s||c.ownerDocument===I||(R(c),a=!L);h=e[p++];)if(h(c,s||I,a)){u.push(c);break}l&&(U=w)}i&&((c=!h&&c)&&d--,r&&m.push(c))}if(d+=f,i&&f!==d){for(p=0;h=n[p++];)h(m,g,s,a);if(r){if(d>0)for(;f--;)m[f]||g[f]||(g[f]=Q.call(u));g=v(g)}X.apply(u,g),l&&!r&&g.length>0&&d+n.length>1&&t.uniqueSort(u)}return l&&(U=w,k=y),m};return i?r(s):s}var x,_,E,C,S,T,O,A,k,P,N,R,I,D,L,M,j,F,B,H="sizzle"+1*new Date,q=e.document,U=0,z=0,V=n(),W=n(),G=n(),K=function(e,t){return e===t&&(N=!0), +0},Y={}.hasOwnProperty,$=[],Q=$.pop,J=$.push,X=$.push,Z=$.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),pe=new RegExp(oe),he=new RegExp("^"+re+"$"),de={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},fe=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,_e=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ee=function(){R()},Ce=f(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{X.apply($=Z.call(q.childNodes),q.childNodes),$[q.childNodes.length].nodeType}catch(e){X={apply:$.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}_=t.support={},S=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},R=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:q;return r!==I&&9===r.nodeType&&r.documentElement?(I=r,D=I.documentElement,L=!S(I),q!==I&&(n=I.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ee,!1):n.attachEvent&&n.attachEvent("onunload",Ee)),_.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),_.getElementsByTagName=i(function(e){return e.appendChild(I.createComment("")),!e.getElementsByTagName("*").length}),_.getElementsByClassName=ge.test(I.getElementsByClassName),_.getById=i(function(e){return D.appendChild(e).id=H,!I.getElementsByName||!I.getElementsByName(H).length}),_.getById?(E.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}},E.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n=t.getElementById(e);return n?[n]:[]}}):(E.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},E.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n,r,i,o=t.getElementById(e);if(o){if(n=o.getAttributeNode("id"),n&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if(n=o.getAttributeNode("id"),n&&n.value===e)return[o]}return[]}}),E.find.TAG=_.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):_.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},E.find.CLASS=_.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&L)return t.getElementsByClassName(e)},j=[],M=[],(_.qsa=ge.test(I.querySelectorAll))&&(i(function(e){D.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&M.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||M.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+H+"-]").length||M.push("~="),e.querySelectorAll(":checked").length||M.push(":checked"),e.querySelectorAll("a#"+H+"+*").length||M.push(".#.+[+~]")}),i(function(e){e.innerHTML="";var t=I.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&M.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&M.push(":enabled",":disabled"),D.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(_.matchesSelector=ge.test(F=D.matches||D.webkitMatchesSelector||D.mozMatchesSelector||D.oMatchesSelector||D.msMatchesSelector))&&i(function(e){_.disconnectedMatch=F.call(e,"*"),F.call(e,"[s!='']:x"),j.push("!=",oe)}),M=M.length&&new RegExp(M.join("|")),j=j.length&&new RegExp(j.join("|")),t=ge.test(D.compareDocumentPosition),B=t||ge.test(D.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=t?function(e,t){if(e===t)return N=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!_.sortDetached&&t.compareDocumentPosition(e)===n?e===I||e.ownerDocument===q&&B(q,e)?-1:t===I||t.ownerDocument===q&&B(q,t)?1:P?ee(P,e)-ee(P,t):0:4&n?-1:1)}:function(e,t){if(e===t)return N=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===I?-1:t===I?1:i?-1:o?1:P?ee(P,e)-ee(P,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===q?-1:u[r]===q?1:0},I):I},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==I&&R(e),n=n.replace(ce,"='$1']"),_.matchesSelector&&L&&!G[n+" "]&&(!j||!j.test(n))&&(!M||!M.test(n)))try{var r=F.call(e,n);if(r||_.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,I,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==I&&R(e),B(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==I&&R(e);var n=E.attrHandle[t.toLowerCase()],r=n&&Y.call(E.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==r?r:_.attributes||!L?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,_e)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(N=!_.detectDuplicates,P=!_.sortStable&&e.slice(0),e.sort(K),N){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return P=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},E=t.selectors={cacheLength:50,createPseudo:r,match:de,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&pe.test(n)&&(t=T(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=V[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&V(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,h,d,f,m=o!==s?"nextSibling":"previousSibling",g=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,b=!1;if(g){if(o){for(;m;){for(h=t;h=h[m];)if(a?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[s?g.firstChild:g.lastChild],s&&y){for(h=g,p=h[H]||(h[H]={}),c=p[h.uniqueID]||(p[h.uniqueID]={}),l=c[e]||[],d=l[0]===U&&l[1],b=d&&l[2],h=d&&g.childNodes[d];h=++d&&h&&h[m]||(b=d=0)||f.pop();)if(1===h.nodeType&&++b&&h===t){c[e]=[U,d,b];break}}else if(y&&(h=t,p=h[H]||(h[H]={}),c=p[h.uniqueID]||(p[h.uniqueID]={}),l=c[e]||[],d=l[0]===U&&l[1],b=d),b===!1)for(;(h=++d&&h&&h[m]||(b=d=0)||f.pop())&&((a?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++b||(y&&(p=h[H]||(h[H]={}),c=p[h.uniqueID]||(p[h.uniqueID]={}),c[e]=[U,b]),h!==t)););return b-=i,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var i,o=E.pseudos[e]||E.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[H]?o(n):o.length>1?(i=[e,e,"",n],E.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=O(e.replace(ae,"$1"));return i[H]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return he.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===D},focus:function(e){return e===I.activeElement&&(!I.hasFocus||I.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!E.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return fe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=o[0]).type&&9===t.nodeType&&L&&E.relative[o[1].type]){if(t=(E.find.ID(s.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=de.needsContext.test(e)?0:o.length;i--&&(s=o[i],!E.relative[a=s.type]);)if((u=E.find[a])&&(r=u(s.matches[0].replace(be,we),ye.test(o[0].type)&&p(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return X.apply(n,r),n;break}}return(l||O(e,c))(r,t,!L,n,!t||ye.test(e)&&p(t.parentNode)||t),n},_.sortStable=H.split("").sort(K).join("")===H,_.detectDuplicates=!!N,R(),_.sortDetached=i(function(e){return 1&e.compareDocumentPosition(I.createElement("fieldset"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),_.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);fe.find=be,fe.expr=be.selectors,fe.expr[":"]=fe.expr.pseudos,fe.uniqueSort=fe.unique=be.uniqueSort,fe.text=be.getText,fe.isXMLDoc=be.isXML,fe.contains=be.contains,fe.escapeSelector=be.escape;var we=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&fe(e).is(n))break;r.push(e)}return r},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},_e=fe.expr.match.needsContext,Ee=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ce=/^.[^:#\[\.,]*$/;fe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?fe.find.matchesSelector(r,e)?[r]:[]:fe.find.matches(e,fe.grep(t,function(e){return 1===e.nodeType}))},fe.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(fe(e).filter(function(){for(t=0;t1?fe.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&_e.test(e)?fe(e):e||[],!1).length}});var Se,Te=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Oe=fe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Se,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Te.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof fe?t[0]:t,fe.merge(this,fe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ee.test(r[1])&&fe.isPlainObject(t))for(r in t)fe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=te.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):fe.isFunction(e)?void 0!==n.ready?n.ready(e):e(fe):fe.makeArray(e,this)};Oe.prototype=fe.fn,Se=fe(te);var Ae=/^(?:parents|prev(?:Until|All))/,ke={children:!0,contents:!0,next:!0,prev:!0};fe.fn.extend({has:function(e){var t=fe(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&fe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?fe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(fe(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(fe.uniqueSort(fe.merge(this.get(),fe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),fe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return we(e,"parentNode")},parentsUntil:function(e,t,n){return we(e,"parentNode",n)},next:function(e){return o(e,"nextSibling")},prev:function(e){return o(e,"previousSibling")},nextAll:function(e){return we(e,"nextSibling")},prevAll:function(e){return we(e,"previousSibling")},nextUntil:function(e,t,n){return we(e,"nextSibling",n)},prevUntil:function(e,t,n){return we(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return e.contentDocument||fe.merge([],e.childNodes)}},function(e,t){fe.fn[e]=function(n,r){var i=fe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=fe.filter(r,i)),this.length>1&&(ke[e]||fe.uniqueSort(i),Ae.test(e)&&i.reverse()),this.pushStack(i)}});var Pe=/[^\x20\t\r\n\f]+/g;fe.Callbacks=function(e){e="string"==typeof e?s(e):fe.extend({},e);var t,n,r,i,o=[],a=[],u=-1,l=function(){for(i=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?fe.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},fe.extend({Deferred:function(t){var n=[["notify","progress",fe.Callbacks("memory"),fe.Callbacks("memory"),2],["resolve","done",fe.Callbacks("once memory"),fe.Callbacks("once memory"),0,"resolved"],["reject","fail",fe.Callbacks("once memory"),fe.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return fe.Deferred(function(t){fe.each(n,function(n,r){var i=fe.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&fe.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var l=this,c=arguments,p=function(){var e,p;if(!(t=s&&(r!==u&&(l=void 0,c=[e]),n.rejectWith(l,c))}};t?h():(fe.Deferred.getStackHook&&(h.stackTrace=fe.Deferred.getStackHook()),e.setTimeout(h))}}var s=0;return fe.Deferred(function(e){n[0][3].add(o(0,e,fe.isFunction(i)?i:a,e.notifyWith)),n[1][3].add(o(0,e,fe.isFunction(t)?t:a)),n[2][3].add(o(0,e,fe.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?fe.extend(e,i):i}},o={};return fe.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=re.call(arguments),o=fe.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?re.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(l(e,o.done(s(n)).resolve,o.reject),"pending"===o.state()||fe.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)l(i[n],s(n),o.reject);return o.promise()}});var Ne=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;fe.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Ne.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},fe.readyException=function(t){e.setTimeout(function(){throw t})};var Re=fe.Deferred();fe.fn.ready=function(e){return Re.then(e).catch(function(e){fe.readyException(e)}),this},fe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?fe.readyWait++:fe.ready(!0)},ready:function(e){(e===!0?--fe.readyWait:fe.isReady)||(fe.isReady=!0,e!==!0&&--fe.readyWait>0||Re.resolveWith(te,[fe]))}}),fe.ready.then=Re.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(fe.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Ie=function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===fe.type(n)){i=!0;for(a in n)Ie(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,fe.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(fe(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Me.remove(this,e)})}}),fe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Le.get(e,t),n&&(!r||fe.isArray(n)?r=Le.access(e,t,fe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=fe.queue(e,t),r=n.length,i=n.shift(),o=fe._queueHooks(e,t),s=function(){fe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Le.get(e,n)||Le.access(e,n,{empty:fe.Callbacks("once memory").add(function(){Le.remove(e,[t+"queue",n])})})}}),fe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ke=/^$|\/(?:java|ecma)script/i,Ye={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Ye.optgroup=Ye.option,Ye.tbody=Ye.tfoot=Ye.colgroup=Ye.caption=Ye.thead,Ye.th=Ye.td;var $e=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),he.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",he.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;fe.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,l,c,p,h,d,f,m,g=Le.get(e);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&fe.find.matchesSelector(Qe,i),n.guid||(n.guid=fe.guid++),(u=g.events)||(u=g.events={}),(s=g.handle)||(s=g.handle=function(t){return"undefined"!=typeof fe&&fe.event.triggered!==t.type?fe.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Pe)||[""],l=t.length;l--;)a=Ze.exec(t[l])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d&&(p=fe.event.special[d]||{},d=(i?p.delegateType:p.bindType)||d,p=fe.event.special[d]||{},c=fe.extend({type:d,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&fe.expr.match.needsContext.test(i),namespace:f.join(".")},o),(h=u[d])||(h=u[d]=[],h.delegateCount=0,p.setup&&p.setup.call(e,r,f,s)!==!1||e.addEventListener&&e.addEventListener(d,s)),p.add&&(p.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,c):h.push(c),fe.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,h,d,f,m,g=Le.hasData(e)&&Le.get(e);if(g&&(u=g.events)){for(t=(t||"").match(Pe)||[""],l=t.length;l--;)if(a=Ze.exec(t[l])||[],d=m=a[1],f=(a[2]||"").split(".").sort(),d){for(p=fe.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,h=u[d]||[],a=a[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!i&&m!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,p.remove&&p.remove.call(e,c));s&&!h.length&&(p.teardown&&p.teardown.call(e,f,g.handle)!==!1||fe.removeEvent(e,d,g.handle),delete u[d])}else for(d in u)fe.event.remove(e,d+t[l],n,r,!0);fe.isEmptyObject(u)&&Le.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=fe.event.fix(e),u=new Array(arguments.length),l=(Le.get(this,"events")||{})[a.type]||[],c=fe.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||l.disabled!==!0)){for(o=[],s={},n=0;n-1:fe.find(i,this,null,[l]).length),s[i]&&o.push(r);o.length&&a.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;fe.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=fe.contains(e.ownerDocument,e);if(!(he.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||fe.isXMLDoc(e)))for(s=v(a),o=v(e),r=0,i=o.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,i=fe.event.special,o=0;void 0!==(n=e[o]);o++)if(De(n)){if(t=n[Le.expando]){if(t.events)for(r in t.events)i[r]?fe.event.remove(n,r):fe.removeEvent(n,r,t.handle);n[Le.expando]=void 0}n[Me.expando]&&(n[Me.expando]=void 0)}}}),fe.fn.extend({detach:function(e){return P(this,e,!0)},remove:function(e){return P(this,e)},text:function(e){return Ie(this,function(e){return void 0===e?fe.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return k(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.appendChild(e)}})},prepend:function(){return k(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=C(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return k(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return k(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(fe.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return fe.clone(this,e,t)})},html:function(e){return Ie(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ye[(Ge.exec(e)||["",""])[1].toLowerCase()]){e=fe.htmlPrefilter(e);try{for(;n1)}}),fe.Tween=j,j.prototype={constructor:j,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||fe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(fe.cssNumber[n]?"":"px")},cur:function(){var e=j.propHooks[this.prop];return e&&e.get?e.get(this):j.propHooks._default.get(this)},run:function(e){var t,n=j.propHooks[this.prop];return this.options.duration?this.pos=t=fe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):j.propHooks._default.set(this),this}},j.prototype.init.prototype=j.prototype,j.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=fe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){fe.fx.step[e.prop]?fe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[fe.cssProps[e.prop]]&&!fe.cssHooks[e.prop]?e.elem[e.prop]=e.now:fe.style(e.elem,e.prop,e.now+e.unit)}}},j.propHooks.scrollTop=j.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},fe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},fe.fx=j.prototype.init,fe.fx.step={};var dt,ft,mt=/^(?:toggle|show|hide)$/,gt=/queueHooks$/;fe.Animation=fe.extend(V,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return f(n.elem,e,He.exec(t),n),n}]},tweener:function(e,t){fe.isFunction(e)?(t=e,e=["*"]):e=e.match(Pe);for(var n,r=0,i=e.length;r1)},removeAttr:function(e){return this.each(function(){fe.removeAttr(this,e)})}}),fe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?fe.prop(e,t,n):(1===o&&fe.isXMLDoc(e)||(i=fe.attrHooks[t.toLowerCase()]||(fe.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void fe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=fe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!he.radioValue&&"radio"===t&&fe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Pe);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?fe.removeAttr(e,n):e.setAttribute(n,n),n}},fe.each(fe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||fe.find.attr;yt[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=yt[s],yt[s]=i,i=null!=n(e,t,r)?s:null,yt[s]=o),i}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;fe.fn.extend({prop:function(e,t){return Ie(this,fe.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[fe.propFix[e]||e]})}}),fe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&fe.isXMLDoc(e)||(t=fe.propFix[t]||t,i=fe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=fe.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),he.optSelected||(fe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),fe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){fe.propFix[this.toLowerCase()]=this}),fe.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(fe.isFunction(e))return this.each(function(t){fe(this).addClass(e.call(this,t,G(this)))});if("string"==typeof e&&e)for(t=e.match(Pe)||[];n=this[u++];)if(i=G(n),r=1===n.nodeType&&" "+W(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=W(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(fe.isFunction(e))return this.each(function(t){fe(this).removeClass(e.call(this,t,G(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Pe)||[];n=this[u++];)if(i=G(n),r=1===n.nodeType&&" "+W(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=W(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):fe.isFunction(e)?this.each(function(n){fe(this).toggleClass(e.call(this,n,G(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=fe(this),o=e.match(Pe)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=G(this),t&&Le.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Le.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+W(G(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\r/g;fe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=fe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,fe(this).val()):e,null==i?i="":"number"==typeof i?i+="":fe.isArray(i)&&(i=fe.map(i,function(e){return null==e?"":e+""})),t=fe.valHooks[this.type]||fe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=fe.valHooks[i.type]||fe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(xt,""):null==n?"":n)}}}),fe.extend({valHooks:{option:{get:function(e){var t=fe.find.attr(e,"value");return null!=t?t:W(fe.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?o+1:i.length;for(r=o<0?u:s?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),fe.each(["radio","checkbox"],function(){fe.valHooks[this]={set:function(e,t){if(fe.isArray(t))return e.checked=fe.inArray(fe(e).val(),t)>-1}},he.checkOn||(fe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var _t=/^(?:focusinfocus|focusoutblur)$/;fe.extend(fe.event,{trigger:function(t,n,r,i){var o,s,a,u,l,c,p,h=[r||te],d=le.call(t,"type")?t.type:t,f=le.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!_t.test(d+fe.event.triggered)&&(d.indexOf(".")>-1&&(f=d.split("."),d=f.shift(),f.sort()),l=d.indexOf(":")<0&&"on"+d,t=t[fe.expando]?t:new fe.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=f.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:fe.makeArray(n,[t]),p=fe.event.special[d]||{},i||!p.trigger||p.trigger.apply(r,n)!==!1)){if(!i&&!p.noBubble&&!fe.isWindow(r)){for(u=p.delegateType||d,_t.test(u+d)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(r.ownerDocument||te)&&h.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=h[o++])&&!t.isPropagationStopped();)t.type=o>1?u:p.bindType||d,c=(Le.get(s,"events")||{})[t.type]&&Le.get(s,"handle"),c&&c.apply(s,n),c=l&&s[l],c&&c.apply&&De(s)&&(t.result=c.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||p._default&&p._default.apply(h.pop(),n)!==!1||!De(r)||l&&fe.isFunction(r[d])&&!fe.isWindow(r)&&(a=r[l],a&&(r[l]=null),fe.event.triggered=d,r[d](),fe.event.triggered=void 0,a&&(r[l]=a)),t.result}},simulate:function(e,t,n){var r=fe.extend(new fe.Event,n,{type:e,isSimulated:!0});fe.event.trigger(r,null,t)}}),fe.fn.extend({trigger:function(e,t){return this.each(function(){fe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return fe.event.trigger(e,t,n,!0)}}),fe.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){fe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),fe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),he.focusin="onfocusin"in e,he.focusin||fe.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){fe.event.simulate(t,e.target,fe.event.fix(e))};fe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Le.access(r,t);i||r.addEventListener(e,n,!0),Le.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Le.access(r,t)-1;i?Le.access(r,t,i):(r.removeEventListener(e,n,!0),Le.remove(r,t))}}});var Et=e.location,Ct=fe.now(),St=/\?/;fe.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||fe.error("Invalid XML: "+t),n};var Tt=/\[\]$/,Ot=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;fe.param=function(e,t){var n,r=[],i=function(e,t){var n=fe.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(fe.isArray(e)||e.jquery&&!fe.isPlainObject(e))fe.each(e,function(){i(this.name,this.value)});else for(n in e)K(n,e[n],t,i);return r.join("&")},fe.fn.extend({serialize:function(){return fe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=fe.prop(this,"elements");return e?fe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!fe(this).is(":disabled")&&kt.test(this.nodeName)&&!At.test(e)&&(this.checked||!We.test(e))}).map(function(e,t){var n=fe(this).val();return null==n?null:fe.isArray(n)?fe.map(n,function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}}):{name:t.name,value:n.replace(Ot,"\r\n")}}).get()}});var Pt=/%20/g,Nt=/#.*$/,Rt=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lt=/^(?:GET|HEAD)$/,Mt=/^\/\//,jt={},Ft={},Bt="*/".concat("*"),Ht=te.createElement("a");Ht.href=Et.href,fe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:Dt.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":fe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,fe.ajaxSettings),t):Q(fe.ajaxSettings,e)},ajaxPrefilter:Y(jt),ajaxTransport:Y(Ft),ajax:function(t,n){function r(t,n,r,a){var l,h,d,w,x,_=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,s=a||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(w=J(f,E,r)),w=X(f,w,E,l),l?(f.ifModified&&(x=E.getResponseHeader("Last-Modified"),x&&(fe.lastModified[o]=x),x=E.getResponseHeader("etag"),x&&(fe.etag[o]=x)),204===t||"HEAD"===f.type?_="nocontent":304===t?_="notmodified":(_=w.state,h=w.data,d=w.error,l=!d)):(d=_,!t&&_||(_="error",t<0&&(t=0))),E.status=t,E.statusText=(n||_)+"",l?v.resolveWith(m,[h,_,E]):v.rejectWith(m,[E,_,d]),E.statusCode(b),b=void 0,p&&g.trigger(l?"ajaxSuccess":"ajaxError",[E,f,l?h:d]),y.fireWith(m,[E,_]),p&&(g.trigger("ajaxComplete",[E,f]),--fe.active||fe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,s,a,u,l,c,p,h,d,f=fe.ajaxSetup({},n),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?fe(m):fe.event,v=fe.Deferred(),y=fe.Callbacks("once memory"),b=f.statusCode||{},w={},x={},_="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=It.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?s:null},setRequestHeader:function(e,t){return null==c&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==c&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||_;return i&&i.abort(t),r(0,t),this}};if(v.promise(E),f.url=((t||f.url||Et.href)+"").replace(Mt,Et.protocol+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(Pe)||[""],null==f.crossDomain){l=te.createElement("a");try{l.href=f.url,l.href=l.href,f.crossDomain=Ht.protocol+"//"+Ht.host!=l.protocol+"//"+l.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=fe.param(f.data,f.traditional)),$(jt,f,n,E),c)return E;p=fe.event&&f.global,p&&0===fe.active++&&fe.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Lt.test(f.type),o=f.url.replace(Nt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Pt,"+")):(d=f.url.slice(o.length),f.data&&(o+=(St.test(o)?"&":"?")+f.data,delete f.data),f.cache===!1&&(o=o.replace(Rt,"$1"),d=(St.test(o)?"&":"?")+"_="+Ct++ +d),f.url=o+d),f.ifModified&&(fe.lastModified[o]&&E.setRequestHeader("If-Modified-Since",fe.lastModified[o]),fe.etag[o]&&E.setRequestHeader("If-None-Match",fe.etag[o])),(f.data&&f.hasContent&&f.contentType!==!1||n.contentType)&&E.setRequestHeader("Content-Type",f.contentType),E.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Bt+"; q=0.01":""):f.accepts["*"]);for(h in f.headers)E.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(f.beforeSend.call(m,E,f)===!1||c))return E.abort();if(_="abort",y.add(f.complete),E.done(f.success),E.fail(f.error),i=$(Ft,f,n,E)){if(E.readyState=1,p&&g.trigger("ajaxSend",[E,f]),c)return E;f.async&&f.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},f.timeout));try{c=!1,i.send(w,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return E},getJSON:function(e,t,n){return fe.get(e,t,n,"json")},getScript:function(e,t){return fe.get(e,void 0,t,"script")}}),fe.each(["get","post"],function(e,t){fe[t]=function(e,n,r,i){return fe.isFunction(n)&&(i=i||r,r=n,n=void 0),fe.ajax(fe.extend({url:e,type:t,dataType:i,data:n,success:r},fe.isPlainObject(e)&&e))}}),fe._evalUrl=function(e){return fe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},fe.fn.extend({wrapAll:function(e){var t;return this[0]&&(fe.isFunction(e)&&(e=e.call(this[0])),t=fe(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return fe.isFunction(e)?this.each(function(t){fe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=fe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=fe.isFunction(e);return this.each(function(n){fe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){fe(this).replaceWith(this.childNodes)}),this}}),fe.expr.pseudos.hidden=function(e){return!fe.expr.pseudos.visible(e)},fe.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},fe.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var qt={0:200,1223:204},Ut=fe.ajaxSettings.xhr();he.cors=!!Ut&&"withCredentials"in Ut,he.ajax=Ut=!!Ut,fe.ajaxTransport(function(t){var n,r;if(he.cors||Ut&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(qt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),fe.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),fe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return fe.globalEval(e),e}}}),fe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),fe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=fe(" - + +