/*! * Copyright 2014 Drifty Co. * http://drifty.com/ * * Ionic, v0.9.27 * A powerful HTML5 mobile app framework. * http://ionicframework.com/ * * By @maxlynch, @benjsperry, @adamdbradley <3 * * Licensed under the MIT license. Please see LICENSE for more information. * */ function $LocationDecorator(e,t){return e.__hash=e.hash,e.hash=function(n){return angular.isDefined(n)&&t(function(){var e=document.querySelector(".scroll-content");e&&(e.scrollTop=0)},0,!1),e.__hash(n)},e}angular.module("ionic.service",["ionic.service.bind","ionic.service.platform","ionic.service.actionSheet","ionic.service.gesture","ionic.service.loading","ionic.service.modal","ionic.service.popup","ionic.service.templateLoad","ionic.service.view","ionic.decorator.location"]),angular.module("ionic.ui.service",["ionic.ui.service.scrollDelegate","ionic.ui.service.slideBoxDelegate","ionic.ui.service.sideMenuDelegate"]),angular.module("ionic.ui",["ionic.ui.content","ionic.ui.scroll","ionic.ui.tabs","ionic.ui.viewState","ionic.ui.header","ionic.ui.sideMenu","ionic.ui.slideBox","ionic.ui.list","ionic.ui.checkbox","ionic.ui.toggle","ionic.ui.radio","ionic.ui.touch","ionic.ui.popup"]),angular.module("ionic",["ionic.service","ionic.ui.service","ionic.ui","ngAnimate","ngSanitize","ui.router"]),angular.element.prototype.addClass=function(e){var t,n,i,o,r,a;if(e&&"ng-scope"!=e&&"ng-isolate-scope"!=e)for(t=0;t')(c),s=angular.element(l[0].querySelector(".action-sheet-wrapper")),u=function(e){s.removeClass("action-sheet-up"),e&&o(function(){r.cancel()},200),i.removeClass(l,"active",function(){c.$destroy()}),t[0].body.classList.remove("action-sheet-open"),c.$deregisterBackButton&&c.$deregisterBackButton()};c.$deregisterBackButton=a.registerBackButtonAction(function(){u()},300),c.cancel=function(){u(!0)},c.buttonClicked=function(e){(r.buttonClicked&&r.buttonClicked(e))===!0&&u(!1)},c.destructiveButtonClicked=function(){(r.destructiveButtonClicked&&r.destructiveButtonClicked())===!0&&u(!1)},t[0].body.appendChild(l[0]),t[0].body.classList.add("action-sheet-open");var d=new ionic.views.ActionSheet({el:l[0]});return c.sheet=d,i.addClass(l,"active"),o(function(){s.addClass("action-sheet-up")},20),d}}}]),angular.module("ionic.service.bind",[]).factory("$ionicBind",["$parse","$interpolate",function(e,t){var n=/^\s*([@=&])(\??)\s*(\w*)\s*$/;return function(i,o,r){angular.forEach(r||{},function(r,a){var c,l,s=r.match(n)||[],u=s[3]||a,d=s[1];switch(d){case"@":if(!o[u])return;o.$observe(u,function(e){i[a]=e}),o[u]&&(i[a]=t(o[u])(i));break;case"=":if(!o[u])return;l=i.$watch(o[u],function(e){i[a]=e}),i.$on("$destroy",l);break;case"&":if(o[u]&&o[u].match(RegExp(a+"(.*?)")))throw new Error('& expression binding "'+a+'" looks like it will recursively call "'+o[u]+'" and cause a stack overflow! Please choose a different scopeName.');c=e(o[u]),i[a]=function(e){return c(i,e)}}})}}]),angular.module("ionic.service.gesture",[]).factory("$ionicGesture",[function(){return{on:function(e,t,n){return window.ionic.onGesture(e,t,n[0])},off:function(e,t,n){return window.ionic.offGesture(e,t,n)}}}]),angular.module("ionic.service.loading",["ionic.ui.loading"]).factory("$ionicLoading",["$rootScope","$document","$compile",function(e,t,n){return{show:function(i){var o={content:"",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:0};i=angular.extend(o,i);var r=e.$new(!0);angular.extend(r,i);var a=angular.element(t[0].querySelector(".loading-backdrop"));a.length&&a.remove();var c=n(""+i.content+"")(r);t[0].body.appendChild(c[0]);var l=new ionic.views.Loading({el:c[0],maxWidth:i.maxWidth,showDelay:i.showDelay});return l.show(),r.loading=l,l}}}]),angular.module("ionic.service.modal",["ionic.service.templateLoad","ionic.service.platform","ionic.ui.modal"]).factory("$ionicModal",["$rootScope","$document","$compile","$timeout","$ionicPlatform","$ionicTemplateLoader",function(e,t,n,i,o,r){var a=ionic.views.Modal.inherit({initialize:function(e){ionic.views.Modal.prototype.initialize.call(this,e),this.animation=e.animation||"slide-in-up"},show:function(){var e=this,n=angular.element(e.modalEl);e.el.classList.remove("hide"),t[0].body.classList.add("modal-open"),e._isShown=!0,e.el.parentElement||(n.addClass(e.animation),t[0].body.appendChild(e.el)),n.addClass("ng-enter active").removeClass("ng-leave ng-leave-active"),i(function(){n.addClass("ng-enter-active"),e.scope.$parent&&e.scope.$parent.$broadcast("modal.shown"),e.el.classList.add("active")},20),e._deregisterBackButton=o.registerBackButtonAction(function(){e.hide()},200),ionic.views.Modal.prototype.show.call(e)},hide:function(){var e=this;e._isShown=!1;var n=angular.element(e.modalEl);e.el.classList.remove("active"),n.addClass("ng-leave"),i(function(){n.addClass("ng-leave-active").removeClass("ng-enter ng-enter-active active")},20),i(function(){t[0].body.classList.remove("modal-open"),e.el.classList.add("hide")},350),ionic.views.Modal.prototype.hide.call(e),e.scope.$parent&&e.scope.$parent.$broadcast("modal.hidden"),e._deregisterBackButton&&e._deregisterBackButton()},remove:function(){var e=this;e.hide(),e.scope.$parent&&e.scope.$parent.$broadcast("modal.removed"),i(function(){e.scope.$destroy(),e.el&&e.el.parentElement&&e.el.parentElement.removeChild(e.el)},750)},isShown:function(){return!!this._isShown}}),c=function(t,i){var o=i.scope&&i.scope.$new()||e.$new(!0),r=n(""+t+"")(o);i.el=r[0],i.modalEl=i.el.querySelector(".modal");var c=new a(i);return c.scope=o,i.scope||(o.modal=c),c};return{fromTemplate:function(e,t){var n=c(e,t||{});return n},fromTemplateUrl:function(e,t,n){var i;return angular.isFunction(t)&&(i=t,t=n),r.load(e).then(function(e){var n=c(e,t||{});return i&&i(n),n})}}}]),function(e){"use strict";angular.module("ionic.service.platform",[]).provider("$ionicPlatform",function(){return{$get:["$q","$rootScope",function(t,n){return{onHardwareBackButton:function(t){e.Platform.ready(function(){document.addEventListener("backbutton",t,!1)})},offHardwareBackButton:function(t){e.Platform.ready(function(){document.removeEventListener("backbutton",t)})},registerBackButtonAction:function(t,i,o){var r=this;r._hasBackButtonHandler||(n.$backButtonActions={},r.onHardwareBackButton(r.hardwareBackButtonClick),r._hasBackButtonHandler=!0);var a={id:o?o:e.Utils.nextUid(),priority:i?i:0,fn:t};return n.$backButtonActions[a.id]=a,function(){delete n.$backButtonActions[a.id]}},hardwareBackButtonClick:function(e){var t,i;for(i in n.$backButtonActions)(!t||n.$backButtonActions[i].priority>=t.priority)&&(t=n.$backButtonActions[i]);return t?(t.fn(e),t):void 0},is:function(t){return e.Platform.is(t)},ready:function(n){var i=t.defer();return e.Platform.ready(function(){i.resolve(),n()}),i.promise}}}]}})}(ionic),function(e){"use strict";angular.module("ionic.service.popup",["ionic.service.templateLoad"]).factory("$ionicPopup",["$rootScope","$q","$document","$compile","$timeout","$ionicTemplateLoader",function(t,n,i,o,r,a){var c={stackPushDelay:50},l=function(e){e.el.style.marginLeft=-e.el.offsetWidth/2+"px",e.el.style.marginTop=-e.el.offsetHeight/2+"px"},s=function(e){var t=e.el.querySelector(".popup-body");t&&""==t.innerHTML.trim()&&(t.style.display="none")},u=function(t){e.requestAnimationFrame(function(){s(t),l(t),t.el.classList.remove("popup-hidden"),t.el.classList.add("popup-showing"),t.el.classList.add("active")})},d=function(t){e.requestAnimationFrame(function(){t.el.classList.remove("popup-hidden"),t.el.classList.add("popup-showing"),t.el.classList.add("active")})},f=function(t){e.requestAnimationFrame(function(){t.el.classList.remove("active"),t.el.classList.add("popup-hidden")})},v=function(e){e.el.offsetWidth,e.el.classList.remove("active"),e.el.classList.add("popup-hidden"),r(function(){e.el.remove()},400)},p=[],g=null,h=function(){var e=o("")(t.$new(!0));i[0].body.appendChild(e[0]),g=e},m=function(){g.remove()},$=function(e){var t=p[p.length-1];p.push(e),1==p.length&&h(),t?(f(t),r(function(){u(e)},c.stackPushDelay)):u(e)},b=function(){var e=p.pop(),t=p[p.length-1];v(e),t?d(t):m()},w=function(e,t){var n={el:e[0],scope:t};return t.popup=n,n},y=function(e,t){return''+(t||"")+""},k=function(e,r){var c=n.defer(),l={title:"",animation:"fade-in"};e=angular.extend(l,e);var s=e.scope&&e.scope.$new()||t.$new(!0);if(angular.extend(s,e),s.onClose=function(e,t){b(s.popup),r.resolve(t)},e.templateUrl)a.load(e.templateUrl).then(function(t){var n=y(e,t),r=o(n)(s);i[0].body.appendChild(r[0]),c.resolve(w(r,s))},function(e){c.reject(e)});else{var u=y(e,e.content),d=o(u)(s);i[0].body.appendChild(d[0]),c.resolve(w(d,s))}return c.promise};return{showPopup:function(e){var t=n.defer();return k(e,t).then(function(t){$(t,e)},function(e){console.error("Unable to load popup:",e)}),t.promise},show:function(e){return this.showPopup(e)},alert:function(e){return this.showPopup({content:e.content||"",title:e.title||"",buttons:[{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return!0}}]})},confirm:function(e){return this.showPopup({content:e.content||"",title:e.title||"",buttons:[{text:e.cancelText||"Cancel",type:e.cancelType||"button-default",onTap:function(e){e.preventDefault()}},{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return!0}}]})},prompt:function(e){var n=t.$new(!0);return n.data={},this.showPopup({content:e.content||'',title:e.title||"",subTitle:e.subTitle||"",scope:n,buttons:[{text:e.cancelText||"Cancel",type:e.cancelType||"button-default",onTap:function(e){e.preventDefault()}},{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return n.data.response}}]})}}}])}(ionic),angular.module("ionic.service.templateLoad",[]).factory("$ionicTemplateLoader",["$q","$http","$templateCache",function(e,t,n){return{load:function(e){return t.get(e,{cache:n}).then(function(e){return e.data&&e.data.trim()})}}}]),angular.module("ionic.service.view",["ui.router","ionic.service.platform"]).run(["$rootScope","$state","$location","$document","$animate","$ionicPlatform",function(e,t,n,i,o,r){function a(t){return e.$viewHistory.backView?e.$viewHistory.backView.go():ionic.Platform.exitApp(),t.preventDefault(),!1}e.$viewHistory={histories:{root:{historyId:"root",parentHistoryId:null,stack:[],cursor:-1}},views:{},backView:null,forwardView:null,currentView:null,disabledRegistrableTagNames:[]},e.$on("viewState.changeHistory",function(i,o){if(o){var r=o.historyId?e.$viewHistory.histories[o.historyId]:null;if(r&&r.cursor>-1&&r.cursor-1&&c.stack.length>0&&c.cursor=u.index;p--)v.stack[p].destroy(),v.stack.splice(p)}}else d.navAction="initialView";o.views[d.viewId]=this.createView({viewId:d.viewId,index:c.stack.length,historyId:c.historyId,backViewId:l&&l.viewId?l.viewId:null,forwardViewId:null,stateId:a,stateName:this.getCurrentStateName(),stateParams:this.getCurrentStateParams(),url:n.url(),scrollValues:null}),c.stack.push(o.views[d.viewId])}return this.setNavViews(d.viewId),c.cursor=o.currentView.index,d},setNavViews:function(t){var n=e.$viewHistory;n.currentView=this._getViewById(t),n.backView=this._getBackView(n.currentView),n.forwardView=this._getForwardView(n.currentView),e.$broadcast("$viewHistory.historyChange",{showBack:n.backView&&n.backView.historyId===n.currentView.historyId})},registerHistory:function(e){e.$historyId=ionic.Utils.nextUid()},createView:function(e){var t=new c;return t.initialize(e)},getCurrentView:function(){return e.$viewHistory.currentView},getBackView:function(){return e.$viewHistory.backView},getForwardView:function(){return e.$viewHistory.forwardView},getNavDirection:function(){return e.$viewHistory.navDirection},getCurrentStateName:function(){return t&&t.current?t.current.name:null},isCurrentStateNavView:function(e){return t&&t.current&&t.current.views&&t.current.views[e]?!0:!1},getCurrentStateParams:function(){var e;if(t&&t.params)for(var n in t.params)t.params.hasOwnProperty(n)&&(e=e||{},e[n]=t.params[n]);return e},getCurrentStateId:function(){var e;if(t&&t.current&&t.current.name){if(e=t.current.name,t.params)for(var n in t.params)t.params.hasOwnProperty(n)&&t.params[n]&&(e+="_"+n+"="+t.params[n]);return e}return ionic.Utils.nextUid()},goToHistoryRoot:function(t){if(t){var n=e.$viewHistory.histories[t];if(n&&n.stack.length){if(e.$viewHistory.currentView&&e.$viewHistory.currentView.viewId===n.stack[0].viewId)return;e.$viewHistory.forcedNav={viewId:n.stack[0].viewId,navAction:"moveBack",navDirection:"back"},n.stack[0].go()}}},_getViewById:function(t){return t?e.$viewHistory.views[t]:null},_getBackView:function(e){return e?this._getViewById(e.backViewId):null},_getForwardView:function(e){return e?this._getViewById(e.forwardViewId):null},_getHistoryById:function(t){return t?e.$viewHistory.histories[t]:null},_getHistory:function(t){var n=this._getParentHistoryObj(t);return e.$viewHistory.histories[n.historyId]||(e.$viewHistory.histories[n.historyId]={historyId:n.historyId,parentHistoryId:this._getParentHistoryObj(n.scope.$parent).historyId,stack:[],cursor:-1}),e.$viewHistory.histories[n.historyId]},_getParentHistoryObj:function(t){for(var n=t;n;){if(n.hasOwnProperty("$historyId"))return{historyId:n.$historyId,scope:n};n=n.$parent}return{historyId:"root",scope:e}},getRenderer:function(e,t,n){function i(e){for(var t="";!t&&e;)t=e.getAttribute("animation"),e=e.parentElement;return t}function o(){s&&e[0].classList.add(s),"back"===r.navDirection?e[0].classList.add("reverse"):e[0].classList.remove("reverse")}var r,c,l=this,s=angular.isDefined(n.$nextAnimation)?n.$nextAnimation:i(e[0]);return n.$nextAnimation=void 0,function(t){return{enter:function(n){return c&&t?(o(),n.addClass("ng-enter"),document.body.classList.add("disable-pointer-events"),void a.enter(n,e,null,function(){document.body.classList.remove("disable-pointer-events"),s&&e[0].classList.remove(s)})):void e.append(n)},leave:function(){var n=e.contents();return c&&t?(o(),void a.leave(n,function(){n.remove()})):void n.remove()},register:function(e){return r=l.register(n,e),c=null!==s&&null!==r.navDirection,r}}}},disableRegisterByTagName:function(t){e.$viewHistory.disabledRegistrableTagNames.push(t.toUpperCase())},isTagNameRegistrable:function(t){var n,i,o=e.$viewHistory.disabledRegistrableTagNames;for(n=0;n
{{titleText}}
'}}])}(),function(e){"use strict";angular.module("ionic.ui.header",["ngAnimate","ngSanitize"]).directive("barHeader",["$ionicScrollDelegate",function(e){return{restrict:"C",link:function(t,n){e.tapScrollToTop(n)}}}]).directive("ionHeaderBar",["$ionicScrollDelegate",function(){return{restrict:"E",replace:!0,transclude:!0,template:'

',scope:{leftButtons:"=",rightButtons:"=",title:"@",type:"@",alignTitle:"@"},link:function(t,n){var i=new e.views.HeaderBar({el:n[0],alignTitle:t.alignTitle||"center"});n.addClass(t.type),t.headerBarView=i,t.$watchCollection("leftButtons",function(){i.align()}),t.$watchCollection("rightButtons",function(){i.align()}),t.$watch("title",function(){i.align()})}}}]).directive("ionFooterBar",function(){return{restrict:"E",replace:!0,transclude:!0,template:'
',scope:{type:"@"},link:function(e,t){t.addClass(e.type)}}})}(ionic),function(){"use strict";angular.module("ionic.ui.checkbox",[]).directive("ionCheckbox",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{ngModel:"=?",ngValue:"=?",ngChecked:"=?",ngChange:"&"},transclude:!0,template:'
',compile:function(e,t){var n=e.find("input");t.name&&n.attr("name",t.name),t.ngChecked&&n.attr("ng-checked","ngChecked"),t.ngTrueValue&&n.attr("ng-true-value",t.ngTrueValue),t.ngFalseValue&&n.attr("ng-false-value",t.ngFalseValue)}}})}(),function(){"use strict";angular.module("ionic.ui.content",["ionic.ui.service","ionic.ui.scroll"]).directive("ionPane",function(){return{restrict:"E",link:function(e,t){t.addClass("pane")}}}).directive("ionContent",["$parse","$timeout","$ionicScrollDelegate","$controller","$ionicBind",function(e,t,n,i,o){return{restrict:"E",replace:!0,transclude:!0,require:"^?ionNavView",scope:!0,template:'
',compile:function(e,n,r){function a(e,a,c){var l,s,u=angular.element(a[0].querySelector(".scroll"));o(e,c,{$onScroll:"&onScroll",$onScrollComplete:"&onScrollComplete",hasBouncing:"@",scroll:"@",padding:"@",hasScrollX:"@",hasScrollY:"@",scrollbarX:"@",scrollbarY:"@",startX:"@",startY:"@",scrollEventInterval:"@"}),"false"===e.scroll||("true"===n.overflowScroll?a.addClass("overflow-scroll"):(s=i("$ionicScroll",{$scope:e,scrollViewOptions:{el:a[0],bouncing:e.$eval(e.hasBouncing),startX:e.$eval(e.startX)||0,startY:e.$eval(e.startY)||0,scrollbarX:e.$eval(e.scrollbarX)!==!1,scrollbarY:e.$eval(e.scrollbarY)!==!1,scrollingX:e.$eval(e.hasScrollX)===!0,scrollingY:e.$eval(e.hasScrollY)!==!1,scrollEventInterval:parseInt(e.scrollEventInterval,10)||20,scrollingComplete:function(){e.$onScrollComplete({scrollTop:this.__scrollTop,scrollLeft:this.__scrollLeft})}}}),l=e.$parent.scrollView=s.scrollView,e.$on("$viewContentLoaded",function(n,i){i||(i={});var o=i.scrollValues;o&&t(function(){l.scrollTo(+o.left||null,+o.top||null)},0),e.$on("$destroy",function(){i.scrollValues=l.getValues()})}))),r(e,function(e){s&&e.data("$$ionicScrollController",s),u.append(e)})}return"true"==n.hasHeader&&e.addClass("has-header"),"true"==n.hasSubheader&&e.addClass("has-subheader"),"true"==n.hasFooter&&e.addClass("has-footer"),"true"==n.hasTabs&&e.addClass("has-tabs"),"true"==n.padding&&e.find("div").addClass("padding"),{pre:a}}}}]).directive("ionRefresher",["$ionicBind",function(e){return{restrict:"E",replace:!0,require:"^$ionicScroll",template:'
',compile:function(t,n){return angular.isUndefined(n.pullingIcon)&&n.$set("pullingIcon","ion-arrow-down-c"),angular.isUndefined(n.refreshingIcon)&&n.$set("refreshingIcon","ion-loading-d"),function(t,n,i,o){e(t,i,{pullingIcon:"@",pullingText:"@",refreshingIcon:"@",refreshingText:"@",$onRefresh:"&onRefresh",$onPulling:"&onPulling"}),o.setRefresher(t,n[0]),t.$on("scroll.refreshComplete",function(){n[0].classList.remove("active"),o.scrollView.finishPullToRefresh()})}}}}]).directive("ionInfiniteScroll",["$timeout",function(e){return{restrict:"E",require:["^$ionicScroll","ionInfiniteScroll"],template:'
',scope:!0,controller:["$scope","$attrs",function(e,t){this.isLoading=!1,this.scrollView=null,this.getMaxScroll=function(){var e=t.distance||"1%";return e.indexOf("%")>-1?this.scrollView.getScrollMax().top*(1-parseInt(e,10)/100):this.scrollView.getScrollMax().top-parseInt(e,10)}}],link:function(t,n,i,o){var r=o[0],a=o[1],c=a.scrollView=r.scrollView;t.icon=function(){return angular.isDefined(i.icon)?i.icon:"ion-loading-d"},t.$on("scroll.infiniteScrollComplete",function(){n[0].classList.remove("active"),e(function(){c.resize()},0,!1),a.isLoading=!1}),r.$element.on("scroll",ionic.animationFrameThrottle(function(){!a.isLoading&&c.getValues().top>=a.getMaxScroll()&&(n[0].classList.add("active"),a.isLoading=!0,t.$parent.$apply(i.onInfinite||""))}))}}}])}(),function(){"use strict";angular.module("ionic.ui.list",["ngAnimate"]).directive("ionItem",["$timeout","$parse",function(){return{restrict:"E",require:"?^ionList",replace:!0,transclude:!0,scope:{item:"=",itemType:"@",canDelete:"@",canReorder:"@",canSwipe:"@",onDelete:"&",optionButtons:"&",deleteIcon:"@",reorderIcon:"@"},template:'
',link:function(e,t,n,i){if(i){var o=i.scope,r=i.attrs;n.$observe("href",function(t){t&&(e.href=t.trim())}),e.itemType||(e.itemType=o.itemType),t.addClass(e.itemType||o.itemType),e.itemClass=e.itemType,"false"!==(n.canDelete?e.canDelete:o.canDelete)&&(n.onDelete||r.onDelete)&&(e.deleteClick=function(){n.onDelete?e.onDelete({item:e.item}):r.onDelete&&o.onDelete({item:e.item})},e.deleteIconClass=e.deleteIcon||o.deleteIcon||"ion-minus-circled"),"true"===(n.canReorder?e.canReorder:o.canReorder)&&(e.reorderIconClass=e.reorderIcon||o.reorderIcon||"ion-navicon"),"false"!==(n.canSwipe?e.canSwipe:o.canSwipe)&&(e.itemOptionButtons=e.optionButtons(),"undefined"==typeof e.itemOptionButtons&&(e.itemOptionButtons=o.optionButtons()))}}}}]).directive("ionList",["$timeout",function(e){return{restrict:"E",replace:!0,transclude:!0,require:"^?$ionicScroll",scope:{itemType:"@",canDelete:"@",canReorder:"@",canSwipe:"@",showDelete:"=",showReorder:"=",onDelete:"&",onReorder:"&",optionButtons:"&",deleteIcon:"@",reorderIcon:"@"},template:"
",controller:["$scope","$attrs",function(e,t){this.scope=e,this.attrs=t}],link:function(t,n,i,o){t.listView=new ionic.views.ListView({el:n[0],listEl:n[0].children[0],scrollEl:o&&o.element,scrollView:o&&o.scrollView,onReorder:function(e,n,i){t.$apply(function(){t.onReorder({el:e,start:n,end:i})})}}),i.animation&&n[0].classList.add(i.animation);var r=t.$watch("showReorder",function(t){t?n[0].classList.add("item-options-hide"):t===!1&&e(function(){n[0].classList.remove("item-options-hide")},250)});t.$on("$destroy",function(){r()})}}}])}(),function(){"use strict";angular.module("ionic.ui.loading",[]).directive("ionLoading",function(){return{restrict:"E",replace:!0,transclude:!0,link:function(e,t){t.addClass(e.animation||"")},template:'
'}})}(),function(){"use strict";angular.module("ionic.ui.modal",[]).directive("ionModal",[function(){return{restrict:"E",transclude:!0,replace:!0,template:''}}])}(),function(){angular.module("ionic.ui.navAnimation",[]).directive("ionNavAnimation",function(){return{restrict:"A",require:"^?ionNavView",link:function(e,t,n,i){i&&ionic.on("tap",function(){i.setNextAnimation(n.ionNavAnimation)},t[0])}}})}(),function(){"use strict";angular.module("ionic.ui.popup",[]).directive("ionPopupBackdrop",function(){return{restrict:"E",replace:!0,template:''}}).directive("ionPopup",["$ionicBind",function(e){return{restrict:"E",replace:!0,transclude:!0,scope:!0,link:function(t,n,i){e(t,i,{title:"@",buttons:"=",$onButtonTap:"&onButtonTap",$onClose:"&onClose"}),t._buttonTapped=function(e,n){var i=e.onTap&&e.onTap(n); return n.defaultPrevented?t.$onClose({button:e,result:!1,event:n}):i?t.$onClose({button:e,result:i,event:n}):void t.$onButtonTap({button:e,event:n})}},template:''}}])}(),function(e){"use strict";angular.module("ionic.ui.radio",[]).directive("ionRadio",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{ngModel:"=?",ngValue:"=?",ngChange:"&",icon:"@"},transclude:!0,template:'',compile:function(e,t){t.name&&e.children().eq(0).attr("name",t.name),t.icon&&e.children().eq(2).removeClass("ion-checkmark").addClass(t.icon)}}}).directive("ionRadioButtons",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{value:"@"},transclude:!0,template:'
',controller:["$scope","$element",function(e,t){this.select=function(e){for(var n,i=t.children(),o=0;o
',transclude:!0,scope:{direction:"@",paging:"@",onRefresh:"&",onScroll:"&",scroll:"@",scrollbarX:"@",scrollbarY:"@"},controller:function(){},compile:function(e,t){function i(e,i){var o,r,a=i[0].children[0];"true"==t.padding&&a.classList.add("padding"),e.$eval(e.paging)===!0&&a.classList.add("scroll-paging"),e.direction||(e.direction="y");var c=e.$eval(e.paging)===!0,l={el:i[0],paging:c,scrollbarX:e.$eval(e.scrollbarX)!==!1,scrollbarY:e.$eval(e.scrollbarY)!==!1,scrollingX:e.direction.indexOf("x")>=0,scrollingY:e.direction.indexOf("y")>=0};c&&(l.speedMultiplier=.8,l.bouncing=!1),r=n("$ionicScroll",{$scope:e,scrollViewOptions:l}),o=e.$parent.scrollView=r.scrollView}return{pre:i}}}}])}(),function(){"use strict";angular.module("ionic.ui.sideMenu",["ionic.service.gesture","ionic.service.view"]).run(["$ionicViewService",function(e){e.disableRegisterByTagName("ion-side-menus")}]).directive("ionSideMenus",function(){return{restrict:"ECA",controller:["$scope","$attrs","$parse",function(e,t,n){angular.extend(this,ionic.controllers.SideMenuController.prototype),ionic.controllers.SideMenuController.call(this,{left:{width:275},right:{width:275}}),e.sideMenuContentTranslateX=0,n(t.model||"sideMenuController").assign(e,this)}],replace:!0,transclude:!0,template:'
'}}).directive("ionSideMenuContent",["$timeout","$ionicGesture",function(e,t){return{restrict:"AC",require:"^ionSideMenus",scope:!0,compile:function(n,i){return function(n,o,r,a){function c(e){0!==a.getOpenAmount()&&(a.close(),e.gesture.srcEvent.preventDefault())}o.addClass("menu-content"),angular.isDefined(i.dragContent)?n.$watch(i.dragContent,function(e){n.dragContent=e}):n.dragContent=!0;var l=!1,s=!1;ionic.on("tap",c,o[0]);var u=function(e){if(n.dragContent){if(l||e.gesture.srcEvent.defaultPrevented)return;s=!0,a._handleDrag(e),e.gesture.srcEvent.preventDefault()}},d=function(e){s&&e.gesture.srcEvent.preventDefault()},f=t.on("dragright",u,o),v=t.on("dragleft",u,o),p=t.on("dragup",d,o),g=t.on("dragdown",d,o),h=function(e){s=!1,l||a._endDrag(e),l=!1},m=t.on("release",h,o);a.setContent({onDrag:function(){},endDrag:function(){},getTranslateX:function(){return n.sideMenuContentTranslateX||0},setTranslateX:ionic.animationFrameThrottle(function(t){o[0].style[ionic.CSS.TRANSFORM]="translate3d("+t+"px, 0, 0)",e(function(){n.sideMenuContentTranslateX=t})}),enableAnimation:function(){n.animationEnabled=!0,o[0].classList.add("menu-animated")},disableAnimation:function(){n.animationEnabled=!1,o[0].classList.remove("menu-animated")}}),n.$on("$destroy",function(){t.off(v,"dragleft",u),t.off(f,"dragright",u),t.off(p,"dragup",u),t.off(g,"dragdown",u),t.off(m,"release",h),ionic.off("tap",c,o[0])})}}}}]).directive("ionSideMenu",function(){return{restrict:"E",require:"^ionSideMenus",replace:!0,transclude:!0,scope:!0,template:'',compile:function(e,t,n){return angular.isUndefined(t.isEnabled)&&t.$set("isEnabled","true"),angular.isUndefined(t.width)&&t.$set("width","275"),function(e,t,i,o){e.side=i.side||"left";var r=o[e.side]=new ionic.views.SideMenu({width:275,el:t[0],isEnabled:!0});e.$watch(i.width,function(e){var t=+e;t&&t==e&&r.setWidth(+e)}),e.$watch(i.isEnabled,function(e){r.setIsEnabled(!!e)}),n(e,function(e){t.append(e)})}}}})}(),function(){"use strict";angular.module("ionic.ui.slideBox",[]).directive("ionSlideBox",["$timeout","$compile","$ionicSlideBoxDelegate",function(e,t,n){return{restrict:"E",replace:!0,transclude:!0,scope:{doesContinue:"@",slideInterval:"@",showPager:"@",disableScroll:"@",onSlideChanged:"&",activeSlide:"=?"},controller:["$scope","$element","$attrs","$parse",function(t,i,o,r){var a=t.$eval(t.doesContinue)===!0,c=a?t.$eval(t.slideInterval)||4e3:0,l=new ionic.views.Slider({el:i[0],auto:c,disableScroll:t.$eval(t.disableScroll)===!0||!1,continuous:a,startSlide:t.activeSlide,slidesChanged:function(){t.currentSlide=l.currentIndex(),e(function(){})},callback:function(n){t.currentSlide=n,t.onSlideChanged({index:t.currentSlide}),t.$parent.$broadcast("slideBox.slideChanged",n),t.activeSlide=n,e(function(){})}});t.$watch("activeSlide",function(e){angular.isDefined(e)&&l.slide(e)}),t.$on("slideBox.nextSlide",function(){l.next()}),t.$on("slideBox.prevSlide",function(){l.prev()}),t.$on("slideBox.setSlide",function(e,t){l.slide(t)}),r(o.model||"slideBoxController").assign(t.$parent,l),n.register(t,i),this.slidesCount=function(){return l.slidesCount()},e(function(){l.load()})}],template:'
',link:function(e,n){if(e.$eval(e.showPager)!==!1){var i=e.$new(),o=angular.element("");n.append(o),t(o)(i)}}}}]).directive("ionSlide",function(){return{restrict:"E",require:"^ionSlideBox",compile:function(e){return e.addClass("slider-slide"),function(){}}}}).directive("ionPager",function(){return{restrict:"E",replace:!0,require:"^ionSlideBox",template:'
',link:function(e,t,n,i){var o=function(e){for(var n=t[0].children,i=n.length,o=0;i>o;o++)o==e?n[o].classList.add("active"):n[o].classList.remove("active")};e.numSlides=function(){return new Array(i.slidesCount())},e.$watch("currentSlide",function(e){o(e)})}}})}(),angular.module("ionic.ui.tabs",["ionic.service.view"]).run(["$ionicViewService",function(e){e.disableRegisterByTagName("ion-tabs")}]).controller("ionicTabs",["$scope","$ionicViewService","$element",function(e,t){var n=null,i=this;i.tabs=[],i.selectedTabIndex=function(){return i.tabs.indexOf(n)},i.selectedTab=function(){return n},i.add=function(e){t.registerHistory(e),i.tabs.push(e),1===i.tabs.length&&i.select(e)},i.remove=function(e){var t=i.tabs.indexOf(e);if(-1!==t){if(e.$tabSelected)if(i.deselect(e),1===i.tabs.length);else{var n=t===i.tabs.length-1?t-1:t+1;i.select(i.tabs[n])}i.tabs.splice(t,1)}},i.deselect=function(e){e.$tabSelected&&(n=null,e.$tabSelected=!1,(e.onDeselect||angular.noop)())},i.select=function(o,r){var a;if(angular.isNumber(o)?(a=o,o=i.tabs[a]):a=i.tabs.indexOf(o),!o||-1==a)throw new Error('Cannot select tab "'+a+'"!');if(n&&n.$historyId==o.$historyId)r&&t.goToHistoryRoot(o.$historyId);else if(angular.forEach(i.tabs,function(e){i.deselect(e)}),n=o,o.$tabSelected=!0,(o.onSelect||angular.noop)(),r){var c={type:"tab",tabIndex:a,historyId:o.$historyId,navViewName:o.navViewName,hasNavView:!!o.navViewName,title:o.title,url:o.href,uiSref:o.uiSref};e.$emit("viewState.changeHistory",c)}}}]).directive("ionTabs",["$ionicViewService","$ionicBind","$parse",function(e,t,n){return{restrict:"E",replace:!0,scope:!0,transclude:!0,controller:"ionicTabs",template:'
',compile:function(e,i,o){return angular.isUndefined(i.tabsType)&&i.$set("tabsType","tabs-positive"),function(e,r,a,c){t(e,a,{$animation:"@animation",$tabsStyle:"@tabsStyle",$tabsType:"@tabsType"}),n(i.model||"tabsController").assign(e,c),c.$scope=e,c.$element=r,c.$tabsElement=angular.element(r[0].querySelector(".tabs")),o(e,function(e){r.append(e)})}}}}]).controller("ionicTab",["$scope","$ionicViewService","$rootScope","$element",function(e){this.$scope=e}]).directive("ionTab",["$rootScope","$animate","$ionicBind","$compile","$ionicViewService",function(e,t,n,i,o){function r(e,t){return angular.isDefined(t)?" "+e+'="'+t+'"':""}return{restrict:"E",require:["^ionTabs","ionTab"],replace:!0,controller:"ionicTab",scope:!0,compile:function(e,a){var c=e[0].querySelector("ion-nav-view")||e[0].querySelector("data-ion-nav-view"),l=c&&c.getAttribute("name"),s=angular.element('
').append(e.contents().remove());return function(e,c,u,d){function f(){o.isCurrentStateNavView(e.navViewName)&&tabsCtrl.select(e)}var v,p,g;tabsCtrl=d[0],tabCtrl=d[1],n(e,u,{animate:"=",onSelect:"&",onDeselect:"&",title:"@",uiSref:"@",href:"@"}),tabsCtrl.add(e),e.$on("$destroy",function(){tabsCtrl.remove(e),g.isolateScope().$destroy(),g.remove()}),l&&(e.navViewName=l,e.$on("$stateChangeSuccess",f),f()),g=angular.element(""),g.data("$ionTabsController",tabsCtrl),g.data("$ionTabController",tabCtrl),tabsCtrl.$tabsElement.append(i(g)(e)),e.$watch("$tabSelected",function(n){n||e.$broadcast("tab.hidden",e),v&&v.$destroy(),v=null,p&&t.leave(p),p=null,n&&(v=e.$new(),p=s.clone(),t.enter(p,tabsCtrl.$element),i(p)(v),e.$broadcast("tab.shown",e))})}}}}]).directive("ionTabNav",["$ionicNgClick",function(e){return{restrict:"E",replace:!0,require:["^ionTabs","^ionTab"],template:'{{badge}}',scope:{title:"@",icon:"@",iconOn:"@",iconOff:"@",badge:"=",badgeStyle:"@"},compile:function(){return function(t,n,i,o){var r=o[0],a=o[1];t.selectTab=function(e){e.preventDefault(),r.select(a.$scope,!0)},i.ngClick||e(t,n,"selectTab($event)"),t.getIconOn=function(){return t.iconOn||t.icon},t.getIconOff=function(){return t.iconOff||t.icon},t.isTabActive=function(){return r.selectedTab()===a.$scope}}}}}]),function(e){"use strict";angular.module("ionic.ui.toggle",[]).directive("ionToggle",["$ionicGesture","$timeout",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{ngModel:"=?",ngValue:"=?",ngChecked:"=?",ngChange:"&",ngDisabled:"=?"},transclude:!0,template:'
',compile:function(t,n){var i=t.find("input");return n.name&&i.attr("name",n.name),n.ngChecked&&i.attr("ng-checked","ngChecked"),n.ngTrueValue&&i.attr("ng-true-value",n.ngTrueValue),n.ngFalseValue&&i.attr("ng-false-value",n.ngFalseValue),function(t,n){var i,o,r,a;i=n[0].getElementsByTagName("label")[0],o=i.children[0],r=i.children[1],a=r.children[0];var c=angular.element(o).controller("ngModel");t.toggle=new e.views.Toggle({el:i,track:r,checkbox:o,handle:a,onChange:function(){c.$setViewValue(o.checked?!0:!1),t.$apply()}}),t.$on("$destroy",function(){t.toggle.destroy()})}}}}])}(window.ionic),function(e,t){"use strict";e.module("ionic.ui.touch",[]).config(["$provide",function(e){e.decorator("ngClickDirective",["$delegate",function(e){return e.shift(),e}])}]).factory("$ionicNgClick",["$parse",function(e){function n(e){t.tapElement(e.target,e)}return function(i,o,r){var a=e(r);o.on("click",function(e){i.$apply(function(){a(i,{$event:e})})}),t.on("tap",n,o[0]),o.onclick=function(){},i.$on("$destroy",function(){t.off("tap",n,o[0])})}}]).directive("ngClick",["$ionicNgClick",function(e){return function(t,n,i){e(t,n,i.ngClick)}}]).directive("ionStopEvent",function(){function e(e){e.stopPropagation()}return{restrict:"A",link:function(t,n,i){n.bind(i.ionStopEvent,e)}}})}(window.angular,window.ionic),function(){"use strict";angular.module("ionic.ui.viewState",["ionic.service.view","ionic.service.gesture","ngSanitize"]).directive("ionNavBar",["$ionicViewService","$rootScope","$animate","$compile",function(e,t,n,i){return{restrict:"E",replace:!0,scope:{animation:"@",type:"@",backType:"@backButtonType",backLabel:"@backButtonLabel",backIcon:"@backButtonIcon",alignTitle:"@"},controller:function(){},template:'',compile:function(){return function(e,t){function o(t){angular.isDefined(t.hideBackButton)&&(e.backButtonEnabled=!!t.hideBackButton),e.isReverse="back"==t.navDirection,e.animateEnabled=!(!t.navDirection||t.animate===!1),e.leftButtons=t.leftButtons,e.rightButtons=t.rightButtons,e.oldTitle=e.title,e.title=t&&t.title||"",e.oldTitle!==e.title&&(e.animateEnabled?r():a.align())}function r(){var o,r,c;c=t[0].querySelectorAll(".title"),c.length&&(o=i('

')(e),angular.element(c[0]).replaceWith(o)),r=i('

')(e),ionic.requestAnimationFrame(function(){o&&n.leave(angular.element(o));var i=o&&angular.element(o)||null;n.enter(r,t,i,function(){a.align()}),angular.forEach(c,function(e){e&&e.parentNode&&angular.element(e).remove()}),e.$digest(),ionic.requestAnimationFrame(function(){r[0].classList.remove("invisible")})})}e.backButtonEnabled=!1,e.animateEnabled=!0,e.isReverse=!1,e.isInvisible=!0,e.navBarClass=function(){return(e.type?" "+e.type:"")+(e.isReverse?" reverse":"")+(e.isInvisible?" invisible":"")+(!e.animationDisabled&&e.animation?" "+e.animation:"")};var a=new ionic.views.HeaderBar({el:t[0],alignTitle:e.alignTitle||"center"});e.headerBarView=a,e.$on("viewState.viewEnter",function(e,t){o(t)}),e.$on("viewState.showNavBar",function(t,n){e.isInvisible=!n});var c=[e.$parent.$on("$viewHistory.historyChange",function(t,n){e.backButtonEnabled=!!n.showBack}),e.$parent.$on("viewState.leftButtonsChanged",function(t,n){e.leftButtons=n}),e.$parent.$on("viewState.rightButtonsChanged",function(t,n){e.rightButtons=n}),e.$parent.$on("viewState.showBackButton",function(t,n){e.backButtonEnabled=!!n}),e.$parent.$on("viewState.titleUpdated",function(t,n){e.title=n&&n.title||""})];e.$on("$destroy",function(){for(var e=0;e {{label}}',link:function(e){e.goBack=t}}}]).directive("ionNavView",["$ionicViewService","$state","$compile","$controller","$animate",function(e,t,n,i,o){var r=!1,a={restrict:"E",terminal:!0,priority:2e3,transclude:!0,controller:["$scope",function(e){this.setNextAnimation=function(t){e.$nextAnimation=t}}],compile:function(c,l,s){return function(c,l,u){function d(r){o.enabled()===!1&&(r=!1);var a=t.$current&&t.$current.locals[p];if(a!==v){var s=e.getRenderer(l,u,c);if(f&&(f.$destroy(),f=null),!a)return v=null,$.state=null,l.append(h);var d=angular.element("
").html(a.$template).contents(),m=s().register(d);s(r).leave(),v=a,$.state=a.$$state,s(r).enter(d);var b=n(d);if(f=c.$new(),f.$navDirection=m.navDirection,a.$$controller){a.$scope=f;var w=i(a.$$controller,a);l.children().data("$ngControllerController",w)}b(f);var y=e._getViewById(m.viewId)||{};f.$broadcast("$viewContentLoaded",y),g&&f.$eval(g),d=null}}var f,v,p=u[a.name]||u.name||"",g=u.onload||"",h=s(c);l.append(h);var m=l.parent().inheritedData("$uiView");p.indexOf("@")<0&&(p=p+"@"+(m?m.state.name:""));var $={name:p,state:null};l.data("$uiView",$);var b=function(){if(!r){r=!0;try{d(!0)}catch(e){throw r=!1,e}r=!1}};c.$on("$stateChangeSuccess",b),c.$on("$viewContentLoading",b),d(!1)}}};return a}])}(),function(){"use strict";angular.module("ionic.ui.virtRepeat",[]).directive("ionVirtRepeat",function(){return{require:["?ngModel","^virtualList"],transclude:"element",priority:1e3,terminal:!0,compile:function(){return function(e,t,n,i){var o=i[1];o.listView.renderViewport=function(){}}}}})}(ionic),function(){"use strict";function e(e){var t=e.match(/^\s*([\$\w]+)\s+in\s+(\S*)\s*$/);if(!t)throw new Error("Expected sfVirtualRepeat in form of '_item_ in _collection_' but got '"+e+"'.");return{value:t[1],collection:t[2]}}function t(e){var t={overflow:"auto"},n=window.getComputedStyle?window.getComputedStyle(e[0]):e[0].currentStyle,i=n&&n.getPropertyValue("max-height"),o=n&&n.getPropertyValue("height");i&&"0px"!==i?t.maxHeight=i:t.height=o&&"0px"!==o?o:window.innerHeight,e.css(t)}function n(e){var t={margin:0,padding:0,border:0,"box-sizing":"border-box"};e.css(t)}function i(e){var t=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle,n=t&&t.getPropertyValue("max-height"),i=t&&t.getPropertyValue("height");if(i&&"0px"!==i&&"auto"!==i)$log.info('Row height is "%s" from css height',i);else if(n&&"0px"!==n&&"none"!==n)i=n,$log.info('Row height is "%s" from css max-height',i);else{if(!e.clientHeight)throw new Error("Unable to compute height of row");i=e.clientHeight+"px",$log.info('Row height is "%s" from client height',i)}return angular.element(e).css("height",i),parseInt(i,10)}angular.module("ionic.ui.virtualRepeat",[]).directive("ionVirtualRepeat",["$log",function(o){return{require:["?ngModel, ^virtualList"],transclude:"element",priority:1e3,terminal:!0,compile:function(r,a){var c=e(a.sfVirtualRepeat);return function(e,r,a,l){function s(e,t,n){var i=n.$new();return i[c.value]=t[e],i.$index=e,i.$first=0===e,i.$last=e===t.length-1,i.$middle=!(i.$first||i.$last),i.$watch(function(){i[c.value]=t[e]}),i}function u(e,t,n,i,o){var r,a,c,l=document.createDocumentFragment(),u=[];for(a=e;a!==t;a++)c=s(a,n,i),r=linker(c,angular.noop),u.push(r),l.appendChild(r[0]);return o.after(l),u}function d(){var e=clip(y.firstActive,y.firstVisible-y.lowWater,y.firstVisible-y.highWater),t=clip(y.firstActive+y.active,y.firstVisible+y.visible+y.lowWater,y.firstVisible+y.visible+y.highWater);y.firstActive=Math.max(0,e),y.active=Math.min(t,y.total)-y.firstActive}function f(t){$&&e.$apply(function(){y.firstVisible=Math.floor(t.target.scrollTop/$),y.visible=Math.ceil(w.viewport[0].clientHeight/$),o.log("scroll to row %o",y.firstVisible),b=t.target.scrollTop+t.target.clientHeight>=t.target.scrollHeight,d(),o.log(" state is now %o",y),o.log(" sticky = %o",b)})}function v(e){var t=e.$eval(c.collection);return t.length!==y.total&&(y.total=t.length,d()),{start:y.firstActive,active:y.active,len:t.length}}function p(e,t){var n,i,o=Array.prototype[e];for(i=0;t>i;i++)n=o.call(m),n.scope().$destroy(),n.remove()}function g(e,t,n){var a,l=t.start+t.active,s=n.$eval(c.collection);if(e===t)o.info("initial listen"),a=u(e.start,l,s,n,r),m=a,m.length&&($=i(a[0][0]));else{var d=e.start+e.active,f=e.start>=t.start,v=f?e.start-t.start:t.start-e.start,g=d>=l?d-l:l-d,h=v<(f?t.active:e.active);if(o.info("change by %o,%o rows %s",v,g,f?"forward":"backward"),h){if(f?(o.info("need to remove from the top"),p("shift",v)):v&&(o.info("need to add at the top"),a=u(e.start,t.start,s,n,r),m=a.concat(m)),l>d)o.info("need to remove from the bottom"),p("pop",l-d);else if(g){var y=m[m.length-1];o.info("need to add to the bottom"),a=u(l,d,s,n,y),m=m.concat(a)}}else o.info("non-contiguous change"),p("pop",m.length),m=u(e.start,d,s,n,r);!$&&m.length&&($=i(m[0][0])),w.content.css({"padding-top":e.start*$+"px"})}w.content.css({height:e.len*$+"px"}),b&&(w.viewport[0].scrollTop=w.viewport[0].clientHeight+w.viewport[0].scrollHeight)}var h=l[1],m=[],$=0,b=!1,w=h.element,y="ngModel"in a?e.$eval(a.ngModel):{};y.firstActive=0,y.firstVisible=0,y.visible=0,y.active=0,y.total=0,y.lowWater=y.lowWater||100,y.highWater=y.highWater||300,n(w.content),t(w.viewport),w.bind("momentumScrolled",f),e.$on("$destroy",function(){w.unbind("momentumScrolled",f)}),e.$watch(v,g,!0)}}}}])}(ionic),function(){"use strict";angular.module("ionic.ui.scroll").controller("$ionicScroll",["$scope","scrollViewOptions","$timeout","$ionicScrollDelegate","$window",function(e,t,n,i,o){function r(){l.resize()}var a=this,c=this.element=t.el,l=this.scrollView=new ionic.views.Scroll(t);angular.isDefined(t.bouncing)||ionic.Platform.ready(function(){l.options.bouncing=!ionic.Platform.isAndroid()});var s=this.$element=angular.element(c);s.data("$$ionicScrollController",this),i.register(e,s,l),o.addEventListener("resize",r),e.$on("$destroy",function(){o.removeEventListener("resize",r)}),this.setRefresher=function(e,t){var n=this.refresher=t,i=a.refresher.clientHeight||0;l.activatePullToRefresh(i,function(){n.classList.add("active"),e.$onPulling()},function(){n.classList.remove("refreshing"),n.classList.remove("active")},function(){n.classList.add("refreshing"),e.$onRefresh()})},n(function(){l.run()})}])}();