text: !function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){(function(t){e.exports=t.morlock=n(1)}).call(t,function(){return this}())},function(e,t,n){var r=n(2),i=n(3),o=n(4),s=n(5),a=n(6),u=n(7),l=n(8),c=n(9),f=n(10);c.enableJQuery=function(e){e||(e=jQuery),e&&f.defineJQueryPlugins(e)},e.exports=c,e.exports.ResizeController=r,e.exports.BreakpointController=i,e.exports.ResponsiveImage=l,e.exports.ScrollController=o,e.exports.ElementVisibleController=s,e.exports.ScrollPositionController=a,e.exports.StickyElementController=u},function(e,t,n){function r(e){if(!(this instanceof r))return new r(e);a.mixin(this),e=e||{};var t=s.create(e);o.onValue(t,i.partial(this.trigger,"resize"));var n=i.getOption(e.debounceMs,200),u=0>=n?t:o.debounce(n,t);o.onValue(u,i.partial(this.trigger,"resizeEnd")),this.destroy=function(){o.close(t),this.off("resize"),this.off("resizeEnd")}}var i=n(11),o=n(12),s=n(13),a=n(14);e.exports=r},function(e,t,n){function r(e){if(!(this instanceof r))return new r(e);a.mixin(this);var t=s.create(e.breakpoints,{throttleMs:e.throttleMs,debounceMs:e.debounceMs}),n={},u=this;o.onValue(t,function(e){n[e[0]]=e[1];var t=e[1]?"enter":"exit";u.trigger("breakpoint",[e[0],t]),u.trigger("breakpoint:"+e[0],[e[0],t])}),this.getActiveBreakpoints=function(){var e=i.compose(i.isTrue,i.get(n));return i.select(e,i.objectKeys(n))}}var i=n(11),o=n(12),s=n(15),a=n(14);e.exports=r},function(e,t,n){function r(e){if(!(this instanceof r))return new r(e);a.mixin(this),e=e||{};var t=s.create();o.onValue(t,i.partial(this.trigger,"scroll"));var n=o.debounce(i.getOption(e.debounceMs,200),t);o.onValue(n,i.partial(this.trigger,"scrollEnd"))}var i=n(11),o=n(12),s=n(16),a=n(14);e.exports=r},function(e,t,n){function r(e,t){if(!(this instanceof r))return new r(e,t);a.mixin(this),t=t||{},this.elem=e,this.buffer=i.getOption(t.buffer,0),this.isVisible=!1,this.rect=null;var n=this.on;this.on=function(e,t,r){n.apply(this,arguments),"enter"===e&&this.isVisible&&(r?t.call(r):t())};var o=new u;o.on("scroll",this.didScroll,this),o.on("scrollEnd",this.recalculatePosition,this),s.onValue(l.create(),i.functionBind(this.didResize,this)),this.viewportRect={height:window.innerHeight,top:0},this.recalculateOffsets(),setTimeout(i.functionBind(this.recalculateOffsets,this),100)}var i=n(11),o=n(17),s=n(12),a=n(14),u=n(4),l=n(13);r.prototype.didResize=function(){this.recalculateOffsets()},r.prototype.didScroll=function(e){this.update(e)},r.prototype.recalculateOffsets=function(){this.viewportRect.height=o.getViewportHeight(),this.recalculatePosition(),this.update(null,!0)},r.prototype.recalculatePosition=function(e){e||(e=o.documentScrollY()),this.rect=o.getRect(this.elem),this.rect.top+=e,this.rect.top-=this.buffer,this.rect.height+=2*this.buffer},r.prototype.update=function(e,t){e||(e=o.documentScrollY()),this.viewportRect.top=e;var n=this.intersects(this.viewportRect,this.rect),r=t?!0:this.isVisible,i=t?!0:!this.isVisible;r&&!n?(this.isVisible=!1,this.didExit()):i&&n&&(this.isVisible=!0,this.didEnter())},r.prototype.intersects=function(e,t){var n=e.top+e.height,r=t.top+t.height;return e.top<=r&&t.top<=n},r.prototype.didEnter=function(){this.trigger("enter"),this.trigger("both")},r.prototype.didExit=function(){this.trigger("exit"),this.trigger("both")},e.exports=r},function(e,t,n){function r(e){if(!(this instanceof r))return new r(e);a.mixin(this);var t=s.create(e);o.onValue(t,i.partial(this.trigger,"both"));var n=o.filterFirst("before",t);o.onValue(n,i.partial(this.trigger,"before"));var u=o.filterFirst("after",t);o.onValue(u,i.partial(this.trigger,"after"))}var i=n(11),o=n(12),s=n(18),a=n(14);e.exports=r},function(e,t,n){function r(e,t,n){return this instanceof r?(this.elem=e,this.container=t,this.sticky=!1,this.fixed=!1,this.originalZIndex="",this.elemWidth=0,this.elemHeight=0,this.containerTop=0,this.containerHeight=0,this.spacer=document.createElement("div"),n||(n={}),this.zIndex=c.getOption(n.zIndex,1e3),this.marginTop=c.getOption(n.marginTop,0),this.marginBottom=c.getOption(n.marginBottom,0),this.fixCallBack=c.getOption(n.fixCallBack,null),this.unfixCallBack=c.getOption(n.unfixCallBack,null),this.debounce=c.getOption(n.debounce,64),s(this),void g(this,f.documentScrollY())):new r(e,t,n)}function i(e){f.removeClass(e.elem,"fixed"),e.sticky=!1,e.fixed=!1,e.currentTop=null,f.detachElement(e.spacer),f.setStyles(e.elem,{zIndex:"",width:"",height:"",position:"",left:"",top:"",display:""})}function o(e){var t=f.getStyle(e.container,"position");(0===t.length||"static"===t)&&f.setStyle(e.container,"position","relative"),e.originalZIndex=f.getStyle(e.elem,"zIndex"),e.originalPosition=f.getStyle(e.elem,"position"),e.originalOffsetTop=e.elem.offsetTop,e.originalOffsetLeft=e.elem.offsetLeft,e.originalFloat=f.getStyle(e.elem,"float"),e.originalWidth=f.getStyle(e.elem,"width"),e.originalHeight=f.getStyle(e.elem,"height"),e.originalDisplay=f.getStyle(e.elem,"display");var n=e.elem,r=0,i=0;if(n.offsetParent)do r+=n.offsetTop,i+=n.offsetLeft,n=n.offsetParent;while(n);e.originalPositionLeft=i,e.originalPositionTop=r;var o=e.elem.getBoundingClientRect();e.elemWidth=o.width,e.elemHeight=o.height;var s=f.documentScrollY(),p=e.container.getBoundingClientRect();e.containerTop=p.top+s,e.containerHeight=p.height,e.maxTop=e.containerHeight-e.elemHeight-l(e,e.marginBottom),e.fixedTop=e.originalOffsetTop+e.containerHeight-e.elemHeight,f.setStyles(e.elem,{position:"absolute",top:e.originalOffsetTop+"px",left:e.originalOffsetLeft+"px",width:e.elemWidth+"px",height:e.elemHeight+"px",display:"block"}),"absolute"!==e.originalPosition&&(f.addClass(e.spacer,"stick-element-spacer"),f.setStyles(e.spacer,{width:e.elemWidth+"px",height:e.elemHeight+"px",display:f.getStyle(e.elem,"display"),"float":e.originalFloat,pointerEvents:"none",visibility:"hidden",opacity:0,zIndex:-1}),f.insertBefore(e.spacer,e.elem)),e.whenToStick=e.containerTop-l(e,e.marginTop),e.onBeforeHandler_||(e.onBeforeHandler_=c.partial(u,e)),e.onAfterHandler_||(e.onAfterHandler_=c.partial(a,e)),e.topOfContainer_&&(e.topOfContainer_.off("before",e.onBeforeHandler_),e.topOfContainer_.off("after",e.onAfterHandler_)),e.topOfContainer_=new m(e.whenToStick),e.topOfContainer_.on("before",e.onBeforeHandler_),e.topOfContainer_.on("after",e.onAfterHandler_),s<e.whenToStick&&0!==e.originalPositionTop?e.onBeforeHandler_():e.onAfterHandler_()}function s(e){e.subscribedListeners_=[p.onValue(d.create(),g(e)),p.onValue(p.debounce(e.debounce,h.create()),c.functionBind(e.onResize,e))]}function a(e){e.sticky||(f.addClass(e.elem,"fixed"),f.setStyles(e.elem,{position:"absolute",top:e.originalOffsetTop+"px",left:e.originalOffsetLeft+"px",zIndex:e.zIndex}),e.sticky=!0,c.isFunction(e.fixCallBack)&&e.fixCallBack(e))}function u(e){e.sticky&&(f.removeClass(e.elem,"fixed"),f.setStyles(e.elem,{position:"absolute",top:e.originalOffsetTop+"px",left:e.originalOffsetLeft+"px",zIndex:e.originalZIndex}),e.sticky=!1,e.fixed=!1,c.isFunction(e.unfixCallBack)&&e.unfixCallBack(e))}function l(e,t){return c.isFunction(t)?t(e):t}var c=n(11),f=n(17),p=n(12),d=n(16),h=n(13),m=n(6);r.prototype.onResize=function(){this.disabled||(i(this),o(this),g(this,f.documentScrollY()))},r.prototype.disable=function(){this.disabled||(c.forEach(c.call,this.subscribedListeners_),this.topOfContainer_&&(this.topOfContainer_.off("before",this.onBeforeHandler_),this.topOfContainer_.off("after",this.onAfterHandler_)),i(this),this.disabled=!0)},r.prototype.enable=function(){(void 0===this.disabled||this.disabled)&&(s(this),o(this),g(this,f.documentScrollY()),this.disabled=!1)};var g=c.autoCurry(function(e,t){if(e.sticky&&!(0>t)){var n=t+l(e,e.marginTop)-e.containerTop+e.originalOffsetTop;if(n=Math.max(0,Math.min(n,e.maxTop)),e.currentTop!==n){if(n===e.maxTop&&e.fixed){var r=l(e,e.marginBottom);f.setStyles(e.elem,{position:"absolute",top:0===r?e.fixedTop:e.maxTop+"px",left:e.originalOffsetLeft+"px"}),e.fixed=!1}else if(n<e.maxTop&&!e.fixed){var i=l(e,e.marginTop);f.setStyles(e.elem,{top:i+e.originalOffsetTop+"px",left:e.originalPositionLeft+"px",position:"fixed"}),e.fixed=!0}e.currentTop=n}}});e.exports=r},function(e,t,n){function r(){return this instanceof r?(this.element=null,this.loadedSizes={},this.knownSizes=[],this.currentBreakpoint=null,this.src=null,this.isFlexible=!1,this.hasRetina=!1,this.preserveAspectRatio=!1,this.knownDimensions=null,void(this.hasLoaded=!1)):new r}function i(e){var t=new r;t.getPath=m.getOption(e.getPath,h),m.mapObject(m.flip(m.set(t)),e),t.knownDimensions&&t.preserveAspectRatio&&s(t),t.lazyLoad&&(t.observer=new b(t.element),t.observer.on("enter",function i(){t.checkIfVisible(t)&&(t.observer.off("enter",i),t.lazyLoad=!1,u(t))}));var n=new v({debounceMs:m.getOption(e.debounceMs,200)});return n.on("resizeEnd",m.partial(u,t)),y.mixin(t),t}function o(e,t){t||(t={});var n={element:e,src:m.getOption(t.src,e.getAttribute("data-src")),lazyLoad:m.getOption(t.lazyLoad,"true"===e.getAttribute("data-lazyload")),isFlexible:m.getOption(t.isFlexible,"false"!==e.getAttribute("data-isFlexible")),hasRetina:m.getOption(t.hasRetina,"true"===e.getAttribute("data-hasRetina")&&window.devicePixelRatio>1.5),preserveAspectRatio:m.getOption(t.preserveAspectRatio,"true"===e.getAttribute("data-preserveAspectRatio")),checkIfVisible:m.getOption(t.checkIfVisible,function(){return!0})};return"function"==typeof t.getPath&&(n.getPath=t.getPath),n.knownDimensions=m.getOption(t.knownDimensions,function(){var t=e.getAttribute("data-knownDimensions");return t&&"false"!==t?[m.parseInteger(t.split("x")[0]),m.parseInteger(t.split("x")[1])]:void 0},!0),n.knownSizes=a(e),n.knownDimensions&&n.preserveAspectRatio&&s(n),i(n)}function s(e){var t=e.knownDimensions[1]/e.knownDimensions[0]*100;g.setStyle(e.element,"paddingBottom",t+"%")}function a(e){var t=e.getAttribute("data-breakpoints"),n=m.map(function(e){return m.parseInteger(e)},t?t.split(","):[]);return n.length<=0?[0]:m.sortBy(n,function(e,t){return t-e})}function u(e){if(!e.lazyLoad){for(var t,n=g.getRect(e.element),r=0;r<e.knownSizes.length;r++){var i=e.knownSizes[r];if(!(n.width<=i))break;t=i}t||(t=e.knownSizes[0]),t!==e.currentBreakpoint&&(e.currentBreakpoint=t,c(e,e.currentBreakpoint))}}function l(e){e.lazyLoad&&e.observer.recalculateOffsets()}function c(e,t){var n=e.loadedSizes[t];if("undefined"!=typeof n)f(e,n);else{var r=new Image;r.onload=function(){e.loadedSizes[t]=r,f(e,r)},r.onerror=function(){e.hasRetina?r.src=e.getPath(e,t,!1):e.trigger("error",r)},r.src=e.getPath(e,t,e.hasRetina)}}function f(e,t){return e.hasLoaded||(e.hasLoaded=!0,setTimeout(function(){e.element.className+=" loaded"},100)),e.trigger("load",t),"img"===e.element.tagName.toLowerCase()?p(e,t):d(e,t)}function p(e,t){e.element.src=t.src}function d(e,t){var n=g.setStyle(e.element);if(n("backgroundImage","url("+t.src+")"),e.preserveAspectRatio){var r,i;e.knownDimensions?(r=e.knownDimensions[0],i=e.knownDimensions[1]):(r=t.width,i=t.height),n("backgroundSize","cover"),e.isFlexible?n("paddingBottom",i/r*100+"%"):(n("width",r+"px"),n("height",i+"px"))}}function h(e,t,n){if(0===t)return e.src;var r=e.src.split("."),i=r.pop();return r.join(".")+"-"+t+(n?"@2x":"")+"."+i}var m=n(11),g=n(17),v=n(2),b=n(5),y=n(14);e.exports={create:i,createFromElement:o,update:u,checkVisibility:l}},function(e,t,n){function r(e){for(var t=!1,n=0;n<v.length;n++)if(c.equals(v[n],e)){t=!0;break}if(t)return b[n];var r=new o(e);return v.push(e),b.push(r),r}var i=n(2),o=n(3),s=n(4),a=n(5),u=n(6),l=n(7),c=n(11),f=n(19),p=n(20),d=n(12),h=c.memoize(function(e){return new i(e)}),m=c.memoize(function(e){return new s(e)}),g=c.memoize(function(e){return morlock.observePosition(e)}),v=[],b=[];e.exports={onResize:function(e){var t=h({debounceMs:0});return t.on("resize",e)},onResizeEnd:function(e,t){var n=h(t);return n.on("resizeEnd",e)},onScroll:function(e){var t=m();return t.on("scroll",e)},onScrollEnd:function(e){var t=m();return t.on("scrollEnd",e)},observeElement:function(e,t){return new a(e,t)},observePosition:function(e){return new u(e)},stickyElement:function(e,t,n){return new l(e,t,n)},breakpoint:{enter:function(e,t){var n=r({breakpoints:{singleton:e}});n.on("breakpoint:singleton",function(e){"enter"===e[1]&&t(e)})},exit:function(e,t){var n=r({breakpoints:{singleton:e}});n.on("breakpoint:singleton",function(e){"exit"===e[1]&&t(e)})}},position:{before:function(e,t){var n=g(e);return n.on("before",t)},after:function(e,t){var n=g(e);return n.on("after",t)}}},e.exports.Stream=d,e.exports.Events=f,e.exports.Buffer=p,e.exports.Util=c},function(e,t,n){function r(e){e.fn.morlockResize=function(t){return e(this).each(function(){if(this===window){var n=e(this);i.onResize(function(e){n.trigger("morlockResize",e)}),i.onResizeEnd(function(e){n.trigger("morlockResizeEnd",e)},t)}})},e.fn.morlockScroll=function(){return e(this).each(function(){if(this===window){var t=e(this);i.onScroll(function(){t.trigger("morlockScroll")}),i.onScrollEnd(function(){t.trigger("morlockScrollEnd")})}})},e.fn.morlockElementPosition=function(t){return e(this).each(function(){if(this===window){var n=e(this);i.position.before(t,function(){n.trigger("morlockElementPositionBefore",t)}),i.position.after(t,function(){n.trigger("morlockElementPositionAfter",t)})}})},e.fn.morlockBreakpoint=function(t){return e(this).each(function(){if(this===window){var n=e(this),r=new o(t);r.on("breakpoint",function(e){n.trigger("morlockBreakpoint",e)})}})},e.fn.morlockElementVisible=function(t){return e(this).each(function(){var n=e(this),r=i.observeElement(this,t);r.on("enter",function(){n.trigger("morlockElementVisibleEnter")}),r.on("exit",function(){n.trigger("morlockElementVisibleExit")})})},e.fn.morlockStickyElement=function(t,n){return e(this).each(function(){var r=this;e(r).find(t).each(function(){e(this).data("morlockStickyElementController",new s(this,r,n))})})},e.fn.morlockResponsiveImage=function(t){return e(this).each(function(){var n=e(this),r=a.createFromElement(this,t);r.on("load",function(e){n.trigger("morlockResponsiveImageLoaded",e)}),n.data("morlockResponsiveImageController",r)})}}var i=n(9),o=n(3),s=n(7),a=n(8);e.exports={defineJQueryPlugins:r}},function(e){function t(e,t){return q.call(e,t)}function n(e){return t(e,0)}function r(e,t){return e.concat(t)}function i(e,t){if(Q)return Q.call(e,t);for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1}function o(e,t){var n,r=0;return function(){var i=arguments,o=+new Date,s=t-(o-r);0>=s?(clearTimeout(n),n=null,r=o,e.apply(null,i)):n||(n=setTimeout(function(){r=+new Date,n=null,e.apply(null,i)},s))}}function s(e,t){var n=null;return function(){clearTimeout(n);var r=arguments;n=setTimeout(function(){n=null,e.apply(null,r)},t)}}function a(e){return e}function u(e,t){var n=Object.create(null);return t=b(t)?t:JSON.stringify,function(){var r=arguments.length>0?t.apply(this,arguments):"noargs";return b(n[r])||(n[r]=e.apply(this,arguments)),n[r]}}function l(e){var t=L(arguments);return function(){return e.apply(null,t.concat(n(arguments)))}}function c(e,t){t||(t=e.length);var i=function(){if(arguments.length<t){var i=t-arguments.length;return i>0?c(l.apply(null,r([e],n(arguments))),i):l.apply(null,r([e],n(arguments)))}return e.apply(null,arguments)};return i.curried=!0,i.toString=function(){return e.toString()},i.arity=e.length,i}function f(e,t){return w(function(n,r){return n[r]=e(t[r],r),n},m(t),{})}function p(e){return 1===e.length?e:function(t){return e.call(this,t)}}function d(e,t){if(J)return t?J.call(t,e):t;for(var n=[],r=0;t&&r<t.length;r++)n.push(e(t[r],r,t));return n}function h(e,t){if(Z)return void(t&&Z.call(t,e));for(var n=0;n<t.length;n++)e(t[n],n,t)}function m(e){if(!e)return null;if(Object.keys)return Object.keys(e);var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}function g(e){return function(){return e.apply(null,K.call(arguments))}}function v(e){return!(e&&e.length)}function b(e){return"undefined"!=typeof e}function y(e,t,n){return b(e)?e:n?t():t}function x(e){var t=it(e);return d(t,m(e))}function w(e,t,n){if(U)return t?U.call(t,e,n):n;for(var r=0;t&&r<t.length;r++)n=e(n,t[r],r,t);return n}function k(e,t){if(G)return t?G.call(t,e):null;for(var n=[],r=0;t&&r<t.length;r++)e(t[r],r,t)===!0&&n.push(t[r]);return n}function S(e,t){return k(D(E,e),t)}function E(e){return!e}function O(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return e===t;var i=e.toString();if(i!=t.toString())return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if("object"!=typeof e||"object"!=typeof t)return!1;for(var o=n.length;o--;)if(n[o]==e)return r[o]==t;var s=e.constructor,a=t.constructor;if(s!==a&&!(C(s)&&s instanceof s&&C(a)&&a instanceof a)&&"constructor"in e&&"constructor"in t)return!1;n.push(e),r.push(t);var u=0,l=!0;if("[object Array]"==i){if(u=e.length,l=u==t.length)for(;u--&&(l=O(e[u],t[u],n,r)););}else{for(var c in e)if(V(e,c)&&(u++,!(l=V(t,c)&&O(e[c],t[c],n,r))))break;if(l){for(c in t)if(V(t,c)&&!u--)break;l=!u}}return n.pop(),r.pop(),l}function C(e){return"function"==typeof e}function V(e,t){return hasOwnProperty.call(e,t)}function T(e,t){return function(){var n=e;return"function"==typeof e&&(n=e.apply(null,arguments)),n?t.apply(null,arguments):void 0}}function z(e,t){return rt?rt.call(e,t):function(){return e.apply(t,arguments)}}function A(e){var n=L(arguments);return rt?(n.unshift(void 0),rt.apply(e,n)):function(){var r=t(arguments,0);return e.apply(this,n.concat(r))}}function B(e,t){return function(){setTimeout(A(e,arguments),t)}}function R(e,t){return B(e,b(t)?t:1)()}function P(e,t){return e.apply(null,t)}function L(e,n){return n=b(n)?n:1,t(e,n)}function M(e){return e.apply(null,L(arguments))}function H(e,t){return t[e]}function I(e){return e[0]}function j(e){return e[e.length-1]}function F(e){var t=n(e);return $.call(t),t}function _(e){var t=n(e);return tt.call(t),t}function D(){var e=arguments;return function(t){for(var n=e.length-1;n>=0;--n)t=e[n](t);return t}}function N(e){var t=L(arguments),n=!1;return function(){return n?void 0:(n=!0,e.apply(null,t))}}function W(e){return parseInt(e,10)}function Y(e){return function(){return e}}var q=Array.prototype.slice,Q=Array.prototype.indexOf,J=Array.prototype.map,Z=Array.prototype.forEach,K=Array.prototype.reverse,U=Array.prototype.reduce,G=Array.prototype.filter,X=Array.prototype.unshift,$=Array.prototype.shift,et=Array.prototype.push,tt=Array.prototype.pop,nt=Array.prototype.sort,rt=Function.prototype.bind,it=c(function(e,t){return e[t]}),ot=c(function(e,t,n){e[t]=n}),st=g(it),at=c(function(e,t){return O(e,t,[],[])}),ut=g(M),lt=c(function(e,t){var r=n(e);return X.call(r,t),r}),ct=c(function(e,t){var r=n(e);return et.call(r,t),r}),ft=c(function(e,t){var r=n(e);return nt.call(r,t),r}),pt=g(D),dt=at(!0);e.exports={concat:r,indexOf:i,throttle:o,debounce:s,mapObject:f,objectKeys:m,functionBind:z,partial:A,map:d,apply:P,objectVals:x,call:M,push:ct,pop:_,unshift:lt,equals:at,not:E,delay:B,nth:H,first:I,last:j,compose:D,select:k,get:it,shift:F,when:T,reduce:w,once:N,sortBy:ft,parseInteger:W,set:ot,flip:g,copyArray:n,defer:R,slice:t,isEmpty:v,reject:S,rest:L,constantly:Y,identity:a,memoize:u,autoCurry:c,unary:p,forEach:h,pluck:st,isDefined:b,getOption:y,flippedCall:ut,isFunction:C,isTrue:dt,pipeline:pt}},function(e,t,n){function r(e,t){return this instanceof r?(this.trackSubscribers=!!e,this.subscribers=null,this.subscriberSubscribers=null,this.streamID=T++,this.values=V.isDefined(t)?t:C.create(1,"sliding"),this.closed=!1,this.closeSubscribers=null,this.emptySubscribers=null,void(z[this.streamID]=this)):new r(e,t)}function i(e,t){return new r(e,t)}function o(e){return C.lastValue(e.values)}function s(e,t){return e.closed?void 0:(e.subscribers=e.subscribers||[],e.subscribers.push(t),e.trackSubscribers&&V.map(V.unary(V.partial(V.flippedCall,t)),e.subscriberSubscribers),V.partial(u,e,t))}function a(e){e.closed||(e.closed=!0,C.clear(e.values),e.subscribers&&(e.subscribers.length=0),e.closeSubscribers&&(V.map(V.flippedCall,e.closeSubscribers),e.closeSubscribers.length=0),delete z[e.streamID])}function u(e,t){if(e.subscribers){var n=V.indexOf(e.subscribers,t);-1!==n&&e.subscribers.splice(n,1),e.subscribers.length<1&&(e.subscribers=null,V.map(V.flippedCall,e.emptySubscribers))}}function l(e,t){e.trackSubscribers&&(e.subscriberSubscribers||(e.subscriberSubscribers=[]),e.subscriberSubscribers.push(t))}function c(e,t){e.closeSubscribers||(e.closeSubscribers=[]),e.closeSubscribers.push(t)}function f(e,t){e.emptySubscribers||(e.emptySubscribers=[]),e.emptySubscribers.push(t)}function p(e,t){function n(){u&&o&&(o(),o=null,u=!1)}function r(){u||(u=!0,o=O.eventListener(e,t,function(){s.closed?n():V.apply(a,arguments)}),c(s,n))}var o,s=i(!0),a=A(s),u=!1;return l(s,r),f(s,n),s}function d(e){var t=i(!0),n=A(t),r=function(){var r=0,i=setInterval(function(){t.closed?clearInterval(i):n(r++)},e)};return l(t,V.once(r)),t}function h(e){var t=i(!0),n=V.partial(A,t,!0),r=V.partial(setTimeout,n,e);return l(t,V.once(r)),t}function m(){var e=V.copyArray(arguments),t=i(),n=A(t);return V.map(function(e){var r=s(e,n);c(t,r)},e),t}function g(e,t,n){var r=i(),o=V.partial(A,r),a=V.map(function(e){return e===R?o:e},n);return s(e,V.apply(V.apply,[t,a])),r}function v(e,t){return 0>=e?t:g(t,V.delay,[R,e])}function b(e,t){return 0>=e?t:g(t,V.throttle,[R,e])}function y(e,t){return 0>=e?t:g(t,V.debounce,[R,e])}function x(e,t){return g(t,V.compose,[R,e])}function w(e,t){return g(t,V.when,[e,R])}function k(e,t){return w(V.compose(V.equals(e),V.first),t)}function S(e){var t;return w(function(e){return V.equals(t,e)?!1:(t=e,!0)},e)}function E(e,t){return g(t,V.compose,[R,V.partial(o,e)])}var O=n(19),C=n(20),V=n(11),T=0,z={},A=V.autoCurry(function(e,t){if(!e.closed){if(e.subscribers)for(var n=0;n<e.subscribers.length;n++)e.subscribers[n](t);C.push(e.values,t)}}),B=V.memoize(function(){function e(r){t.closed||(requestAnimationFrame(e),n(r))}var t=i(!0),n=A(t);return l(t,V.once(e)),t}),R=":e:";e.exports={create:i,getValue:o,onValue:s,offValue:u,onSubscription:l,createFromEvents:p,timeout:h,createFromRAF:B,merge:m,delay:v,throttle:b,debounce:y,map:x,filter:w,filterFirst:k,sample:E,interval:d,openStreams:z,skipDuplicates:S,emit:A,close:a,onClose:c,onEmpty:f}},function(e,t,n){function r(){return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight]}var i=n(12),o=n(11),s=o.memoize(function(e){e=e||{};var t=o.getOption(e.orientationChangeDelayMs,100),n=i.createFromEvents(window,"resize"),s=i.createFromEvents(window,"orientationchange"),a=i.merge(n,i.delay(t,s));return o.defer(i.emit(a),10),i.skipDuplicates(i.map(r,a))});e.exports={create:s}},function(e,t,n){function r(){return this instanceof r?(this.callbacks={},void(this.callbackScopes={})):new r}function i(e,t,n,r){e.callbacks[t]||(e.callbacks[t]=[]),e.callbackScopes[t]||(e.callbackScopes[t]=[]),-1===u.indexOf(e.callbacks[t],n)&&(e.callbacks[t].push(n),e.callbackScopes[t].push(r))}function o(e,t,n){if(!n)return e.callbacks[t]=[],void(e.callbackScopes[t]=[]);var r=u.indexOf(e.callbacks[t],n);-1!==r&&(e.callbacks[t].splice(r,1),e.callbackScopes[t].splice(r,1))}function s(e,t,n){if(e.callbacks[t])for(var r=0;r<e.callbacks[t].length;r++)e.callbackScopes[t][r]?e.callbacks[t][r].call(e.callbackScopes[t][r],n):e.callbacks[t][r](n)}function a(e){var t=new r;return e.on=u.partial(i,t),e.off=u.partial(o,t),e.trigger=u.partial(s,t),e}var u=n(11);e.exports={mixin:a}},function(e,t,n){function r(e,t){var n,r=u.create();n=t.debounceMs?a.debounce(t.debounceMs,r):t.throttleMs?a.throttle(t.throttleMs,r):r;var l=o.mapObject(function(e,t){var r=a.create(),u="string"==typeof e?e:i(e);return a.onValue(n,function(){var e=a.getValue(r);e=null!==e?e:!1,e!==s.testMQ(u)&&a.emit(r,!e)}),a.map(o.push([t]),r)},e);return o.apply(a.merge,o.objectVals(l))}function i(e){var t;if("undefined"!=typeof e.mq)t=e.mq;else{var n=o.getOption(e.max,1/0),r=o.getOption(e.min,0);t="only screen",1/0>n&&(t+=" and (max-width: "+n+"px)"),r>0&&(t+=" and (min-width: "+r+"px)")}return t}var o=n(11),s=n(17),a=n(12),u=n(13);e.exports={create:r}},function(e,t,n){var r=n(12),i=n(11),o=n(17),s=n(19),a=i.memoize(function(){var e,t=!0,n=r.createFromEvents(window,"scroll");r.onValue(n,function(){t=!0});var a=r.createFromRAF(),u=r.filter(function(){if(!t)return!1;t=!1;var n=o.documentScrollY();return e!==n?(e=n,!0):!1},a);return i.defer(i.partial(s.dispatchEvent,window,"scroll"),10),r.map(function(){return e},u)});e.exports={create:a}},function(e,t,n){function r(e,t,n){if(y("(min-"+e+":"+window[t]+"px)"))return function(){return window[t]};var r=document.documentElement;return function(){return r[n]}}function i(){return k&&window.pageYOffset!=document.documentElement.scrollTop?document.documentElement.scrollTop:window.pageYOffset||document.documentElement.scrollTop}function o(e){if(e&&!e.nodeType&&(e=e[0]),!e||1!==e.nodeType)return!1;var t=e.getBoundingClientRect();return{height:t.bottom-t.top,width:t.right-t.left,top:t.top,left:t.left}}function s(e,t){v.mapObject(v.flip(E(e)),t)}function a(e,t){var n=9==e.nodeType?e:e.ownerDocument||e.document;if(n.defaultView&&n.defaultView.getComputedStyle){var r=n.defaultView.getComputedStyle(e,null);if(r)return r[t]||r.getPropertyValue(t)||""}return""}function u(e,t){return e.currentStyle?e.currentStyle[t]:null}function l(e,t){t.parentNode.insertBefore(e,t)}function c(e){e.parentNode&&e.parentNode.removeChild(e)}function f(e){for(;e=e.parentNode;)if(e==document)return!0;return!1}function p(e){if(!f(e))return!1;var t="none"===O(e,"display");if(t)return!1;var n=e.parentNode;return n?p(n):!0}function d(e){return e.className.length>0?e.className.split(" "):[]}var h,m,g,v=n(11),b=n(21),y=b.mq,x=r("width","innerWidth","clientWidth"),w=r("height","innerHeight","clientHeight"),k=-1!==navigator.userAgent.indexOf("MSIE 10"),S=v.memoize(b.prefixed),E=v.autoCurry(function(e,t,n){e.style[S(t)]=n}),O=v.autoCurry(function(e,t){var n=S(t);return a(e,n)||u(e,n)||e.style&&e.style[n]});!v.isDefined(window.Element)||"classList"in document.documentElement?(h=function(e,t){return e.classList.contains(t)},m=function(e,t){e.classList.add(t)},g=function(e,t){e.classList.remove(t)}):(h=function(e,t){return-1!==v.indexOf(d(e),t)},m=function(e,t){if(!C(e)){var n=d(e);n.push(t),e.className=n.join(" ")}},g=function(e,t){if(C(e)){var n=d(e),r=v.indexOf(n,t);n.splice(r,1),e.className=n.join(" ")}});var C=v.autoCurry(h),V=v.autoCurry(m),T=v.autoCurry(g),z=v.autoCurry(function(e,t){v.forEach(V(e),t)});e.exports={testMQ:y,getViewportWidth:x,getViewportHeight:w,documentScrollY:i,getRect:o,cssPrefix:S,setStyle:E,setStyles:s,getStyle:O,insertBefore:l,detachElement:c,isVisible:p,getClasses:d,hasClass:C,addClass:V,removeClass:T,addClasses:z}},function(e,t,n){function r(e){var t=o.create(),n=i.create(),r=!1,s=!0;return i.onValue(t,function(t){(s||r)&&e>t?(r=!1,i.emit(n,["before",e])):(s||!r)&&t>=e&&(r=!0,i.emit(n,["after",e])),s=!1}),n}var i=n(12),o=n(16);e.exports={create:r}},function(e){function t(e,t,n){return i.call(e,t,n,!1),a.count++,function(){o.call(e,t,n,!1),a.count--}}function n(e,t){var n;document.createEvent?(n=document.createEvent("HTMLEvents"),n.initEvent(t,!0,!0)):(n=document.createEventObject(),n.eventType=t),n.eventName=t,s.call(e,n)}var r=[],i=window.addEventListener||function(e,t){var n=this;r.unshift([n,e,t,function(e){e.currentTarget=n,e.preventDefault=function(){e.returnValue=!1},e.stopPropagation=function(){e.cancelBubble=!0},e.target=e.srcElement||n,t.call(n,e)}]),this.attachEvent("on"+e,r[0][3])},o=window.removeEventListener||function(e,t){for(var n,i=0;n=r[i];++i)if(n[0]==this&&n[1]==e&&n[2]==t)return this.detachEvent("on"+e,r.splice(i,1)[0][3])},s=window.dispatchEvent||function(e){return this.fireEvent("on"+(e.type||e.eventType),e)},a={count:0};e.exports={eventListenerInfo:a,eventListener:t,dispatchEvent:n}},function(e){function t(e,n){return this instanceof t?(this.max=e,this.singleValueMode=1===this.max,this.mode=n,this.values=null,void(this.singleValue=null)):new t(e)}function n(e,n){return new t(e,n)}function r(e){return e.singleValueMode?e.singleValue?1:0:e.values?e.values.length:0}function i(e,t){if(r(e)===e.max)if(e.singleValueMode||"sliding"!==e.mode){if("dropping"===e.mode)return}else e.values.shift();e.singleValueMode?e.singleValue=t:(r(e)||(e.values=[]),e.values.push(t))}function o(e){return e.singleValueMode?e.singleValue:e.values&&e.values[e.values.length-1]}function s(e,t){if(e.singleValueMode)e.singleValue=e.singleValue||t;else for(;!e.values||e.values.length<e.max;)i(e,t)}function a(e){if(e.singleValueMode)return e.singleValue;for(var t=0,n=0;e.values,n<e.values.length;n++)t+=e.values[n];return t}function u(e){if(e.singleValueMode)return e.singleValue;var t=a(e);return e.values?e.values.length?t/e.values.length:0:null}function l(e){e.singleValueMode?e.singleValue=null:e.values&&(e.values.length=0,e.values=null)}e.exports={create:n,len:r,push:i,lastValue:o,fill:s,sum:a,average:u,clear:l}},function(e){function t(e){m.cssText=e}function n(e,t){return typeof e===t}function r(e,t){return!!~(""+e).indexOf(t)}function i(e,t){for(var n in e){var i=e[n];if(!r(i,"-")&&void 0!==m[i])return"pfx"==t?i:!0}return!1}function o(e,t,r){for(var i in e){var o=t[e[i]];if(void 0!==o)return r===!1?e[i]:n(o,"function")?o.bind(r||t):o}return!1}function s(e,t,r){var s=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+b.join(s+" ")+s).split(" ");return n(t,"string")||n(t,"undefined")?i(a,t):(a=(e+" "+y.join(s+" ")+s).split(" "),o(a,t,r))}var a,u,l,c="2.7.2",f={},p=document.documentElement,d="modernizr",h=document.createElement(d),m=h.style,g=({}.toString," -webkit- -moz- -o- -ms- ".split(" ")),v="Webkit Moz O ms",b=v.split(" "),y=v.toLowerCase().split(" "),x={},w=[],k=w.slice,S=function(e,t,n,r){var i,o,s,a,u=document.createElement("div"),l=document.body,c=l||document.createElement("body");if(parseInt(n,10))for(;n--;)s=document.createElement("div"),s.id=r?r[n]:d+(n+1),u.appendChild(s);return i=["&#173;",'<style id="s',d,'">',e,"</style>"].join(""),u.id=d,(l?u:c).innerHTML+=i,c.appendChild(u),l||(c.style.background="",c.style.overflow="hidden",a=p.style.overflow,p.style.overflow="hidden",p.appendChild(c)),o=t(u,e),l?u.parentNode.removeChild(u):(c.parentNode.removeChild(c),p.style.overflow=a),!!o},E=function(e){var t=window.matchMedia||window.msMatchMedia;if(t)return t(e).matches;var n;return S("@media "+e+" { #"+d+" { position: absolute; } }",function(e){n="absolute"==(window.getComputedStyle?getComputedStyle(e,null):e.currentStyle).position}),n},O=function(){function e(e,r){r=r||document.createElement(t[e]||"div"),e="on"+e;var i=e in r;return i||(r.setAttribute||(r=document.createElement("div")),r.setAttribute&&r.removeAttribute&&(r.setAttribute(e,""),i=n(r[e],"function"),n(r[e],"undefined")||(r[e]=void 0),r.removeAttribute(e))),r=null,i}var t={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return e}(),C={}.hasOwnProperty;l=n(C,"undefined")||n(C.call,"undefined")?function(e,t){return t in e&&n(e.constructor.prototype[t],"undefined")}:function(e,t){return C.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=k.call(arguments,1),r=function(){if(this instanceof r){var i=function(){};i.prototype=t.prototype;var o=new i,s=t.apply(o,n.concat(k.call(arguments)));return Object(s)===s?s:o}return t.apply(e,n.concat(k.call(arguments)))};return r}),x.backgroundsize=function(){return s("backgroundSize")},x.csstransforms=function(){return!!s("transform")};for(var V in x)l(x,V)&&(u=V.toLowerCase(),f[u]=x[V](),w.push((f[u]?"":"no-")+u));f.addTest=function(e,t){
  if("object"==typeof e)for(var n in e)l(e,n)&&f.addTest(n,e[n]);else{if(e=e.toLowerCase(),void 0!==f[e])return f;t="function"==typeof t?t():t,"undefined"!=typeof enableClasses&&enableClasses&&(p.className+=" "+(t?"":"no-")+e),f[e]=t}return f},t(""),h=a=null,f._version=c,f._prefixes=g,f._domPrefixes=y,f._cssomPrefixes=b,f.mq=E,f.hasEvent=O,f.testProp=function(e){return i([e])},f.testAllProps=s,f.testStyles=S,f.prefixed=function(e,t,n){return t?s(e,t,n):s(e,"pfx")},e.exports=f}]),function(){var COMPILED=!0,goog=goog||{};goog.global=this,goog.isDef=function(a){return void 0!==a},goog.exportPath_=function(a,b,c){a=a.split("."),c=c||goog.global,a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}},goog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a])),goog.exportPath_(a,c)},goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(a){if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)},goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=a,!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}},goog.module.get=function(a){return goog.module.getInternal_(a)},goog.module.getInternal_=function(a){return COMPILED?void 0:goog.isProvided_(a)?a in goog.loadedModules_?goog.loadedModules_[a]:goog.getObjectByName(a):null},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."))},goog.forwardDeclare=function(a){},COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(a,b){for(var e,c=a.split("."),d=b||goog.global;e=c.shift();){if(!goog.isDefAndNotNull(d[e]))return null;d=d[e]}return d},goog.globalize=function(a,b){var d,c=b||goog.global;for(d in a)c[d]=a[d]},goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\/g,"/");for(var f=goog.dependencies_,g=0;e=b[g];g++)f.nameToPath[e]=a,f.pathIsModule[a]=!!d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)},goog.require=function(a){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a),goog.isProvided_(a))return goog.isInModuleLoader_()?goog.module.getInternal_(a):null;if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)return goog.included_[b]=!0,goog.writeScripts_(),null}throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a)}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(a){a.getInstance=function(){return a.instance_?a.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a),a.instance_=new a)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.DEPENDENCIES_ENABLED&&(goog.included_={},goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return"undefined"!=typeof a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName("SCRIPT"),b=a.length-1;b>=0;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(a){goog.importScript_("",'goog.retrieveAndExecModule_("'+a+'");')&&(goog.dependencies_.written[a]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL="+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL="+a+"\n"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(a>0){var b=goog.queuedModules_;goog.queuedModules_=[];for(var c=0;a>c;c++)goog.maybeProcessDeferredPath_(b[c])}},goog.maybeProcessDeferredDep_=function(a){goog.isDeferredModule_(a)&&goog.allDepsAreAvailable_(a)&&(a=goog.getPathFromDeps_(a),goog.maybeProcessDeferredPath_(goog.basePath+a))},goog.isDeferredModule_=function(a){return(a=goog.getPathFromDeps_(a))&&goog.dependencies_.pathIsModule[a]?goog.basePath+a in goog.dependencies_.deferred:!1},goog.allDepsAreAvailable_=function(a){if((a=goog.getPathFromDeps_(a))&&a in goog.dependencies_.requires)for(var b in goog.dependencies_.requires[a])if(!goog.isProvided_(b)&&!goog.isDeferredModule_(b))return!1;return!0},goog.maybeProcessDeferredPath_=function(a){if(a in goog.dependencies_.deferred){var b=goog.dependencies_.deferred[a];delete goog.dependencies_.deferred[a],goog.globalEval(b)}},goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0};var c;if(goog.isFunction(a))c=a.call(goog.global,{});else{if(!goog.isString(a))throw Error("Invalid module definition");c=goog.loadModuleFromSource_.call(goog.global,a)}var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&Object.seal(c),goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.writeScriptSrcNode_=function(a){goog.global.document.write('<script type="text/javascript" src="'+a+'"></script>')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement("script");c.type="text/javascript",c.src=a,c.defer=!1,c.async=!1,b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load')}var d=goog.IS_OLD_IE_;return void 0===b?d?(d=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ",c.write('<script type="text/javascript" src="'+a+'"'+d+"></script>")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(a):goog.writeScriptSrcNode_(a):c.write('<script type="text/javascript">'+b+"</script>"),!0}return!1},goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(a,b){return"complete"==a.readyState&&goog.lastNonModuleScriptIndex_==b&&goog.loadQueuedModules_(),!0},goog.writeScripts_=function(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&(d.visited[e]=!0,e in d.requires))for(var f in d.requires[e])if(!goog.isProvided_(f)){if(!(f in d.nameToPath))throw Error("Undefined nameToPath for "+f);a(d.nameToPath[f])}e in c||(c[e]=!0,b.push(e))}}var e,b=[],c={},d=goog.dependencies_;for(e in goog.included_)d.written[e]||a(e);for(var f=0;f<b.length;f++)e=b[f],goog.dependencies_.written[e]=!0;var g=goog.moduleLoaderState_;for(goog.moduleLoaderState_=null,f=0;f<b.length;f++){if(!(e=b[f]))throw goog.moduleLoaderState_=g,Error("Undefined script input");d.pathIsModule[e]?goog.importModule_(goog.basePath+e):goog.importScript_(goog.basePath+e)}goog.moduleLoaderState_=g},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js")),goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")},goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);var b=new goog.global.XMLHttpRequest;return b.open("get",a,!1),b.send(),b.responseText},goog.retrieveAndExecModule_=function(a){if(!COMPILED){var b=a;a=goog.normalizePath_(a);var c=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,d=goog.loadFileSync_(a);if(null==d)throw Error("load of "+a+"failed");d=goog.wrapModule_(a,d),goog.IS_OLD_IE_?(goog.dependencies_.deferred[b]=d,goog.queuedModules_.push(b)):c(a,d)}},goog.typeOf=function(a){var b=typeof a;if("object"==b){if(!a)return"null";if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else if("function"==b&&"undefined"==typeof a.call)return"object";return b},goog.isNull=function(a){return null===a},goog.isDefAndNotNull=function(a){return null!=a},goog.isArray=function(a){return"array"==goog.typeOf(a)},goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length},goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear},goog.isString=function(a){return"string"==typeof a},goog.isBoolean=function(a){return"boolean"==typeof a},goog.isNumber=function(a){return"number"==typeof a},goog.isFunction=function(a){return"function"==goog.typeOf(a)},goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]},goog.removeUid=function(a){"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var c,b="array"==b?[]:{};for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a},goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)},goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(c,d),a.apply(b,c)}}return function(){return a.apply(b,arguments)}},goog.bind=function(a,b,c){return goog.bind=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bindNative_:goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();return b.push.apply(b,arguments),a.apply(this,b)}},goog.mixin=function(a,b){for(var c in b)a[c]=b[c]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else{if(!goog.global.eval)throw Error("goog.globalEval not available");if(null==goog.evalWorksForGlobals_)if(goog.global.eval("var _evalTest_ = 1;"),"undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(b){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var c=goog.global.document,d=c.createElement("SCRIPT");d.type="text/javascript",d.defer=!1,d.appendChild(c.createTextNode(a)),c.body.appendChild(d),c.body.removeChild(d)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")},d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};return b?a+"-"+d(b):d(a)},goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a,goog.cssNameMappingStyle_=b},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(a,b){return b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return d in b?b[d]:a})),a},goog.getMsgWithFallback=function(a,b){return a},goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)},goog.exportProperty=function(a,b,c){a[b]=c},goog.inherits=function(a,b){function c(){}c.prototype=b.prototype,a.superClass_=b.prototype,a.prototype=new c,a.prototype.constructor=a,a.base=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}},goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}for(e=Array(arguments.length-2),f=2;f<arguments.length;f++)e[f-2]=arguments[f];for(var f=!1,g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name")},goog.scope=function(a){a.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;return c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),c=goog.defineClass.createSealingConstructor_(c,a),a&&goog.inherits(c,a),delete b.constructor,delete b.statics,goog.defineClass.applyProperties_(c.prototype,b),null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d)),c},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(a,b){if(goog.defineClass.SEAL_CLASS_INSTANCES&&Object.seal instanceof Function){if(b&&b.prototype&&b.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_])return a;var c=function(){var b=a.apply(this,arguments)||this;return b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_],this.constructor===c&&Object.seal(b),b};return c}return a},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])},goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable",goog.debug={},goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.disposable={},goog.disposable.IDisposable=function(){},goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this),this.disposed_=this.disposed_,this.onDisposeCallbacks_=this.onDisposeCallbacks_},goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2},goog.Disposable.MONITORING_MODE=0,goog.Disposable.INCLUDE_STACK_ON_CREATION=!0,goog.Disposable.instances_={},goog.Disposable.getUndisposedObjects=function(){var b,a=[];for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a},goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}},goog.Disposable.prototype.disposed_=!1,goog.Disposable.prototype.isDisposed=function(){return this.disposed_},goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed,goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}},goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))},goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?a.call(b):(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))},goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()},goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1},goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()},goog.disposeAll=function(a){for(var b=0,c=arguments.length;c>b;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}},goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.dom.TagName={A:"A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA",ARTICLE:"ARTICLE",ASIDE:"ASIDE",AUDIO:"AUDIO",B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDI:"BDI",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CANVAS:"CANVAS",CAPTION:"CAPTION",CENTER:"CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",COMMAND:"COMMAND",DATA:"DATA",DATALIST:"DATALIST",DD:"DD",DEL:"DEL",DETAILS:"DETAILS",DFN:"DFN",DIALOG:"DIALOG",DIR:"DIR",DIV:"DIV",DL:"DL",DT:"DT",EM:"EM",EMBED:"EMBED",FIELDSET:"FIELDSET",FIGCAPTION:"FIGCAPTION",FIGURE:"FIGURE",FONT:"FONT",FOOTER:"FOOTER",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:"H4",H5:"H5",H6:"H6",HEAD:"HEAD",HEADER:"HEADER",HGROUP:"HGROUP",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG",INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",KEYGEN:"KEYGEN",LABEL:"LABEL",LEGEND:"LEGEND",LI:"LI",LINK:"LINK",MAP:"MAP",MARK:"MARK",MATH:"MATH",MENU:"MENU",META:"META",METER:"METER",NAV:"NAV",NOFRAMES:"NOFRAMES",NOSCRIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",OUTPUT:"OUTPUT",P:"P",PARAM:"PARAM",PRE:"PRE",PROGRESS:"PROGRESS",Q:"Q",RP:"RP",RT:"RT",RUBY:"RUBY",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SECTION:"SECTION",SELECT:"SELECT",SMALL:"SMALL",SOURCE:"SOURCE",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"SUB",SUMMARY:"SUMMARY",SUP:"SUP",SVG:"SVG",TABLE:"TABLE",TBODY:"TBODY",TD:"TD",TEMPLATE:"TEMPLATE",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",TIME:"TIME",TITLE:"TITLE",TR:"TR",TRACK:"TRACK",TT:"TT",U:"U",UL:"UL",VAR:"VAR",VIDEO:"VIDEO",WBR:"WBR"},goog.events={},goog.events.EventId=function(a){this.id=a},goog.events.EventId.prototype.toString=function(){return this.id},goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a,this.currentTarget=this.target=b,this.defaultPrevented=this.propagationStopped_=!1,this.returnValue_=!0},goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0},goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0,this.returnValue_=!1},goog.events.Event.stopPropagation=function(a){a.stopPropagation()},goog.events.Event.preventDefault=function(a){a.preventDefault()},goog.events.Listenable=function(){},goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1e6*Math.random()|0),goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0},goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])},goog.events.ListenableKey=function(){},goog.events.ListenableKey.counter_=0,goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_},goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack),this.listener=a,this.proxy=b,this.src=c,this.type=d,this.capture=!!e,this.handler=f,this.key=goog.events.ListenableKey.reserveKey(),this.removed=this.callOnce=!1},goog.events.Listener.ENABLE_MONITORING=!1,goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0,this.handler=this.src=this.proxy=this.listener=null},goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)},goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)},goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()},goog.functions={},goog.functions.constant=function(a){return function(){return a}},goog.functions.FALSE=goog.functions.constant(!1),goog.functions.TRUE=goog.functions.constant(!0),goog.functions.NULL=goog.functions.constant(null),goog.functions.identity=function(a,b){return a},goog.functions.error=function(a){return function(){throw Error(a)}},goog.functions.fail=function(a){return function(){throw a}},goog.functions.lock=function(a,b){return b=b||0,function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}},goog.functions.nth=function(a){return function(){return arguments[a]}},goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))},goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}},goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;b>=0;b--)a=c[b].call(this,a);return a}},goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;c>e;e++)a=b[e].apply(this,arguments);return a}},goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;c>a;a++)if(!b[a].apply(this,arguments))return!1;return!0}},goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;c>a;a++)if(b[a].apply(this,arguments))return!0;return!1}},goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}},goog.functions.create=function(a,b){var c=function(){};return c.prototype=a.prototype,c=new c,a.apply(c,Array.prototype.slice.call(arguments,1)),c},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(a){var c,b=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(b||(c=a(),b=!0),c):a()}},goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null,a()}}},goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4)),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(a,b){return"number"==typeof a?a>0?goog.i18n.bidi.Dir.LTR:0>a?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-",goog.i18n.bidi.rtlChars_="֑-ۯۺ-߿‏יִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,""):a},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)},goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)},goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(a,b){return a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b),goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)},goog.i18n.bidi.bracketGuardHtmlRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(&lt;.*?(&gt;)+)/g,goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInHtml=function(a,b){return(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?a.replace(goog.i18n.bidi.bracketGuardHtmlRe_,"<span dir=rtl>$&</span>"):a.replace(goog.i18n.bidi.bracketGuardHtmlRe_,"<span dir=ltr>$&</span>")},goog.i18n.bidi.guardBracketInText=function(a,b){var c=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,c+"$&"+c)},goog.i18n.bidi.enforceRtlInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+a+"</span>"},goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+a+"</span>"},goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(a,b){for(var c=0,d=0,e=!1,f=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g<f.length;g++){var h=f[g];goog.i18n.bidi.startsWithRtl(h)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(h)?e=!0:goog.i18n.bidi.hasAnyLtr(h)?d++:goog.i18n.bidi.hasNumeralsRe_.test(h)&&(e=!0);
  
  }return 0==d?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:c/d>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=goog.i18n.bidi.toDir(b))&&(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:a.dir="rtl";break;default:a.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.math={},goog.math.Coordinate3=function(a,b,c){this.x=goog.isDef(a)?a:0,this.y=goog.isDef(b)?b:0,this.z=goog.isDef(c)?c:0},goog.math.Coordinate3.prototype.clone=function(){return new goog.math.Coordinate3(this.x,this.y,this.z)},goog.DEBUG&&(goog.math.Coordinate3.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"}),goog.math.Coordinate3.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y&&a.z==b.z:!1},goog.math.Coordinate3.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y,e=a.z-b.z;return Math.sqrt(c*c+d*d+e*e)},goog.math.Coordinate3.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y,e=a.z-b.z;return c*c+d*d+e*e},goog.math.Coordinate3.difference=function(a,b){return new goog.math.Coordinate3(a.x-b.x,a.y-b.y,a.z-b.z)},goog.math.Coordinate3.prototype.toArray=function(){return[this.x,this.y,this.z]},goog.math.Coordinate3.fromArray=function(a){if(3>=a.length)return new goog.math.Coordinate3(a[0],a[1],a[2]);throw Error("Conversion from an array requires an array of length 3")},goog.math.Size=function(a,b){this.width=a,this.height=b},goog.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1},goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)},goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"}),goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)},goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)},goog.math.Size.prototype.area=function(){return this.width*this.height},goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)},goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height},goog.math.Size.prototype.isEmpty=function(){return!this.area()},goog.math.Size.prototype.ceil=function(){return this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this.height<=a.height},goog.math.Size.prototype.floor=function(){return this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Size.prototype.round=function(){return this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Size.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;return this.width*=a,this.height*=c,this},goog.math.Size.prototype.scaleToCover=function(a){return a=this.aspectRatio()<=a.aspectRatio()?a.width/this.width:a.height/this.height,this.scale(a)},goog.math.Size.prototype.scaleToFit=function(a){return a=this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height,this.scale(a)},goog.object={},goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},goog.object.filter=function(a,b,c){var e,d={};for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d},goog.object.map=function(a,b,c){var e,d={};for(e in a)d[e]=b.call(c,a[e],e,a);return d},goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1},goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0},goog.object.getCount=function(a){var c,b=0;for(c in a)b++;return b},goog.object.getAnyKey=function(a){for(var b in a)return b},goog.object.getAnyValue=function(a){for(var b in a)return a[b]},goog.object.contains=function(a,b){return goog.object.containsValue(a,b)},goog.object.getValues=function(a){var d,b=[],c=0;for(d in a)b[c++]=a[d];return b},goog.object.getKeys=function(a){var d,b=[],c=0;for(d in a)b[c++]=d;return b},goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a},goog.object.containsKey=function(a,b){return b in a},goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1},goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d},goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]},goog.object.isEmpty=function(a){for(var b in a)return!1;return!0},goog.object.clear=function(a){for(var b in a)delete a[b]},goog.object.remove=function(a,b){var c;return(c=b in a)&&delete a[b],c},goog.object.add=function(a,b,c){if(b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)},goog.object.get=function(a,b,c){return b in a?a[b]:c},goog.object.set=function(a,b,c){a[b]=c},goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c},goog.object.setWithReturnValueIfNotSet=function(a,b,c){return b in a?a[b]:(c=c(),a[b]=c)},goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0},goog.object.clone=function(a){var c,b={};for(c in a)b[c]=a[c];return b},goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var c,b="array"==b?[]:{};for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a},goog.object.transpose=function(a){var c,b={};for(c in a)b[a[c]]=c;return b},goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}},goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;b>d;d+=2)c[arguments[d]]=arguments[d+1];return c},goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;b>d;d++)c[arguments[d]]=!0;return c},goog.object.createImmutableView=function(a){var b=a;return Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b)),b},goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)},goog.dom.tags={},goog.dom.tags.VOID_TAGS_=goog.object.createSet("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]},goog.reflect={},goog.reflect.object=function(a,b){return b},goog.reflect.sinkValue=function(a){return goog.reflect.sinkValue[" "](a),a},goog.reflect.sinkValue[" "]=goog.nullFunction,goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1},goog.string={},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)},goog.string.endsWith=function(a,b){var c=a.length-b.length;return c>=0&&a.indexOf(b,c)==c},goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))},goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))},goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()},goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)},goog.string.isEmptyString=function(a){return 0==a.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)},goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)},goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)},goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)},goog.string.isSpace=function(a){return" "==a},goog.string.isUnicodeChar=function(a){return 1==a.length&&a>=" "&&"~">=a||a>=""&&"�">=a},goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")},goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return d>c?-1:c==d?0:1},goog.string.numerateCompareRegExp_=/(\.\d+)|(\d+)|(\D+)/g,goog.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(goog.string.numerateCompareRegExp_),d=b.toLowerCase().match(goog.string.numerateCompareRegExp_),e=Math.min(c.length,d.length),f=0;e>f;f++){var g=c[f],h=d[f];if(g!=h)return c=parseInt(g,10),!isNaN(c)&&(d=parseInt(h,10),!isNaN(d)&&c-d)?c-d:h>g?-1:1}return c.length!=d.length?c.length-d.length:b>a?-1:1},goog.string.urlEncode=function(a){return encodeURIComponent(String(a))},goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))},goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")},goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"&amp;").replace(goog.string.LT_RE_,"&lt;").replace(goog.string.GT_RE_,"&gt;").replace(goog.string.QUOT_RE_,"&quot;").replace(goog.string.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.NULL_RE_,"&#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"&#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.AMP_RE_,"&amp;")),-1!=a.indexOf("<")&&(a=a.replace(goog.string.LT_RE_,"&lt;")),-1!=a.indexOf(">")&&(a=a.replace(goog.string.GT_RE_,"&gt;")),-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"&quot;")),-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"&#39;")),-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"&#0;")),goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"&#101;"))}return a},goog.string.AMP_RE_=/&/g,goog.string.LT_RE_=/</g,goog.string.GT_RE_=/>/g,goog.string.QUOT_RE_=/"/g,goog.string.SINGLE_QUOTE_RE_=/'/g,goog.string.NULL_RE_=/\x00/g,goog.string.E_RE_=/e/g,goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/,goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a},goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a},goog.string.unescapeEntitiesUsingDom_=function(a,b){var d,c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'};return d=b?b.createElement("div"):goog.global.document.createElement("div"),a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var g=c[a];if(g)return g;if("#"==b.charAt(0)){var h=Number("0"+b.substr(1));isNaN(h)||(g=String.fromCharCode(h))}return g||(d.innerHTML=a+" ",g=d.firstChild.nodeValue.slice(0,-1)),c[a]=g})},goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:if("#"==c.charAt(0)){var d=Number("0"+c.substr(1));if(!isNaN(d))return String.fromCharCode(d)}return a}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/  /g," &#160;"),b)},goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;c>d;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a},goog.string.truncate=function(a,b,c){return c&&(a=goog.string.unescapeEntities(a)),a.length>b&&(a=a.substring(0,b-3)+"..."),c&&(a=goog.string.htmlEscape(a)),a},goog.string.truncateMiddle=function(a,b,c,d){if(c&&(a=goog.string.unescapeEntities(a)),d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));return c&&(a=goog.string.htmlEscape(a)),a},goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","	":"\\t","":"\\x0B",'"':'\\"',"\\":"\\\\"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(a){if(a=String(a),a.quote)return a.quote();for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(e>31&&127>e?d:goog.string.escapeChar(d))}return b.push('"'),b.join("")},goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")},goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a,c=a.charCodeAt(0);return c>31&&127>c?b=a:(256>c?(b="\\x",(16>c||c>256)&&(b+="0")):(b="\\u",4096>c&&(b+="0")),b+=c.toString(16).toUpperCase()),goog.string.jsEscapeCache_[a]=b},goog.string.contains=function(a,b){return-1!=a.indexOf(b)},goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())},goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0},goog.string.removeAt=function(a,b,c){var d=a;return b>=0&&b<a.length&&c>0&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c)),d},goog.string.remove=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")},goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")},goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},goog.string.repeat=function(a,b){return Array(b+1).join(a)},goog.string.padNumber=function(a,b,c){return a=goog.isDef(c)?a.toFixed(c):String(a),c=a.indexOf("."),-1==c&&(c=a.length),goog.string.repeat("0",Math.max(0,b-c))+a},goog.string.makeSafe=function(a){return null==a?"":String(a)},goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&f>g;g++){var h=d[g]||"",k=e[g]||"",l=RegExp("(\\d*)(\\D*)","g"),p=RegExp("(\\d*)(\\D*)","g");do{var m=l.exec(h)||["","",""],n=p.exec(k)||["","",""];if(0==m[0].length&&0==n[0].length)break;var c=0==m[1].length?0:parseInt(m[1],10),q=0==n[1].length?0:parseInt(n[1],10),c=goog.string.compareElements_(c,q)||goog.string.compareElements_(0==m[2].length,0==n[2].length)||goog.string.compareElements_(m[2],n[2])}while(0==c)}return c},goog.string.compareElements_=function(a,b){return b>a?-1:a>b?1:0},goog.string.HASHCODE_MAX_=4294967296,goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?0/0:b},goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)},goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)},goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})},goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})},goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()},goog.string.parseInt=function(a){return isFinite(a)&&(a=String(a)),goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):0/0},goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];c>0&&a.length;)d.push(a.shift()),c--;return a.length&&d.push(a.join(b)),d},goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(a,b){b.unshift(a),goog.debug.Error.call(this,goog.string.subs.apply(null,b)),b.shift(),this.messagePattern=a},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]),goog.asserts.errorHandler_(a)},goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)},goog.asserts.assert=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))},goog.asserts.assertNumber=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertString=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertFunction=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertObject=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertArray=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertBoolean=function(a,b,c){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertElement=function(a,b,c){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2)),a},goog.asserts.assertInstanceof=function(a,b,c,d){return!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3)),a},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")},goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a},goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE,goog.array.ASSUME_NATIVE_FUNCTIONS=!1,goog.array.peek=function(a){return a[a.length-1]},goog.array.last=goog.array.peek,goog.array.ARRAY_PROTOTYPE_=Array.prototype,goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.indexOf)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.indexOf.call(a,b,c)}:function(a,b,c){if(c=null==c?0:0>c?Math.max(0,a.length+c):c,goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.lastIndexOf)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){if(c=null==c?a.length-1:c,0>c&&(c=Math.max(0,a.length+c)),goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;c>=0;c--)if(c in a&&a[c]===b)return c;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;d>f;f++)f in e&&b.call(c,e[f],f,a)},goog.array.forEachRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;d>=0;--d)d in e&&b.call(c,e[d],d,a)},goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.filter)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;d>h;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e},goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.map)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;d>g;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.reduce)?function(a,b,c,d){return goog.asserts.assert(null!=a.length),d&&(b=goog.bind(b,d)),goog.array.ARRAY_PROTOTYPE_.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;return goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)}),e},goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.reduceRight)?function(a,b,c,d){return goog.asserts.assert(null!=a.length),d&&(b=goog.bind(b,d)),goog.array.ARRAY_PROTOTYPE_.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;return goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)}),e},goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.some)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;d>f;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1},goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.every)?function(a,b,c){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;d>f;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0},goog.array.count=function(a,b,c){var d=0;return goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c),d},goog.array.find=function(a,b,c){return b=goog.array.findIndex(a,b,c),0>b?null:goog.isString(a)?a.charAt(b):a[b]},goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;d>f;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1},goog.array.findRight=function(a,b,c){return b=goog.array.findIndexRight(a,b,c),0>b?null:goog.isString(a)?a.charAt(b):a[b]},goog.array.findIndexRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;d>=0;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1},goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)},goog.array.isEmpty=function(a){return 0==a.length},goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;b>=0;b--)delete a[b];a.length=0},goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)},goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)},goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)},goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)},goog.array.remove=function(a,b){var d,c=goog.array.indexOf(a,b);return(d=c>=0)&&goog.array.removeAt(a,c),d},goog.array.removeAt=function(a,b){return goog.asserts.assert(null!=a.length),1==goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1).length},goog.array.removeIf=function(a,b,c){return b=goog.array.findIndex(a,b,c),b>=0?(goog.array.removeAt(a,b),!0):!1},goog.array.removeAllIf=function(a,b,c){var d=0;return goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++}),d},goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)},goog.array.join=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)},goog.array.toArray=function(a){var b=a.length;if(b>0){for(var c=Array(b),d=0;b>d;d++)c[d]=a[d];return c}return[]},goog.array.clone=goog.array.toArray,goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;f>g;g++)a[e+g]=d[g]}else a.push(d)}},goog.array.splice=function(a,b,c,d){return goog.asserts.assert(null!=a.length),goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments,1))},goog.array.slice=function(a,b,c){return goog.asserts.assert(null!=a.length),2>=arguments.length?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)},goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;for(var d={},e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e},goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)},goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)},goog.array.binarySearch_=function(a,b,c,d,e){for(var h,f=0,g=a.length;g>f;){var l,k=f+g>>1;l=c?b.call(e,a[k],k,a):b(d,a[k]),l>0?f=k+1:(g=k,h=!l)}return h?f:~f},goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)},goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||goog.array.defaultCompare;for(goog.array.sort(a,function(a,b){return d(a.value,b.value)||a.index-b.index}),c=0;c<a.length;c++)a[c]=a[c].value},goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})},goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)},goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(e>0||0==e&&c)return!1}return!0},goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;d>e;e++)if(!c(a[e],b[e]))return!1;return!0},goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;d>e;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)},goog.array.defaultCompare=function(a,b){return a>b?1:b>a?-1:0},goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)},goog.array.defaultCompareEquality=function(a,b){return a===b},goog.array.binaryInsert=function(a,b,c){return c=goog.array.binarySearch(a,b,c),0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1},goog.array.binaryRemove=function(a,b,c){return b=goog.array.binarySearch(a,b,c),b>=0?goog.array.removeAt(a,b):!1},goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d},goog.array.toObject=function(a,b,c){var d={};return goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e}),d},goog.array.range=function(a,b,c){var d=[],e=0,f=a;if(c=c||1,void 0!==b&&(e=a,f=b),0>c*(f-e))return[];if(c>0)for(a=e;f>a;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d},goog.array.repeat=function(a,b){for(var c=[],d=0;b>d;d++)c[d]=a;return c},goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192)for(var f=goog.array.slice(d,e,e+8192),f=goog.array.flatten.apply(null,f),g=0;g<f.length;g++)b.push(f[g]);else b.push(d)}return b},goog.array.rotate=function(a,b){return goog.asserts.assert(null!=a.length),a.length&&(b%=a.length,b>0?goog.array.ARRAY_PROTOTYPE_.unshift.apply(a,a.splice(-b,b)):0>b&&goog.array.ARRAY_PROTOTYPE_.push.apply(a,a.splice(0,-b))),a},goog.array.moveItem=function(a,b,c){goog.asserts.assert(b>=0&&b<a.length),goog.asserts.assert(c>=0&&c<a.length),b=goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1),goog.array.ARRAY_PROTOTYPE_.splice.call(a,c,0,b[0])},goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=0;;c++){for(var d=[],e=0;e<arguments.length;e++){var f=arguments[e];if(c>=f.length)return b;d.push(f[c])}b.push(d)}},goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;d>0;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e],a[e]=f}},goog.array.copyByIndex=function(a,b){
  var c=[];return goog.array.forEach(b,function(b){c.push(a[b])}),c},goog.debug.entryPointRegistry={},goog.debug.EntryPointMonitor=function(){},goog.debug.entryPointRegistry.refList_=[],goog.debug.entryPointRegistry.monitors_=[],goog.debug.entryPointRegistry.monitorsMayExist_=!1,goog.debug.entryPointRegistry.register=function(a){if(goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a,goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))},goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)},goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped."),a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--},goog.dom.classes={},goog.dom.classes.set=function(a,b){a.className=b},goog.dom.classes.get=function(a){return a=a.className,goog.isString(a)&&a.match(/\S+/g)||[]},goog.dom.classes.add=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),e=c.length+d.length;return goog.dom.classes.add_(c,d),goog.dom.classes.set(a,c.join(" ")),c.length==e},goog.dom.classes.remove=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),e=goog.dom.classes.getDifference_(c,d);return goog.dom.classes.set(a,e.join(" ")),e.length==c.length-d.length},goog.dom.classes.add_=function(a,b){for(var c=0;c<b.length;c++)goog.array.contains(a,b[c])||a.push(b[c])},goog.dom.classes.getDifference_=function(a,b){return goog.array.filter(a,function(a){return!goog.array.contains(b,a)})},goog.dom.classes.swap=function(a,b,c){for(var d=goog.dom.classes.get(a),e=!1,f=0;f<d.length;f++)d[f]==b&&(goog.array.splice(d,f--,1),e=!0);return e&&(d.push(c),goog.dom.classes.set(a,d.join(" "))),e},goog.dom.classes.addRemove=function(a,b,c){var d=goog.dom.classes.get(a);goog.isString(b)?goog.array.remove(d,b):goog.isArray(b)&&(d=goog.dom.classes.getDifference_(d,b)),goog.isString(c)&&!goog.array.contains(d,c)?d.push(c):goog.isArray(c)&&goog.dom.classes.add_(d,c),goog.dom.classes.set(a,d.join(" "))},goog.dom.classes.has=function(a,b){return goog.array.contains(goog.dom.classes.get(a),b)},goog.dom.classes.enable=function(a,b,c){c?goog.dom.classes.add(a,b):goog.dom.classes.remove(a,b)},goog.dom.classes.toggle=function(a,b){var c=!goog.dom.classes.has(a,b);return goog.dom.classes.enable(a,b,c),c},goog.events.ListenerMap=function(a){this.src=a,this.listeners={},this.typeCount_=0},goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_},goog.events.ListenerMap.prototype.getListenerCount=function(){var b,a=0;for(b in this.listeners)a+=this.listeners[b].length;return a},goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f],a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);return g>-1?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b)),b},goog.events.ListenerMap.prototype.remove=function(a,b,c,d){if(a=a.toString(),!(a in this.listeners))return!1;var e=this.listeners[a];return b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d),b>-1?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1},goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);return c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--)),c},goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var c,b=0;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c],this.typeCount_--}return b},goog.events.ListenerMap.prototype.getListeners=function(a,b){var c=this.listeners[a.toString()],d=[];if(c)for(var e=0;e<c.length;++e){var f=c[e];f.capture==b&&d.push(f)}return d},goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;return a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d)),e>-1?a[e]:null},goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(var h=0;h<a.length;++h)if(!(c&&a[h].type!=d||e&&a[h].capture!=b))return!0;return!1})},goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1},goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)},goog.labs.userAgent.util.extractVersionTuples=function(a){for(var d,b=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),c=[];d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")||goog.labs.userAgent.util.matchUserAgent("OPR")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchOpera_()&&!goog.labs.userAgent.browser.matchEdge_()},goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")},goog.labs.userAgent.browser.getVersion=function(){function a(a){return a=goog.array.find(a,d),c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);var b=goog.labs.userAgent.util.extractVersionTuples(b),c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera","OPR"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""},goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)},goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];var b="",c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case"4.0":b="8.0";break;case"5.0":b="9.0";break;case"6.0":b="10.0";break;case"7.0":b="11.0"}else b="7.0";else b=c[1];return b},goog.labs.userAgent.engine={},goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")},goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){var a=goog.labs.userAgent.util.extractVersionTuples(a),b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];var c,a=a[0];if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""},goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}},goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)},goog.labs.userAgent.engine.getVersionForKey_=function(a,b){var c=goog.array.find(a,function(a){return b==a[0]});return c&&c[1]||""},goog.labs.userAgent.platform={},goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")},goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")},goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()},goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")},goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")},goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")},goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")},goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";return goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]),b||""},goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)},goog.math.randomInt=function(a){return Math.floor(Math.random()*a)},goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)},goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)},goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c},goog.math.lerp=function(a,b,c){return a+c*(b-a)},goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1e-6)},goog.math.standardAngle=function(a){return goog.math.modulo(a,360)},goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)},goog.math.toRadians=function(a){return a*Math.PI/180},goog.math.toDegrees=function(a){return 180*a/Math.PI},goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))},goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))},goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))},goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);return c>180?c-=360:-180>=c&&(c=360+c),c},goog.math.sign=Math.sign||function(a){return a>0?1:0>a?-1:a},goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b},d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;e+1>h;h++)g[h]=[],g[h][0]=0;for(var k=0;f+1>k;k++)g[0][k]=0;for(h=1;e>=h;h++)for(k=1;f>=k;k++)g[h][k]=c(a[h-1],b[k-1])?g[h-1][k-1]+1:Math.max(g[h-1][k],g[h][k-1]);for(var l=[],h=e,k=f;h>0&&k>0;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l},goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)},goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length},goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)},goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))},goog.math.isInt=function(a){return isFinite(a)&&0==a%1},goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)},goog.math.isNegativeZero=function(a){return 0==a&&0>1/a},goog.math.log10Floor=function(a){if(a>0){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a)}return 0==a?-(1/0):0/0},goog.math.safeFloor=function(a,b){return goog.asserts.assert(!goog.isDef(b)||b>0),Math.floor(a+(b||2e-15))},goog.math.safeCeil=function(a,b){return goog.asserts.assert(!goog.isDef(b)||b>0),Math.ceil(a-(b||2e-15))},goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0,this.y=goog.isDef(b)?b:0},goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)},goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"}),goog.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1},goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)},goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)},goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d},goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)},goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)},goog.math.Coordinate.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},goog.math.Coordinate.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},goog.math.Coordinate.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},goog.math.Coordinate.prototype.translate=function(a,b){return a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=a,goog.isNumber(b)&&(this.y+=b)),this},goog.math.Coordinate.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;return this.x*=a,this.y*=c,this},goog.math.Coordinate.prototype.rotateRadians=function(a,b){var c=b||new goog.math.Coordinate(0,0),d=this.x,e=this.y,f=Math.cos(a),g=Math.sin(a);this.x=(d-c.x)*f-(e-c.y)*g+c.x,this.y=(d-c.x)*g+(e-c.y)*f+c.y},goog.math.Coordinate.prototype.rotateDegrees=function(a,b){this.rotateRadians(goog.math.toRadians(a),b)},goog.math.Box=function(a,b,c,d){this.top=a,this.right=b,this.bottom=c,this.left=d},goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++){var d=arguments[c];b.top=Math.min(b.top,d.y),b.right=Math.max(b.right,d.x),b.bottom=Math.max(b.bottom,d.y),b.left=Math.min(b.left,d.x)}return b},goog.math.Box.prototype.getWidth=function(){return this.right-this.left},goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top},goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)},goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"}),goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)},goog.math.Box.prototype.expand=function(a,b,c,d){return goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom+=c,this.left-=d),this},goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left),this.top=Math.min(this.top,a.top),this.right=Math.max(this.right,a.right),this.bottom=Math.max(this.bottom,a.bottom)},goog.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1},goog.math.Box.contains=function(a,b){return a&&b?b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1},goog.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0},goog.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0},goog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b),d=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+d*d)},goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom},goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c},goog.math.Box.prototype.ceil=function(){return this.top=Math.ceil(this.top),this.right=Math.ceil(this.right),this.bottom=Math.ceil(this.bottom),this.left=Math.ceil(this.left),this},goog.math.Box.prototype.floor=function(){return this.top=Math.floor(this.top),this.right=Math.floor(this.right),this.bottom=Math.floor(this.bottom),this.left=Math.floor(this.left),this},goog.math.Box.prototype.round=function(){return this.top=Math.round(this.top),this.right=Math.round(this.right),this.bottom=Math.round(this.bottom),this.left=Math.round(this.left),this},goog.math.Box.prototype.translate=function(a,b){return a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(this.left+=a,this.right+=a,goog.isNumber(b)&&(this.top+=b,this.bottom+=b)),this},goog.math.Box.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;return this.left*=a,this.right*=a,this.top*=c,this.bottom*=c,this},goog.math.Rect=function(a,b,c,d){this.left=a,this.top=b,this.width=c,this.height=d},goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)},goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)},goog.math.Rect.createFromPositionAndSize=function(a,b){return new goog.math.Rect(a.x,a.y,b.width,b.height)},goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)},goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"}),goog.math.Rect.equals=function(a,b){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1},goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(c>=b){var d=Math.max(this.top,a.top);if(a=Math.min(this.top+this.height,a.top+a.height),a>=d)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1},goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(d>=c){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(f>=e)return new goog.math.Rect(c,e,d-c,f-e)}return null},goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height},goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)},goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];var c=[],d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;return b.top>a.top&&(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top),g>k&&(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d),b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e)),f>h&&c.push(new goog.math.Rect(h,d,f-h,e)),c},goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)},goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left),this.top=Math.min(this.top,a.top),this.width=b-this.left,this.height=c-this.top},goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=a.clone();return c.boundingRect(b),c},goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Rect?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height},goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);return a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0),b*b+a*a},goog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))},goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)},goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)},goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)},goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)},goog.math.Rect.prototype.ceil=function(){return this.left=Math.ceil(this.left),this.top=Math.ceil(this.top),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Rect.prototype.floor=function(){return this.left=Math.floor(this.left),this.top=Math.floor(this.top),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Rect.prototype.round=function(){return this.left=Math.round(this.left),this.top=Math.round(this.top),this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Rect.prototype.translate=function(a,b){return a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=a,goog.isNumber(b)&&(this.top+=b)),this},goog.math.Rect.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;return this.left*=a,this.width*=a,this.top*=c,this.height*=c,this},goog.string.TypedString=function(){},goog.string.Const=function(){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_="",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(a){return a instanceof goog.string.Const&&a.constructor===goog.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?a.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+a+"'"),"type_error:Const")},goog.string.Const.from=function(a){return goog.string.Const.create__googStringSecurityPrivate_(a)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.create__googStringSecurityPrivate_=function(a){var b=new goog.string.Const;return b.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a,b},goog.html={},goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="",this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyle.fromConstant=function(a){return a=goog.string.Const.unwrap(a),0===a.length?goog.html.SafeStyle.EMPTY:(goog.html.SafeStyle.checkStyle_(a),goog.asserts.assert(goog.string.endsWith(a,";"),"Last character of style string is not ';': "+a),goog.asserts.assert(goog.string.contains(a,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+a),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a))},goog.html.SafeStyle.checkStyle_=function(a){goog.asserts.assert(!/[<>]/.test(a),"Forbidden characters in style string: "+a)},goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_},goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}),goog.html.SafeStyle.unwrap=function(a){return a instanceof goog.html.SafeStyle&&a.constructor===goog.html.SafeStyle&&a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?a.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+a+"'"),"type_error:SafeStyle")},goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)},goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a,this},goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez",goog.html.SafeStyle.create=function(a){var c,b="";for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d instanceof goog.string.Const?(d=goog.string.Const.unwrap(d),goog.asserts.assert(!/[{;}]/.test(d),"Value does not allow [{;}].")):goog.html.SafeStyle.VALUE_RE_.test(d)?goog.html.SafeStyle.hasBalancedQuotes_(d)||(goog.asserts.fail("String value requires balanced quotes, got: "+d),d=goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only [-,.\"'%_!# a-zA-Z0-9], got: "+d),d=goog.html.SafeStyle.INNOCUOUS_STRING),b+=c+":"+d+";")}return b?(goog.html.SafeStyle.checkStyle_(b),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)):goog.html.SafeStyle.EMPTY},goog.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}return b&&c},goog.html.SafeStyle.VALUE_RE_=/^[-,."'%_!# a-zA-Z0-9]+$/,goog.html.SafeStyle.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyle.unwrap(a)};return goog.array.forEach(arguments,c),b?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):goog.html.SafeStyle.EMPTY},goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyleSheet.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyleSheet.unwrap(a)};return goog.array.forEach(arguments,c),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)},goog.html.SafeStyleSheet.fromConstant=function(a){return a=goog.string.Const.unwrap(a),0===a.length?goog.html.SafeStyleSheet.EMPTY:(goog.asserts.assert(!goog.string.contains(a,"<"),"Forbidden '<' character in style sheet string: "+a),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a))},goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_},goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"}),goog.html.SafeStyleSheet.unwrap=function(a){return a instanceof goog.html.SafeStyleSheet&&a.constructor===goog.html.SafeStyleSheet&&a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:(goog.asserts.fail("expected object of type SafeStyleSheet, got '"+a+"'"),"type_error:SafeStyleSheet")},goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(a)},goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=a,this},goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""),
  goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(a){return a instanceof goog.html.SafeUrl&&a.constructor===goog.html.SafeUrl&&a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?a.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+a+"'"),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm))$/i,goog.html.SafeUrl.fromBlob=function(a){return a=goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type)?goog.fs.url.createObjectUrl(a):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)},goog.html.DATA_URL_PATTERN_=/^data:([^;,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(a){var b=a.match(goog.html.DATA_URL_PATTERN_),b=b&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b?a:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^&:\/?#]*(?:[\/?#]|$))/i,goog.html.SafeUrl.sanitize=function(a){return a instanceof goog.html.SafeUrl?a:(a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a),goog.html.SAFE_URL_PATTERN_.test(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a))},goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.SafeUrl;return b.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a,b},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(a){return a instanceof goog.html.TrustedResourceUrl&&a.constructor===goog.html.TrustedResourceUrl&&a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"'"),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))},goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.TrustedResourceUrl;return b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=a,b},goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_,this.dir_=null},goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_},goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0,goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_},goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeHtml.unwrap=function(a){return a instanceof goog.html.SafeHtml&&a.constructor===goog.html.SafeHtml&&a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?a.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+a+"'"),"type_error:SafeHtml")},goog.html.SafeHtml.htmlEscape=function(a){if(a instanceof goog.html.SafeHtml)return a;var b=null;return a.implementsGoogI18nBidiDirectionalString&&(b=a.getDirection()),a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.htmlEscape(a),b)},goog.html.SafeHtml.htmlEscapePreservingNewlines=function(a){return a instanceof goog.html.SafeHtml?a:(a=goog.html.SafeHtml.htmlEscape(a),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.newLineToBr(goog.html.SafeHtml.unwrap(a)),a.getDirection()))},goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){return a instanceof goog.html.SafeHtml?a:(a=goog.html.SafeHtml.htmlEscape(a),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.whitespaceEscape(goog.html.SafeHtml.unwrap(a)),a.getDirection()))},goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape,goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_=goog.object.createSet(goog.dom.TagName.EMBED,goog.dom.TagName.IFRAME,goog.dom.TagName.LINK,goog.dom.TagName.OBJECT,goog.dom.TagName.SCRIPT,goog.dom.TagName.STYLE,goog.dom.TagName.TEMPLATE),goog.html.SafeHtml.create=function(a,b,c){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error("Invalid tag name <"+a+">.");if(a.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+a+"> is not allowed for SafeHtml.");return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(a,b,c)},goog.html.SafeHtml.createIframe=function(a,b,c,d){var e={};return e.src=a||null,e.srcdoc=b||null,a=goog.html.SafeHtml.combineAttributes(e,{sandbox:""},c),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)},goog.html.SafeHtml.createStyle=function(a,b){var c=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},b),d="";a=goog.array.concat(a);for(var e=0;e<a.length;e++)d+=goog.html.SafeStyleSheet.unwrap(a[e]);return d=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",c,d)},goog.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof goog.string.Const)c=goog.string.Const.unwrap(c);else if("style"==b.toLowerCase())c=goog.html.SafeHtml.getStyleValue_(c);else{if(/^on/i.test(b))throw Error('Attribute "'+b+'" requires goog.string.Const value, "'+c+'" given.');if(b.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof goog.html.TrustedResourceUrl)c=goog.html.TrustedResourceUrl.unwrap(c);else if(c instanceof goog.html.SafeUrl)c=goog.html.SafeUrl.unwrap(c);else{if(!goog.isString(c))throw Error('Attribute "'+b+'" on tag "'+a+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+c+'" given.');c=goog.html.SafeUrl.sanitize(c).getTypedStringValue()}}return c.implementsGoogStringTypedString&&(c=c.getTypedStringValue()),goog.asserts.assert(goog.isString(c)||goog.isNumber(c),"String or number value expected, got "+typeof c+" with value: "+c),b+'="'+goog.string.htmlEscape(String(c))+'"'},goog.html.SafeHtml.getStyleValue_=function(a){if(!goog.isObject(a))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+" given: "+a);return a instanceof goog.html.SafeStyle||(a=goog.html.SafeStyle.create(a)),goog.html.SafeStyle.unwrap(a)},goog.html.SafeHtml.createWithDir=function(a,b,c,d){return b=goog.html.SafeHtml.create(b,c,d),b.dir_=a,b},goog.html.SafeHtml.concat=function(a){var b=goog.i18n.bidi.Dir.NEUTRAL,c="",d=function(a){goog.isArray(a)?goog.array.forEach(a,d):(a=goog.html.SafeHtml.htmlEscape(a),c+=goog.html.SafeHtml.unwrap(a),a=a.getDirection(),b==goog.i18n.bidi.Dir.NEUTRAL?b=a:a!=goog.i18n.bidi.Dir.NEUTRAL&&b!=a&&(b=null))};return goog.array.forEach(arguments,d),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,b)},goog.html.SafeHtml.concatWithDir=function(a,b){var c=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));return c.dir_=a,c},goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(a,b)},goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a,b){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a,this.dir_=b,this},goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null,e="<"+a;if(b)for(var f in b){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(f))throw Error('Invalid attribute name "'+f+'".');var g=b[f];goog.isDefAndNotNull(g)&&(e+=" "+goog.html.SafeHtml.getAttrNameAndValue_(a,f,g))}return goog.isDefAndNotNull(c)?goog.isArray(c)||(c=[c]):c=[],goog.dom.tags.isVoidTag(a.toLowerCase())?(goog.asserts.assert(!c.length,"Void tag <"+a+"> does not allow content."),e+=">"):(d=goog.html.SafeHtml.concat(c),e+=">"+goog.html.SafeHtml.unwrap(d)+"</"+a+">",d=d.getDirection()),(a=b&&b.dir)&&(d=/^(ltr|rtl|auto)$/i.test(a)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,d)},goog.html.SafeHtml.combineAttributes=function(a,b,c){var e,d={};for(e in a)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=a[e];for(e in b)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=b[e];for(e in c){var f=e.toLowerCase();if(f in a)throw Error('Cannot override "'+f+'" attribute, got "'+e+'" with value "'+c[e]+'"');f in b&&delete d[f],d[e]=c[e]}return d},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,goog.html.SafeHtml.unwrap(c))},goog.dom.safe.setInnerHtml=function(a,b){a.innerHTML=goog.html.SafeHtml.unwrap(b)},goog.dom.safe.setOuterHtml=function(a,b){a.outerHTML=goog.html.SafeHtml.unwrap(b)},goog.dom.safe.documentWrite=function(a,b){a.write(goog.html.SafeHtml.unwrap(b))},goog.dom.safe.setAnchorHref=function(a,b){var c;c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitize(b),a.href=goog.html.SafeUrl.unwrap(c)},goog.dom.safe.setEmbedSrc=function(a,b){a.src=goog.html.TrustedResourceUrl.unwrap(b)},goog.dom.safe.setFrameSrc=function(a,b){a.src=goog.html.TrustedResourceUrl.unwrap(b)},goog.dom.safe.setIframeSrc=function(a,b){a.src=goog.html.TrustedResourceUrl.unwrap(b)},goog.dom.safe.setLinkHrefAndRel=function(a,b,c){a.rel=c,goog.string.caseInsensitiveContains(c,"stylesheet")?(goog.asserts.assert(b instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),a.href=goog.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(b):b instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(b):goog.html.SafeUrl.sanitize(b).getTypedStringValue()},goog.dom.safe.setObjectData=function(a,b){a.data=goog.html.TrustedResourceUrl.unwrap(b)},goog.dom.safe.setScriptSrc=function(a,b){a.src=goog.html.TrustedResourceUrl.unwrap(b)},goog.dom.safe.setLocationHref=function(a,b){var c;c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitize(b),a.href=goog.html.SafeUrl.unwrap(c)},goog.dom.safe.openInWindow=function(a,b,c,d,e){return a=a instanceof goog.html.SafeUrl?a:goog.html.SafeUrl.sanitize(a),(b||window).open(goog.html.SafeUrl.unwrap(a),c?goog.string.Const.unwrap(c):"",d,e)},goog.userAgent={},goog.userAgent.ASSUME_IE=!1,goog.userAgent.ASSUME_EDGE=!1,goog.userAgent.ASSUME_GECKO=!1,goog.userAgent.ASSUME_WEBKIT=!1,goog.userAgent.ASSUME_MOBILE_WEBKIT=!1,goog.userAgent.ASSUME_OPERA=!1,goog.userAgent.ASSUME_ANY_VERSION=!1,goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA,goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()},goog.userAgent.getNavigator=function(){return goog.global.navigator||null},goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera(),goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE(),goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge(),goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE,goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko(),goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit(),goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")},goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_(),goog.userAgent.SAFARI=goog.userAgent.WEBKIT,goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""},goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_(),goog.userAgent.ASSUME_MAC=!1,goog.userAgent.ASSUME_WINDOWS=!1,goog.userAgent.ASSUME_LINUX=!1,goog.userAgent.ASSUME_X11=!1,goog.userAgent.ASSUME_ANDROID=!1,goog.userAgent.ASSUME_IPHONE=!1,goog.userAgent.ASSUME_IPAD=!1,goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD,goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh(),goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows(),goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()},goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_(),goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")},goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_(),goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid(),goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone(),goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.determineVersion_=function(){if(goog.userAgent.OPERA&&goog.global.opera){var a=goog.global.opera.version;return goog.isFunction(a)?a():a}var a="",b=goog.userAgent.getVersionRegexResult_();return b&&(a=b?b[1]:""),goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),b>parseFloat(a))?String(b):a},goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv\:([^\);]+)(\)|;)/.exec(a):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(a):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(a):void 0},goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionOrHigherCache_[a]||(goog.userAgent.isVersionOrHigherCache_[a]=0<=goog.string.compareVersions(goog.userAgent.VERSION,a))},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(a){return goog.userAgent.DOCUMENT_MODE>=a},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();return a&&goog.userAgent.IE?b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5):void 0}(),goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)},goog.dom.ASSUME_QUIRKS_MODE=!1,goog.dom.ASSUME_STANDARDS_MODE=!1,goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE,goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)},goog.dom.getDocument=function(){return document},goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)},goog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b},goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)},goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);var c=goog.dom.getElementHelper_(a,b);return c=goog.asserts.assertElement(c,"No element found with id: "+b)},goog.dom.$=goog.dom.getElement,goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)},goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)},goog.dom.getElementByClass=function(a,b){var c=b||document,d=null;return(d=c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.canUseQuerySelector_(c)?c.querySelector("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)[0])||null},goog.dom.getRequiredElementByClass=function(a,b){var c=goog.dom.getElementByClass(a,b);return goog.asserts.assert(c,"No element found with className: "+a)},goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)},goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){if(a=d||a,b=b&&"*"!=b?b.toUpperCase():"",goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){if(a=a.getElementsByClassName(c),b){d={};for(var g,e=0,f=0;g=a[f];f++)b==g.nodeName&&(d[e++]=g);return d.length=e,d}return a}if(a=a.getElementsByTagName(b||"*"),c){for(d={},f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g);return d.length=e,d}return a},goog.dom.$$=goog.dom.getElementsByTagNameAndClass,goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})},goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)},goog.dom.getViewportSize_=function(a){return a=a.document,a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body,new goog.math.Size(a.clientWidth,a.clientHeight)},goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)},goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){var c=b.body,d=b.documentElement;if(!d||!c)return 0;if(a=goog.dom.getViewportSize_(a).height,goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight),c=b>a?b>e?b:e:e>b?b:e}}return c},goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()},goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)},goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);return a=goog.dom.getWindow_(a),goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)},goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)},goog.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement},goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window},goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView},goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)},goog.dom.createDom_=function(a,b){var c=b[0],d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){if(c=["<",c],d.name&&c.push(' name="',goog.string.htmlEscape(d.name),'"'),d.type){c.push(' type="',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d),delete e.type,d=e}c.push(">"),c=c.join("")}return c=a.createElement(c),d&&(goog.isString(d)?c.className=d:goog.isArray(d)?c.className=d.join(" "):goog.dom.setProperties(c,d)),2<b.length&&goog.dom.append_(a,c,b,2),c},goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}},goog.dom.$dom=goog.dom.createDom,goog.dom.createElement=function(a){return document.createElement(a)},goog.dom.createTextNode=function(a){return document.createTextNode(String(a))},goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)},goog.dom.createTable_=function(a,b,c,d){for(var e=a.createElement(goog.dom.TagName.TABLE),f=e.appendChild(a.createElement(goog.dom.TagName.TBODY)),g=0;b>g;g++){for(var h=a.createElement(goog.dom.TagName.TR),k=0;c>k;k++){var l=a.createElement(goog.dom.TagName.TD);d&&goog.dom.setTextContent(l,goog.string.Unicode.NBSP),h.appendChild(l)}f.appendChild(h)}return e},goog.dom.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(document,a)},goog.dom.safeHtmlToNode_=function(a,b){var c=a.createElement(goog.dom.TagName.DIV);return goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(goog.html.SafeHtml.create("br"),b)),c.removeChild(c.firstChild)):goog.dom.safe.setInnerHtml(c,b),goog.dom.childrenToNode_(a,c)},goog.dom.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(document,a)},goog.dom.htmlToDocumentFragment_=function(a,b){var c=a.createElement(goog.dom.TagName.DIV);return goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(c.innerHTML="<br>"+b,c.removeChild(c.firstChild)):c.innerHTML=b,goog.dom.childrenToNode_(a,c)},goog.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(b.firstChild);for(var c=a.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);return c},goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)},goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode},goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case goog.dom.TagName.APPLET:case goog.dom.TagName.AREA:case goog.dom.TagName.BASE:case goog.dom.TagName.BR:case goog.dom.TagName.COL:case goog.dom.TagName.COMMAND:case goog.dom.TagName.EMBED:case goog.dom.TagName.FRAME:case goog.dom.TagName.HR:case goog.dom.TagName.IMG:case goog.dom.TagName.INPUT:case goog.dom.TagName.IFRAME:case goog.dom.TagName.ISINDEX:case goog.dom.TagName.KEYGEN:case goog.dom.TagName.LINK:case goog.dom.TagName.NOFRAMES:case goog.dom.TagName.NOSCRIPT:case goog.dom.TagName.META:case goog.dom.TagName.OBJECT:case goog.dom.TagName.PARAM:case goog.dom.TagName.SCRIPT:case goog.dom.TagName.SOURCE:case goog.dom.TagName.STYLE:case goog.dom.TagName.TRACK:case goog.dom.TagName.WBR:return!1}return!0},goog.dom.appendChild=function(a,b){a.appendChild(b)},goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)},goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)},goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)},goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)},goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)},goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null},goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)},goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}},goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})},goog.dom.getFirstElementChild=function(a){return goog.isDef(a.firstElementChild)?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)},goog.dom.getLastElementChild=function(a){return goog.isDef(a.lastElementChild)?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)},goog.dom.getNextElementSibling=function(a){return goog.isDef(a.nextElementSibling)?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)},goog.dom.getPreviousElementSibling=function(a){return goog.isDef(a.previousElementSibling)?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)},goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a},goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null},goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a},goog.dom.isNodeLike=function(a){return goog.isObject(a)&&0<a.nodeType},goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT},goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a},goog.dom.getParentElement=function(a){var b;return!goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&a instanceof goog.global.SVGElement||!(b=a.parentElement)?(b=a.parentNode,goog.dom.isElement(b)?b:null):b},goog.dom.contains=function(a,b){if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(16&a.compareDocumentPosition(b));for(;b&&a!=b;)b=b.parentNode;return b==a},goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return 2&a.compareDocumentPosition(b)?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}return d=goog.dom.getOwnerDocument(a),c=d.createRange(),c.selectNode(a),c.collapse(!0),d=d.createRange(),d.selectNode(b),d.collapse(!0),c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)},goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)},goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1},goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=1/0;for(b=0;c>b;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f),e=Math.min(e,f.length)}for(f=null,b=0;e>b;b++){for(var g=d[0][b],h=1;c>h;h++)if(g!=d[h][b])return f;f=g}return f},goog.dom.getOwnerDocument=function(a){return goog.asserts.assert(a,"Node cannot be null or undefined."),a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document},goog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document},goog.dom.getFrameContentWindow=function(a){return a.contentWindow||goog.dom.getWindow(goog.dom.getFrameContentDocument(a))},goog.dom.setTextContent=function(a,b){if(goog.asserts.assert(null!=a,"goog.dom.setTextContent expects a non-null value for node"),"textContent"in a)a.textContent=b;else if(a.nodeType==goog.dom.NodeType.TEXT)a.data=b;else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)));
  
  }},goog.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a).createElement(goog.dom.TagName.DIV);return b.appendChild(a.cloneNode(!0)),b.innerHTML},goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0},goog.dom.findNodes=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!1),c},goog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1},goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"},goog.dom.isFocusableTabIndex=function(a){return goog.dom.hasSpecifiedTabIndex_(a)&&goog.dom.isTabIndexFocusable_(a)},goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))},goog.dom.isFocusable=function(a){var b;return(b=goog.dom.nativelySupportsFocus_(a)?!a.disabled&&(!goog.dom.hasSpecifiedTabIndex_(a)||goog.dom.isTabIndexFocusable_(a)):goog.dom.isFocusableTabIndex(a))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(a):b},goog.dom.hasSpecifiedTabIndex_=function(a){return a=a.getAttributeNode("tabindex"),goog.isDefAndNotNull(a)&&a.specified},goog.dom.isTabIndexFocusable_=function(a){return a=a.tabIndex,goog.isNumber(a)&&a>=0&&32768>a},goog.dom.nativelySupportsFocus_=function(a){return a.tagName==goog.dom.TagName.A||a.tagName==goog.dom.TagName.INPUT||a.tagName==goog.dom.TagName.TEXTAREA||a.tagName==goog.dom.TagName.SELECT||a.tagName==goog.dom.TagName.BUTTON},goog.dom.hasNonZeroBoundingRect_=function(a){return a=goog.isFunction(a.getBoundingClientRect)?a.getBoundingClientRect():{height:a.offsetHeight,width:a.offsetWidth},goog.isDefAndNotNull(a)&&0<a.height&&0<a.width},goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0),a=b.join("")}return a=a.replace(/ \xAD /g," ").replace(/\xAD/g,""),a=a.replace(/\u200B/g,""),goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "))," "!=a&&(a=a.replace(/^\s*/,"")),a},goog.dom.getRawTextContent=function(a){var b=[];return goog.dom.getTextContent_(a,b,!1),b.join("")},goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)b.push(c?String(a.nodeValue).replace(/(\r\n|\r|\n)/g,""):a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling},goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length},goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ +/g," ").length},goog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&b>d;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT)var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," "),d=d+f.length;else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;f>=0;f--)a.push(e.childNodes[f]);return goog.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e),e},goog.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(goog.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if(goog.isFunction(a))return"function"==typeof a.item}return!1},goog.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b&&!c)return null;var e=b?b.toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!e||a.nodeName==e)&&(!c||goog.isString(a.className)&&goog.array.contains(a.className.split(/\s+/),c))},!0,d)},goog.dom.getAncestorByClass=function(a,b,c){return goog.dom.getAncestorByTagNameAndClass(a,null,b,c)},goog.dom.getAncestor=function(a,b,c,d){c||(a=a.parentNode),c=null==d;for(var e=0;a&&(c||d>=e);){if(goog.asserts.assert("parentNode"!=a.name),b(a))return a;a=a.parentNode,e++}return null},goog.dom.getActiveElement=function(a){try{return a&&a.activeElement}catch(b){}return null},goog.dom.getPixelRatio=function(){var a=goog.dom.getWindow();return goog.isDef(a.devicePixelRatio)?a.devicePixelRatio:a.matchMedia?goog.dom.matchesPixelRatio_(.75)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(3)||1:1},goog.dom.matchesPixelRatio_=function(a){return goog.dom.getWindow().matchMedia("(-webkit-min-device-pixel-ratio: "+a+"),(min--moz-device-pixel-ratio: "+a+"),(min-resolution: "+a+"dppx)").matches?a:0},goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document},goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper,goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a},goog.dom.DomHelper.prototype.getDocument=function(){return this.document_},goog.dom.DomHelper.prototype.getElement=function(a){return goog.dom.getElementHelper_(this.document_,a)},goog.dom.DomHelper.prototype.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(this.document_,a)},goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement,goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)},goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)},goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)},goog.dom.DomHelper.prototype.getRequiredElementByClass=function(a,b){return goog.dom.getRequiredElementByClass(a,b||this.document_)},goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass,goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties,goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())},goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())},goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)},goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom,goog.dom.DomHelper.prototype.createElement=function(a){return this.document_.createElement(a)},goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))},goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)},goog.dom.DomHelper.prototype.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(this.document_,a)},goog.dom.DomHelper.prototype.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(this.document_,a)},goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)},goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)},goog.dom.DomHelper.prototype.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)},goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild,goog.dom.DomHelper.prototype.append=goog.dom.append,goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren,goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren,goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore,goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter,goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt,goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode,goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode,goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement,goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren,goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild,goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild,goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling,goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling,goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode,goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode,goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike,goog.dom.DomHelper.prototype.isElement=goog.dom.isElement,goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow,goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement,goog.dom.DomHelper.prototype.contains=goog.dom.contains,goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder,goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor,goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument,goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument,goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow,goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent,goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml,goog.dom.DomHelper.prototype.findNode=goog.dom.findNode,goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes,goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex,goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex,goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable,goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent,goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength,goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset,goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset,goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList,goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass,goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass,goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor,goog.dom.vendor={},goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null},goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null},goog.dom.vendor.getPrefixedPropertyName=function(a,b){if(b&&a in b)return a;var c=goog.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),c+=goog.string.toTitleCase(a),!goog.isDef(b)||c in b?c:null):null},goog.dom.vendor.getPrefixedEventType=function(a){return((goog.dom.vendor.getVendorJsPrefix()||"")+a).toLowerCase()},goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.msMaxTouchPoints)},goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()},goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DOMCONTENTLOADED:"DOMContentLoaded",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",AFTERPRINT:"afterprint"},goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.platformModifierKey=!1,this.event_=null,a&&this.init(a,b)},goog.inherits(goog.events.BrowserEvent,goog.events.Event),goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2},goog.events.BrowserEvent.IEButtonMap=[1,4,2],goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;this.target=a.target||a.srcElement,this.currentTarget=b;var d=a.relatedTarget;d?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(d,"nodeName")||(d=null)):c==goog.events.EventType.MOUSEOVER?d=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(d=a.toElement),this.relatedTarget=d,this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0,this.button=a.button,this.keyCode=a.keyCode||0,this.charCode=a.charCode||("keypress"==c?a.keyCode:0),this.ctrlKey=a.ctrlKey,this.altKey=a.altKey,this.shiftKey=a.shiftKey,this.metaKey=a.metaKey,this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey,this.state=a.state,this.event_=a,a.defaultPrevented&&this.preventDefault()},goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IEButtonMap[a])},goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)},goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this),this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0},goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)&&(a.keyCode=-1)}catch(b){}},goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_},goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1e6*Math.random()|0),goog.events.onString_="on",goog.events.onStringMap_={},goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2},goog.events.CAPTURE_SIMULATION_MODE=2,goog.events.listenerCountEstimate_=0,goog.events.listen=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}return c=goog.events.wrapListener(c),goog.events.Listenable.isImplementedBy(a)?a.listen(b,c,d,e):goog.events.listen_(a,b,c,!1,d,e)},goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);if(h||(a[goog.events.LISTENER_MAP_PROP_]=h=new goog.events.ListenerMap(a)),c=h.add(b,c,d,e,f),c.proxy)return c;if(d=goog.events.getProxy(),c.proxy=d,d.src=a,d.listener=c,a.addEventListener)a.addEventListener(b.toString(),d,g);else{if(!a.attachEvent)throw Error("addEventListener and attachEvent are unavailable.");a.attachEvent(goog.events.getOnString_(b.toString()),d)}return goog.events.listenerCountEstimate_++,c},goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){return c=a.call(b.src,b.listener,c),c?void 0:c};return b},goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}return c=goog.events.wrapListener(c),goog.events.Listenable.isImplementedBy(a)?a.listenOnce(b,c,d,e):goog.events.listen_(a,b,c,!0,d,e)},goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)},goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}return c=goog.events.wrapListener(c),goog.events.Listenable.isImplementedBy(a)?a.unlisten(b,c,d,e):a?(d=!!d,(a=goog.events.getListenerMap_(a))&&(b=a.getListener(b,c,d,e))?goog.events.unlistenByKey(b):!1):!1},goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;return b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(goog.events.getOnString_(c),d),goog.events.listenerCountEstimate_--,(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=null)):a.markAsRemoved(),!0},goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)},goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);var c=goog.events.getListenerMap_(a);if(!c)return 0;var f,d=0,e=b&&b.toString();for(f in c.listeners)if(!e||f==e)for(var g=c.listeners[f].concat(),h=0;h<g.length;++h)goog.events.unlistenByKey(g[h])&&++d;return d},goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a&&(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]},goog.events.getListener=function(a,b,c,d,e){return c=goog.events.wrapListener(c),d=!!d,goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a&&(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null},goog.events.hasListener=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.hasListener(b,c):(a=goog.events.getListenerMap_(a),!!a&&a.hasListener(b,c))},goog.events.expose=function(a){var c,b=[];for(c in a)b.push(a[c]&&a[c].id?c+" = "+a[c]+" ("+a[c].id+")":c+" = "+a[c]);return b.join("\n")},goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a},goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)},goog.events.fireListeners_=function(a,b,c,d){var e=!0;if((a=goog.events.getListenerMap_(a))&&(b=a.listeners[b.toString()]))for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e},goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;return a.callOnce&&goog.events.unlistenByKey(a),c.call(d,b)},goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_},goog.events.dispatchEvent=function(a,b){return goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance."),a.dispatchEvent(b)},goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)},goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName("window.event"),d=new goog.events.BrowserEvent(c,this),e=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);for(var c=[],f=d.currentTarget;f;f=f.parentNode)c.push(f);for(var f=a.type,g=c.length-1;!d.propagationStopped_&&g>=0;g--){d.currentTarget=c[g];var h=goog.events.fireListeners_(c[g],f,!0,d),e=e&&h}for(g=0;!d.propagationStopped_&&g<c.length;g++)d.currentTarget=c[g],h=goog.events.fireListeners_(c[g],f,!1,d),e=e&&h}}else e=goog.events.fireListener(a,d);return e}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))},goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{return void(a.keyCode=-1)}catch(c){b=!0}(b||void 0==a.returnValue)&&(a.returnValue=!0)},goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue},goog.events.uniqueIdCounter_=0,goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++},goog.events.getListenerMap_=function(a){return a=a[goog.events.LISTENER_MAP_PROP_],a instanceof goog.events.ListenerMap?a:null},goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1e9*Math.random()>>>0),goog.events.wrapListener=function(a){return goog.asserts.assert(a,"Listener can not be null."),goog.isFunction(a)?a:(goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method."),a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)}),a[goog.events.LISTENER_WRAPPER_PROP_])},goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)}),goog.style={},goog.style.setStyle=function(a,b,c){if(goog.isString(b))goog.style.setStyle_(a,c,b);else for(var d in b)goog.style.setStyle_(a,b[d],d)},goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)},goog.style.styleNameCache_={},goog.style.getVendorJsStyleName_=function(a,b){var c=goog.style.styleNameCache_[b];if(!c){var d=goog.string.toCamelCase(b),c=d;void 0===a.style[d]&&(d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(d),void 0!==a.style[d]&&(c=d)),goog.style.styleNameCache_[b]=c}return c},goog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]&&(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(c),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+"-"+b:b},goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return"undefined"!=typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||""},goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||"":""},goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null},goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style&&a.style[b]},goog.style.getComputedBoxSizing=function(a){return goog.style.getStyle_(a,"boxSizing")||goog.style.getStyle_(a,"MozBoxSizing")||goog.style.getStyle_(a,"WebkitBoxSizing")||null},goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")},goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")},goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")},goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")},goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")},goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")},goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")},goog.style.getComputedTransform=function(a){var b=goog.style.getVendorStyleName_(a,"transform");return goog.style.getStyle_(a,b)||goog.style.getStyle_(a,"transform")},goog.style.setPosition=function(a,b,c){var d;b instanceof goog.math.Coordinate?(d=b.x,b=b.y):(d=b,b=c),a.style.left=goog.style.getPixelStyleValue_(d,!1),a.style.top=goog.style.getPixelStyleValue_(b,!1)},goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)},goog.style.getClientViewportElement=function(a){return a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument(),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body},goog.style.getViewportPageOffset=function(a){var b=a.body;return a=a.documentElement,new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)},goog.style.getBoundingClientRect_=function(a){var b;try{b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}return goog.userAgent.IE&&a.ownerDocument.body&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop),b},goog.style.getOffsetParent=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(a.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&a.host&&(a=a.host),c=goog.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null},goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,1/0,1/0,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE&&0==a.clientWidth||goog.userAgent.WEBKIT&&0==a.clientHeight&&a==d)&&a!=d&&a!=e&&"visible"!=goog.style.getStyle_(a,"overflow")){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x,g.y+=h.y,b.top=Math.max(b.top,g.y),b.right=Math.min(b.right,g.x+a.clientWidth),b.bottom=Math.min(b.bottom,g.y+a.clientHeight),b.left=Math.max(b.left,g.x)}return d=f.scrollLeft,f=f.scrollTop,b.left=Math.max(b.left,d),b.top=Math.max(b.top,f),c=c.getViewportSize(),b.right=Math.min(b.right,d+c.width),b.bottom=Math.min(b.bottom,f+c.height),0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null},goog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=goog.style.getPageOffset(a),e=goog.style.getPageOffset(b),f=goog.style.getBorderBox(b),g=d.x-e.x-f.left,d=d.y-e.y-f.top,h=b.clientWidth-a.offsetWidth;a=b.clientHeight-a.offsetHeight;var k=b.scrollLeft,l=b.scrollTop;return(b==goog.dom.getDocument().body||b==goog.dom.getDocument().documentElement)&&(k=e.x+f.left,l=e.y+f.top,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(k+=f.left,l+=f.top)),c?(k+=g-h/2,l+=d-a/2):(k+=Math.min(g,Math.max(g-h,0)),l+=Math.min(d,Math.max(d-a,0))),new goog.math.Coordinate(k,l)},goog.style.scrollIntoContainerView=function(a,b,c){a=goog.style.getContainerOffsetToScrollInto(a,b,c),b.scrollLeft=a.x,b.scrollTop=a.y},goog.style.getClientLeftTop=function(a){return new goog.math.Coordinate(a.clientLeft,a.clientTop)},goog.style.getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a);goog.asserts.assertObject(a,"Parameter is required");var c=new goog.math.Coordinate(0,0),d=goog.style.getClientViewportElement(b);return a==d?c:(a=goog.style.getBoundingClientRect_(a),b=goog.dom.getDomHelper(b).getDocumentScroll(),c.x=a.left+b.x,c.y=a.top+b.y,c)},goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x},goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y},goog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a)),e=a;do{var f=d==b?goog.style.getPageOffset(e):goog.style.getClientPositionForElement_(goog.asserts.assert(e));c.x+=f.x,c.y+=f.y}while(d&&d!=b&&d!=d.parent&&(e=d.frameElement)&&(d=d.parent));return c},goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow()),c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d)),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=goog.math.Coordinate.difference(c,b.getDocumentScroll())),a.left+=c.x,a.top+=c.y}},goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);
  
  return new goog.math.Coordinate(c.x-d.x,c.y-d.y)},goog.style.getClientPositionForElement_=function(a){return a=goog.style.getBoundingClientRect_(a),new goog.math.Coordinate(a.left,a.top)},goog.style.getClientPosition=function(a){if(goog.asserts.assert(a),a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);var b=goog.isFunction(a.getBrowserEvent),c=a;return a.targetTouches&&a.targetTouches.length?c=a.targetTouches[0]:b&&a.getBrowserEvent().targetTouches&&a.getBrowserEvent().targetTouches.length&&(c=a.getBrowserEvent().targetTouches[0]),new goog.math.Coordinate(c.clientX,c.clientY)},goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate&&(c=b.y,b=b.x),goog.style.setPosition(a,a.offsetLeft+(b-d.x),a.offsetTop+(c-d.y))},goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");goog.style.setWidth(a,b),goog.style.setHeight(a,c)},goog.style.getPixelStyleValue_=function(a,b){return"number"==typeof a&&(a=(b?Math.round(a):a)+"px"),a},goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)},goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)},goog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)},goog.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=goog.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden",c.position="absolute",c.display="inline";var g=a(b);return c.display=d,c.position=f,c.visibility=e,g},goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return goog.isDef(b)&&!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))},goog.style.getTransformedSize=function(a){return a.getBoundingClientRect?(a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a),new goog.math.Size(a.right-a.left,a.bottom-a.top)):null},goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);return a=goog.style.getSize(a),new goog.math.Rect(b.x,b.y,a.width,a.height)},goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))},goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)},goog.style.getOpacity=function(a){var b=a.style;return a="","opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100)),""==a?a:Number(a)},goog.style.setOpacity=function(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")},goog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRepeat="no-repeat")},goog.style.clearTransparentBackgroundImage=function(a){a=a.style,"filter"in a?a.filter="":a.backgroundImage="none"},goog.style.showElement=function(a,b){goog.style.setElementShown(a,b)},goog.style.setElementShown=function(a,b){a.style.display=b?"":"none"},goog.style.isElementShown=function(a){return"none"!=a.style.display},goog.style.installStyles=function(a,b){var c=goog.dom.getDomHelper(b),d=null,e=c.getDocument();return goog.userAgent.IE&&e.createStyleSheet?(d=e.createStyleSheet(),goog.style.setStyles(d,a)):(e=c.getElementsByTagNameAndClass(goog.dom.TagName.HEAD)[0],e||(d=c.getElementsByTagNameAndClass(goog.dom.TagName.BODY)[0],e=c.createDom(goog.dom.TagName.HEAD),d.parentNode.insertBefore(e,d)),d=c.createDom(goog.dom.TagName.STYLE),goog.style.setStyles(d,a),c.appendChild(e,d)),d},goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)},goog.style.setStyles=function(a,b){goog.userAgent.IE&&goog.isDef(a.cssText)?a.cssText=b:a.innerHTML=b},goog.style.setPreWrap=function(a){a=a.style,goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"},goog.style.setInlineBlock=function(a){a=a.style,a.position="relative",goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display="inline-block"},goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")},goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT?"WebkitUserSelect":null,goog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?"none"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1},goog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style&&(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style&&(e.style[d]=b)}}else if((goog.userAgent.IE||goog.userAgent.OPERA)&&(b=b?"on":"",a.setAttribute("unselectable",b),c))for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)},goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)},goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"border-box");else if(c=a.style,d){var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right,c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=b.height},goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;return c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing?(b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a)):(c=goog.style.getBorderBoxSize(a),b=goog.style.getPaddingBox(a),a=goog.style.getBorderBox(a),new goog.math.Size(c.width-a.left-b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom))},goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"content-box");else if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right,c.pixelHeight=b.height+e.top+d.top+d.bottom+e.bottom}},goog.style.setBoxSizingSize_=function(a,b,c){a=a.style,goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c,a.width=Math.max(b.width,0)+"px",a.height=Math.max(b.height,0)+"px"},goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];return a.runtimeStyle[c]=a.currentStyle[c],a.style[c]=b,b=a.style[d],a.style[c]=e,a.runtimeStyle[c]=f,b},goog.style.getIePixelDistance_=function(a,b){var c=goog.style.getCascadedStyle(a,b);return c?goog.style.getIePixelValue_(a,c,"left","pixelLeft"):0},goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.style.getIePixelDistance_(a,b+"Top"),f=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}return c=goog.style.getComputedStyle(a,b+"Left"),d=goog.style.getComputedStyle(a,b+"Right"),e=goog.style.getComputedStyle(a,b+"Top"),f=goog.style.getComputedStyle(a,b+"Bottom"),new goog.math.Box(parseFloat(e),parseFloat(d),parseFloat(f),parseFloat(c))},goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")},goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")},goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6},goog.style.getIePixelBorder_=function(a,b){if("none"==goog.style.getCascadedStyle(a,b+"Style"))return 0;var c=goog.style.getCascadedStyle(a,b+"Width");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,"left","pixelLeft")},goog.style.getBorderBox=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var b=goog.style.getIePixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=goog.style.getIePixelBorder_(a,"borderTop");return a=goog.style.getIePixelBorder_(a,"borderBottom"),new goog.math.Box(d,c,a,b)}return b=goog.style.getComputedStyle(a,"borderLeftWidth"),c=goog.style.getComputedStyle(a,"borderRightWidth"),d=goog.style.getComputedStyle(a,"borderTopWidth"),a=goog.style.getComputedStyle(a,"borderBottomWidth"),new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))},goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange&&goog.dom.contains(b,a)){b=b.body.createTextRange(),b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}return c||(c=goog.style.getStyle_(a,"fontFamily")),a=c.split(","),1<a.length&&(c=a[0]),goog.string.stripQuotes(c,"\"'")},goog.style.lengthUnitRegex_=/[^\d]+$/,goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[0]||null},goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1},goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1},goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE){if(c in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&c in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,"left","pixelLeft")}return c=goog.dom.createDom(goog.dom.TagName.SPAN,{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"}),goog.dom.appendChild(a,c),b=c.offsetHeight,goog.dom.removeNode(c),b},goog.style.parseStyleAttribute=function(a){var b={};return goog.array.forEach(a.split(/\s*;\s*/),function(a){a=a.split(/\s*:\s*/),2==a.length&&(b[goog.string.toCamelCase(a[0].toLowerCase())]=a[1])}),b},goog.style.toStyleAttribute=function(a){var b=[];return goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")}),b.join("")},goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b},goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""},goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement(goog.dom.TagName.DIV);return a&&(b.className=a),b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px",a=goog.dom.createElement(goog.dom.TagName.DIV),goog.style.setSize(a,"200px","200px"),b.appendChild(a),goog.dom.appendChild(goog.dom.getDocument().body,b),a=b.offsetWidth-b.clientWidth,goog.dom.removeNode(b),a},goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/,goog.style.getCssTranslation=function(a){return a=goog.style.getComputedTransform(a),a&&(a=a.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0)},goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.userAgent.product.determineVersion_=function(){if(goog.userAgent.product.FIREFOX)return goog.userAgent.product.getFirstRegExpGroup_(/Firefox\/([0-9.]+)/);if(goog.userAgent.product.IE||goog.userAgent.product.OPERA)return goog.userAgent.VERSION;if(goog.userAgent.product.CHROME)return goog.userAgent.product.getFirstRegExpGroup_(/Chrome\/([0-9.]+)/);if(goog.userAgent.product.SAFARI&&!goog.labs.userAgent.platform.isIos())return goog.userAgent.product.getFirstRegExpGroup_(/Version\/([0-9.]+)/);if(goog.userAgent.product.IPHONE||goog.userAgent.product.IPAD){var a=goog.userAgent.product.execRegExp_(/Version\/(\S+).*Mobile\/(\S+)/);if(a)return a[1]+"."+a[2]}else if(goog.userAgent.product.ANDROID)return(a=goog.userAgent.product.getFirstRegExpGroup_(/Android\s+([0-9.]+)/))?a:goog.userAgent.product.getFirstRegExpGroup_(/Version\/([0-9.]+)/);return""},goog.userAgent.product.getFirstRegExpGroup_=function(a){return(a=goog.userAgent.product.execRegExp_(a))?a[1]:""},goog.userAgent.product.execRegExp_=function(a){return a.exec(goog.userAgent.getUserAgentString())},goog.userAgent.product.VERSION=goog.userAgent.product.determineVersion_(),goog.userAgent.product.isVersion=function(a){return 0<=goog.string.compareVersions(goog.userAgent.product.VERSION,a)},goog.style.transform={},goog.style.transform.isSupported=goog.functions.cacheReturnValue(function(){return!goog.userAgent.IE||goog.userAgent.product.isVersion(9)}),goog.style.transform.is3dSupported=goog.functions.cacheReturnValue(function(){return goog.userAgent.WEBKIT||goog.userAgent.GECKO&&goog.userAgent.product.isVersion(10)||goog.userAgent.IE&&goog.userAgent.product.isVersion(10)}),goog.style.transform.getTranslation=function(a){a=goog.style.getComputedTransform(a);var b=goog.style.transform.matrixConstructor_();return a&&b&&(a=new b(a))?new goog.math.Coordinate(a.m41,a.m42):new goog.math.Coordinate(0,0)},goog.style.transform.setTranslation=function(a,b,c){return goog.style.transform.isSupported()?(b=goog.style.transform.is3dSupported()?"translate3d("+b+"px,"+c+"px,0px)":"translate("+b+"px,"+c+"px)",goog.style.setStyle(a,goog.style.transform.getTransformProperty_(),b),!0):!1},goog.style.transform.getScale=function(a){a=goog.style.getComputedTransform(a);var b=goog.style.transform.matrixConstructor_();return a&&b&&(a=new b(a))?new goog.math.Coordinate3(a.m11,a.m22,a.m33):new goog.math.Coordinate3(0,0,0)},goog.style.transform.setScale=function(a,b,c,d){return goog.style.transform.isSupported()?(b=goog.style.transform.is3dSupported()?"scale3d("+b+","+c+","+d+")":"scale("+b+","+c+")",goog.style.setStyle(a,goog.style.transform.getTransformProperty_(),b),!0):!1},goog.style.transform.getTransformProperty_=goog.functions.cacheReturnValue(function(){return goog.userAgent.IE&&9==goog.userAgent.DOCUMENT_MODE?"-ms-transform":"transform"}),goog.style.transform.matrixConstructor_=goog.functions.cacheReturnValue(function(){return goog.isDef(goog.global.WebKitCSSMatrix)?goog.global.WebKitCSSMatrix:goog.isDef(goog.global.MSCSSMatrix)?goog.global.MSCSSMatrix:goog.isDef(goog.global.CSSMatrix)?goog.global.CSSMatrix:null});var android={components:{}};android.components.matrix={},android.components.matrix.assignedMatrixMultiplication=function(a,b,c){return c[0]=a[0]*b[0]+a[1]*b[4]+a[2]*b[8]+a[3]*b[12],c[1]=a[0]*b[1]+a[1]*b[5]+a[2]*b[9]+a[3]*b[13],c[2]=a[0]*b[2]+a[1]*b[6]+a[2]*b[10]+a[3]*b[14],c[3]=a[0]*b[3]+a[1]*b[7]+a[2]*b[11]+a[3]*b[15],c[4]=a[4]*b[0]+a[5]*b[4]+a[6]*b[8]+a[7]*b[12],c[5]=a[4]*b[1]+a[5]*b[5]+a[6]*b[9]+a[7]*b[13],c[6]=a[4]*b[2]+a[5]*b[6]+a[6]*b[10]+a[7]*b[14],c[7]=a[4]*b[3]+a[5]*b[7]+a[6]*b[11]+a[7]*b[15],c[8]=a[8]*b[0]+a[9]*b[4]+a[10]*b[8]+a[11]*b[12],c[9]=a[8]*b[1]+a[9]*b[5]+a[10]*b[9]+a[11]*b[13],c[10]=a[8]*b[2]+a[9]*b[6]+a[10]*b[10]+a[11]*b[14],c[11]=a[8]*b[3]+a[9]*b[7]+a[10]*b[11]+a[11]*b[15],c[12]=a[12]*b[0]+a[13]*b[4]+a[14]*b[8]+a[15]*b[12],c[13]=a[12]*b[1]+a[13]*b[5]+a[14]*b[9]+a[15]*b[13],c[14]=a[12]*b[2]+a[13]*b[6]+a[14]*b[10]+a[15]*b[14],c[15]=a[12]*b[3]+a[13]*b[7]+a[14]*b[11]+a[15]*b[15],c},android.components.matrix.assignTranslate=function(a,b,c,d){a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=b,a[13]=c,a[14]=d,a[15]=1},android.components.matrix.assignRotateX=function(a,b){a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=Math.cos(b),a[6]=-Math.sin(b),a[7]=0,a[8]=0,a[9]=Math.sin(b),a[10]=Math.cos(b),a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.assignRotateY=function(a,b){a[0]=Math.cos(b),a[1]=0,a[2]=Math.sin(b),a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=-Math.sin(b),a[9]=0,a[10]=Math.cos(b),a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.assignRotateZ=function(a,b){a[0]=Math.cos(b),a[1]=-Math.sin(b),a[2]=0,a[3]=0,a[4]=Math.sin(b),a[5]=Math.cos(b),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.assignSkew=function(a,b,c){a[0]=1,a[1]=Math.tan(b),a[2]=0,a[3]=0,a[4]=Math.tan(c),a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.assignScale=function(a,b,c){a[0]=b,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=c,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.assignIdentity=function(a){a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=1,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1},android.components.matrix.copyArray=function(a,b){b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]},android.components.matrix.createMatrix=function(){var a=new Float32Array(16),b=new Float32Array(16),c=new Float32Array(16);return android.components.matrix.assignIdentity(a),{data:a,asCSS:function(){for(var b="matrix3d(",c=0;15>c;++c)b=1e-4>Math.abs(a[c])?b+"0,":b+(a[c].toFixed(10)+",");return b=1e-4>Math.abs(a[15])?b+"0)":b+(a[15].toFixed(10)+")")},clear:function(){android.components.matrix.assignIdentity(a)},translate:function(d,e,f){return android.components.matrix.copyArray(a,b),android.components.matrix.assignTranslate(c,d,e,f),android.components.matrix.assignedMatrixMultiplication(b,c,a),this},rotateX:function(d){return android.components.matrix.copyArray(a,b),android.components.matrix.assignRotateX(c,d),android.components.matrix.assignedMatrixMultiplication(b,c,a),this},rotateY:function(d){return android.components.matrix.copyArray(a,b),android.components.matrix.assignRotateY(c,d),android.components.matrix.assignedMatrixMultiplication(b,c,a),this},rotateZ:function(d){return android.components.matrix.copyArray(a,b),android.components.matrix.assignRotateZ(c,d),android.components.matrix.assignedMatrixMultiplication(b,c,a),this},scale:function(d,e){return android.components.matrix.copyArray(a,b),android.components.matrix.assignScale(c,d,e),android.components.matrix.assignedMatrixMultiplication(b,c,a),this},skew:function(d,e){return android.components.matrix.copyArray(a,b),android.components.matrix.assignSkew(c,d,e),android.components.matrix.assignedMatrixMultiplication(b,c,a),this}}},android.components.Scrollify=function(a){if(0==a instanceof HTMLElement&&(a=document.querySelector(a)),!a)throw"Scrollify [error]: could not find element";return goog.style.transform.isSupported()?(this.element=a,this.doubletick=this.ticking=!1,this.scenes=[],this.scroll=window.scrollY||window.pageYOffset,this.active=!0,this.matrix=android.components.matrix.createMatrix(),this.transforms={scale:[1,1],rotation:[0,0,0],position:[0,0,0]},window.addEventListener("scroll",goog.bind(this.onScroll,this)),void window.addEventListener("resize",goog.bind(this.onResize,this))):this.active=!1},android.components.Scrollify.prototype.calculateStart=function(a){var b=a.trigger,c=a.triggerPos,d=0;do d+=b.offsetTop||0,b=b.offsetParent;while(b);a.start=Math.max(0,d-c*window.innerHeight)},android.components.Scrollify.prototype.addScene=function(a){var b=a.start||0,c=a.duration||window.innerHeight+this.element.offsetHeight,d=a.easing||!1,e=a.effects||[],f={trigger:a.trigger?a.trigger instanceof HTMLElement?a.trigger:document.querySelector(a.trigger):this.element,triggerPos:1-b,duration:c,easing:d,applyTransform:void 0!==a.applyTransform?a.applyTransform:!0,effects:[]};return this.calculateStart(f),f.state=this.scroll>this.start?this.scroll>this.start+c?"after":"active":"before",e.map(function(a){this.addEffect(a.name,a.options,f)},this),this.updateScene(f),this.scenes.push(f),this},android.components.Scrollify.prototype.updateScene=function(a){this.calculateStart(a),this.calculate(a)},android.components.Scrollify.prototype.addEffect=function(a,b,c){var d=this.element,e=this.transforms;if(b=b||{},!c){if(!this.scenes.length)return this.addScene({effects:[{name:a,options:b}]});c=this.scenes[this.scenes.length-1]}var f=function(a,b){return function(){a.call({options:b,element:d,transforms:e},this)}}.bind(this);return c.effects.push(f(a,b)),this},android.components.Scrollify.prototype.onScroll=function(){this.active?(this.scroll=window.scrollY||window.pageYOffset,this.ticking||(this.ticking=!0,window.requestAnimationFrame(this.update.bind(this)))):console.log("scrollify inactive")},android.components.Scrollify.prototype.onResize=function(){this.scenes.forEach(this.updateScene,this)},android.components.Scrollify.prototype.update=function(){this.scenes.forEach(this.calculate,this),this.ticking=!1},android.components.Scrollify.prototype.calculate=function(a){var e,b=a.start,c=a.duration,d=this.scroll;if(d-b>c){if("after"===a.state)return;a.state="after",e=1}else if(0>d-b){if("before"===a.state)return;a.state="before",e=0}else a.state="active",e=a.easing?a.easing(d-b,0,1,c):(d-b)/c;a.effects.forEach(function(a){a.call(e)}),a.applyTransform&&(a=this.updateMatrix(),this.element.style.transform=a.asCSS())},android.components.Scrollify.prototype.updateMatrix=function(){var a=this.transforms,b=this.matrix;return b.clear(),a.transformOrigin&&b.translate(-a.transformOrigin[0],-a.transformOrigin[1],-a.transformOrigin[2]),a.scale&&b.scale(a.scale[0],a.scale[1]),a.skew&&b.skew(a.skew[0],a.skew[1]),a.rotation&&(b.rotateX(a.rotation[0]),b.rotateY(a.rotation[1]),b.rotateZ(a.rotation[2])),a.position&&b.translate(a.position[0],a.position[1],a.position[2]),a.transformOrigin&&b.translate(a.transformOrigin[0],a.transformOrigin[1],a.transformOrigin[2]),b},android.components.Scrollify.prototype.disable=function(){this.active=!1},android.components.Scrollify.prototype.easings={easeInQuad:function(a,b,c,d){return c*(a/=d)*a+b},easeOutQuad:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInSine:function(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b}},android.components.Scrollify.prototype.effects={translateX:function(a){var b=this.options.from||0;this.transforms.position[0]=((this.options.to||0)-b)*a+b},translateY:function(a){var b=this.options.from||0;this.transforms.position[1]=((this.options.to||0)-b)*a+b},rotate:function(a){this.transforms.rotation[2]=this.options.rad*a},scale:function(a){var b=this.options.from||this.transforms.scale[0];a=((this.options.to||1)-b)*a+b,this.transforms.scale[0]=a,this.transforms.scale[1]=a},fade:function(a){var b=void 0!==this.options.from?this.options.from:1;this.element.style.opacity=((void 0!==this.options.to?this.options.to:1)-b)*a+b},blur:function(a){var b=void 0!==this.options.from?this.options.from:0;this.element.style.filter="blur("+(((void 0!==this.options.to?this.options.to:0)-b)*a+b)+"px)"},parallax:function(a){var b=0,b=a*(this.options.range||0);this.transforms.position[1]=b},toggle:function(a){var e,f,b=this.options,c=this.element,d=Object.keys(b.time);b.callbackEvent&&(f=b.callbackEvent),d.forEach(function(d){var h=b.time[d];e=c.classList.length,a>d?c.classList.add(h):c.classList.remove(h),e!==c.classList.length&&f&&f(a>d)})},imageScrubber:function(a){var b=this.options.images,c=this.options.frameBounds?this.options.frameBounds[0]:0,b=this.options.frameBounds?this.options.frameBounds[1]:b.length-1,d=android.pages.nougat.numbers.CANVAS_WIDTH,e=android.pages.nougat.numbers.CANVAS_HEIGHT;a=parseInt(a*(b-c)+c),a=Math.min(b,Math.max(a,0)),this.options.context.clearRect(0,0,d,e),this.options.paint(this.options.context,a,d,e)}},android.utils={},android.utils.detector={},android.utils.detector.Devices={MOBILE:"mobile",DESKTOP:"desktop",UNKNOWN:"unknown"},android.utils.detector.OS={ANDROID:"android",IOS:"ios",WINDOWS:"windows",MAC:"mac",LINUX:"linux",CHROME:"chrome",UNKNOWN:"unknown"},android.utils.detector.Cache_={userAgent:null},android.utils.detector.detectDevice=function(){var a=goog.labs.userAgent.platform.isAndroid()||goog.labs.userAgent.platform.isIos(),b=goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isMacintosh()||goog.labs.userAgent.platform.isWindows();return a?android.utils.detector.Devices.MOBILE:b?android.utils.detector.Devices.DESKTOP:android.utils.detector.Devices.UNKNOWN},android.utils.detector.detectOS=function(){var a=goog.labs.userAgent.platform;return a.isAndroid()?android.utils.detector.OS.ANDROID:a.isIos()?android.utils.detector.OS.IOS:a.isWindows()?android.utils.detector.OS.WINDOWS:a.isMacintosh()?android.utils.detector.OS.MAC:a.isLinux()?android.utils.detector.OS.LINUX:a.isChromeOS()?android.utils.detector.OS.CHROME:android.utils.detector.OS.UNKNOWN},android.utils.detector.getUserAgent=function(a){var b={cached:!0};if(goog.object.extend(b,a||{}),b.cached&&android.utils.detector.Cache_.userAgent)return android.utils.detector.Cache_.userAgent;a={},a.device=android.utils.detector.detectDevice(),a.os=android.utils.detector.detectOS();var b=parseFloat,c=goog.labs.userAgent.platform.getVersion(),d=c.match(/\d*\.\d*/);return a.osVersion=b(d&&d[0]?d[0]:c),android.utils.detector.Cache_.userAgent=a},android.pages={},android.pages.switchToAndroid={},android.pages.switchToAndroid.init=function(){var c,a=function(){android.pages.switchToAndroid.utilities.isDesktop=!!(1e3<=window.innerWidth),android.pages.switchToAndroid.utilities.recalcHeight()},b=android.pages.switchToAndroid.selectors;for(c in b){var d=document.querySelector(b[c]);android.pages.switchToAndroid.selectors[c]=d}a();for(var e in android.pages.switchToAndroid.sections)android.pages.switchToAndroid.sections[e].call();android.pages.switchToAndroid.posterToggles(),window.addEventListener("resize",a)},android.pages.switchToAndroid.sections={},android.pages.switchToAndroid.selectors={DEVICE:"#c-animated-section-device",DEVICE_SCREEN:"#c-animated-section-device .video-wrapper",DEVICE_FRAME:"#c-animated-section-device figure",FIRST_SECTION:".c-animated-section-1",FIRST_SECTION_TEXT:".c-animated-section-1 .step-1-text",SECOND_SECTION:".c-animated-section-2",SECOND_SECTION_TEXT:".c-animated-section-2 .sticky-paragraph",SECOND_SECTION_TEXT_CONTAINER:".c-animated-section-2 .step-2-text",SECOND_SECTION_SCREEN_2:".c-animated-section-2 .step-back-up-2",SECOND_SECTION_SCREEN_3:".c-animated-section-2 .step-back-up-3",THIRD_SECTION:".c-animated-section-3",ACCESS_YOUR_STUFF:".switch-access-stuff",WRAPPER:".wrapper-animated-sections",WRAPPER_FIXED:".wrapper-animated-sections-fixed",LAYER_OVER:".c-animated-section-layer-over"},android.pages.switchToAndroid.numbers={SECTION_HEIGHT:0,INNER_HEIGHT:0},android.pages.switchToAndroid.sections.device=function(){var a=android.pages.switchToAndroid.selectors,b=800<android.pages.switchToAndroid.numbers.SECTION_HEIGHT,c=b?a.SECOND_SECTION:a.FIRST_SECTION,d={time:{}};d.time[b?0:.5]="sticky",new android.components.Scrollify(a.DEVICE).addScene({trigger:c,applyTransform:!1,effects:[{name:android.pages.switchToAndroid.effects.toggle,options:d}]})},android.pages.switchToAndroid.sections.stepOneText=function(){var a=android.pages.switchToAndroid.selectors;goog.array.forEach([[a.SECOND_SECTION,a.FIRST_SECTION_TEXT],[a.THIRD_SECTION,a.SECOND_SECTION_TEXT_CONTAINER]],function(a){var c=a[0];new android.components.Scrollify(a[1]).addScene({trigger:c,easing:android.pages.switchToAndroid.easings.easeOutQuad,start:.15,duration:100,applyTransform:!1,effects:[{name:android.pages.switchToAndroid.effects.fade,options:{to:0,from:1}}]})})},android.pages.switchToAndroid.posterToggles=function(){var a=android.pages.switchToAndroid.selectors;goog.array.forEach([[a.FIRST_SECTION,"get-app"],[a.SECOND_SECTION,"back-up"],[a.SECOND_SECTION_SCREEN_2,"back-up-2"],[a.SECOND_SECTION_SCREEN_3,"back-up-3"]],function(b){var c=b[0],d={time:{}};d.time[.5]="poster-"+b[1],new android.components.Scrollify(a.DEVICE_SCREEN).addScene({trigger:c,applyTransform:!1,effects:[{name:android.pages.switchToAndroid.effects.toggle,options:d}]})})},android.pages.switchToAndroid.sections.stepTwoText=function(){var a=android.pages.switchToAndroid.selectors;goog.array.forEach([[a.SECOND_SECTION_SCREEN_2,"sticky"],[a.THIRD_SECTION,"bottom"]],function(b){var c=b[0],d={time:{}};d.time[0]=b[1],new android.components.Scrollify(a.SECOND_SECTION_TEXT).addScene({trigger:c,applyTransform:!1,effects:[{name:android.pages.switchToAndroid.effects.toggle,options:d}]})})},android.pages.switchToAndroid.sections.stepThree=function(){var a=android.pages.switchToAndroid.selectors,b=android.pages.switchToAndroid.numbers,c=a.THIRD_SECTION,d={time:{}};new android.components.Scrollify(a.DEVICE).addScene({trigger:c,start:1,easing:android.pages.switchToAndroid.easings.easeOutQuad,duration:5/6*b.SECTION_HEIGHT,effects:[{name:android.pages.switchToAndroid.effects.translateY,options:{to:-540,from:0}}]}),d.time[0]="u-is-hidden",new android.components.Scrollify(a.DEVICE_FRAME).addScene({trigger:c,start:1,applyTransform:!1,effects:[{name:android.pages.switchToAndroid.effects.toggle,options:d}]})},android.pages.switchToAndroid.utilities={recalcHeight:function(){android.pages.switchToAndroid.numbers.INNER_HEIGHT!==window.innerHeight&&(android.pages.switchToAndroid.numbers.INNER_HEIGHT=window.innerHeight,android.pages.switchToAndroid.numbers.SECTION_HEIGHT=Math.min(android.pages.switchToAndroid.numbers.INNER_HEIGHT,960))},device:android.utils.detector.detectDevice(),isDesktop:null},android.pages.switchToAndroid.easings={easeInQuad:function(a,b,c,d){return c*(a/=d)*a+b},easeOutQuad:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInSine:function(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b},oscillate:function(a,b,c,d){
  return a=a/d*Math.PI*4,a=Math.sin(a)*c,a=Math.abs(a),a+b}},android.pages.switchToAndroid.effects={toggle:function(a){var e,f,b=this.options,c=this.element,d=Object.keys(b.time);b.callbackEvent&&(f=b.callbackEvent),d.forEach(function(d){var h=b.time[d];e=c.classList.value,a>d?goog.dom.classes.add(c,h):goog.dom.classes.remove(c,h),e!==c.classList.value&&f&&f()})},fade:function(a){var b=void 0!==this.options.from?this.options.from:1;this.element.style.opacity=((void 0!==this.options.to?this.options.to:1)-b)*a+b},translateY:function(a){var b=this.options.from||0;this.transforms.position[1]=((this.options.to||0)-b)*a+b}}}();