text: /*!
   * Angular Material Design
   * https://github.com/angular/material
   * @license MIT
   * v1.1.0-rc.5-master-7f01138
   */
  !function(e,t,n){"use strict";function o(e,o,i,r,l,a){function d(l,d){var s=t.element("<md-select-value><span></span></md-select-value>");if(s.append('<span class="_md-select-icon" aria-hidden="true"></span>'),s.addClass("_md-select-value"),s[0].hasAttribute("id")||s.attr("id","select_value_label_"+o.nextUid()),l.find("md-content").length||l.append(t.element("<md-content>").append(l.contents())),d.mdOnOpen&&(l.find("md-content").prepend(t.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')),l.find("md-option").attr("ng-show","$$loadingAsyncDone")),d.name){var c=t.element('<select class="_md-visually-hidden">');c.attr({name:d.name,"aria-hidden":"true",tabindex:"-1"});var u=l.find("md-option");t.forEach(u,function(e){var n=t.element("<option>"+e.innerHTML+"</option>");e.hasAttribute("ng-value")?n.attr("ng-value",e.getAttribute("ng-value")):e.hasAttribute("value")&&n.attr("value",e.getAttribute("value")),c.append(n)}),c.append('<option ng-value="'+d.ngModel+'" selected></option>'),l.parent().append(c)}var p=o.parseAttributeBoolean(d.multiple),f=p?"multiple":"",m='<div class="_md-select-menu-container" aria-hidden="true"><md-select-menu {0}>{1}</md-select-menu></div>';return m=o.supplant(m,[f,l.html()]),l.empty().append(s),l.append(m),d.tabindex||d.$set("tabindex",0),function(l,d,s,c){function u(){var e=d.attr("aria-label")||d.attr("placeholder");!e&&C&&C.label&&(e=C.label.text()),y=e,r.expect(d,"aria-label",e)}function f(){E&&(D=D||E.find("md-select-menu").controller("mdSelectMenu"),k.setLabelText(D.selectedLabels()))}function m(){if(y){var e=D.selectedLabels({mode:"aria"});d.attr("aria-label",e.length?y+": "+e:y)}}function h(){C&&C.setHasValue(D.selectedLabels().length>0||(d[0].validity||{}).badInput)}function g(){if(E=t.element(d[0].querySelector("._md-select-menu-container")),T=l,s.mdContainerClass){var e=E[0].getAttribute("class")+" "+s.mdContainerClass;E[0].setAttribute("class",e)}D=E.find("md-select-menu").controller("mdSelectMenu"),D.init(M,s.ngModel),d.on("$destroy",function(){E.remove()})}function v(e){var n=[32,13,38,40];if(-1!=n.indexOf(e.keyCode))e.preventDefault(),b(e);else if(e.keyCode<=90&&e.keyCode>=31){e.preventDefault();var o=D.optNodeForKeyboardSearch(e);if(!o||o.hasAttribute("disabled"))return;var i=t.element(o).controller("mdOption");D.isMultiple||D.deselect(Object.keys(D.selected)[0]),D.select(i.hashKey,i.value),D.refreshViewValue()}}function b(){T._mdSelectIsOpen=!0,d.attr("aria-expanded","true"),e.show({scope:T,preserveScope:!0,skipCompile:!0,element:E,target:d[0],selectCtrl:k,preserveElement:!0,hasBackdrop:!0,loadingAsync:s.mdOnOpen?l.$eval(s.mdOnOpen)||!0:!1})["finally"](function(){T._mdSelectIsOpen=!1,d.focus(),d.attr("aria-expanded","false"),M.$setTouched()})}var $,y,w=!0,C=c[0],k=c[1],M=c[2],x=c[3],S=d.find("md-select-value"),A=t.isDefined(s.readonly),O=o.parseAttributeBoolean(s.mdNoAsterisk);if(C){var _=C.isErrorGetter||function(){return M.$invalid&&(M.$touched||o.isParentFormSubmitted(d))};if(C.input&&d.find("md-select-header").find("input")[0]!==C.input[0])throw new Error("<md-input-container> can only have *one* child <input>, <textarea> or <select> element!");C.input=d,C.label||r.expect(d,"aria-label",d.attr("placeholder")),l.$watch(_,C.setInvalid)}var E,T,D;g(),i(d),x&&t.isDefined(s.multiple)&&o.nextTick(function(){var e=M.$modelValue||M.$viewValue;e&&x.$setPristine()});var V=M.$render;M.$render=function(){V(),f(),m(),h()},s.$observe("placeholder",M.$render),C&&C.label&&s.$observe("required",function(e){C.label.toggleClass("md-required",e&&!O)}),k.setLabelText=function(e){if(k.setIsPlaceholder(!e),s.mdSelectedText)e=a(s.mdSelectedText)(l);else{var t=s.placeholder||(C&&C.label?C.label.text():"");e=e||t||""}var n=S.children().eq(0);n.html(e)},k.setIsPlaceholder=function(e){e?(S.addClass("_md-select-placeholder"),C&&C.label&&C.label.addClass("_md-placeholder")):(S.removeClass("_md-select-placeholder"),C&&C.label&&C.label.removeClass("_md-placeholder"))},A||(d.on("focus",function(e){C&&C.setFocused(!0)}),d.on("blur",function(e){w&&(w=!1,T._mdSelectIsOpen&&e.stopImmediatePropagation()),T._mdSelectIsOpen||(C&&C.setFocused(!1),h())})),k.triggerClose=function(){a(s.mdOnClose)(l)},l.$$postDigest(function(){u(),f(),m()}),l.$watch(function(){return D.selectedLabels()},f);var R;s.$observe("ngMultiple",function(e){R&&R();var t=a(e);R=l.$watch(function(){return t(l)},function(e,t){e===n&&t===n||(e?d.attr("multiple","multiple"):d.removeAttr("multiple"),d.attr("aria-multiselectable",e?"true":"false"),E&&(D.setMultiple(e),V=M.$render,M.$render=function(){V(),f(),m(),h()},M.$render()))})}),s.$observe("disabled",function(e){t.isString(e)&&(e=!0),$!==n&&$===e||($=e,e?d.attr({"aria-disabled":"true"}).removeAttr("tabindex").off("click",b).off("keydown",v):d.attr({tabindex:s.tabindex,"aria-disabled":"false"}).on("click",b).on("keydown",v))}),s.hasOwnProperty("disabled")||s.hasOwnProperty("ngDisabled")||(d.attr({"aria-disabled":"false"}),d.on("click",b),d.on("keydown",v));var B={role:"listbox","aria-expanded":"false","aria-multiselectable":p&&!s.ngMultiple?"true":"false"};d[0].hasAttribute("id")||(B.id="select_"+o.nextUid());var P="select_container_"+o.nextUid();E.attr("id",P),B["aria-owns"]=P,d.attr(B),l.$on("$destroy",function(){e.destroy()["finally"](function(){C&&(C.setFocused(!1),C.setHasValue(!1),C.input=null),M.$setTouched()})})}}return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:d,controller:function(){}}}function i(e,o,i){function r(e,n,r,l){function a(e){13!=e.keyCode&&32!=e.keyCode||d(e)}function d(n){var i=o.getClosest(n.target,"md-option"),r=i&&t.element(i).data("$mdOptionController");if(i&&r){if(i.hasAttribute("disabled"))return n.stopImmediatePropagation(),!1;var l=s.hashGetter(r.value),a=t.isDefined(s.selected[l]);e.$apply(function(){s.isMultiple?a?s.deselect(l):s.select(l,r.value):a||(s.deselect(Object.keys(s.selected)[0]),s.select(l,r.value)),s.refreshViewValue()})}}var s=l[0];n.addClass("_md"),i(n),n.on("click",d),n.on("keypress",a)}function l(i,r,l){function a(){var e=s.ngModel.$modelValue||s.ngModel.$viewValue||[];if(t.isArray(e)){var n=Object.keys(s.selected),o=e.map(s.hashGetter),i=n.filter(function(e){return-1===o.indexOf(e)});i.forEach(s.deselect),o.forEach(function(t,n){s.select(t,e[n])})}}function d(){var e=s.ngModel.$viewValue||s.ngModel.$modelValue;Object.keys(s.selected).forEach(s.deselect),s.select(s.hashGetter(e),e)}var s=this;s.isMultiple=t.isDefined(r.multiple),s.selected={},s.options={},i.$watchCollection(function(){return s.options},function(){s.ngModel.$render()});var u,p;s.setMultiple=function(e){function n(e,n){return t.isArray(e||n||[])}var o=s.ngModel;p=p||o.$isEmpty,s.isMultiple=e,u&&u(),s.isMultiple?(o.$validators["md-multiple"]=n,o.$render=a,i.$watchCollection(s.modelBinding,function(e){n(e)&&a(e),s.ngModel.$setPristine()}),o.$isEmpty=function(e){return!e||0===e.length}):(delete o.$validators["md-multiple"],o.$render=d)};var f,m,h,g="",v=300;s.optNodeForKeyboardSearch=function(e){f&&clearTimeout(f),f=setTimeout(function(){f=n,g="",h=n,m=n},v),g+=String.fromCharCode(e.keyCode);var o=new RegExp("^"+g,"i");m||(m=l.find("md-option"),h=new Array(m.length),t.forEach(m,function(e,t){h[t]=e.textContent.trim()}));for(var i=0;i<h.length;++i)if(o.test(h[i]))return m[i]},s.init=function(n,o){if(s.ngModel=n,s.modelBinding=o,s.ngModel.$isEmpty=function(e){return!s.options[s.hashGetter(e)]},n.$options&&n.$options.trackBy){var r={},l=e(n.$options.trackBy);s.hashGetter=function(e,t){return r.$value=e,l(t||i,r)}}else s.hashGetter=function(e){return t.isObject(e)?"object_"+(e.$$mdSelectId||(e.$$mdSelectId=++c)):e};s.setMultiple(s.isMultiple)},s.selectedLabels=function(e){e=e||{};var t=e.mode||"html",n=o.nodesToArray(l[0].querySelectorAll("md-option[selected]"));if(n.length){var i;return"html"==t?i=function(e){var t=e.innerHTML,n=e.querySelector(".md-ripple-container");n&&(t=t.replace(n.outerHTML,""));var o=e.querySelector("._md-container");return o&&(t=t.replace(o.outerHTML,"")),t}:"aria"==t&&(i=function(e){return e.hasAttribute("aria-label")?e.getAttribute("aria-label"):e.textContent}),n.map(i).join(", ")}return""},s.select=function(e,t){var n=s.options[e];n&&n.setSelected(!0),s.selected[e]=t},s.deselect=function(e){var t=s.options[e];t&&t.setSelected(!1),delete s.selected[e]},s.addOption=function(e,n){if(t.isDefined(s.options[e]))throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "'+n.value+'" found.');s.options[e]=n,t.isDefined(s.selected[e])&&(s.select(e,n.value),s.ngModel.$modelValue&&s.hashGetter(s.ngModel.$modelValue)===e&&s.ngModel.$validate(),s.refreshViewValue())},s.removeOption=function(e){delete s.options[e]},s.refreshViewValue=function(){var e,n=[];for(var o in s.selected)(e=s.options[o])?n.push(e.value):n.push(s.selected[o]);var i=s.ngModel.$options&&s.ngModel.$options.trackBy,r=s.isMultiple?n:n[0],l=s.ngModel.$modelValue;(i?t.equals(l,r):l==r)||(s.ngModel.$setViewValue(r),s.ngModel.$render())}}return l.$inject=["$scope","$attrs","$element"],{restrict:"E",require:["mdSelectMenu"],scope:!1,controller:l,link:{pre:r}}}function r(e,n){function o(e,n){return e.append(t.element('<div class="_md-text">').append(e.contents())),e.attr("tabindex",n.tabindex||"0"),i}function i(o,i,r,l){function a(e,t,n){if(!c.hashGetter)return void(n||o.$$postDigest(function(){a(e,t,!0)}));var i=c.hashGetter(t,o),r=c.hashGetter(e,o);s.hashKey=r,s.value=e,c.removeOption(i,s),c.addOption(r,s)}function d(){var e={role:"option","aria-selected":"false"};i[0].hasAttribute("id")||(e.id="select_option_"+n.nextUid()),i.attr(e)}var s=l[0],c=l[1];c.isMultiple&&(i.addClass("_md-checkbox-enabled"),i.prepend(u.clone())),t.isDefined(r.ngValue)?o.$watch(r.ngValue,a):t.isDefined(r.value)?a(r.value):o.$watch(function(){return i.text().trim()},a),r.$observe("disabled",function(e){e?i.attr("tabindex","-1"):i.attr("tabindex","0")}),o.$$postDigest(function(){r.$observe("selected",function(e){t.isDefined(e)&&("string"==typeof e&&(e=!0),e?(c.isMultiple||c.deselect(Object.keys(c.selected)[0]),c.select(s.hashKey,s.value)):c.deselect(s.hashKey),c.refreshViewValue())})}),e.attach(o,i),d(),o.$on("$destroy",function(){c.removeOption(s.hashKey,s)})}function r(e){this.selected=!1,this.setSelected=function(t){t&&!this.selected?e.attr({selected:"selected","aria-selected":"true"}):!t&&this.selected&&(e.removeAttr("selected"),e.attr("aria-selected","false")),this.selected=t}}return r.$inject=["$element"],{restrict:"E",require:["mdOption","^^mdSelectMenu"],controller:r,compile:o}}function l(){function e(e,n){function o(){return e.parent().find("md-select-header").length}function i(){var o=e.find("label");o.length||(o=t.element("<label>"),e.prepend(o)),o.addClass("_md-container-ignore"),n.label&&o.text(n.label)}o()||i()}return{restrict:"E",compile:e}}function a(){return{restrict:"E"}}function d(o){function i(o,i,c,u,p,f,m,h,g){function v(e,t,n){function o(){return m(t,{addClass:"_md-leave"}).start()}function i(){t.removeClass("_md-active"),t.attr("aria-hidden","true"),t[0].style.display="none",$(n),!n.$destroy&&n.restoreFocus&&n.target.focus()}return n=n||{},n.cleanupInteraction(),n.cleanupResizing(),n.hideBackdrop(),n.$destroy===!0?i():o().then(i)}function b(e,r,l){function a(e,t,n){return n.parent.append(t),p(function(e,n){try{m(t,{removeClass:"_md-leave",duration:0}).start().then(d).then(e)}catch(o){n(o)}})}function d(){return p(function(t){if(l.isRemoved)return p.reject(!1);var n=y(e,r,l);n.container.element.css(C.toCss(n.container.styles)),n.dropDown.element.css(C.toCss(n.dropDown.styles)),f(function(){r.addClass("_md-active"),n.dropDown.element.css(C.toCss({transform:""})),v(l.focusedNode),t()})})}function s(e,t,n){return n.disableParentScroll&&!c.getClosest(n.target,"MD-DIALOG")?n.restoreScroll=c.disableScrollAround(n.element,n.parent):n.disableParentScroll=!1,n.hasBackdrop&&(n.backdrop=c.createBackdrop(e,"_md-select-backdrop _md-click-catcher"),h.enter(n.backdrop,g[0].body,null,{duration:0})),function(){n.backdrop&&n.backdrop.remove(),n.disableParentScroll&&n.restoreScroll(),delete n.restoreScroll}}function v(e){e&&!e.hasAttribute("disabled")&&e.focus()}function b(e,n){var o=r.find("md-select-menu");if(!n.target)throw new Error(c.supplant(w,[n.target]));t.extend(n,{isRemoved:!1,target:t.element(n.target),parent:t.element(n.parent),selectEl:o,contentEl:r.find("md-content"),optionNodes:o[0].getElementsByTagName("md-option")})}function $(){var n=function(e,t,n){return function(){if(!n.isRemoved){var o=y(e,t,n),i=o.container,r=o.dropDown;i.element.css(C.toCss(i.styles)),r.element.css(C.toCss(r.styles))}}}(e,r,l),o=t.element(u);return o.on("resize",n),o.on("orientationchange",n),function(){o.off("resize",n),o.off("orientationchange",n)}}function k(){l.loadingAsync&&!l.isRemoved&&(e.$$loadingAsyncDone=!1,p.when(l.loadingAsync).then(function(){e.$$loadingAsyncDone=!0,delete l.loadingAsync}).then(function(){f(d)}))}function M(){function e(e){e.preventDefault(),e.stopPropagation(),l.restoreFocus=!1,c.nextTick(o.hide,!0)}function t(e){var t=i.KEY_CODE;switch(e.preventDefault(),e.stopPropagation(),e.keyCode){case t.UP_ARROW:return s();case t.DOWN_ARROW:return d();case t.SPACE:case t.ENTER:var n=c.getClosest(e.target,"md-option");n&&(p.triggerHandler({type:"click",target:n}),e.preventDefault()),u(e);break;case t.TAB:case t.ESCAPE:e.stopPropagation(),e.preventDefault(),l.restoreFocus=!0,c.nextTick(o.hide,!0);break;default:if(e.keyCode>=31&&e.keyCode<=90){var r=p.controller("mdSelectMenu").optNodeForKeyboardSearch(e);l.focusedNode=r||l.focusedNode,r&&r.focus()}}}function a(e){var t,o=c.nodesToArray(l.optionNodes),i=o.indexOf(l.focusedNode);do-1===i?i=0:"next"===e&&i<o.length-1?i++:"prev"===e&&i>0&&i--,t=o[i],t.hasAttribute("disabled")&&(t=n);while(!t&&i<o.length-1&&i>0);t&&t.focus(),l.focusedNode=t}function d(){a("next")}function s(){a("prev")}function u(e){function t(){var t=!1;if(e&&e.currentTarget.children.length>0){var n=e.currentTarget.children[0],o=n.scrollHeight>n.clientHeight;if(o&&n.children.length>0){var i=e.pageX-e.currentTarget.getBoundingClientRect().left;i>n.querySelector("md-option").offsetWidth&&(t=!0)}}return t}if(!(e&&"click"==e.type&&e.currentTarget!=p[0]||t())){var n=c.getClosest(e.target,"md-option");n&&n.hasAttribute&&!n.hasAttribute("disabled")&&(e.preventDefault(),e.stopPropagation(),f.isMultiple||(l.restoreFocus=!0,c.nextTick(function(){o.hide(f.ngModel.$viewValue)},!0)))}}if(!l.isRemoved){var p=l.selectEl,f=p.controller("mdSelectMenu")||{};return r.addClass("_md-clickable"),l.backdrop&&l.backdrop.on("click",e),p.on("keydown",t),p.on("click",u),function(){l.backdrop&&l.backdrop.off("click",e),p.off("keydown",t),p.off("click",u),r.removeClass("_md-clickable"),l.isRemoved=!0}}}return k(),b(e,l),l.hideBackdrop=s(e,r,l),a(e,r,l).then(function(e){return r.attr("aria-hidden","false"),l.alreadyOpen=!0,l.cleanupInteraction=M(),l.cleanupResizing=$(),e},l.hideBackdrop)}function $(e){var t=e.selectCtrl;if(t){var n=e.selectEl.controller("mdSelectMenu");t.setLabelText(n?n.selectedLabels():""),t.triggerClose()}}function y(n,o,i){var p,f=o[0],m=i.target[0].children[0],h=g[0].body,v=i.selectEl[0],b=i.contentEl[0],$=h.getBoundingClientRect(),y=m.getBoundingClientRect(),w=!1,C={left:$.left+s,top:s,bottom:$.height-s,right:$.width-s-(c.floatingScrollbars()?16:0)},k={top:y.top-C.top,left:y.left-C.left,right:C.right-(y.left+y.width),bottom:C.bottom-(y.top+y.height)},M=$.width-2*s,x=v.querySelector("md-option[selected]"),S=v.getElementsByTagName("md-option"),A=v.getElementsByTagName("md-optgroup"),O=d(o,b),_=r(i.loadingAsync);p=_?b.firstElementChild||b:x?x:A.length?A[0]:S.length?S[0]:b.firstElementChild||b,b.offsetWidth>M?b.style["max-width"]=M+"px":b.style.maxWidth=null,w&&(b.style["min-width"]=y.width+"px"),O&&v.classList.add("_md-overflow");var E=p;"MD-OPTGROUP"===(E.tagName||"").toUpperCase()&&(E=S[0]||b.firstElementChild||b,p=E),i.focusedNode=E,f.style.display="block";var T=v.getBoundingClientRect(),D=a(p);if(p){var V=u.getComputedStyle(p);D.paddingLeft=parseInt(V.paddingLeft,10)||0,D.paddingRight=parseInt(V.paddingRight,10)||0}if(O){var R=b.offsetHeight/2;b.scrollTop=D.top+D.height/2-R,k.top<R?b.scrollTop=Math.min(D.top,b.scrollTop+R-k.top):k.bottom<R&&(b.scrollTop=Math.max(D.top+D.height-T.height,b.scrollTop-R+k.bottom))}var B,P,L,I,N;w?(B=y.left,P=y.top+y.height,L="50% 0",P+T.height>C.bottom&&(P=y.top-T.height,L="50% 100%")):(B=y.left+D.left-D.paddingLeft+2,P=Math.floor(y.top+y.height/2-D.height/2-D.top+b.scrollTop)+2,L=D.left+y.width/2+"px "+(D.top+D.height/2-b.scrollTop)+"px 0px",I=Math.min(y.width+D.paddingLeft+D.paddingRight,M),N=e.getComputedStyle(m)["font-size"]);var j=f.getBoundingClientRect(),q=Math.round(100*Math.min(y.width/T.width,1))/100,H=Math.round(100*Math.min(y.height/T.height,1))/100;return{container:{element:t.element(f),styles:{left:Math.floor(l(C.left,B,C.right-j.width)),top:Math.floor(l(C.top,P,C.bottom-j.height)),"min-width":I,"font-size":N}},dropDown:{element:t.element(v),styles:{transformOrigin:L,transform:i.alreadyOpen?"":c.supplant("scale({0},{1})",[q,H])}}}}var w="$mdSelect.show() expected a target element in options.target but got '{0}'!",C=c.dom.animator;return{parent:"body",themable:!0,onShow:b,onRemove:v,hasBackdrop:!0,disableParentScroll:!0}}function r(e){return e&&t.isFunction(e.then)}function l(e,t,n){return Math.max(e,Math.min(t,n))}function a(e){return e?{left:e.offsetLeft,top:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}:{left:0,top:0,width:0,height:0}}function d(e,t){var n=!1;try{var o=e[0].style.display;e[0].style.display="block",n=t.scrollHeight>t.offsetHeight,e[0].style.display=o}finally{}return n}return i.$inject=["$mdSelect","$mdConstant","$mdUtil","$window","$q","$$rAF","$animateCss","$animate","$document"],o("$mdSelect").setDefaults({methods:["target"],options:i})}var s=8,c=0,u=t.element('<div class="_md-container"><div class="_md-icon"></div></div>');t.module("material.components.select",["material.core","material.components.backdrop"]).directive("mdSelect",o).directive("mdSelectMenu",i).directive("mdOption",r).directive("mdOptgroup",l).directive("mdSelectHeader",a).provider("$mdSelect",d),o.$inject=["$mdSelect","$mdUtil","$mdTheming","$mdAria","$compile","$parse"],i.$inject=["$parse","$mdUtil","$mdTheming"],r.$inject=["$mdButtonInkRipple","$mdUtil"],d.$inject=["$$interimElementProvider"]}(window,window.angular);