1?!function(){var n=e.get("multipleBridgeIps");t.forEach(function(e){n.pushObject(e.internalipaddress)}),a="multiple"}():a="fail",e.set("bridgeFindStatus",a)}).fail(function(){e.set("bridgeFindStatus","fail")})},pingBridgeUser:function(){var e=this,t=this.get("bridgeIp"),n=this.get("bridgeUserNamePingIntervalProgress"),a=this.get("bridgeUsernamePingMaxTime");null!==t&&n<100?(i.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")/a*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"}):i.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 "],["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\\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","huegasm/config/environment"],function(e,t,n){var a=t.default.A,l=t.default.Component,s=t.default.computed,o=t.default.isEmpty,i=t.default.isNone,r=t.default.run,u=t.default.$;e.default=l.extend({classNames:["container-fluid"],elementId:"hue-controls",lightsData:null,activeLights:a(),tabList:["Lights","Music"],selectedTab:1,pauseLightUpdates:!1,lightsTabSelected:s.equal("selectedTab",0),musicTabSelected:s.equal("selectedTab",1),dimmerOnClass:s("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn md-menu-origin":"md-menu-origin"}),ready:s("lightsData","trial",function(){return this.get("trial")||!i(this.get("lightsData"))}),apiURL:s("bridgeIp","bridgeUsername",function(){return"http://"+this.get("bridgeIp")+"/api/"+this.get("bridgeUsername")}),tabData:s("tabList","selectedTab",function(){var e=[],t=this.get("selectedTab");return this.get("tabList").forEach(function(n,a){var l=!1;a===t&&(l=!0),e.push({name:n,selected:l})}),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)||i(e.addedNodes[0].classList)||e.addedNodes[0].classList.contains("tooltip")});t&&r.scheduleOnce("afterRender",function(){u(".bootstrap-tooltip").tooltip()})});e.observe(u("#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))),i(this.get("storage").get("huegasm.selectedTab"))||this.set("selectedTab",this.get("storage").get("huegasm.selectedTab"))},updateLightData:function(){var e=this,t=function(){n.default.ignoreFailures||(clearInterval(e.get("lightsDataIntervalHandle")),e.send("clearBridge"))};this.get("pauseLightUpdates")||u.get(this.get("apiURL")+"/lights",function(n,a){i(n[0])||i(n[0].error)?"success"===a&&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()},clearAllSettings:function(){this.get("storage").clear(),location.reload()},startIntro:function(){var e=this,t=introJs,n=t(),a=u("#player-bottom"),l=u("#beat-detection-area-arrow-icon");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 beatColorloop - Slowly cycle the lights through all the colors while the music is playingTIP : 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/offBrightness - The brightness level of the selected lightsColor - The color of the selected lightsStrobe - Selected lights will flash in sequential orderColorloop - 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:"#settings",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"},{element:"#dimmer",intro:"And that's it...Hope you enjoy the application. ;)TIP : click on the icon to switch to a darker theme. ",position:"top"}]}),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?(u("#music-tab").removeClass("hidden"),u("#lights-tab").addClass("hidden"),u(".navigation-item").eq(0).removeClass("active"),u(".navigation-item").eq(1).addClass("active")):(u("#lights-tab").removeClass("hidden"),u("#music-tab").addClass("hidden"),u(".navigation-item").eq(1).removeClass("active"),u(".navigation-item").eq(0).addClass("active")),"music-tab"===e.id||"playlist"===e.id||"player-area"===e.id?(a.hide(),l.hasClass("keyboard-arrow-up")&&l.removeClass("keyboard-arrow-up").addClass("keyboard-arrow-down")):"beat-option-row"===e.id||"beat-option-button-group"===e.id||"beat-container"===e.id?(a.show(),l.hasClass("keyboard-arrow-down")&&l.removeClass("keyboard-arrow-down").addClass("keyboard-arrow-up")):"dimmer"===e.id&&u(document).click()});var s=function(){e.set("activeTab",1),u("#music-tab").removeClass("hidden"),u("#lights-tab").addClass("hidden"),u(".navigation-item").eq(0).removeClass("active"),u(".navigation-item").eq(1).addClass("active"),l.hasClass("keyboard-arrow-up")?a.show():a.hide()},o=function(){var e=u("#dimmer");s(),e.popover({trigger:"manual",placement:"top",content:"Click on this icon to toggle the dark theme."}).popover("show"),setTimeout(function(){e.popover("hide")},5e3)};n.onafterchange(function(t){var n=u(t);""===n.html()&&u(".introjs-nextbutton").click(),r.later(e,function(){u(".introjs-tooltip").velocity("scroll")},500)}).onexit(o).oncomplete(s).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,1]],"locals":[],"named":[],"yields":[],"blocks":[{"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"],["block",["each"],[["get",["tabData"]]],null,0],["text"," "],["open-element","div",[]],["static-attr","id","settings"],["flush-element"],["text","\\n "],["open-element","span",[]],["static-attr","data-toggle","dropdown"],["static-attr","aria-haspopup","true"],["static-attr","aria-expanded","false"],["static-attr","id","settings-itemSettings"],["flush-element"],["text","\\n "],["append",["helper",["paper-icon"],["settings"],[["class","id","size"],[["get",["dimmerOnClass"]],"settings-icon",28]]],false],["text","\\n "],["close-element"],["text","\\n\\n "],["open-element","ul",[]],["static-attr","id","settings-menu"],["static-attr","class","dropdown-menu"],["flush-element"],["text","\\n "],["open-element","li",[]],["modifier",["action"],[["get",[null]],"clearBridge"]],["flush-element"],["text","\\n "],["open-element","a",[]],["static-attr","href","#"],["flush-element"],["text","\\n Switch bridge\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","li",[]],["modifier",["action"],[["get",[null]],"startIntro"]],["flush-element"],["text","\\n "],["open-element","a",[]],["static-attr","href","#"],["flush-element"],["text","\\n Restart tutorial\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["open-element","li",[]],["modifier",["action"],[["get",[null]],"clearAllSettings"]],["flush-element"],["text","\\n "],["open-element","a",[]],["static-attr","href","#"],["flush-element"],["text","\\n Reset settings\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["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 "],["append",["helper",["lights-tab"],null,[["apiURL","lightsData","activeLights","syncLight","trial","active","colorLoopOn","dimmerOn"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["syncLight"]],["get",["trial"]],["get",["lightsTabSelected"]],["get",["colorLoopOn"]],["get",["dimmerOn"]]]]],false],["text","\\n\\n "],["append",["helper",["music-tab"],null,[["apiURL","lightsData","activeLights","active","pauseLightUpdates","dimmerOn","storage","colorLoopOn","action"],[["get",["apiURL"]],["get",["lightsData"]],["get",["activeLights"]],["get",["musicTabSelected"]],["get",["pauseLightUpdates"]],["get",["dimmerOn"]],["get",["storage"]],["get",["colorLoopOn"]],"startIntro"]]],false],["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,a=t.default.computed,l=t.default.isEmpty,s=t.default.isNone,o=t.default.$;e.default=n.extend({bridgeIp:null,bridgeUsername:null,trial:!1,storage:null,dimmerOn:!1,ready:!1,year:a(function(){return(new Date).getFullYear()}),dimmerOnClass:a("dimmerOn",function(){var e=this.get("dimmerOn"),t=this.get("storage"),n=null;return e?(o("body").addClass("dimmerOn"),o("html").addClass("dimmerOn"),n="active"):(o("body").removeClass("dimmerOn"),o("html").removeClass("dimmerOn")),t.set("huegasm.dimmerOn",e),n}),init:function(){this._super.apply(this,arguments);var e=new window.Locally.Store({compress:!0});this.set("storage",e),s(e.get("huegasm.dimmerOn"))||this.set("dimmerOn",e.get("huegasm.dimmerOn")),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.toggleProperty("dimmerOn")},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],["text","\\n"],["open-element","footer",[]],["static-attr","id","footer"],["flush-element"],["text","\\n "],["open-element","div",[]],["static-attr","id","dimmer"],["dynamic-attr","class",["unknown",["dimmerOnClass"]],null],["modifier",["action"],[["get",[null]],"toggleDimmer"]],["flush-element"],["close-element"],["text","\\n\\n "],["open-element","div",[]],["static-attr","id","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"],["close-element"]],"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. Huegasm.\\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":[["block",["if"],[["get",["ready"]]],null,1,0]],"locals":[]},{"statements":[["text"," "],["append",["helper",["hue-controls"],null,[["bridgeIp","bridgeUsername","trial","dimmerOn","storage"],[["get",["bridgeIp"]],["get",["bridgeUsername"]],["get",["trial"]],["get",["dimmerOn"]],["get",["storage"]]]]],false],["text","\\n"]],"locals":[]}],"hasPartials":false}',meta:{moduleName:"huegasm/pods/components/huegasm-app/template.hbs"}})}),define("huegasm/pods/components/light-group/component",["exports","ember"],function(e,t){var n=t.default.A,a=t.default.Component,l=t.default.computed,s=t.default.isEmpty,o=t.default.isNone,i=t.default.observer,r=t.default.$;e.default=a.extend({elementId:"active-lights",classNames:["light-group","horizontal-light-group"],isHovering:!1,activeLights:n(),lightsList:l("lightsData","activeLights.[]","dimmerOn",function(){var e=this.get("lightsData"),t=this.get("activeLights"),a=this.get("dimmerOn"),l=n(),s=void 0,o=void 0;for(var i in e)if(o="light-active",e.hasOwnProperty(i)&&e[i].state.reachable){switch(e[i].modelid){case"LCT001":s="a19";break;case"LCT002":s="br30";break;case"LCT003":s="gu10";break;case"LST001":s="lightstrip";break;case"LLC010":s="lc_iris";break;case"LLC011":s="lc_bloom";break;case"LLC012":s="lc_bloom";break;case"LLC006":s="lc_iris";break;case"LLC007":s="lc_aura";break;case"LLC013":s="storylight";break;case"LWB004":s="a19";break;case"LLC020":s="huego";break;default:s="a19"}a&&(s+="w"),t.includes(i)||(o="light-inactive"),l.push({type:s,name:e[i].name,id:i,data:e[i],activeClass:o})}return l}),onActiveLightsChange:i("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(o(n))for(var a in e)e.hasOwnProperty(a)&&e[a].state.reachable&&t.pushObject(a);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){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});s(t)||this.get("noHover")===!0||r.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({alert:"lselect"}),contentType:"application/json",type:"PUT"}),this.set("isHovering",!0)},lightStopHover:function(e){var t=this.get("lightsList").filter(function(t){return"unreachable"!==t.activeClass&&t.id===e[0]});s(t)||this.get("noHover")===!0||r.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,a=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=a(this.get("canvas")).offset(),n=Math.floor(e.pageX-t.left),l=Math.floor(e.pageY-t.top),s=this.get("canvasContext").getImageData(n,l,1,1),o=s.data;this.set("pressingDown",!0),0===o[0]&&0===o[1]&&0===o[2]||this.set("rgb",[o[0],o[1],o[2]])},didInsertElement:function(){var e=a("#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,a=t.default.observer,l=t.default.computed,s=t.default.on,o=t.default.$;e.default=n.extend({classNames:["col-sm-8","col-sm-offset-2","col-xs-12"],classNameBindings:["active::hidden"],elementId:"lights-tab",colorPickerDisplayed:!1,rgb:[255,255,255],lightsOn:!1,colorLoopOn:!1,lightsOnTxt:l("lightsOn",function(){return this.get("lightsOn")?"On":"Off"}),colorloopOnTxt:l("colorLoopOn",function(){return this.get("colorLoopOn")?"On":"Off"}),colorRowAction:l("strobeOn",function(){return this.get("trial")?null:"toggleColorPicker"}),lightsBrightness:l("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:l.not("lightsOn"),onColorLoopOnChange:a("colorLoopOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),a=this.get("colorLoopOn"),l=a?"colorloop":"none",s=n.some(function(e){return"colorloop"===t[e].state.effect});a!==s&&n.forEach(function(t){e.get("lightsData")[t].state.effect!==l&&o.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({effect:l}),contentType:"application/json",type:"PUT"})})}),rgbPreview:a("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){o.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({xy:n}),contentType:"application/json",type:"PUT"})}),this.set("colorLoopOn",!1),o(".color").css("background","rgb("+t[0]+","+t[1]+","+t[2]+")")}),lightsOnChange:s("init",a("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:a("lightsOn",function(){var e=this,t=this.get("lightsData"),n=this.get("activeLights"),a=this.get("lightsOn"),l=n.some(function(e){return t[e].state.on===!0});a!==l&&n.forEach(function(t){o.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({on:a}),contentType:"application/json",type:"PUT"})})}),onBrightnessChanged:a("lightsBrightness",function(){var e=this,t=this.get("lightsData"),n=!1,a=this.get("lightsBrightness"),l=this.get("activeLights");l.forEach(function(e){n+=t[e].state.bri}),n/=l.length,a!==n&&l.forEach(function(t){o.ajax(e.get("apiURL")+"/lights/"+t+"/state",{data:JSON.stringify({bri:a}),contentType:"application/json",type:"PUT"})})}),onaActiveLightsChange:a("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,o.ajax(this.get("apiURL")+"/lights/"+n+"/state",{data:JSON.stringify(e),contentType:"application/json",type:"PUT"})}),didInsertElement:function(){var e=this;o(document).click(function(t){!e.get("colorPickerDisplayed")||t.target.classList.contains("color")||o(t.target).closest("#color-picker, #color-row").length||e.toggleProperty("colorPickerDisplayed")}),o(document).on("click","#color-row",function(){e.send("toggleColorPicker")})},actions:{toggleColorPicker:function(){this.toggleProperty("colorPickerDisplayed")}},strobeOn:!1,strobeOnInervalHandle:null,strobeSat:0,preStrobeOnLightsDataCache:null,lastStrobeLight:0,onStrobeOnChange:a("strobeOn",function(){var e=this,t=this.get("lightsData");if(this.get("strobeOn")){this.set("preStrobeOnLightsDataCache",t);var n={sat:this.get("strobeSat"),transitiontime:0};for(var a in t)t.hasOwnProperty(a)&&(t[a].state.on&&(n.on=!1),o.ajax(this.get("apiURL")+"/lights/"+a+"/state",{data:JSON.stringify(n),contentType:"application/json",type:"PUT"}));this.set("strobeOnInervalHandle",setInterval(this.strobeStep.bind(this),200))}else!function(){var n=e.get("preStrobeOnLightsDataCache"),a=function(t){o.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 l in t)t.hasOwnProperty(l)&&setTimeout(a,2e3,l);setTimeout(function(){e.onColorLoopOnChange()},2e3),clearInterval(e.get("strobeOnInervalHandle"))}()}),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())),o.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify(t),contentType:"application/json",type:"PUT"}),o.ajax(this.get("apiURL")+"/lights/"+e+"/state",{data:JSON.stringify({on:!1,transitiontime:0}),contentType:"application/json",type:"PUT"}),this.set("lastStrobeLight",e)},strobeOnTxt:l("strobeOn",function(){return this.get("strobeOn")?"On":"Off"}),dimmerOnClass:l("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),rgbToXy:function(e,t,n){var a=void 0,l=void 0,s=void 0,o=void 0,i=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,a=.664511*e+.154324*t+.162028*n,l=.283881*e+.668433*t+.047685*n,s=88e-6*e+.07231*t+.986039*n,o=a/(a+l+s),i=l/(a+l+s),[o,i]},xyToRgb:function(e,t){var n=void 0,a=void 0,l=void 0,s=void 0,o=1,i=void 0;return s=o/t*e,i=o/t*(1-e-t),n=1.656492*s-.354851*o-.255038*i,a=s*-.707196+1.655397*o+.036152*i,l=.051713*s-.121364*o+1.01153*i,n>l&&n>a&&n>1?(a/=n,l/=n,n=1):a>l&&a>n&&a>1?(n/=a,l/=a,a=1):l>n&&l>a&&l>1&&(n/=l,a/=l,l=1),n=n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055,a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,n>l&&n>a?n>1&&(a/=n,l/=n,n=1):a>l&&a>n?a>1&&(n/=a,l/=a,a=1):l>n&&l>a&&l>1&&(n/=l,a/=l,l=1),n=255*n,a=255*a,l=255*l,[n,a,l]}})}),define("huegasm/pods/components/lights-tab/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:null,block:'{"statements":[["block",["paper-list"],null,null,6]],"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","bottom 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],["get",["trial"]],["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","bottom 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],["get",["trial"]],["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":[["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","bottom 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"]],"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","bottom 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","bottom 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],["get",["trial"]],["get",["trial"]],["get",["lightsOnTxt"]]]]],false],["text","\\n"]],"locals":[]},{"statements":[["block",["paper-item"],null,null,5],["text","\\n"],["block",["paper-item"],null,null,4],["text","\\n"],["block",["paper-item"],null,[["elementId"],["color-row"]],3],["text","\\n "],["open-element","div",[]],["static-attr","class","relative"],["flush-element"],["text","\\n "],["append",["helper",["paper-button"],null,[["raised","class","onClick","disabled"],[true,"color",["helper",["action"],[["get",[null]],"toggleColorPicker"],null],["get",["trial"]]]]],false],["text","\\n\\n"],["block",["if"],[["get",["colorPickerDisplayed"]]],null,2],["text"," "],["close-element"],["text","\\n\\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,a=t.default.observer,l=t.default.computed,s=t.default.isEmpty,o=t.default.isNone,i=t.default.$;e.default=n.extend({url:null,onIsShowingModalChange:a("isShowingModal",function(){this.get("isShowingModal")&&(this.set("url",null),setTimeout(function(){i("md-input-container input").focus()},500))}),saveDisabled:l("url",function(){return o(this.get("url"))||s(this.get("url").trim())}),didInsertElement:function(){var e=this;i(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"],["SoundCloud URL","search",["get",["url"]]]]],false],["text","\\n\\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\\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,a){var l=t.default.Component,s=t.default.observer,o=t.default.isEmpty,i=t.default.isNone,r=t.default.$,u=t.default.run;e.default=l.extend(n.default,a.default,{onAmbienceModeChange:s("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){r.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:s("playQueuePointer",function(){var e="Huegasm",t=this.get("playQueuePointer"),n=this.get("playQueue");if(t!==-1){var a=n[t];a.title?(e=a.title,a.artist&&(e+=" - "+a.artist)):e=a.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=o(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=o(e.artist)?e.fileName:e.artist+"-"+e.title,n=this.get("songBeatPreferences"),a=n[t],l=this.get("oldBeatPrefCache"),s=null;i(a)?i(l)||(this.changePlayerControl("threshold",l.threshold),this.set("usingBeatPreferences",!1)):(s={threshold:this.get("threshold")},this.changePlayerControl("threshold",a.threshold),this.set("usingBeatPreferences",!0)),this.set("oldBeatPrefCache",s)},doAmbienceLightChange:function(e){for(var t=this,n=this.get("activeLights"),a=this.get("lightsData"),l=this.get("ambienceWorkedLights"),s=this.get("hueRange"),o=this.get("ambienceWorkedLightsHandles"),i=function(e){t.get("ambienceMode")&&t.get("playing")&&r.ajax(t.get("apiURL")+"/lights/"+e+"/state",{
+data:JSON.stringify({on:!1,transitiontime:20}),contentType:"application/json",type:"PUT"})},u=[],c=Math.floor(20*Math.random()),p=e?1:n.length/2,d=0;d0&&!this.get("ambienceMode")){var u=this.get("lastLightBopIndex"),c=void 0,p=254,d=void 0;if(c=Math.floor(Math.random()*t.length),t.length>1)for(;c===u;)c=Math.floor(Math.random()*t.length);if(d=t[c],this.set("lastLightBopIndex",c),!this.get("colorloopMode")){var m=this.get("hueRange");a=Math.floor(Math.random()*(m[1]-m[0]+1)+m[0])}l&&(o=80),s(d,p,a),setTimeout(s,o,d,1)}this.set("paused",!0),setTimeout(function(){e.set("paused",!1)},150),this.get("ambienceMode")&&t.length>0&&this.doAmbienceLightChange(!0),r("#beat-speaker-center-outer").velocity({blur:3},100).velocity({blur:0},100),r("#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"),a=t.createKick({threshold:this.get("threshold"),onKick:function(t,n){e.get("paused")===!1&&e.simulateKick(t,n)}});a.on(),this.setProperties({dancer:t,kick:a}),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(!i(n.get("huegasm."+t))){var a=n.get("huegasm."+t);i(e.actions[t+"Changed"])?e.set(t,a):e.send(t+"Changed",a)}}),SC.initialize({client_id:this.get("SC_CLIENT_ID")})},didInsertElement:function(){var e=this,t=this;r("#file-input").on("change",function(){var e=this.files;t.send("handleNewFiles",e),this.value=null}),r(document).on("click",".alert",function(e){r(e.target).addClass("removed")}),r("#beat-container").on("mousedown","#beat-speaker-center-inner",function(e){e.preventDefault()}),r(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)}),r("#player-area").on("mousewheel",function(t){if(e.get("playQueueNotEmpty")&&!e.get("usingMicAudio")){var n=5;t.deltaY<0&&(n*=-1);var a=e.get("volume")+n;e.send("volumeChanged",a<0?0:a),t.preventDefault()}}),this.get("firstVisit")&&(this.send("handleNewSoundCloudURL","https://soundcloud.com/mrsuicidesheep/candyland-speechless-feat-rkcb"),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")||r("#player-bottom").hide()},actions:{clearPlaylist:function(){this.get("playQueue").clear()},setVisName:function(e){this.set("currentVisName",e)},hideTooltip:function(){r(".bootstrap-tooltip").tooltip("hide")},gotoSCURL:function(e){this.get("playing")&&this.send("play"),this.send("gotoURL",e)},gotoURL:function(e){r(".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),r.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})})}():a.push(n.title):"playlist"===n.kind&&(n.streamable===!0?n.tracks.forEach(e):a.push(n.title))},a=[];e instanceof Array?e.forEach(n):n(e),a.length>0&&t.get("notify").alert({html:t.get("notStreamableHtml")(a)}),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),!i(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"))),i(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 a=this,l=this.get("dancer"),s=this.get("playQueue");l.audio&&this.clearCurrentAudio(!0),i(s[e])||!function(){var s=new Audio;s.src=a.get("playQueue")[e].url,s.crossOrigin="anonymous",s.oncanplay=function(){a.set("timeTotal",Math.floor(s.duration)),a.set("soundCloudFuckUps",0)},s.onerror=function(e){var t=a.get("playQueuePointer"),n=a.get("playQueue")[t];a.get("soundCloudFuckUps")>=a.get("maxSoundCloudFuckUps")?(a.get("notify").alert({html:a.get("tooManySoundCloudFuckUps")}),a.send("play"),a.set("soundCloudFuckUps",0)):(n.local?a.send("removeAudio",t):a.send("next",!0),2===e.target.error.code?a.get("notify").alert({html:a.get("failedToDecodeFileHtml")(n.fileName)}):a.get("notify").alert({html:a.get("failedToPlayFileHtml")(n.fileName)}),a.set("usingBeatPreferences",!1),a.incrementProperty("soundCloudFuckUps"))},s.ontimeupdate=function(){a.set("timeElapsed",Math.floor(s.currentTime))},s.onended=function(){a.send("next")},l.load(s,1),a.set("playQueuePointer",e),a.loadSongBeatPreferences(),t&&a.send("play"),n&&u.next(a,function(){r(".track"+e).velocity("scroll",{container:r("#play-list-area"),duration:200})})}()},removeAudio:function(e){this.get("playQueue").removeAt(e),r("body .tooltip").remove(),e===this.get("playQueuePointer")&&this.send("goToSong",e,!0,!0)},playerAreaPlay:function(){o(r("#player-controls:hover"))&&this.get("playQueuePointer")!==-1&&(this.send("play"),r("#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");if(n!==-1){if(this.get("playing"))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);r(window).trigger("resize"),t.play()}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"),a=t+1,l=this.get("repeat"),s=this.get("shuffle");if(2===l)a=t===-1&&n.length>0?0:t;else if(s){var o=this.get("shufflePlayed");if(o.length===n.length)return o.clear(),void this.send("play",!0);do a=Math.floor(Math.random()*n.length);while(o.includes(n[a].url));o.pushObject(n[a].url)}else if(a>n.length-1){if(1!==l&&!e)return void this.send("play",!0);a%=n.length}this.send("goToSong",a,!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")&&!i(n[t])?!function(){var a=e.get("shufflePlayed"),l=e.get("shufflePlayed").indexOf(n[t].url),s=0;a.length>0&&l!==-1&&(t=l-1,t<0&&(t=a.length-1),n.some(function(e){return e.url===a[t]?(t=s,!0):(s++,!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=i(e)?!this.get("volumeMuted"):e;this.changePlayerControl("volumeMuted",n),this.get("playing")&&(n?t.setVolume(0):t.setVolume(this.get("volume")/100))},addLocalAudio:function(){r("#file-input").click()},shuffleChanged:function(e){this.changePlayerControl("shuffle",i(e)?!this.get("shuffle"):e)},repeatChanged:function(e){this.changePlayerControl("repeat",i(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"),a=function(){var e=ID3.getAllTags("local"),a=null;if(e.picture){for(var l="",s=0;sA microphone was not found.',scUserNotSupportedHtml:'SoundCloud user URLs are not supported.
',tooManySoundCloudFuckUps:'The SoundCloud API is not seving the audio properly. More details
HERE .
',notStreamableHtml:function(e){var t='The following file(s) could not be added because they are not allowed to be streamed: '+e.toString().replace(/,/g," ")+"
";return t},urlNotFoundHtml:function(e){return'The URL ( '+e+" ) could not be resolved.
"},failedToPlayFileHtml:function(e){return'Failed to play file ( '+e+" ).
"},failedToDecodeFileHtml:function(e){return'Failed to decode file ( '+e+" ).
"},scUrl:l("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:l.empty("playQueue"),playQueueNotEmpty:l.notEmpty("playQueue"),playQueueMultiple:l("playQueue.[]",function(){return this.get("playQueue").length>1}),seekPosition:l("timeElapsed","timeTotal",function(){var e=this.get("timeTotal"),t=this.get("timeElapsed");return 0===e?0:t/e*100}),largeArtworkPic:l("playQueuePointer","usingMicAudio","currentVisName",function(){var e=null,t=this.get("currentVisName"),n=this.get("usingMicAudio"),a=this.get("playQueuePointer"),l=this.get("playQueue");if(a!==-1&&!n&&"None"===t){var o=l[a];e=o.scUrl&&!s(o.picture)?o.picture.replace("67x67","500x500"):o.picture}return e}),pauseLightUpdates:l("playing",function(){return this.get("playing")}),micIcon:l("usingMicAudio",function(){return this.get("usingMicAudio")?"mic":"mic-off"}),repeatIcon:l("repeat",function(){return 2===this.get("repeat")?"repeat-one":"repeat"}),playingIcon:l("playing",function(){return this.get("playing")?"pause":this.get("timeElapsed")===this.get("timeTotal")&&0!==this.get("timeTotal")?"replay":"play-arrow"}),playListAreaClass:l("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:l("dimmerOn",function(){return this.get("dimmerOn")?"dimmerOn":null}),volumeMutedClass:l("volumeMuted",function(){var e="player-control-icon volumeButton";return this.get("volumeMuted")&&(e+=" active"),e}),usingLocalAudioClass:l("usingLocalAudio",function(){return this.get("usingLocalAudio")?"player-control-icon active":"player-control-icon"}),usingMicAudioClass:l("usingMicAudio",function(){return this.get("usingMicAudio")?"player-control-icon active":"player-control-icon"}),repeatClass:l("repeat",function(){return 0!==this.get("repeat")?"player-control-icon active":"player-control-icon"}),shuffleClass:l("shuffle",function(){return this.get("shuffle")?"player-control-icon active":"player-control-icon"}),volumeIcon:l("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:l("playerBottomDisplayed",function(){return this.get("playerBottomDisplayed")?"keyboard-arrow-up":"keyboard-arrow-down"}),timeElapsedTxt:l("timeElapsed",function(){return this.formatTime(this.get("timeElapsed"))}),timeTotalTxt:l("timeTotal",function(){return this.formatTime(this.get("timeTotal"))}),onColorloopModeChange:a("colorloopMode","usingMicAudio","playing",function(){var e=!(!this.get("playing")&&!this.get("usingMicAudio")||!this.get("colorloopMode"));this.set("colorLoopOn",e)}),onOptionChange:a("flashingTransitions","playQueue.[]","playQueuePointer","colorloopMode","ambienceMode",function(e,t){t=t.replace(".[]",""),this.get("storage").set("huegasm."+t,this.get(t))}),onRepeatChange:r("init",a("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:r("init",a("usingMicAudio",function(){var e="Listen to audio through mic",t="usingMicAudio";this.get(t)&&(e="Listen to audio files"),this.changeTooltipText(t,e)})),onShuffleChange:r("init",a("shuffle",function(){var e="Shuffle",t="shuffle";this.get(t)&&(this.get("shufflePlayed").clear(),e="Unshuffle"),this.changeTooltipText(t,e)})),onVolumeMutedChange:r("init",a("volumeMuted",function(){var e="Mute",t="volumeMuted",n=this.get(t),a=this.get("dancer"),l=0;n?(e="Unmute",l=0):l=this.get("volume")/100,this.get("playing")&&a.setVolume(l),this.changeTooltipText(t,e)})),onPrevChange:r("init",a("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:r("init",a("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){o("#"+e+"Tooltip + .tooltip .tooltip-inner").html(t),o("#"+e+"Tooltip").attr("data-original-title",t),s(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,a=t.default.observer,l=t.default.$;e.default=n.create({currentVisName:"None",visNames:["None","Bars","Wave"],onCurrentVisNameChange:a("currentVisName",function(){var e=this.get("currentVisName");if("None"===e){var t=l("#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=l("#visualization")[0],a=l("#player-area"),s=n.getContext("2d"),o=2,i=a.height(),r=void 0;n.height=i;var u=function(){r=a.width(),n.width=r};u(),l(window).on("resize",u),t.bind("update",function(){var n=e.get("currentVisName"),a=s.createLinearGradient(0,0,0,i),l=document.hidden||document.msHidden||document.webkitHidden||document.mozHidden;if("None"!==n&&!l&&e.get("active"))if(s.clearRect(0,0,r,i),"Wave"===n){var u=3,c=1024;a.addColorStop(.6,"white"),a.addColorStop(0,"#0036FA"),s.lineWidth=1,s.strokeStyle=a;var p=t.getWaveform();s.beginPath(),s.moveTo(0,i/2);for(var d=0,m=p.length;d\n
\n ');return r.appendChild(l[0]),l.on("wheel",t),l.on("touchmove",t),o.on("keydown",e),function(){l.off("wheel"),l.off("touchmove"),l[0].parentNode.removeChild(l[0]),o.off("keydown",e),delete s.disableScrollAround._enableScrolling}}function n(){var e=r.parentNode,t=e.getAttribute("style")||"",n=r.getAttribute("style")||"",a=r.scrollTop+r.parentElement.scrollTop,s=r.clientWidth;return r.scrollHeight>r.clientHeight&&(l(r,{position:"fixed",width:"100%",top:-a+"px"}),l(e,{overflowY:"scroll"})),r.clientWidththis.peak&&(this.peakBand=c,this.peak=n),i[c]=n*s}}function FFT(e,t,r){FourierTransform.call(this,e,t,r),this.reverseTable=new Uint32Array(e);for(var n,i=1,o=e>>1;i>=1}for(this.sinTable=new Float32Array(e),this.cosTable=new Float32Array(e),n=0;n=0;n--)t[n].exports();return r.module.exports},t(),loader={noConflict:function(t){var r,n;for(r in t)t.hasOwnProperty(r)&&c.hasOwnProperty(r)&&(n=t[r],e[n]=e[r],e[r]=c[r])}};var d;d=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var f={},h={},p=0,m=["require","exports","module"];n.prototype.makeDefaultExport=function(){var e=this.module.exports;null===e||"object"!=typeof e&&"function"!=typeof e||void 0!==e.default||(e.default=e)},n.prototype.exports=function(){if(this.finalized)return this.module.exports;u.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},n.prototype.unsee=function(){this.finalized=!1,this._foundDeps=!1,this.isPending=!1,this.module={exports:{}}},n.prototype.reify=function(){u.reify++;for(var e=this.reified,t=0;t0&&t-1 in e)}function i(e,t,r){return pe.isFunction(t)?pe.grep(e,function(e,n){return!!t.call(e,n,e)!==r}):t.nodeType?pe.grep(e,function(e){return e===t!==r}):"string"!=typeof t?pe.grep(e,function(e){return ae.call(t,e)>-1!==r}):Ee.test(t)?pe.filter(t,e,r):(t=pe.filter(t,e),pe.grep(e,function(e){return ae.call(t,e)>-1!==r&&1===e.nodeType}))}function o(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return pe.each(e.match(Oe)||[],function(e,r){t[r]=!0}),t}function s(e){return e}function l(e){throw e}function u(e,t,r){var n;try{e&&pe.isFunction(n=e.promise)?n.call(e).done(t).fail(r):e&&pe.isFunction(n=e.then)?n.call(e,t,r):t.call(void 0,e)}catch(e){r.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),pe.ready()}function d(){this.expando=pe.expando+d.uid++}function f(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:De.test(e)?JSON.parse(e):e)}function h(e,t,r){var n;if(void 0===r&&1===e.nodeType)if(n="data-"+t.replace(Fe,"-$&").toLowerCase(),r=e.getAttribute(n),"string"==typeof r){try{r=f(r)}catch(e){}Le.set(e,t,r)}else r=void 0;return r}function p(e,t,r,n){var i,o=1,a=20,s=n?function(){return n.cur()}:function(){return pe.css(e,t,"")},l=s(),u=r&&r[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==u&&+l)&&Ve.exec(pe.css(e,t));if(c&&c[3]!==u){u=u||c[3],r=r||[],c=+l||1;do o=o||".5",c/=o,pe.style(e,t,c+u);while(o!==(o=s()/l)&&1!==o&&--a)}return r&&(c=+c||+l||0,i=r[1]?c+(r[1]+1)*r[2]:+r[2],n&&(n.unit=u,n.start=c,n.end=i)),i}function m(e){var t,r=e.ownerDocument,n=e.nodeName,i=Ue[n];return i?i:(t=r.body.appendChild(r.createElement(n)),i=pe.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ue[n]=i,i)}function g(e,t){for(var r,n,i=[],o=0,a=e.length;o-1)i&&i.push(o);else if(u=pe.contains(o.ownerDocument,o),a=v(d.appendChild(o),"script"),u&&b(a),r)for(c=0;o=a[c++];)Ke.test(o.type||"")&&r.push(o);return d}function w(){return!0}function x(){return!1}function _(){try{return te.activeElement}catch(e){}}function C(e,t,r,n,i,o){var a,s;if("object"==typeof t){"string"!=typeof r&&(n=n||r,r=void 0);for(s in t)C(e,s,r,n,t[s],o);return e}if(null==n&&null==i?(i=r,n=r=void 0):null==i&&("string"==typeof r?(i=n,n=void 0):(i=n,n=r,r=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,n,r)})}function E(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function T(e){var t=nt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var r,n,i,o,a,s,l,u;if(1===t.nodeType){if(Ie.hasData(e)&&(o=Ie.access(e),a=Ie.set(t,o),u=o.events)){delete a.handle,a.events={};for(i in u)for(r=0,n=u[i].length;r1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(r){var o=e.eq(r);m&&(t[0]=p.call(this,r,o.html())),N(o,t,n,i)});if(f&&(o=y(t,e[0].ownerDocument,!1,e,i),a=o.firstChild,1===o.childNodes.length&&(o=a),a||i)){for(s=pe.map(v(o,"script"),k),l=s.length;d=0&&rC.cacheLength&&delete e[t.shift()],e[r+" "]=n}var t=[];return e}function n(e){return e[V]=!0,e}function i(e){var t=M.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 r=e.split("|"),n=r.length;n--;)C.attrHandle[r[n]]=t}function a(e,t){var r=t&&e,n=r&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(n)return n;if(r)for(;r=r.nextSibling;)if(r===t)return-1;return e?1:-1}function s(e){return function(t){var r=t.nodeName.toLowerCase();return"input"===r&&t.type===e}}function l(e){return function(t){var r=t.nodeName.toLowerCase();return("input"===r||"button"===r)&&t.type===e}}function u(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&&Ee(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return n(function(t){return t=+t,n(function(r,n){for(var i,o=e([],r.length,t),a=o.length;a--;)r[i=o[a]]&&(r[i]=!(n[i]=r[i]))})})}function d(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function h(e){for(var t=0,r=e.length,n="";t1?function(t,r,n){for(var i=e.length;i--;)if(!e[i](t,r,n))return!1;return!0}:e[0]}function g(e,r,n){for(var i=0,o=r.length;i-1&&(n[u]=!(a[u]=d))}}else y=v(y===a?y.splice(p,y.length):y),o?o(null,a,y,l):J.apply(a,y)})}function y(e){for(var t,r,n,i=e.length,o=C.relative[e[0].type],a=o||C.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),u=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,r,n){var i=!o&&(n||r!==N)||((t=r).nodeType?l(e,r,n):u(e,r,n));return t=null,i}];s1&&m(c),s>1&&h(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),r,s0,o=e.length>0,a=function(n,a,s,l,u){var c,d,f,h=0,p="0",m=n&&[],g=[],b=N,y=n||o&&C.find.TAG("*",u),w=B+=null==b?1:Math.random()||.1,x=y.length;for(u&&(N=a===M||a||u);p!==x&&null!=(c=y[p]);p++){if(o&&c){for(d=0,a||c.ownerDocument===M||(R(c),s=!I);f=e[d++];)if(f(c,a||M,s)){l.push(c);break}u&&(B=w)}i&&((c=!f&&c)&&h--,n&&m.push(c))}if(h+=p,i&&p!==h){for(d=0;f=r[d++];)f(m,g,a,s);if(n){if(h>0)for(;p--;)m[p]||g[p]||(g[p]=Q.call(l));g=v(g)}J.apply(l,g),u&&!n&&g.length>0&&h+r.length>1&&t.uniqueSort(l)}return u&&(B=w,N=b),m};return i?n(a):a}var x,_,C,E,k,T,S,A,N,O,P,R,M,j,I,L,D,F,H,V="sizzle"+1*new Date,q=e.document,B=0,z=0,U=r(),W=r(),$=r(),K=function(e,t){return e===t&&(P=!0),0},Y={}.hasOwnProperty,G=[],Q=G.pop,X=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var r=0,n=e.length;r+~]|"+re+")"+re+"*"),ce=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(oe),fe=new RegExp("^"+ne+"$"),he={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,ye=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),we=function(e,t,r){var n="0x"+t-65536;return n!==n||r?t:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|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},Ce=function(){R()},Ee=p(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(G=Z.call(q.childNodes),q.childNodes),G[q.childNodes.length].nodeType}catch(e){J={apply:G.length?function(e,t){X.apply(e,Z.call(t))}:function(e,t){for(var r=e.length,n=0;e[r++]=t[n++];);e.length=r-1}}}_=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},R=t.setDocument=function(e){var t,r,n=e?e.ownerDocument||e:q;return n!==M&&9===n.nodeType&&n.documentElement?(M=n,j=M.documentElement,I=!k(M),q!==M&&(r=M.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",Ce,!1):r.attachEvent&&r.attachEvent("onunload",Ce)),_.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),_.getElementsByTagName=i(function(e){return e.appendChild(M.createComment("")),!e.getElementsByTagName("*").length}),_.getElementsByClassName=ge.test(M.getElementsByClassName),_.getById=i(function(e){return j.appendChild(e).id=V,!M.getElementsByName||!M.getElementsByName(V).length}),_.getById?(C.filter.ID=function(e){var t=e.replace(ye,we);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&I){var r=t.getElementById(e);return r?[r]:[]}}):(C.filter.ID=function(e){var t=e.replace(ye,we);return function(e){var r="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return r&&r.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&I){var r,n,i,o=t.getElementById(e);if(o){if(r=o.getAttributeNode("id"),r&&r.value===e)return[o];for(i=t.getElementsByName(e),n=0;o=i[n++];)if(r=o.getAttributeNode("id"),r&&r.value===e)return[o]}return[]}}),C.find.TAG=_.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):_.qsa?t.querySelectorAll(e):void 0}:function(e,t){var r,n=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;r=o[i++];)1===r.nodeType&&n.push(r);return n}return o},C.find.CLASS=_.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&I)return t.getElementsByClassName(e)},D=[],L=[],(_.qsa=ge.test(M.querySelectorAll))&&(i(function(e){j.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||L.push("\\["+re+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+V+"-]").length||L.push("~="),e.querySelectorAll(":checked").length||L.push(":checked"),e.querySelectorAll("a#"+V+"+*").length||L.push(".#.+[+~]")}),i(function(e){e.innerHTML=" ";var t=M.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&L.push("name"+re+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&L.push(":enabled",":disabled"),j.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(_.matchesSelector=ge.test(F=j.matches||j.webkitMatchesSelector||j.mozMatchesSelector||j.oMatchesSelector||j.msMatchesSelector))&&i(function(e){_.disconnectedMatch=F.call(e,"*"),F.call(e,"[s!='']:x"),D.push("!=",oe)}),L=L.length&&new RegExp(L.join("|")),D=D.length&&new RegExp(D.join("|")),t=ge.test(j.compareDocumentPosition),H=t||ge.test(j.contains)?function(e,t){var r=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(r.contains?r.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}: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 P=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;
-return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!_.sortDetached&&t.compareDocumentPosition(e)===r?e===M||e.ownerDocument===q&&H(q,e)?-1:t===M||t.ownerDocument===q&&H(q,t)?1:O?ee(O,e)-ee(O,t):0:4&r?-1:1)}:function(e,t){if(e===t)return P=!0,0;var r,n=0,i=e.parentNode,o=t.parentNode,s=[e],l=[t];if(!i||!o)return e===M?-1:t===M?1:i?-1:o?1:O?ee(O,e)-ee(O,t):0;if(i===o)return a(e,t);for(r=e;r=r.parentNode;)s.unshift(r);for(r=t;r=r.parentNode;)l.unshift(r);for(;s[n]===l[n];)n++;return n?a(s[n],l[n]):s[n]===q?-1:l[n]===q?1:0},M):M},t.matches=function(e,r){return t(e,null,null,r)},t.matchesSelector=function(e,r){if((e.ownerDocument||e)!==M&&R(e),r=r.replace(ce,"='$1']"),_.matchesSelector&&I&&!$[r+" "]&&(!D||!D.test(r))&&(!L||!L.test(r)))try{var n=F.call(e,r);if(n||_.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return t(r,M,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==M&&R(e),H(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==M&&R(e);var r=C.attrHandle[t.toLowerCase()],n=r&&Y.call(C.attrHandle,t.toLowerCase())?r(e,t,!I):void 0;return void 0!==n?n:_.attributes||!I?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.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,r=[],n=0,i=0;if(P=!_.detectDuplicates,O=!_.sortStable&&e.slice(0),e.sort(K),P){for(;t=e[i++];)t===e[i]&&(n=r.push(i));for(;n--;)e.splice(r[n],1)}return O=null,e},E=t.getText=function(e){var t,r="",n=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)r+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[n++];)r+=E(t);return r},C=t.selectors={cacheLength:50,createPseudo:n,match:he,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(ye,we),e[3]=(e[3]||e[4]||e[5]||"").replace(ye,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,r=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":r&&de.test(r)&&(t=T(r,!0))&&(t=r.indexOf(")",r.length-t)-r.length)&&(e[0]=e[0].slice(0,t),e[2]=r.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ye,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,r,n){return function(i){var o=t.attr(i,e);return null==o?"!="===r:!r||(o+="","="===r?o===n:"!="===r?o!==n:"^="===r?n&&0===o.indexOf(n):"*="===r?n&&o.indexOf(n)>-1:"$="===r?n&&o.slice(-n.length)===n:"~="===r?(" "+o.replace(ae," ")+" ").indexOf(n)>-1:"|="===r&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,r,n,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===n&&0===i?function(e){return!!e.parentNode}:function(t,r,l){var u,c,d,f,h,p,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),b=!l&&!s,y=!1;if(g){if(o){for(;m;){for(f=t;f=f[m];)if(s?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&b){for(f=g,d=f[V]||(f[V]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[e]||[],h=u[0]===B&&u[1],y=h&&u[2],f=h&&g.childNodes[h];f=++h&&f&&f[m]||(y=h=0)||p.pop();)if(1===f.nodeType&&++y&&f===t){c[e]=[B,h,y];break}}else if(b&&(f=t,d=f[V]||(f[V]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),u=c[e]||[],h=u[0]===B&&u[1],y=h),y===!1)for(;(f=++h&&f&&f[m]||(y=h=0)||p.pop())&&((s?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++y||(b&&(d=f[V]||(f[V]={}),c=d[f.uniqueID]||(d[f.uniqueID]={}),c[e]=[B,y]),f!==t)););return y-=i,y===n||y%n===0&&y/n>=0}}},PSEUDO:function(e,r){var i,o=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[V]?o(r):o.length>1?(i=[e,e,"",r],C.setFilters.hasOwnProperty(e.toLowerCase())?n(function(e,t){for(var n,i=o(e,r),a=i.length;a--;)n=ee(e,i[a]),e[n]=!(t[n]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:n(function(e){var t=[],r=[],i=S(e.replace(se,"$1"));return i[V]?n(function(e,t,r,n){for(var o,a=i(e,null,n,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,n,o){return t[0]=e,i(t,null,o,r),t[0]=null,!r.pop()}}),has:n(function(e){return function(r){return t(e,r).length>0}}),contains:n(function(e){return e=e.replace(ye,we),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:n(function(e){return fe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ye,we).toLowerCase(),function(t){var r;do if(r=I?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return r=r.toLowerCase(),r===e||0===r.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var r=e.location&&e.location.hash;return r&&r.slice(1)===t.id},root:function(e){return e===j},focus:function(e){return e===M.activeElement&&(!M.hasFocus||M.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:u(!1),disabled:u(!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!C.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return pe.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,r){return[r<0?r+t:r]}),even:c(function(e,t){for(var r=0;r=0;)e.push(n);return e}),gt:c(function(e,t,r){for(var n=r<0?r+t:r;++n2&&"ID"===(a=o[0]).type&&9===t.nodeType&&I&&C.relative[o[1].type]){if(t=(C.find.ID(a.matches[0].replace(ye,we),t)||[])[0],!t)return r;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(a=o[i],!C.relative[s=a.type]);)if((l=C.find[s])&&(n=l(a.matches[0].replace(ye,we),be.test(o[0].type)&&d(t.parentNode)||t))){if(o.splice(i,1),e=n.length&&h(o),!e)return J.apply(r,n),r;break}}return(u||S(e,c))(n,t,!I,r,!t||be.test(e)&&d(t.parentNode)||t),r},_.sortStable=V.split("").sort(K).join("")===V,_.detectDuplicates=!!P,R(),_.sortDetached=i(function(e){return 1&e.compareDocumentPosition(M.createElement("fieldset"))}),i(function(e){return e.innerHTML=" ","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,r){if(!r)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,r){if(!r&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,r){var n;if(!r)return e[t]===!0?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),t}(e);pe.find=ye,pe.expr=ye.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ye.uniqueSort,pe.text=ye.getText,pe.isXMLDoc=ye.isXML,pe.contains=ye.contains,pe.escapeSelector=ye.escape;var we=function(e,t,r){for(var n=[],i=void 0!==r;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(r))break;n.push(e)}return n},xe=function(e,t){for(var r=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&r.push(e);return r},_e=pe.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ee=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,r){var n=t[0];return r&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?pe.find.matchesSelector(n,e)?[n]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,r,n=this.length,i=this;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t1?pe.uniqueSort(r):r},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)?pe(e):e||[],!1).length}});var ke,Te=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=pe.fn.init=function(e,t,r){var n,i;if(!e)return this;if(r=r||ke,"string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Te.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||r).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(n[1])&&pe.isPlainObject(t))for(n in t)pe.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return i=te.getElementById(n[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):pe.isFunction(e)?void 0!==r.ready?r.ready(e):e(pe):pe.makeArray(e,this)};Se.prototype=pe.fn,ke=pe(te);var Ae=/^(?:parents|prev(?:Until|All))/,Ne={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t=pe(e,this),r=t.length;return this.filter(function(){for(var e=0;e-1:1===r.nodeType&&pe.find.matchesSelector(r,e))){o.push(r);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(pe(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.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,r){return we(e,"parentNode",r)},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,r){return we(e,"nextSibling",r)},prevUntil:function(e,t,r){return we(e,"previousSibling",r)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return e.contentDocument||pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(r,n){var i=pe.map(this,t,r);return"Until"!==e.slice(-5)&&(n=r),n&&"string"==typeof n&&(i=pe.filter(n,i)),this.length>1&&(Ne[e]||pe.uniqueSort(i),Ae.test(e)&&i.reverse()),this.pushStack(i)}});var Oe=/[^\x20\t\r\n\f]+/g;pe.Callbacks=function(e){e="string"==typeof e?a(e):pe.extend({},e);var t,r,n,i,o=[],s=[],l=-1,u=function(){for(i=e.once,n=t=!0;s.length;l=-1)for(r=s.shift();++l-1;)o.splice(r,1),r<=l&&l--}),this},has:function(e){return e?pe.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=r="",this},disabled:function(){return!o},lock:function(){return i=s=[],r||t||(o=r=""),this},locked:function(){return!!i},fireWith:function(e,r){return i||(r=r||[],r=[e,r.slice?r.slice():r],s.push(r),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},pe.extend({Deferred:function(t){var r=[["notify","progress",pe.Callbacks("memory"),pe.Callbacks("memory"),2],["resolve","done",pe.Callbacks("once memory"),pe.Callbacks("once memory"),0,"resolved"],["reject","fail",pe.Callbacks("once memory"),pe.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return pe.Deferred(function(t){pe.each(r,function(r,n){var i=pe.isFunction(e[n[4]])&&e[n[4]];o[n[1]](function(){var e=i&&i.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[n[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,n,i){function o(t,r,n,i){return function(){var u=this,c=arguments,d=function(){var e,d;if(!(t=a&&(n!==l&&(u=void 0,c=[e]),r.rejectWith(u,c))}};t?f():(pe.Deferred.getStackHook&&(f.stackTrace=pe.Deferred.getStackHook()),e.setTimeout(f))}}var a=0;return pe.Deferred(function(e){r[0][3].add(o(0,e,pe.isFunction(i)?i:s,e.notifyWith)),r[1][3].add(o(0,e,pe.isFunction(t)?t:s)),r[2][3].add(o(0,e,pe.isFunction(n)?n:l))}).promise()},promise:function(e){return null!=e?pe.extend(e,i):i}},o={};return pe.each(r,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){n=s},r[3-e][2].disable,r[0][2].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,r=t,n=Array(r),i=ne.call(arguments),o=pe.Deferred(),a=function(e){return function(r){n[e]=this,i[e]=arguments.length>1?ne.call(arguments):r,--t||o.resolveWith(n,i)}};if(t<=1&&(u(e,o.done(a(r)).resolve,o.reject),"pending"===o.state()||pe.isFunction(i[r]&&i[r].then)))return o.then();for(;r--;)u(i[r],a(r),o.reject);return o.promise()}});var Pe=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;pe.Deferred.exceptionHook=function(t,r){e.console&&e.console.warn&&t&&Pe.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,r)},pe.readyException=function(t){e.setTimeout(function(){throw t})};var Re=pe.Deferred();pe.fn.ready=function(e){return Re.then(e).catch(function(e){pe.readyException(e)}),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||Re.resolveWith(te,[pe]))}}),pe.ready.then=Re.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(pe.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Me=function(e,t,r,n,i,o,a){var s=0,l=e.length,u=null==r;if("object"===pe.type(r)){i=!0;for(s in r)Me(e,t,s,r[s],!0,o,a)}else if(void 0!==n&&(i=!0,pe.isFunction(n)||(a=!0),u&&(a?(t.call(e,n),t=null):(u=t,t=function(e,t,r){return u.call(pe(e),r)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Le.remove(this,e)})}}),pe.extend({queue:function(e,t,r){var n;if(e)return t=(t||"fx")+"queue",n=Ie.get(e,t),r&&(!n||pe.isArray(r)?n=Ie.access(e,t,pe.makeArray(r)):n.push(r)),n||[]},dequeue:function(e,t){t=t||"fx";var r=pe.queue(e,t),n=r.length,i=r.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=r.shift(),n--),i&&("fx"===t&&r.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!n&&o&&o.empty.fire()},_queueHooks:function(e,t){var r=t+"queueHooks";return Ie.get(e,r)||Ie.access(e,r,{empty:pe.Callbacks("once memory").add(function(){Ie.remove(e,[t+"queue",r])})})}}),pe.fn.extend({queue:function(e,t){var r=2;return"string"!=typeof e&&(t=e,e="fx",r--),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 Ge=/<|?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),r=te.createElement("input");r.setAttribute("type","radio"),r.setAttribute("checked","checked"),r.setAttribute("name","t"),t.appendChild(r),fe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",fe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Xe=/^key/,Je=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;pe.event={global:{},add:function(e,t,r,n,i){var o,a,s,l,u,c,d,f,h,p,m,g=Ie.get(e);if(g)for(r.handler&&(o=r,r=o.handler,i=o.selector),i&&pe.find.matchesSelector(Qe,i),r.guid||(r.guid=pe.guid++),(l=g.events)||(l=g.events={}),(a=g.handle)||(a=g.handle=function(t){return"undefined"!=typeof pe&&pe.event.triggered!==t.type?pe.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Oe)||[""],u=t.length;u--;)s=Ze.exec(t[u])||[],h=m=s[1],p=(s[2]||"").split(".").sort(),h&&(d=pe.event.special[h]||{},h=(i?d.delegateType:d.bindType)||h,d=pe.event.special[h]||{},c=pe.extend({type:h,origType:m,data:n,handler:r,guid:r.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:p.join(".")},o),(f=l[h])||(f=l[h]=[],f.delegateCount=0,d.setup&&d.setup.call(e,n,p,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=r.guid)),i?f.splice(f.delegateCount++,0,c):f.push(c),pe.event.global[h]=!0)},remove:function(e,t,r,n,i){var o,a,s,l,u,c,d,f,h,p,m,g=Ie.hasData(e)&&Ie.get(e);if(g&&(l=g.events)){for(t=(t||"").match(Oe)||[""],u=t.length;u--;)if(s=Ze.exec(t[u])||[],h=m=s[1],p=(s[2]||"").split(".").sort(),h){for(d=pe.event.special[h]||{},h=(n?d.delegateType:d.bindType)||h,f=l[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=f.length;o--;)c=f[o],!i&&m!==c.origType||r&&r.guid!==c.guid||s&&!s.test(c.namespace)||n&&n!==c.selector&&("**"!==n||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,d.remove&&d.remove.call(e,c));a&&!f.length&&(d.teardown&&d.teardown.call(e,p,g.handle)!==!1||pe.removeEvent(e,h,g.handle),delete l[h])}else for(h in l)pe.event.remove(e,h+t[u],r,n,!0);pe.isEmptyObject(l)&&Ie.remove(e,"handle events")}},dispatch:function(e){var t,r,n,i,o,a,s=pe.event.fix(e),l=new Array(arguments.length),u=(Ie.get(this,"events")||{})[s.type]||[],c=pe.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||u.disabled!==!0)){for(o=[],a={},r=0;r-1:pe.find(i,this,null,[u]).length),a[i]&&o.push(n);o.length&&s.push({elem:u,handlers:o})}return u=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/",""===t.firstChild.innerHTML}(s),c=s&&function(e){var t=e.createElement("div");return t.innerHTML="Test: Value","Test:"===t.childNodes[0].nodeValue&&" Value"===t.childNodes[2].nodeValue}(s),d=s&&function(e){var t,r,n=e.createElement("table");try{n.innerHTML=" "}catch(e){}finally{r=0===n.childNodes.length}r&&(t={colgroup:["table"],table:[],tbody:["table"],tfoot:["table"],thead:["table"],tr:["table","tbody"]});var i=e.createElement("select");return i.innerHTML=" ",i.childNodes[0]||(t=t||{},t.select=[]),t}(s);a=u?function(e,r,i){return e=n(e,r),r=i.cloneNode(r,!1),t(r,e),r.childNodes}:function(e,t,r){return e=n(e,t),t=r.cloneNode(t,!1),t.innerHTML=e,t.childNodes};var f;f=d||c?function(e,t,n){var i=[],o=[];"string"==typeof e&&(e=e.replace(/(\s*)(
-
+
+